Intensional Views on Model-Driven Engineering

Context

Intensional Views

One of the techniques developers use to deal with the inherent complexity of software systems is to systematically introduce regularities in the source code of a system. These regularities express different conventions, idioms and patterns that are used to communicate the developers’ design intent or to regulate the implementation of a particular concern by relying on a proven solution. However, since these regularities are neither explicitly documented in the source code nor are they first-class entities of the development process, the causal connection between the regularities and the implementation can be severed during development. Consequently, changes to either the regularities or the source code can result in mismatches which might lead to an inconsistent or incorrect implementation.

IntensiVE is a tool that turns these regularities into an integral and explicit part of the development process. This integration enables the co-design and co-evolution of regularities and the source code by making the regularities and the causal connection with the implementation explicit and verifiable.

Model-Driven Engineering

Model-Driven Engineering (or MDE) refers to the systematic use of models as primary engineering artifacts throughout the engineering lifecycle. MDE can be applied to software, system, and data engineering. Models are considered as first class entities. The best known MDE initiative is the Object Management Group (OMG) called Model-Driven Architecture (MDA).

At SSEL, we have developed MDE Case Studies of which the most elaborate one is the Instant Messenger case study. The instant messenger software is described in a Platform-Independent Model (PIM) in UML, which is then transformed to several Platform-Specific Models (PSMs) in Java in multiple steps. The different platform-specific versions of the instant messenger run on different Java client platforms, ranging from J2ME MIDP for mobile phones to J2SE for desktop/laptop computers.

Objective

Applying Intensional Views to MDE

Intensional Views are meant to analyse your code and tell you what's wrong with it. In the “normal” case where you've written all the code, this is a straightforward affair. If there's something wrong with the code, then it's your fault!

In MDE, where your code is generated from a PIM, the situation is more complex. The IntensiVE tool may tell you that there's something wrong with the code, but is it your fault? Most of the code is generated by model transformations from a PIM. Some code may have been added manually afterwards. There could be something wrong with the PIM, the model transformations as well as the manually added code.

In this thesis, you're going to find out the origin of code problems! You will apply the IntensiVE tool on the instant messenger case study to find out any code problems. You will then trace back those problems to the cause: PIM, model transformations or manually added code. Eventually, you'll improve the IntensiVE tool to find this out automatically.

Advisors

References

 
teaching/thesis0809/proposals/intensional_views_on_mde.txt · Last modified: 10/04/2008 10:25 by dwagelaa
 

© 2003-2010 • System and Software Engineering Lab • Submit comments and bugs to our Bugzilla or to the webmaster