Workshop: Model-driven Software Development in the Real World 2010
The idea of this workshop is to identify and discuss research challenges around the question “where, how and why should SE become more model-centric?”
Model-driven software development (MDSD) is a software development method which uses explicit meta-models and transformations to generate various software artifacts including code. It promises various benefits, including increased productivity through the reuse of transformations and meta-models, ease of platforms changes (as platform specific aspects are encapsulated in certain transformations only). By this MDSD is a clear opponent to a community which declares software engineering should be code-centric. Anyhow, in MDSD, software engineering will become more model-centric, rather than only code-centric. In a most radical version of MDSD, this means that in single software development projects the software will be modelled on a „model-level“, all important design decisions are made on this level (and are strongly restricted by the meta-model) and there are no further implementation decisions, as they are already fixed by the existing transformations. Also any kind of analyses, such as for performance, are solely done on the model level. Code is only interesting as a target for transformations, i.e., it is entirely shielded from the majority of software developer who just use existing transformations.
Yet, it is clear, that this radical MDSD vision might never be realized for good reasons, e.g., as it is unclear how to best specify the executable semantics of software in a universal manner than in code.
However, even if one not necessarily has to assume that radical MDSD vision and, much more, in future core and models will both be used, the abovementioned radical position makes clear that several software engineering questions remain unsolved in any MDSD scenario:
- How to come to the meta-model and to the transformations? (Structured processes, Connection to Requirements Engineering)
- What means software verification? (It becomes clear that software verification will relate to the correctness of transformations or the proof that they change properties of the source model only in a defined way into properties which hold fort he target model. This is important for functional verification, in particular safety properties. Also proofing certain properties of complicated rule-systems or chained transformations is an open challenge.)
- How to evolve meta-models and their related instance-models?
- What are suitable ways to define and maintain large model (on the meta and instance level)? This includes the question whether a textual syntax or a graphical notation is more suitable?
- What are suitable models for cost and effort estimation of software projects (a) when using existing meta-models and transformations or (b) when defining meta-models or transformations?
- What means „maintainability“ for meta-models and transformations? What are suitable metrics and how to validate them?
On a technical level:
- Under which conditions is which notation for the definition of models and notation for transformations best?
- How to structure meta-models (there are plenty design decisions and their implications are not well understood.) What are meta-modelling patterns? What means maitainability on a meta-model-level and for models on the instance-level?
- How to structure rules which define transformations? (A transformation can be defined by several rules and transformations can be chained to larger transformations. There are many design decisions to be taken and their implications are unclear.)
While this list is clearly incomplete, unstructured and only on a rather coarse level, it becomes clear that to make MDSD working in real-world projects major research effort from various fields of software engineering is needed.
As bringing researchers from all areas of software engineering together would conflict with the idea of a small and discussion oriented workshop, the organizers focus on researchers from the following fields:
- MDSD
- Software Architecture / Software Design (as models will be most likely on this abstraction level)
- formal methods
- requirements engineering
The workshop is by invitation only.
The results would be a refined research agenda in the above areas. It is planned to write a magazine article on the results.
| Date and venue: | July 27th and 28th at FZI, Karlsruhe, Germany |
| Directions |
Schedule:It is planned that each participant should prepare a presentation on his specific expectations, issues and ideas concerning the topic. There will be a 30 minute slot per participant for the presentation and discussion.
| 27.07.2010 | ||
| 1:00 pm |
Lunch |
all optional |
| 2:00 pm | Welcome and Introduction to Session 1 „Applications and Challenges of MDD“ |
Colin Atkinson, U Mannheim, Steffen Becker, U Paderborn, Martin Glinz, U Zürich, Ralf Reussner, KIT / FZI |
| 2:10 pm |
„Finding the Right Level of Abstraction“ | Cédric Jeanneret, U Zürich |
| 2:50 pm |
„Challenges in applying model-to-model transformations - and how to overcome them“ |
Steffen Becker, U Paderborn |
| 3:30 pm | „MENGES (Modellbasierte Entwurfsmethoden für eine neue Generation elektronischer Stellwerke)“ |
Reiner Jung, U Kiel |
| 4:10 pm | Coffee Break | |
| 4:30 pm | „Bidirectional Model Transformations for View Synchronization in Metamodel-based Domain-Specific Workbenches“ |
Arif Wider, HU Berlin |
| 5:10 pm | „Applications of Higher-Order Transformations“ | Lucia Kapova, KIT |
| 5:50 pm | Wrap-up and discussion | |
| 6:30 pm | End | |
28.07.2010 |
||
| 8:00 am |
Introduction to Session 2 „Effective Tool Support for MDD“ |
Organizers |
| 8:10 am | „Model-Driven Development in .NET Platforms“ | Pavel Ježek, Ch. U Prague |
| 8:50 am | „New features and upcoming challenges for MontiCore“ | Ingo Weisemöller, RWTH Aachen |
| 9:30 am | „Textual View-Based Modelling“ | Thomas Goldschmidt, FZI |
| 10:10 am | Coffee Break | |
| 10:30 am | „Dealing with Multiple Overlapping Modeling Languages in Complex Model-Driven Development Scenarios“ |
Andreas Seibel, HPI Potsdam |
| 11:10 am | „Xbase – Produktivitätssteigerung bei der Implementierung domänenspezifischer Sprachen durch effektive Wiederverwendung“ |
Robert von Massow, U Kiel |
| 11:50 am | „Towards model/DSL debugging“ | Petr Hnětynka, Ch. U Prague |
| 12:30 pm | Wrap-up and discussion |
|
| 1:00 pm | Lunch | all optional |
| 1:45 pm | End |
| Accomodation: | Hotel Hasen, Gerwigstraße 47 |
| City Hotel, Kaiserstraße 152 (near Europaplatz) | |
| Hotel Ambassador,Hirschstr. 34-36 |
|
| Hotel Kaiserhof, Kaiserstraße 235 (at the Marktplatz) | |
| Organisers: | Colin Atkinson, U Mannheim |
| Steffen Becker, U Paderborn | |
| Martin Glinz, U Zürich | |
| Ralf Reussner, KIT / FZI |
Presentations:
Contact:
Martin Küster
Software Engineering (SE) am Forschungszentrum Informatik (FZI)
Haid-und-Neu-Straße 10-14
D-76131 Karlsruhe
T: +49 (0)721 9654-634
F: +49 (0)721 9654-635
