We provide on this page the different artefacts which have been used and created when performing the prototypical implementation of the AutomationQL approach in Eclipse.


Model-based engineering is an emerging paradigm to deal with the complexity of multi-disciplinary engineering in CPPS projects. In such projects, different kinds of models are created during the lifecycle of a production system. AutomationML is a promising standard to provide a unifying format to represent and connect the different engineering models. Dedicated tool support has been developed for AutomationML in the last years to create and evolve models. However, when it comes to querying AutomationML models, implementation-related query languages have to be currenlty used. These languages have a certain complexity as they are not directly based on the concepts of AutomationML but on the underlying technological concepts and encodings of AutomationML. This often hinders the formulation of automatically executable queries by domain experts.

In this paper, we propose a dedicated query language for AutomationML called Automation Query Language (AutomationQL) which is directly derived from AutomationML. Using this query language, queries can be defined in a by-example manner which allows engineers to formulate queries in terms of AutomationML concepts instead of switching to an implementation-oriented query language. We illustrate how AutomationQL is defined, how queries can be formulated as well as how tool support is provided to automatically evaluate the queries and represent their results. Finally, we contrast our solution with existing query languages and derive a roadmap for future research on AutomationQL.

Prototypical Implementation of AutomationQL

For the purpose of demonstrating AutomationQL, we present an example model based on parts of the Pick-and-Place Unit (PPU) hosted at the Institute of Automation and Information Systems (AIS) at TU Munich. We extended the AML metamodel with query capabilities in order to model graph pattern queries as AML model fragments. AutomationQL consists of two parts, the AML Query Definition Language (AQDL) and the AML Query Result Language (AQRL).

We specified AQDL and AQRL as Ecore-based metamodels. Using the standard EMF capabilities, we generated tree-based modeling editors for both languages. For executing AQDL queries on AML models, we implemented a prototypical interpreter in Java. The interpreter reads the AML models as well as the AQDL models and produces AQRL models as output.

All mentioned artefacts of the prototypical implementation are provided as open source for downloading.


Running the Prototype

For running the prototype, we recommend to use the Eclipse Modeling Edition. In the following we provide information on how to download, run and setup the Eclipse bundle for elaborating the prototype.

Download Eclipse

First you have to download the Eclipse Modeling Tools (version: Neon R) for your operating system and architecture. Once the download is finished, unzip the downloaded archive to any location you prefer. Please note, however, that the location should be writable without additional user permissions so that Eclipse may autonomously install updates and additional plug-ins.

Run Eclipse

The prerequisite for running Eclipse is a current version of the Java Runtime Environment. Eclipse itself does not have to be “installed” per se. You may directly start Eclipse by running eclipse (.exe in case you use Windows). Select a workspace location according to your personal preferences.