Application Library ​
This page covers details about an Application Library, how to prepare one for development in the Development Toolkit and for debugging with the Modelling Toolkit.
Application Library Basics ​
An Application Library bundles all the relevant information about the meta-model to realize a modelling language / method. It contains the definition of the various classes, model types, attributes etc. as well as some of the necessary files. As such it can be though of as a "project" in ADOxx, with different Application Libraries being their own separate project. An Application Library that is available in an ADOxx installation is stored as part of the ADOxx database and there can be multiple Application Libraries available in one ADOxx installation.
Models and Attribute Profiles are instances of a meta-model described in an Application Library. Therefore they "belong" to a specific Application Library. When the meta-model is changed this has an effect on the models as well. For example deleting an attribute will also remove all values of that attribute in the models / Attribute Profiles.
Each Application Library is further split into a Dynamic Library and a Static Library and each library contains specific library attributes to configure various aspects of a library. Each library is internally identified by a unique integer number (its ID). This integer number is unique to an ADOxx installation, but it is not globally unique and can differ between ADOxx installations!
Application, Dynamic and Static Library ​
Each of the three libraries contains different parts of the meta-model:
- Application Library: Record classes, Attribute Profile classes, their attributes and inheritance between the classes.
- Dynamic Library: (modelling) Classes, relation classes, their attributes and inheritance between the classes. Also the configuration of model types that use classes from the Dynamic Library. Provides a predefined abstract meta-model tailored for describing dynamic aspects of a system through a graph, like processes, behavior etc.
- Static Library: (modelling) Classes, relation classes, their attributes and inheritance between the classes. Also the configuration of model types that use classes from the Static Library. Provides a predefined abstract meta-model tailored for describing static aspects of a system through a tree structure, like working environment, structural decomposition etc.
The split between the Dynamic Library and Static Library is due to historical reasons. One of the functionalities that an ADOxx based modelling tool can provide is the simulation of process models (dynamic models) in the context of a working environment (static models). This functionality relies internally on custom classes inheriting from the predefined abstract meta-model of the respective libraries. Details on how to configure this functionality are covered in Mechanisms and Algorithms.
Library Attributes ​
Various details of a library and their configuration are handled through library attributes. These are special attributes which are internal to the ADOxx platform. Some of the simpler library attributes are: Keywords, Description, Comment and Service. The other, more complex library attributes are addressed in the following pages once they are needed and are also described on the Library Management page.
Managing Libraries ​
Managing and modifying Application Libraries primarily happens through the Library management component of the Development Toolkit. Once the component is active use the options in the Libraries menu or the Settings, Checks or Management icons of the quick access bar. These open a separate pop-up dialog with functionalities to modify, check or manage the libraries respectively.
The above image shows the pop-up dialog for the Settings. The majority of the window shows a list of all libraries available in your current ADOxx installation. The tabs at the top of the dialog can be used to quickly switch between the Settings, Checks and Management portions without having to close the dialog. The buttons on the right provide access to the functionalities and change based on the selected tab.
The Dynamic Library and Static Library can be shown or hidden by selecting the or icons next to the Application Library respectively.
Details about all the different functionalities available are described when they are needed and can also be found on the Library management component page.
Creating a New Application Library ​
Application Libraries are not created from scratch. Instead they are created as a copy from an existing one. This can be achieved by following the steps:
- Select the Library management component in the Development Toolkit.
- Select Libraries -> Management... in the menu or the Management icon in the quick access bar.
- Select the Application Library to create a copy from. ADOxx comes with a default library which provides some generally useful functionalities (see the OMiLAB Starting Library project for details).
- Select the Create copy... button.
- When prompted enter a new name for the three libraries. All three names must be unique and each one shorter than 250 characters.
Creating a copy like this does not copy the models or Attribute Profiles from the original Application Library.
Alternative: importing a library
An alternative to creating a copy of an Application Library in the Development Toolkit is to import an existing Application Library by selecting the Import button and answer Yes when prompted whether to "Create a default model group...". If not already renamed during the import, then rename the libraries afterwards by selecting the Rename button. You can find some libraries on the ADOxx Libraries page.
Creating an ADOxx User for Testing / Debugging ​
To be able to test and debug the Application Library during development it is necessary to create an ADOxx user. Every ADOxx user is assigned to one specific Application Library which is loaded when logging into the Modelling Toolkit.
To create a user for testing / debugging perform these steps in the Development Toolkit:
- Select the User management component.
- Select the User list icon in the quick access bar to open the User management - User list window.
- Select Add... to define the new user's details.
- Enter a User name and Password for the user.
- Select the library the user should be assigned to. This setting can also be changed later.
- Select the User group... button on the right side.
- Assign the user to the "ADOxx" user group, for example by clicking the small icon to the left of the "ADOxx" user group. It shows a small green checkmark next to the user groups the user is assigned to.
- Confirm all the windows to close them (OK, Add, Close).
After the user has been created you can use its credentials to log into the Modelling Toolkit and keep using the Development Toolkit with the "Admin" user.
Best practices ​
- It is recommended to use the same base name for all three libraries and just append
(Dynamic)
to the Dynamic Library name and(Static)
to the Static Library name. - Consider using a version number as part of the base name, maybe even using semantic versioning.
- To identify a library rely on its name, as the integer identifier (ID) can differ between installations.
- When creating a user for development and testing purposes it is recommended to keep their name short and use it also as the password.