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

Workshops

Summer schools

Symposia

Other

 
members/denniswagelaar/research.txt · Last modified: 09.06.2009 16:01 by dwagelaa
 

© 2010 • Software Languages Lab • Submit comments and bugs to our Bugzilla or to the webmaster