Home | Research | Publications | Teaching | Personal
Dennis Wagelaar - Research
Research description
My research is centered around how to manage platform dependencies and platform variation within the scope of model-driven software product lines. My PhD thesis was titled “Platform Ontologies for the Model Driven Architecture.” I've previously worked on the SEESCOA and CoDAMoS projects, which dealt with software engineering for embedded systems and context-driven adaption in ambient intelligence (AmI) systems, respectively. A collection of MDE Case Studies has grown out of this, and plays a central role to this day to validate my research.
Keywords
Model-Driven Engineering, Model-Driven Architecture, Software Product Lines, Platform Modelling, Ambient Intelligence.
Links
PhD topic description
The Model-Driven Architecture (MDA) allows for "separating the specification of the operation of a system from the details of the way that system uses the capabilities of its platform.". This enables the deployment of software applications on a variety of different platforms. The MDA is based on a pattern that involves modelling the software in a platform-independent model (PIM). This PIM should then be transformed to a platform-specific model (PSM), given a platform model (PM). Currently, models are transformed directly from PIM to PSM, without using a platform model. The model transformations implicitly assume a platform model. This makes it much easier to write model transformations, since one only has to deal with the limited scope of targeting a single, assumed platform. It is unclear, however, whether a model transformation can be used for other platforms than the one for which it was written. The only safe assumption is that each targeted platform requires its own corresponding set of model transformations.
In practice, this means that only a relatively small number of general platforms can be targeted, e.g. Java or C++. Targeting very specific platforms, e.g. Qtopia Palmtop Environment or J2ME Personal Profile 1.0, is not feasible due to the maintenance overhead, even though such precise targeting can result in a better optimised PSM in terms of memory footprint, available features, etc. Especially in a world where constrained computing devices become more commonplace every day, getting the most out of such a platform is very important.
On the other hand, most model transformations are reusable over multiple platforms and it is only how they are combined that makes them applicable to only one specific platform. For example, one model transformation could target all Java 2 platforms by transforming the types of UML properties with a multiplicity greater than one to Java using the Java 2 Collections framework. The Java 2 Collections framework is included in several Java platforms, including J2ME Personal Profile and J2SE for the desktop computer. If this transformation is applied in combination with a transformation that targets the Java Swing graphical user interface framework, the target platform is already limited to J2SE. The fact that each configuration of model transformations is also maintained by hand, makes that the problem of limited platform support remains.
We propose a separate platform model, which can be used to automatically select and configure a number of reusable model transformations for a given platform. This platform model is expressed in the Web Ontology Language (OWL), which is an extensible language for describing ontologies. We use the OWL-DL variant, which corresponds to description logic and allows us to apply automatic reasoning. This platform model forms a basis for describing platforms in general and can be extended to include the specific platform information that is relevant for a particular application domain. One or more platform constraints can be defined for each model transformation. This way, the model transformations are no longer limited to one platform, but can instead be used for a well-defined class of platforms. Concrete platforms are modelled separately and refer to the same basis platform model. An automatic reasoner, such as Racer or Pellet, can be used to verify whether a concrete platform satisfies the platform constraints of a model transformation. In addition, it can determine which platform constraint forms the closest match to a concrete platform, allowing for optimisation towards a concrete platform.
To bring the model transformations and platform models together, we propose to augment an existing technique for configuration management with platform models. Domain-Specific Modelling (DSM) is a technique that can be used to model software configurations. Software configurations are described in a domain-specific modelling language - a configuration language in our case. The configuration rules are typically represented by the configuration language meta-model. DSM lies close to MDA in that it also uses model transformation to generate an implementation of a high-level model. In the case of a configuration model for model transformations, such a generated implementation can take the form of a build script that applies the configured model transformations.
Since the configuration of an MDA-based build framework involves the choice of model transformations, these model transformations are represented in the configuration language meta-model as meta-classes. We annotate each of these meta-classes with one or more platform constraints. In this way, we can determine the platform constraints for each model transformation, but also for each configuration - or combination - of model transformations. This is done by reflection on the meta-classes that have been used to define a configuration model. An automatic reasoner can be used to determine which configuration of model transformations forms the closest match to a concrete platform. It can also verify whether a concrete platform satisfies a configuration of model transformations.
The whole procedure described above is supported by the PlatformKit tool, which includes a number of basic Platform Ontologies that describe Java client platforms.
PhD guidance
I'm involved in the PhD research of Eline Philips. Her research is situated in the domain of Ambient Intelligence. She aims to adapt workflow languages to the dynamics of ambient environments, which requires several extensions to current workflow semantics.
Attended conferences, workshops, etc.
Conferences
- ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2008), September-October 2008, Toulouse, France.
- International Conference on Model Transformation (ICMT 2008), July 2008, Zürich, Switzerland. Co-located with TOOLS 2008.
- 46th International Conference on Objects, Models, Components, Patterns (TOOLS-Europe 2008), July 2008, Zürich, Switzerland.
- ACM/IEEE 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2006), October 2006, Genova, Italy.
- Second European Conference on Model Driven Architecture® - Foundations and Applications (ECMDA-FA 2006), July 2006, Bilbao, Spain.
- ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2005), October 2005, Montego Bay, Jamaica.
- The 24th International Conference on Distributed Computing Systems (ICDCS 2004), March 2004, Tokyo, Japan.
- 7th IASTED International Conference on Software Engineering and Applications (SEA 2003), November 2003, Marina del Rey, CA, USA.
- 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), March 2003, Boston, MA, USA.
- 1st International Conference on Aspect-Oriented Software Development (AOSD 2002), April 2002, Enschede, The Netherlands.
Workshops
- European Workshop on Composition of Model Transformations (CMT 2006) at ECMDA-FA 2006.
- 2nd AMMA/ATL Workshop on Model Engineering (AWME2), May 2006, Nantes, France.
- MDD for Software Product-lines: Fact or Fiction? at MoDELS 2005.
- Model Driven Architecture: Foundations and Applications (MDAFA 2004), June 2004, Linköping, Sweden.
- Early Aspects 2003 Workshop at AOSD 2003.
- Joint Belgian & Dutch AOP Workshop 2003 at the University of Twente.
- Aspect Oriented Design (AOD) 2002 Workshop at AOSD 2002.
Summer schools
- Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2005), July 2005, Braga, Portugal.
Symposia
- International Symposium on Software Variability: a Programmers' Perspective (SVPP 2008), August 2008, Brussels, Belgium.
- Second European Symposium on Ambient Intelligence (EUSAI 2004), November 2004, Eindhoven, The Netherlands.
- High-Quality Software Architecture Design: The Importance of Domain Knowledge (HQSAD 2000), Symposium, March 2000, Enschede, The Netherlands.
- Software Architectures and Component Technology: State-of-the-art in Research and Practice (SACT 2000), Symposium, January 2000, Enschede, The Netherlands.
Other
- Model Engineering in Practice, March 2006, Zürich, Switzerland.
- Lightweight composable system architecting and software bloating, October 2004, Leuven, Belgium.
- Embedded Systems and Mobile Applications, September 2004, Ghent, Belgium.
- Tool chains for embedded software development, May 2004, Leuven, Belgium.
- OMG Information Day Brussels, April 2004, Brussels, Belgium.
- Nederlands ICT-Kenniscongres 2002, September 2002, The Hague, The Netherlands.