ADOxx Documentation
Theory - Hands-On - Scenarios - Community - Development Tools
Theory
Model Types
Modeltypes represent meaningful combinations of classes and relation classes as views to be used by the modeller to create models.
Meta Model of Meta Modelling Language: Modeltype
Definitions
Model type: A model type determines a subset of all instanciable classes and relations. Each model has a specific model type which can not be changed afterwards.
Model type group: Model type groups should be defined, if the application library consists of many different model types. This allows to group and structure the available model types.
Modus: A modus is a further restriction of a model type. It defines a subset of the assigned classes/relations and simplifies modeling by hiding not needed classes. The modus of a model can be changed any time unlike the model type.
GENERAL order-of-classes: OrderOfClasses
Defines if the sequence of the classes in the modeling tool should be taken from the meta model ( <OrderOfClasses>="default") or is specified for each model type explicitly ("custom").
METHOD graphrep: "attrName"
Introduces a method diagram.
GROUP "GroupName"
Defines a group of model types with the name <GroupName>.
graphrep: „attrName"
Defines a graphical representation for a method diagram. <attrName> specifies an attribute which contains the representation using the ADOxx GraphRep language.
Example: Definition of Model Types and Groups
In the following the implementation of a modelling stack with four model types, grouped into two model type groups is shown:
GENERAL order-of-classes:custom
METHOD graphRep:"Method GraphRep"
{
GROUP "Simulation"
{
MODELTYPE "My First Model Type"
MODELTYPE "My Second Model Type"
}
GROUP "All modeltypes"
{
MODELTYPE "My First Model Type"
MODELTYPE "My Second Model Type"
MODELTYPE "My Third Model Type"
MODELTYPE "My Forth Model Type"
}
}
Additional Commands
MODELTYPE "modelTypeName" from MTSource
This command defines a model type <modelTypeName> and inherits all classes and relations from the source <MTSource> (all, none or a different model type).
plural: "modelTypePluralName"
Defines the plural name of a model type.
bitmap: "fileName"
Defines a graphical symbol for the selection list; <fileName> = path and file name; backslashes must be masked with an additional backslash ( i.e. "\\").
attrrep: "attrName"
Provides a Notebook (defined in the library as an attribute with the name <attrName>) with model attributes for a model type.
INCL / EXCL
Adds (except for all)/removes (except for none) classes and relations to the MODELTYPE.
pos / not-simulateable
Determines the position in list of model types / excludes the model type from simulation.
Example Model: Detailed Modeltype Definition
MODELTYPE "My First Model Type"
from:none
plural: "My First Model Types"
pos:1
not-simulateable
bitmap:"db:\\MyFirstModelType.bmp"
attrrep:"Notebook for My First Model Type"
INCL "My Class 1"
INCL "My Class 2"
INCL "My Class 3"
INCL "has relationship 1"
INCL "has relationship 2"
Commands to Define Views on Model Types
MODE "modeName" from: "modeSource"
This command defines a view modus with the name <modeName>. A list of classes/relations must be specified (either absolute or relative as described above) together with this command. MODE can be extended using several parameters.
from: „modeSource"
Inherits all the classes and relations from the source <modeSource> (all, none or a different mode). "all" relates to the list from the model type (not the whole metamodel).
no-modeling
The defined mode is not applicable for modeling and will not be shown in the menu entry "Modi" of the modeling component.
no-documentation
The defined mode is not applicable for creating a documentation.
Example: Model Type View
MODELTYPE "My First Model Type" from:none plural:"My First Model Types"
pos:0 not-simulateable bitmap:"db:\\MyFirstModelType.bmp"
attrrep:"Notebook of My First ModelType"
INCL "My Class 1"
INCL "My Class 2"
INCL "My Class 3"
INCL "has relationship 1"
INCL "has relationship 2"
MODE "Standard" from:all
EXCL "My Class 3"
EXCL "has relationship 2"
MODE "Documentation" from:Standard no-modeling
INCL "My Class 3"
INCL "has relationship 2"