Cheddar ADL
In this page, we provide practical instructions to modify models in Cheddar ADL and generate Ada and Java code. A description of the Cheddar ADL is available in the Cheddar Architecture Description Language reference guide
Cheddar ADL models are written in the EXPRESS language. Ada and Java code generation is done by Platypus.
The models and the code generator are both located in the trunk/src/platypus
folder.
Source files
-
The source files are located at
trunk/src/platypus/src/cheddar-dev
. They are files with.exp
extension.ARINC653.exp
: configuration model of ARINC 653cheddar_adl.exp
: description of Cheddar ADLcheddar_adl_java.exp
: description of Cheddar ADL but limited for Java code generationcheddar_api.exp
: description of the API to call the kernelcheddar_config.exp
: constants in Cheddar framework (kernel and GUI)cheddar_graphical_editor.exp
: entities for Cheddar GUIcheddar_language.exp
: model of Cheddar scheduler languagecheddar_mapping.exp
:cheddar_optimization.exp
: to be removedcheddar_result.exp
: descriptions of Cheddar framework resultCheddar_SymbolicLanguage.exp
:cheddar_types.exp
: primitive types of Cheddar ADLDFG_Nodes.exp
:express2cheddar.exp
:platypus-toolbox.exp
:cheddar_design_patterns.exp
,cheddar_applicability_constraints.exp
,FT_Taxonomy.exp
,Applicability_Constraints_Main_Structure.exp
,DP_Graph.exp
: model of design patterns
Code generation scripts
Four scripts are used to generate Ada and Java code from Cheddar ADL models.
$ ./compile.sh
$ ./generate.sh
$ ./split.sh
$ ./move.sh
compile.sh
Compile Cheddar ADL models in the Pharo virtual machine
Note : due to some cyclic dependencies between cheddar_adl.exp
and cheddar_mapping.exp
and the way they are handled by Platypus,
the compilation process can be in a blocked state and cannot be fixed by just simply undoing changes.
If that happens, the solution is to delete and download again the shared
folder.
A good practice is to make sure that changes cheddar_adl.exp
are stable before updating cheddar_mapping.exp
generate.sh
Generate Ada and Java code. The results are in generated_code
folder.
Attention, Ada code is generated into only two .adb and .ads files.
split.sh
Split the generated Ada code into smaller files
move.sh
Move files to their corresponding folders in the framework