Page History
...
Attribute | Domain | Default Value | Description | |||
---|---|---|---|---|---|---|
KiCo Model Compiler | ||||||
outputFolder | String | kieler-gen | The folder in which compilation output is saved | |||
whitelist | String, Regular expression | - | Only model files that have a location matching this regular expression are compiled. Thus to compile only a specific model, one can use the expression "ModelName.sctx" | |||
blacklist | String, Regular expression | - | Model files that have a location matching this regular expression are exluded from the build. Thus to exclued all models and skip compilation, one can use ".*", which matches everything. | |||
compilationSystem | String, Id of a pre-defined compilation system or project relative file path to a system definition | de.cau.cs.kieler.sccharts.netlist.simple | The compilation system that is used by KiCo to determine the compile chain. | |||
outputFileExtension | String | c | Compiled models are saved with using this file extension. Thus this attribute should match the code format that is generated by KiCo at the end of the compilation. | |||
outputTemplate | String, Project relative file path | - | An optional template to add surrounding code to KiCo generated output for every compiled file. In the template the placeholder ${kico_code} can be used an will be replaced with the compiled codecode. | |||
compileChain | String, Id of a pre-defined compilation system or processor id or a project relative file path to a kico file Can also be a list of the above to compile models in several steps Can also be a map to define the compilation of different model types
| de.cau.cs.kieler.sccharts.netlist.simple | The compilation system that is used by KiCo to determine the compile chain. | |||
communicateRegisterVariables | Boolean | true | Determines if the variables that save the internal state of a model should be communicated to the simulation generation. If set to false, stepping back and forth in the simulation history will not change the internal state of the model. | |||
Simulation Compiler | ||||||
command | String | For C: "gcc -std=c99 -Werror=int-conversion -o \"./${outputFolder}/${executable_name}\"" For Java: "jar cvfe \"../${outputFolder}/${executable_name}\"" | The command that is called to compile simulation code to an executable. In case of the C simulation, the compiled file is added implicitly as additional parameter, to create an executable. In case of Java, all class files and the class file of the compiled model are added implicitly to create an executable JAR file. | |||
outputFolder | String, Project relative folder path | kieler-gen/sim/bin | The folder in which compiled output will be saved. Note that it is possible to use a command that creates the compiled files in a different location. However the folder specified in this attribute is created before the command is executed and refreshed afterwards. This ensures that the folder exists and changes will be noticed in the Eclipse workspace. | |||
libFolder | String, Project relative folder path | kieler-gen/sim/lib | The folder where additional files are saved before the command is run. These files can be linked into the simulation code, e.g., for JSON handling. | |||
timeout | int | 10 | Time in seconds that is waited for the executed command to finish. If the command runs longer, it is assumed to be failed and aborted. | |||
Template Processor | ||||||
file | String, Project relative file path | - | The template file that should be processed | |||
target | String, Project relative file path | - | The file in which the output should be saved | |||
Wrapper Code Template Processor | ||||||
modelFile | String, Project relative file path | - | The model file that is searched for annotations to determine the code snippets to be injected. | |||
Simulation Code Template Processor | ||||||
modelFile | String, Project relative file path | - | The model file that is searched for annotations to determine the code snippets to be injected | |||
compiledModelFile | String, Absolute file system path | - | The absolute path of the compiled model file for which the simulation is created. This is used to replace the placeholder ${compiled_model_loc} in the simulation code template | |||
variables | Map, e.g.,
input: a,b,c output: x,y,z other: g1,g2,g3
| - | Optional additional variables that should be communicated to the outside | |||
interfaceTypes | String, List of Strings | - | The interface types that should be communicated in the simulation, e.g., input, output, internal |
...
Code Block | ||||
---|---|---|---|---|
| ||||
// Compile models to C code model compiler kico { outputFolder: kieler-gen // The folder, in which the compilation output is saved outputFileExtension: c // The file extension for compiled files compilationSystemcompileChain: de.cau.cs.kieler.sccharts.netlist.simple // The system that determines the compile chain within the KIELER compiler // Generate C simulation for compiled models process simulation template { file: assets/CSimulation.ftl // A template for simulation code } } // Compile C simulation via gcccode simulation compiler c { libFolder: kieler-gen/sim/lib // Create additional libraries required for compilation in this folder outputFolder: kieler-gen/sim/bin // Create the executables in this folder command: "gcc -std=c99 -o ./${outputFolder}/${executable_name} ${file_path} " // Use gcc to compile the code } |
Code Block | ||
---|---|---|
| ||
// Compile models to Java code model compiler kico { outputFolder: kieler-gen outputFileExtension: java outputTemplate: assets/OutputTemplate.ftl compilationSystemcompileChain: de.cau.cs.kieler.sccharts.netlist.simple whitelist: "ModelA|ModelB" // Only compile models that match this regex // Generate C simulation for compiled models process simulation template { file: assets/JavaSimulation.ftl } } // Compile C simulation via gcccode simulation compiler java { libFolder: kieler-gen/org/json outputFolder: kieler-gen/sim/bin commandoutputFolder: kieler-gen/sim/bin command: "javac -cp kieler-gen -d bin \"${file_path}\" " jarCommand: "jar cvfe \"../${outputFolder}/${executable_name}\" sim.code.${file_basename} -C bin . " } // Process a simple template process template { file: Template.ftl target: Output.txt } // Process a template to generate a main file that can be deployed. process wrapper template { file: Main.ftl target: kieler-gen/Main.c modelFile: MyModel.sctx } // Process a template to generate a simulation for a model that has been compiled with some other framework process simulation template { file: assets/JavaSimulationForOtherModel.ftl target: kieler-gen/Sim_OtherModel.java variables: { // These variables should be communicated to the outside input: a,b,c output: x,y,z internal: foo, bar } interfaceTypes: input, output // Only communicate these interface types. In this case, internal variables are not communicated. } |
Prom Environments
...
...
Project Drafts
Project drafts are used to provide default settings for project creation. They are configured in the preferences (Window > Preferences > KIELER SCCharts > Execution EnvironmentsProject Drafts).
An environment project draft consists of
- a unique name, which may not contain a comma
- an associated project wizard
- the path of the default model file for the project
- the path of the default main file for the project
- information about folders and files that should be imported at project setup
...