We provide on this page the different artefacts which have been used and created when performing the case study concerning our EMISA submission.
Tackling the challenge of managing the full life-cycle of systems requires a well-defined mix of approaches. While in the early phases model-driven approaches are frequently used to design systems, in the later phases data-driven approaches are used to reason on different key performance indicators of systems under operation. This immediately poses the question how operational data can be mapped back to design models to evaluate existing designs and to reason about future re-designs.
In this paper, we present a novel approach for harmonizing model-driven and data-driven approaches. In particular, we introduce an architecture for time-series data management to analyze runtime properties of systems which is derived from design models. Having this systematic generation of time-series data management, opens the door to analyse data through design models. We show how such data analytics is specified for modeling languages using standard metamodeling techniques and technologies.
Case Study Description
For demonstration purpose, we developed a a simulation model of a gripper with angle sensors, which is executed by the open source tool Blender.
We deploy the scenario of a pick-and-place unit, where the gripper picks up different color-coded work pieces, place them on a test rig, picks the items up again and puts them down, depending on their red or green color, in two different storage boxes.
The simulation environment receives its commands via Message Queue Telemetry Transport (MQTT) from a server controller implemented with Kotlin. The simulation enables to acquire transient data streams in real-time from the angle axes of the gripper (unit is radian), which are equipped with sensors. To react on events of interest provided by these data streams, we employ the publish/subscribe pattern. In our example, we subscribe to the sensor topic to receive in a temporal distance of 15 milliseconds the filtered data streams of the sensors of the gripper during simulation. Thereby, we are interested in property value changes (i.e., positions of the axes) in the simulation at given points in time. Messages from the sensor topic are defined in JSON specifying the sending unit as well as the measured data. The default range of the angle values is [-π, π]. To analyze our scenario, we used the time series database InfluxDB to save the measured data over time.
This technical set up was used as test model for the prototypical implementation of the introduced framework. In Eclipse, we defined the metamodel for describing production systems including blocks (consisting of properties and a state machine, where the desired behavior for runtime is described). This metamodel was extended by runtime and history information to be able to analyze runtime data and to get derived properties by standard OCL.
All menioned artefacts of the case study are provided as open source.
Running the Case Study
For running the case study, 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 case study.
First you have to download the Eclipse Modeling Tools (version: Oxygen) 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.
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.