Skip to content

General Concepts ​

The following sections introduce some general concepts relevant in ADOxx.

Definition ​

To realise a modelling toolkit on top of ADOxx the concept of the "Application library" is introduced that includes all developed artefacts in an interpretable format for the ADOxx meta modelling platform. An application library is split into a Dynamic library (D library) as well as a Static library (S library). These libraries contain the definitions of "model types", "classes", "relation classes" and other parts of the modelling tool like AdoScripts. They also contain library attributes which are used in the description and configuration of the library. The "model type" includes "classes" and "relation classes" that are provided to the user when modelling.

Library Definition in ADOxx

  • Model Types: A model type is a well-defined sub-collection of classes and relation classes of a meta model.
  • Classes: A class is a construct that is used as a template to create objects of that class. The objects of a class are alternatively called "instances."
  • Attributes: An attribute is a property of a modelling construct such as a model, object or relation. Each attribute has a type and a value. Special class attributes are used to configure various details of a class.
  • Relations: A relation class is a construct that is used as a template to create relations between objects. A relation class is defined between classes. A relation is always a directed connection between objects, i.e. each relation has a from-side and a to-side.

Roles in ADOxx ​

In ADOxx we distinguish between the following roles in relation to the tasks/skills needed to perform certain modelling/meta-modelling tasks.

ADOxx Role/Task/Skill Matrix

  • MM-Tool User: The Modelling Method (MM) Tool User represents the target user group of the toolkit to be developed. The major task of this role relates to transforming the domain knowledge into requirements for the modelling toolkit.
  • MM-Tool Developer: The Modelling Method (MM) Developer has expertise in developing and translating the requirements into meta-model concepts (class hierarchy, relation specification, cardinalities).
  • ADOxx Developer: the ADOxx Developer uses the input of the MM-Tool Developer, maps these requirements to available ADOxx functionality and implements the requirements accordingly.

Meta-Modelling Platforms Hierarchy ​

The ADOxx platform hierarchy conforms to the roles described in the previous section. In the following the platform hierarchy is mapped to roles from above and implementation technology used. The base languages used for implementation are:

  • C++: The platform itself as made available through the download section is implemented in C++, enabling support for embedded languages such as LEO (language for GRAPHREP implementation and ATTRREP specification). On the C++ level, generic platform functionality as well as the base/abstract ADOxx meta model is realized. From an implementation perspective, the ADOxx Developer can make use of the C++ environment if needed. C++ knowledge is not a pre-requesite for implementation due to the hierarchical levels.
  • ALL (ADOxx Library Language): ALL is the implementation language for realizing a modelling toolkit on ADOxx. The language can be applied using a coding approach (write ALL code and combile using the ALL2ABL service on ADOxx.org) or a configuration approach, that generates the relevant ALL statements accordingly and can be used in a graphical user interface. The compiled counterpart of ALL is ABL.
  • ADL (ADOxx Definition Language): is the representation language on model level.

ADOxx Meta Modelling Platform Hierarchy

For the implementation in ADOxx, the highlighted elements in red and blue (above) are of relvance, whereas a thorough knowledge of the ADOxx meta model (RED) is required to derive necessary platform functionality accordingly on the method-specific meta model implementation (e.g. implicit functionality of container objects).

Development Environment ​

The development environment is provided in the following format for the usage of ADOxx:

Individual Development Environment provided through Download and installation on a local PC
ADOxx Individual Environment

Development Approach ​

During the development process, two implementation "styles" are supported by ADOxx depending on the implementation scenario and developers' expertise.

  1. Interactive Style: The characteristics of this style relate to a configuration approach of the different platform components. The approach is strongly supported by tools and the development application provided through the ADOxx Development Toolkit
  2. Programming Style: The charactersitics of this style build on the syntax of the ALL language and text editing tool. In order to compile the ALL source, the ALL2ABL serivce can be used.

ADOxx Development Approach