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 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 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 form of attributes and semantic, which is 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 semantic and the 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

  1. Specify the meta model starting from the „Empty Meta Model" and add classes etc. with ALL using a text editor. Abstract class is defined by the classattribute isabstract.
  2. 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

 

//====================================
CLASS <Aggregation> : <__D_a
ggregation__>
//====================================
//--- Class <Aggregation> - Class attributes-
//--- Class <Aggregation> - Instance attributes-

Keyword

Class name

Predefined abstract classes to be inherited from

comments

 

Average (0 Votes)
The average rating is 0.0 stars out of 5.

Development Tools

There are no results.