Bart Meyers   
PhD Student
Modelling, Simulation and Design Lab
Department of Mathematics and Computer Science
University of Antwerp
Middelheimcampus, G 3.17
1, Middelheimlaan
Antwerp,
Belgium 2020
office:
fax:
e-mail:
+32 3 265 32 79
+32 3 265 37 77
FirstName.LastName@ua.ac.be
Bart Meyers     
   

I am currently a member of the MSDL (Modelling, Simulation and Design Lab) under supervision of Prof. Hans Vangheluwe. I am a Ph. D. candidate at the University of Antwerp.

Until January 2010, I was a teaching assistant at the University of Antwerp.

In 2009 and 2010, my research addressed evolution of modelling languages in the context of model-driven engineering. From 2010 onwards, I am investigating the modulair design of domain-specific modelling languages. Modular design can then tackle the complexity of language evolution.


Modelling, Simulation & Design Conferences/Workshops/Presentations

Evolution of Modelling Languages

In model-driven engineering, evolution is inevitable over the course of the complete life cycle of complex software-intensive systems and more importantly of entire product families. Not only instance models, but also entire modelling languages themselves are subject to change. This is in particular true for domain-specific languages, for which language constructs are tightly coupled to the domain. When this domain evolves, its language must evolve as well.

Up to this day, modelling languages are evolved manually, resulting in tedious and error-prone migration of artifacts such as instance models. My project proposes a structured appoach that enables the design of (semi-)automatic model evolution, with different evolution scenarios for various kinds of modelling artifacts, such as instance models, meta-models and transformation models.

Read more on evolution of modelling languages here.

Modular Design of Modelling Languages

As a natural consequence of the problems we encountered when trying to automate the evolution of modelling languages, the very definition of modelling languages has to be investigated. We do this in two ways: we break down a language (a) according to the structural information of the modelling language, and (b) according to the content of the modelling language.

In the first phase of the project, we intend to split up a modelling language explicitly according to its structural information. Each structural part of the language will be precisely modelled itself. A language will be split up into two formalisms: a design formalism and a property formalism. A design formalism can be used for modelling a software system. A property formalism can be used for capturing the requirements of the system. Indeed, in order to perform meaningful analysis, simulation, model checking or test generation, we need a precise description of the requirements of the system. Including a property formalism in a modelling language enables modelling requirements in a domain-specific way at the most appropriate level of abstraction, thus gaining from the benefits of domain-specific modelling. The structure of the design formalism and the property formalism is the same; a formalism merely takes on a role in the context of a particular modelling language. A formalism is explicitly modelled itself, with models representing internal structure, visual representation and translational meaning. After investigating the breakdown of a language, a new question arises: how are the structural parts related so that they form the language? There must exist a satisfaction relation between the property formalism and the modelling formalism. After all, when all properties are satisfied, the model of the system fulfils the requirements. More in detail, there is a relation between the internal structure of the modelling formalism and the translational meaning of the property formalism, which can in practice be implemented as model checkers (that can be satisfied or not satisfied) or test cases (that can pass or fail) that can be executed on the modelled system.

In the second phase, we will consider a language as a composition of re-usable language fragments. In our research, we will consider a language fragment to be a modelling language (i.e., formed by structural parts as described above). This design choice will allow any modelling language to be re-used as a language fragment, and vice versa, any language fragment to be composed of other language fragments. Consequently, modelling languages can be classified in a acyclic, directed graph structure where arcs represent an “is composed of”- relation. Because the graph is acyclic, there will be a number of root nodes that represent the base formalisms. When following traditional modelling language classification such as in OMG’s UML, we expect these base formalisms to be languages for expressing structure, behaviour, constraints and interaction. Because of the background of our research group, we will focus on behavioural languages (but without neglecting the other base formalisms). We will investigate how language fragments can be re-used to compose existing domain- specific languages. When re-using a modelling language, it is not always desirable to re-use it as a whole. A research question arises: how can the appropriate model fragment be created from a modelling language? Therefore, we will investigate a structured approach how a modelling language can be reduced and/or modified in order to devise a language fragment. Additionally, the following question has to be answered: how are the selected model fragments combined to form a language? An approach will be investigated to weave the language fragments. In order to maximise re-use, the structural parts of each language fragment will be re- used, and must be woven. According to the principles of modularity, the coupling will be kept as low as possible. It will be investigated what kind of relations and additional information can be introduced when weaving language fragments.


Google

website hit counter
website hit counters
website hit counter
Maintained by Bart Meyers. Last Modified: 2010/06/12 19:11:22.