author: Damiaan van der Kruk
title: A Domain-Specific Language for Specifying Distributed Real-Time Software System Configurations
company: Thales
committee: Mehmet Ak┼čit ,
Pim van den Broek ,
Ferenc Schopbarteld (Thales)
started: November 2014
end: June 2015


Distributed real-time systems are complex systems to design and realize, because it involves extra dimensions of distributed and real-time concerns. The solution to realize these systems in a structured and manageable way is to utilize a component-based framework that is specially tailored for developing distributed real-time systems. Only a hand full of these frameworks are available and all of them work basically the same way of defining the structure and deployment settings of a target system in models, called software system configurations. These configurations can be provided to a code generator to create code and deployment setting files for the target system. This concept works very well, however defining correct software system configurations for any of these frameworks is pretty hard. This is because that those frameworks have two main shortcomings. The first one is that languages for defining software system configurations of these frameworks are too complex/hard to understand. The second one is that these frameworks don’t provide any tooling with computer-aided features, like autocomplete and on-the-fly validation, to help with defining correct software system configurations.

In this thesis a domain-specific language (DSL) implementation is presented that overcomes the two mentioned shortcomings of other frameworks. This DSL implementation is called O2 DSL and is based on the existing component-based framework O2. O2 DSL is implemented with Eclipse Modeling Framework (EMF) and consist of three components; a textual part, a graphical part and transformations. The textual part is implemented with Xtext and consist of a textual grammar and editor with computer-aided features to fast and easily define software system configurations. The graphical part is implemented with Sirius and consists of graphical views with an editor. The transformations are implemented with ATL and Xtend and provides O2 DSL with a way to generate code and deployment settings files from defined software system configurations with the textual and/or graphical parts. This combination of textual and graphical views with computer-aided features, makes defining correct software system configurations much easier compared to existing frameworks and is an unique combination in the area of distributed real-time system development. O2 DSL is tested with a case study showing that with it a software system configuration can be defined for a target system. Also is the O2 DSL demonstrated to different developers/engineers that work in the area of distributed real-time system development. Their reactions where very positive and they see a lot of potential for O2 DSL. This says us that O2 DSL is possibility the solution to define correct software system configurations in an easy and fast way.


Additional Resources

  1. The paper