Research Overview

Concern-Oriented Reuse

Concern-oriented Reuse (CORE) is an new software development paradigm introduced by my research team in 2013 that combines the ideas of Model-Driven Engineering (MDE), advanced modularization techniques (aspects), and software product lines, to address the challenge of how to enable broad-scale, model-based reuse.
To demonstrate the effectiveness of CORE, we developped a tool called TouchCORE, which runs on Mac, Windows and Linux and ships with a library of reusable software development concerns encapsulating reusable models (feature models, goal models, class diagrams, sequence diagrams and state diagrams) and implementations.

Check out the TouchCORE page to download our concern-oriented modelling tool.

Dependablity-focused Requirements Engineering

At the requirements level, discovering and documenting all possible abnormal situations and irregular user behavior that can interrupt normal system interaction is of tremendous importance in the context of dependable system development. We defined a Dependability-focused Requirements Engineering Process (DREP) based on use cases that leads a developer to discover and then specify the required level of system reliability and safety at an early stage. Our “exceptional use cases” can be probabilistically analyzed to get feedback on the achievable safety and reliability of the system, if it were to be built with a given set of (potentially failing) components.

Open Multithreaded Transactions

Open Multithreaded Transactions (OMTT) are an advanced transaction model that provides features for controlling and structuring not only access to objects, as usual in transaction systems, but also threads taking part in transactions. Due to the isolation property and disciplined exception handling, OMTTs constitute ideal units of fault tolerance for structuring the execution of loosely coupled cooperative and competitive concurrent systems.


Mammoth is a massively multiplayer game research framework. The goal of Mammoth is to provide an environment for experimentation in areas such as distributed systems, fault tolerance, databases, modeling and simulation, artificial intelligence and aspect-orientation. Our industrial partners are Quazal, Electronic Arts Montreal, and EJ-Technologies.