Student Project Topics

Bart Cools: P1 - A language for modeling constraints of characteristics in complex heterogeneous systems

  1. Defining such a language based on a previously developed visual equivalent of it [1] and implementing a supporting IDE with Xtext.
  2. Facilitating the symbolic evaluation of expressions via the SymPy framework [2].
  3. Demonstrating your results through a simple example.

[1] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017. [PDF]

[2] SymPy documentation

Bjorn de Nijs: P15 - Domain Specific Language for Indoor Air Quality Analysis in Museums

The purpose of this project is to apply the techniques learned in the MDE course and design a domain specific language that allows non-experts to analyze the indoor air quality.

Joey De Pauw: P16 - Variability Management and Model Transformations

This project explores the relationship between variability management and model transformations.

Jony Van Puymbroeck: P17 - Workflow Languages for Machine Learning

This project proposes to explore the existing languages for machine learning related workflows.

It consists of identifying the commonalities in the development of a large class of machine learning solutions, and summarize those in the form of a specialized workflow language.

Jonas Vanden Branden: P18 - Analysis of Blockchain Based Applications using Model Transformations

This project is part of a larger study comparing blockchain applications with traditional database applications. Possible directions are: build a performance model based on queueing networks using model transformations; use model transformations to find optimal parameters for the application based on a performance model.

Tim Leys: P19 - Recommender System for Bug Reports using RETE Networks

This project aims at exploring how RETE Networks can be used to build a recommender system that can enhance the process of bug reporting.

Kleidi Ismailaj: P20 - Abstraction and Verification Techniques for Continuous and Hybrid Systems

This project proposes to explore how Finite State Automata (FSA), and Timed FSA can be used to over-approximate the behavior of continuous and hybrid systems.

The resulting (Timed) FSA can then be used to prove safety properties using model checking techniques with a tool such as UPPAAL.

A potential use case is to ensure that the force exerted by a power window (when closing) on an obstacle is below a certain threshold.

Rys Arkadiusz: P22 - A modeling language for home automation systems with support for temporal reasoning

P2 - A language for modeling performance metrics and KPI of engineering processes (Xtext)

  1. Researching some of the techniques of process cost modeling [2], defining an appropriate language for modeling costs and implementing a supporting IDE with Xtext.
  2. Providing a framework for evaluating KPIs.
  3. Demonstrating your results through a simple example.

[1] Engineering Process Transformation to Manage (In)consistency, I. Dávid, J. Denil, K. Gadeyne, H. Vangheluwe, 1st International Workshop on Collaborative Modelling in MDE, 2016 [PDF]

[2] Process Cost Modeling: Strategic Engineering and Economic Evaluation of Materials Technologies, F. Field, R. Kirchain, R. Roth, JOM (2007) 59: 21. https://doi.org/10.1007/s11837-007-0126-0

P3 - Tool support for process weaving (Sirius or Xtext)

  1. A language for defining process weaving patterns, along with a framework for deriving the resulting process.
  2. At least one analysis technique for the resulting process based on the compositionality rules of the interwoven processes.
  3. Demonstrating your results through a simple example.

[1] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017. [PDF]

[2] Towards an Aspect Weaving BPEL engine, C. Courbis, A. Finkelstein, Proceedings. 27th International Conference on. IEEE, 2005. [PDF]

P4 - A visual process simulation tool (Sirius)

  1. Visualization of the process under execution.
  2. Providing controls for process execution.
  3. Demonstrating your results through a simple example.

[1] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017. [PDF]

P5 - A visual modeling language for streaming model transformations (Sirius)

  1. Understanding the concept and underlying techniques of streaming model transformations [1], defining an appropriate visual modeling language [2] [3] for specifying transformation rules and implementing a supporting IDE with Sirius.
  2. Translating your streaming transformation patterns to a suitable model transformation framework.
  3. Demonstrating your results through a simple example.

[1] Foundations for Streaming Model Transformations by Complex Event Processing, I. Dávid, I. Ráth, D. Varró, International Journal on Software and Systems Modeling, pp 1--28, 2016. DOI: 10.1007/s10270-016-0533-1. [Open access pdf].

[2] The "Physics" of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering, D. L. Moody, IEEE Transactions on Software Engineering, vol. 35, no. 6, pp. 756-779, November/December, 2009.

[3] Maintaining knowledge about temporal intervals, J.F. Allen, Communications of the ACM 26(11) pp.832-843, Nov. 1983. [webpage]

P6 - Optimized process generation from architectural, functional and extra-functional system characteristics

  1. Understanding the FTG+PM framework and its extensions [1].
  2. Providing algorithms for generating process candidates suitable for implementing the system based on its characteristics, starting from design-structure matrices (DSM).
  3. Providing a method for selecting the optimal process w.r.t. one or two KPIs.
  4. Demonstrating your results through a simple example.

[1] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017. [PDF]

[2] Extended dependency modeling for effective and efficient design decision support, K. Berx, H. Karhula, M. Nicolai, D. Maes. (Available on demand.)

P7 - Process scheduling and optimization by constraint solving

[1] Engineering Process Transformation to Manage (In)consistency, I. Dávid, J. Denil, K. Gadeyne, H. Vangheluwe, 1st International Workshop on Collaborative Modelling in MDE, 2016

