ADOxx Development Language: ADL ​
After exporting a model as an ADL-file it is possible to edit the model with an text-editor. But not only editing an ADL-file is possible, one can also create model with the ADL syntax without a modelling toolkit. The structure of such an ADL-file is built as follows.
Structure of an ADL-file
#Version of the current ADL language
VERSION <4.0>
#<Model_Name>:<Library_Name>
BUSINESS PROCESS MODEL <sample 1.0> : <"Library">
VERSION <1.0>
#Modeltype
TYPE <Sample>
#Definition of the model information (<Author>; <Creation date>; <Date last changed>; <Last user>; <Keywords>;<Comment>;<Model type>; <State>;<Reviewed on; <Description>; <World area>; <Grid>; <Zoom>; <Viewable area><Current mode>; <Access state>; <Current page layout>; <Connector marks>; <Change counter>; <Font size>; <Context of version>).
ATTRIBUTE <Author> VALUE "memo"
ATTRIBUTE \<Creation date\>
VALUE "17.06.2014, 17:52"
...
#Define Instances
INSTANCE <Hello1> : <Hello>
#Attributes and their values of the instance
ATTRIBUTE <Position>
VALUE "NODE x:5.5cm y:5.5cm w:2.5cm h:2cm index:1"
...
#RELATION command defines a connector.
RELATION <any2any>
#From instance
FROM <Hello1> : <Hello>
#To instance
TO <Hello2> : <Hello>
#Define attributes with the command ATTRIBUTE.
ATTRIBUTE <Positions>
VALUE "EDGE 0 index:4"
After editing or creating an ADL file one can import it into the ADOxx Modelling Toolkit. The syntax of ADL (for importing models) is as follows
adl-file : [version] _ attrprofs models application-models modelgroups ._
version : VERSION identifier .
attrprofs : { attributeprofileinstance } | { attributeprofile-hierarchy } .
attributeprofileinstance : attributeprofile-definition { instanceattribute-setting } .
attributeprofile-definition : ATTRIBUTEPROFILE identifier ' :' identifier ' :' identifier [version]
attributeprofile-hierarchy : { ROOTATTRPROFDIR identifier ' :' identifier { attributeprofile } { attributeprofile-directory }} .
attributeprofile : attributeprofile-def2 { instanceattribute-setting } .
attributeprofile-def2 : ATTRIBUTEPROFILE identifier ' :' identifier [version] .
attributeprofile-directory : ATTRPROFDIR identifier ' :' number { attributeprofile } .
models : {we-model | bp-model } .
we-model : _ wem-definition_ {instanceattribute-setting } model .
bp-model : bpm-definition { instanceattribute-setting } model .
wem-definition : WORKING ENVIRONMENT MODEL identifier ' :' identifier |
**WORKING ENVIRONMENT MODEL** _identifier_ ' **:**' _identifier_
[_version_] **TYPE** _identifier_ .
bpm-definition : ** BUSINESS PROCESS MODEL** identifier ':' identifier |
**BUSINESS PROCESS MODEL** _identifier_ ':' _identifier_
[_version_] **TYPE** _identifier_ .
model : { instance } { relation } .
instance : instance-definition { instanceattribute-setting } .
instance-definition : INSTANCE identifier ' :' identifier .
relation : relation-definition { instanceattribute-setting } .
relation-definition : RELATION identifier FROM identifier ' :' identifier TOidentifier ':' identifier .
instanceattribute-setting : ATTRIBUTE identifier VALUE attrval .
application-models : { application-model-definition model-attachments } .
application-model-definition : APPLICATION MODEL identifier ' :' identifier .
model-attachments : { BUSINESS PROCESS MODEL identifier [version] TYPE identifier } WORKING ENVIRONMENT MODEL identifier [version] TYPE identifier
{ **BUSINESS PROCESS MODEL** _identifier_ [_version_]
**TYPE** _identifier_ } |
**BUSINESS PROCESS MODEL** _identifier_ [_version_]
**TYPE** _identifier _
{ **BUSINESS PROCESS MODEL** _identifier_ [_version_]
**TYPE** _identifier_ } .
modelgroups : { ROOTMODELGROUP identifier ' :' identifier { reference } { hierarchy }} .
reference : BUSINESS PROCESS MODEL identifier TYPE identifier | WORKING ENVIRONMENT MODEL identifier TYPE _identifier _
hierarchy : MODELGROUP identifier ' :' number { reference } .
identifier : ' <' any_characters_but_newline ' >' .
attrval : number |
' **"**' _any\_characters_ ' **"**' |
_recordval_ .
recordval : { RECORD { ATTRIBUTE identifier VALUE val } END } .
val : number |
' **"**' _any\_characters_ ' **"**' .