ADOxx Documentation
Theory - Hands-On - Scenarios - Community - Development Tools
Theory
Classes in ADOxx
For the implementation of classes in ADOxx, we distinguish between the following categories/types of classes:
- Pre-defined Abstract Classes derived from the ADOxx meta model classes
- Abstract Classes
- (Concrete) Classes
Pre-defined Abstract Classes (ADOxx meta model class)
ADOxx provides a set of pre-defined, abstract classes implemented on the platform level. These classes are used to relate your implementation to the available abstract class hierarchy.
- Pre-defined abstract classes are classes that are provided by ADOxx with a given semantic and basic syntax in the form of attributes. They can be used to inherit the pre-defined syntax and the attributes to either self-defined abstract classes or to classes.
- ADOxx functionality that is provided for the pre-defined abstract classes can be used for any inherited concrete class. Hence pre-defined and provided ADOxx functionality is consumed due to inheritance of such pre-defined abstract classes.
- Pre-defined abstract classes are the ADOxx meta model, hence they exist in every meta model based on ADOxx.
- Nomenclature: __ Class Name __
ADOxx Meta Model Classes (Dynamic Library)
Abstract Classes
- Abstract classes are self-defined classes enabling to structure the meta model and define syntax in the form of attributes and semantics that are inherited by sub-classes.
- Abstract classes either inherit from the root class of the meta model or from any other class of the meta model. Hence, they inherit the behaviour from their super-class (which is often a pre-defined abstract class from the ADOxx meta model).
- Abstract classes enable an efficient meta model, hence they may not be in every ADOxx meta model.
- Proposed Nomenclature: _Class Name_
(Concrete) Classes
- Classes are self-defined classes defining a concrete modelling class that can be used when applying the corresponding modelling language. Hence, all model objects in every model created on ADOxx is an instance of a class.
- Classes inherit the semantics and attributes from the pre-defined abstract class, and additionally (in case of inheriting), from the abstract class.
- Classes enable the realisation of a concrete meta model.
- Proposed Nomencladure: Class Name
Realisation of Classes in ALL
- Specify the meta model starting from the „Empty Meta Model" and add classes etc. with ALL using a text editor. An abstract class is defined by the class attribute isabstract.
- Translate ALL into the ADOxx interpretable ABL format and import the meta model into ADOxx.
class : | class-definition { attribute } | redef-class-definition { redefattribute } |
class-definition : | CLASS identifier ':' identifier |
classattribute-definition : | CLASSATTRIBUTE identifier TYPE typeidentifier | CLASSATTRIBUTE identifier TYPE typeidentifier VALUE val | CLASSATTRIBUTE identifier VALUE val | CLASSATTRIBUTE identifier TYPE RECORD |
Definition of a Modeling Class in ALL
| Keyword Class name Predefined abstract classes to be inherited from comments |
Related Assets:
Scenarios
Community
Development Tools
There are no results.