[2] Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications, C. Artigues, S. Demassey, E. Neron, ISTE, 2007.

[3] A MiniZinc Tutorial, K. Marriott, P. J. Stuckey [PDF]

P8 - Inconsistency resolution by constraint solving

[1] Engineering Process Transformation to Manage (In)consistency, I. Dávid, J. Denil, K. Gadeyne, H. Vangheluwe, 1st International Workshop on Collaborative Modelling in MDE, 2016

[2] A MiniZinc Tutorial, K. Marriott, P. J. Stuckey [PDF]

P9 - Enhancing engineering process models with domain-specific knowledge

[1] Ontology Development 101: A Guide to Creating Your First Ontology, N.F. Noy, D. L. McGuinness, Stanford knowledge systems laboratory technical report KSL-01-05 and Stanford medical informatics technical report SMI-2001-0880

[2] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017

P10 - Constraint identification by machine learning (Bayesian reasoning)

[1] Bayesian Reasoning Over Models, S. J. Herzig, C. J. Paredis. In 11th Workshop on Model-Driven Engineering, Verification and Validation MoDeVVa 2014, pages 69--78, 2014.

[2] Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes, I. Dávid, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, H. Vangheluwe, 2nd International Workshop on Collaborative Modelling in MDE, 2017.

P11 - Statechart configuration for FMI co-simulation

The Functional Mockup Interface (FMI) Standard defines a common interface via which multiple simulation tools (e.g., Simulink, OpenModelica, 20Sim, etc…) can communicate during a simulation, in order to reproduce the behavior of a complex system (e.g., an ABS of a car, or the power window controller).

In these simulations, each tool computes the behavior of a sub-part of the system (the one that the tool is most specialized in modelling), and assumes that external inputs are computed by other simulation tools.

As more and more tools are adhering to the standard (currently, 35 tools and increasing, see references below), it becomes important to explore the many ways in which a model can communicate with its environment i.e., how and where does it get/set its inputs/outputs, and what are the assumptions made by these.

In this project in particular, the student is going to explore different ways of making a statechart communicate with its environment.

A statechart simulation tool called Yakindu can serve as the target for the implementation of these multiple variations.

Ideally, the results of this project would be published, and these would enable the Yakindu (or any other statechart based simulation tool) to quickly adhere to the FMI Standard by selecting which variation is to be used.

P12 - Detection of Metamodel “Smells” within the Modelverse

The same language can be described with an infinite number of grammars.

But while they represent the same language, we can often state that one grammar is better than the other, for example in terms of maintainability or error-proneness. In the programming world, "code smells" are used to identify potentially problematic pieces of code which, although possibly perfectly working, might be worth looking at from a maintenance point of view. For (textual) grammars, a taxonomy of smells has been defined, including a (preliminary) smell detector. Grammars and metamodels share many similarities.

In this project, you will apply this taxonomy to metamodelling. You will port applicable "smells" to the metamodelling domain (for simple Class Diagrams), and create a smell detector based on model transformations, which annotate the metamodel, in the Modelverse.

P13 - Formalization and Verification of the FMI Standard using UPPAAL

The Functional Mockup Interface (FMI) Standard defines a common interface via which multiple simulation tools (e.g., Simulink, OpenModelica, 20Sim, etc…) can communicate during a simulation, in order to reproduce the behavior of a complex system (e.g., an ABS of a car, or the power window controller).

In these simulations, each tool computes the behavior of a sub-part of the system (the one that the tool is most specialized in modelling), and assumes that external inputs are computed by other simulation tools.

Since the simulation tools are independent of one another, there must exist an orchestrator which communicates with the tools. When the tools run their simulations in parallel, the orchestrator must make sure that the tools pause at the right simulated times, so that the values exchanges have the same timestamp.

Parallel orchestration algorithms can implement sophisticated mechanisms (e.g., the use of extrapolations functions to present long pauses of fast simulation tools) and their correctness should be formally verified.

In this project, the student is going to use a model checker to formally verify the behavior of a parallel orchestration algorithm (the concrete algorithm is to be determined yet).

The results of this project can be published and will help the rapidly growing number of companies using co-simulation to formally check that their algorithms are correct.

P14 - Concrete syntax icon definition language for explicitly modelled concrete syntax

Every language consists of an abstract and concrete syntax. Explicitly modelling the concrete syntax mapping has many advantages. Nonetheless, the current approach to this is non-trivial to define. In this project, you will create a concrete syntax icon definition language, based on a specific perceptualization format. From this DSL, a mapping to the actual perceptualization activity is automatically generated. Additionally, this icon definition language will be used for bootstrapping. All of this done in the Modelverse.

P21 - Model Sonification

The prevalent way of concrete syntax definition, is through the

rendering with graphical primitives such as rectangles, circles, text,

and lines. Some models, however are better perceptualized in a different

manner. An example is the use of plotting or sonification. With model

sonification, a model is perceptualized not visually, but auditively:

the model is "played" as if it were audio. Some metamodels, such as that

for a music sheet, are ideally perceptualized in multiple ways:

graphically (for editing) and auditively (for evaluation). In this

project, you will use an existing concrete syntax infrastructure in the

Modelverse to reason about and implement model sonification.