- Les entités (sous-classes de ENTITY de DIESE) : chaque sous-classe déclarée dans le simulateur fait l'objet d'un ensemble de lignes :
- une ligne pour l'entité elle-même, avec, dans l'ordre, le mot-clé Entity, le nom de classe (au sens de DIESE), le mot-clé ParentclassNames, les noms de classe des classes parentes (si la classe parente est Entity son nom de classe est remplacé par une chaine vide).
- autant de lignes que de descripteurs déclarés, avec dans chaque ligne et dans cet ordre, le mot-clé ConstantDescriptor ou VariableDescriptor, le nom de classe de l'entité décrite, le nom de classe du descripteur.
Voici un exemple :
Entity "conducteur" ParentclassNames ""
VariableDescriptor "conducteur" "command"
Entity "voiture" ParentclassNames ""
VariableDescriptor "voiture" "state"
VariableDescriptor "voiture" "position"
VariableDescriptor "voiture" "speed"
ConstantDescriptor "voiture" "initialSpeed"
ConstantDescriptor "voiture" "initialPosition"
- Les événements (sous-classes de Event de DIESE) :
Chaque sous-classe declaree dans le simulateur fait l'objet d'une ligne, avec le mot-clé Event puis le nom de classe de l'événement. Par exemple :
Event "eventCommand"
- Les processus (sous-classes de Process de DIESE) :
Chaque sous-classe déclarée dans le simulateur fait l'objet d'une ligne, avec le mot-clé ContinuousProcess ou DiscreteProcess puis le nom de classe du processus. Par exemple :
ContinuousProcess "course"
DiscreteProcess "setCommand"
- Les corps des méthodes prédéfinies des entités, spécifications d'ensembles d'entités, processus, événements et démons, ainsi que les corps des méthodes non prédéfinies. Par exemple :
coreDVMonitorMethodBody "speed_whenSetFloat_Body"
coreEventMethodBody "eventCommand_generateNextEvent_Body"
coreCProcessMethodBody "course_stopProcess_Body"
coreCProcessMethodBody "course_goOneStepForwardProcess_Body"
coreCProcessMethodBody "course_initializeProcess_Body"
coreDProcessMethodBody "setCommand_execProcess_Body"