Skip to content

blootsvoets/jmml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Java Multiscale Modeling Language implementation

The jMML library is an implementation of most of the language features of the Multiscale Modeling Language (MML). It can read the XML format of MML (xMML) and generate

  • a graphical coupling topology
  • a graphical task graph
  • a graphical domain subdivision
  • a MUSCLE configuration file
  • a MUSCLE skeleton configuration

The library is divided in three parts: jMML-util which contains all utility classes like SI unit handling and data types. Then jMML-specification uses JAXB to convert a xMML file into Java classes. This conversion is automatically done based on the xMML XML Schema. Finally, jMML-api does content generation. Although only 5 files can be generated, from the API any number of descriptions of for instance a task graph or a coupling topology can be generated.

How to run

Dependencies are Java, Maven 3 and Graphviz.

Compile the code with

mvn install

and run it with

bin/jmml path/to/xmml_file.xml -g path/to/task_graph_file.pdf

Other options are shown when running bin/jmml.

The xMML should be validated with the xMML validate tool.

Code organization

The code has three modules: jmml-api, jmml-specification and jmml-util. The jmml-api module contains the actual algorithms, jmml-specification contains the XML bindings to xMML and jmml-util contains unit and formula handling.

About

The Java Multiscale Modeling Language implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published