Getting Started with ADOxx ​
What is ADOxx? ​
ADOxx allows you to realize your own domain-specific modelling language, mechanisms and algorithms to process model artifacts and a modelling procedure on how to create models and to extract value from them. The implementation result is your own modelling tool (an ADOxx based tool), which can be easily distributed to users.
ADOxx offers you a wide range of various functionalities for implementing your modelling tool:
- Professional modelling tool: Build your full-fledged, professional and personalized modelling tool and link it into your specific application environment.
- Graphical modelling language: Develop your individual and domain-specific graphical modelling language, by developing your syntax, semantic and graphical notation for your modelling concepts.
- Model processing functionalities: Use vast pre-developed functionalities to enrich your modelling language with available or self-written algorithms and mechanisms to enhance your model editor to become a full-fledged modelling tool.
- Modelling tool packaging: Create your own professional modelling tool by packing your code into an installable and distributable software package.
Assumptions ​
This documentations assumes that the reader has:
- a basic understanding of (conceptual) modelling in general, as the result of ADOxx is a modelling tool.
- a basic understanding of meta-modelling and about modelling languages in general, as the ADOxx platform follows a meta-modelling approach to realize a modelling language / modelling method.
This documentation:
- focuses on how to realize a modelling method (modelling language, mechanisms and algorithms etc.) with ADOxx. It does not cover how to conceptualize / design a modelling language from scratch.
Modelling method engineering
For details about modelling method engineering please see the following resources:
- Karagiannis, Dimitris (2015). Agile Modeling Method Engineering. In: 19th Panhellenic Conference on Informatics (PCI 2015), October 2015, Athens. DOI:10.1145/2801948.2802040. Access Online
Structure of Documentation ​
The list of the left contains a tree-structure of the documentation's chapters and pages. Selecting a chapter's or page's name will show its content in the main view and show its sub-pages (if any) in the list. Selecting the
icon will show or hide the contained sub-pages in the list without changing the content of the main view. The outline on the right ("On this page") shows a list of links to sections of the current page.The documentation contains the following major sections:
- Getting Started: This part, with a short introduction, installation instructions and other information to get you started.
- Introduction to ADOxx: Basic information about the ADOxx platform, a high level overview of some relevant concepts and descriptions of common user interface elements available throughout ADOxx.
- Modelling Language Implementation: Guidance for implementation of a modelling language using the ADOxx platform, assuming that the conceptual work has already concluded. This part focuses on how to define the class hierarchy, relation classes, graphical notation etc.
- Mechanisms and Algorithms Implementation: This section focuses on the implementation of functionality in ADOxx on 4 different levels: a) Application of Core Platform Functionality, b) Configuration of Platform Functionality, c) External Coupling of Individual Functionality, and d) Add-on Implementation.
- ADOxx Packaging Procedure: Description of how you can package your own ADOxx-based standalone modelling tool.
- ADOxx Components: Details on several of the components used in the ADOxx platform.
- ADOxx Development Languages: Details on the various languages used in ADOxx.
- Special Cases: Information on special cases surrounding ADOxx, like ADOxx libraries providing a starting point for your own development or the deployment of ADOxx with other database management systems.
- Troubleshooting: Help for solving various issues that have been encountered in the past.
The descriptions in the documentation assume a default installation of ADOxx 1.8.0. React to relevant differences for your ADOxx installation accordingly, for example using a different version, a different installation directory, a different database name etc.
Some specific formatting is used to indicate the meaning of certain text:
- Labels encountered in the user interface are written in italics, like Model, Save or Base for result presentation.
- Keys from the keyboard are written in mono-space in a differently formatted span, like Alt, Ctrl, c. When multiple keys are needed at once then they are connected via a plus sign, like Ctrl + c or Ctrl + Alt + Delete.
- Sequences are connected with a simple arrow ->, like Model -> Save or Alt + l -> e.
- Files and file paths are written in mono-space code segments, like
.zip
,install_on_windows.msi
or%APPDATA%/ADOxx/sqlitedbs
. - Texts, code and other values that depict something verbatim are also written in mono-space code segments, like
.
,GRAPHREP
orlines
. - Longer code parts are provided as mono-space code blocks using syntax highlighting where available.
- A bold font by itself doesn't have any specific meaning outside improving readability. It can be mixed with the other styles.
Improvements
Please provide your feedback and improvement suggestions for the documentation via the "Suggestions?" button in the top right.
Caution
The documentation is being updated, refactored, corrected and improved as needed. This includes paths and links to content.
Furthermore the documentation focuses on the most common use of ADOxx and ADOxx based tools. Feel free to explore the ADOxx platform and try things out which can go beyond "the most common use".
Acknowledgements ​
Here "This software / product" relates to the ADOxx platform and ADOxx based tools.
- This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details. FreeImage is used under the FIPL, version 1.0.
- This software is based in part on the work of the Independent JPEG Group.
- This software uses a RegEx library created by Henry Spencer ("libregex").
- This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
- This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
- This software uses a built version of the Xerces-C project without any modifications. Details and source code can be found on the Xerces project page.