This is our common intermediate language for describing any specification. In some aspects it can be compared to the Assembly language.
Their is an XML version of the CDL. It is described under the XML section of the VeriTech project
This is a C library that parse a textual core program and generates a memory data structure that represents the CDL program.
This is a small application that activate the Core Parser. The application do not generate any output (beside the parsing log) and it main goals are:
Tree is the data structure used to store the effective representation of core program. It might (and ought) to be used in any Core2A translation where A is the language that either doesn't support module structure or requires significant changes of original core modules.
Each node of the Tree contains the following information:
|
modulenode_type Type |
- |
one of five possible types of modules : Transition, Instantiation, Full/Partial Synchronous and Asynchronous |
|
modulenode_type Prev_type |
- |
type of node before the handling of synchronization |
|
ModuleNode* Left |
- |
the node on the left |
|
ModuleNode* Right |
- |
the node on the right |
|
Module* Module |
- |
actual module associated with the node |
|
PairSet* Sync |
- |
the set of pairs of names of transitions that are synchronized (in case of partial or full synchronization) |
|
ActualParameterSet* Params |
- |
actual parameters of the module instantiation |
|
RenameSet* Renames |
- |
Rename set that hold the renames for the transitions in case the node contains module that is of transition type. In case the node is of the other type, contains the renames for the pairs that are synchronized to allow additional synchronization on the upper level. |
Following field can be used as auxiliary in translations:
|
TransitionSet* ChangedTrans |
- |
set of transitions that originally were standalone in module and now are synchronized |
|
TransitionSet* SyncTrans |
- |
set of transitions that are synchronized in the module |
|
PairSet* ChangedNames |
- |
Pair set that holds the name changes following the
synchronization handling |
|
PairSet* CurrChanges |
- |
Pair set that holds the name changes that are made during the handling of the current synchronous node.Used for the full synchronization and consequent pairs partial synchronization when changes are to be applied on the original names of the transitions from before beginning of handling the node. |
Flat utility is used to transform any input core program to equivalent one that is flattened version of the input program. A flattened program, is a program that contains only one module with transitions inside, that is equivalent in its properties to the original program. Flat utility receives CoreProgram* to original program and returnes CoreProgram* to flattened program.
This library converts core data structure to an xml data structure
A small application that converts a textual CDL program to an XML core program.