railML Tutorial - ProB Documentation

railML Tutorial


Import railML Data

Using ProB2-UI

In the menu bar, select Advanced > Data Import > railML 3 or open a .railml/.railmlx directly. The railML 3 import dialogue should be visible now.

You can choose whether to save only the translated data, perform semantic checks and/or to create a visualisation. Then click on Start Import. You should see a progress bar while the translation and validation of the data is executed.

Once the import has finished, the validation results are displayed and can be exported (provided that semantic checks were enabled). You can then proceed to export the data as B machines and, if desired, export further machines for animation and validation.

If you selected Create visualisation at the beginning, the visualisation window will show up to configure the layout:

CLI

A jar file containing railML2B can be downloaded here. To run the tool at least Java 17 is required. Use the following command:

java -jar railml2b-1.0.0.jar <file> <options>

Options                        Description                
 -trans_mch                     generate machine with XML data translated  
                                 by XML2B                                  
 -data_mch                      save machine with generated data at output 
                                 location                                  
 -anim_mch                      generate data and animation machine at     
                                 output location                           
 -valid_mch                     generate data and validation machine at    
                                 output location                           
 -only_trans                    perform only raw translation of the data   
 -val                           activate rule validation and print results 
                                 to console                                
 -no_inv                        do not check type invariants after import  
                                 (can take some time)                      
 -version                       print the current version of railML2B      
 -silent                        makes output less verbose                  
 -verbose                       makes output more verbose                  
 -o <path>                      specify output location for generated files
 -report <output format>        save rule validation report as HTML or XML 
                                 at output location (sets -val)            
 -dep_graph <output format>     save rule dependency graph at output       
                                 location - provide output format as       
                                 argument (e.g. PDF, DOT, SVG)             
 -vis <output format>           save visualisation at output location      
                                 (SVG,PDF,PNG,DOT) - default: SVG          
 -vis_strategy <strategy>       specify visualisation strategy             
                                 (DOT,RAILOSCOPE,D4R) - default: DOT

In Java Projects

railML2B is available via Maven Central and can be easily added as a dependency in your JVM-based project.

Gradle:

dependencies {
    implementation 'de.hhu.stups:railml2b:1.0.0'
}

Maven:

<dependency>
    <groupId>de.hhu.stups</groupId>
    <artifactId>railml2b</artifactId>
    <version>1.0.0</version>
    <scope>compile</scope>
</dependency>