Object-oriented Programming, Systems, Languages, and ApplicationsGenerative Programming and Component Engineering
Model-Driven Software Development

OOPSLA & GPCE Workshop

Best Practices
Model Driven Software Development
The corresponding page in the OOPSLA conference programme

This workshop follows in the footsteps of highly successful workshops on the topic of
Generative Techniques in the Context of Model-Driven Architecture
at OOPSLA03 and OOPSLA02.

Note: The next workshop in this series is planned for OOPSLA05.

Workshop Goals and Themes

Object-oriented technology indisputably provided us with a better handle on complexity than previous technologies. Nevertheless, the growing size of applications and the demands for shorter time-to-market mean that many issues remain, and a combination of generative and model-driven techniques can help us address them.

In recent years we have seen the Object Management Group (OMG) endorse the value of model-driven approaches to software development. The evidence can be found in the marketing effort invested by the OMG into its Model-Driven Architecture® (MDA®) initiative, and the success of standards such as the Unified Modeling Language (UML®), which provides the foundation for MDA.

However the focus of MDA is on standardization of notations and on tool interoperability. In keeping with its traditional reluctance to standardize methodologies, the OMG offers little in terms of methodological support for model-driven software development. Thus, tool vendors define their own approaches, which typically address the idiosyncrasies of specific tools rather than providing comprehensive support for an end-to-end software development process.

Model-Driven Software Development (MDSD) is a new software development paradigm for distributed project teams involving 20+ people, with roots in software product line engineering, which is the discipline of designing and building families of applications for a specific purpose or market segment.

The relationship between MDSD and software product line engineering can be compared to the relationship between Component Based Development and Object Technology: One builds on the other, and the terminology of MDSD can be seen as an extension of the terminology for software product line engineering.

What sets MDSD apart from classical software product line engineering is the emphasis on a highly agile software development process. One of the highest priorities in MDSD is to produce working software that can be validated by end users and stakeholders as early as possible. This is consistent with the major shift towards agile software development methodologies in the industry. MDSD provides the scalability that is not inherent in popular agile methodologies such as Extreme Programming.

The workshop aims to bring together practitioners, researchers, academics, and students to discuss best practices for the development of model-driven software, and to discuss the state-of-the-art of tool support for MDSD, including emerging Open Source tool offerings for model-driven development of software systems.

Topics of interest include:

The goal is to share experience, assess the state-of-the-art and the state-of-the-practice, consolidate successful techniques, and identify the most promising application areas and open issues for future work.

Potential participants are asked to submit a two-page (or longer) position paper detailing their experience with model-driven software development and model-driven generative techniques, their perspective on one or more of the above topics, and their planned contribution to the workshop. We seek concrete case studies and potential topics of discussion in order to ground the workshop in real-world issues. Please mail your submission (in PDF or Word) to Jorn Bettin (jorn.bettin@softmetaware.com).

Relevance to Object-Oriented Technology

Model-Driven Software Development is closely related to the OMG's Model-Driven Architecture. MDSD and MDA tools will improve the quality of object oriented systems, enable increases in productivity, and will allow us to:

Timeliness of the Workshop

Abstract modeling techniques and visual modeling notations have been in practical use for decades in various forms. However their impact this far has been limited by a lack of integration with sufficiently robust code generation/transformation engines.

Generative techniques have also been in practical use for decades (e.g., compiler development). However, developing new domain-specific languages (DSLs), application generators, and component generators has been extremely hard, requiring being knowledgeable and experienced both in language design and compiler development.

This far there is no generally accepted paradigm for the systematic use of model-driven generation in software development. Model-Driven Software Development represents an initiative to develop such a paradigm. MDSD is intended to provide a process framework that can be used in conjunction with today's MDA tools and that provides organizations with a set of best practices for the adoption of model-driven generative techniques. Best practices for developing model-driven software are urgently required to reduce the (real and perceived) risks of using such techniques in commercial software development projects.

Organizing Committee

Jorn Bettin, the founder of SoftMetaWare, is a software consultant with a special interest in designing large-scale component systems and techniques to optimize the productivity of software development teams. SoftMetaWare provides CTO services and product line engineering expertise to software development organizations. Over the last decade Jorn has implemented automated, model-driven development in several software organizations, has worked in methodology leadership roles in an IBM product development lab, and has managed object oriented software development projects in the domains of Distribution, Manufacturing, Insurance, and Electricity Trading. Currently, together with Ghica van Emde Boas, he is leading the Generative Model Transformer Open Source initiative to develop an MDA tool platform in close collaboration with several universities and the submitters to the OMG's MOF 2.0/QVT RFP.

Ghica van Emde Boas is an IT-Architect who has been working with the IBM SanFrancisco business components framework - probably the largest Java framework in existence - for the last five years. Applications developed with SanFrancisco rely heavily on UML model-based code generation. She developed a model-driven generative tool, FUUT-je, the principles of which are published in http://www.research.ibm.com/journal/sj/392/vanemdeboas.html. FUUT-je has been used very successfully in multiple engagements. Since March 2000 Ghica is working as an independent consultant (URL: www.bronstee.com), after a 30-year career at IBM. Currently, together with Jorn Bettin, she is leading the Generative Model Transformer Open Source initiative to develop an MDA tool platform in close collaboration with several universities and the submitters to the OMG's MOF 2.0/QVT RFP.

Aditya Agrawal is a graduate student at the Institute for Software Integrated Systems (ISIS) at Vanderbilt University. His area of specialization is domain specific modeling languages. Currently, he is working on graph transformations techniques and how they can be used to specify model to model transformations. In this endeavor he has developed a graph transformation based language GReAT (Graph Rewriting and Transformation Language) and has used the language to specify various transformations.

Markus Völter works as an independent consultant on software technology and engineering. He focuses on the architecture of large, distributed systems. Over the last years, Markus has worked on several model-driven software development projects in the enterprise and embedded world. Examples include banking, automotive and radio astronomy. Markus is a regular speaker at the relevant national and international conferences. For example, he has presented at ECOOP, OOP, OOPSLA, ACCU. Markus is the (co-)author of several patterns, many magazine articles as well as of Wiley’s "Server Component Patterns" book.

Jean Bézivin is professor of Computer Science at the University of Nantes, France and a member of the new ATLAS research group created in Nantes (INRIA and IRIN). He has been very active in Europe in the Object-Oriented community, starting the ECOOP series of conference (with P. Cointe), the TOOLS series of conferences (with B. Meyer), the OCM meetings (with S. Caussarieu and Y. Gallison) and more recently the <<UML>> series of conferences (with P.-A. Muller). He created at the University of Nantes in 1988, one of the first European Master Programs in Software Engineering completely based on object-technology. His present research interests include object-oriented analysis and design, product and process modeling, transitioning from pure object technology to general model engineering, and assessing the new emerging paradigm of model transformation.

Workshops on Related Topics

  1. "Generative Techniques in the context of MDA" was held at OOPSLA03 in Anaheim and at OOPSLA02 in Seattle.
  2. "Generative Techniques for Product Lines" was held at the First Software-Product Line Conference (SPLC1) in Denver, 2000; and was held in 2001 at ICSE in Toronto.
  3. "Model Driven Architecture and Product Line Engineering" was held at the Second Software-Product Line Conference (SPLC2) in San Diego, 2002
  4. "Graph Transformation and Visual Modeling techniques" will be held in Barcelona, Spain, 2004
  5. "Application of Graph Transformations with Industry Relevance" was held at the University of Virginia, Charlottesville, Virginia, 2003
  6. "Model Driven Architecture®: Foundations and Applications" will be held at Linköping University, Sweden, 2004
  7. "Generative Programming" was held at ECOOP01 in Budapest, at ECOOP02 in Malaga, and at OOPSLA01 in Tampa.
  8. "Domain-Specific Modeling" was held at OOPSLA03 in Anaheim, at at OOPSLA02 in Seattle, and at OOPSLA01 in Tampa, and will be held at OOPSLA04 in Vancouver. We are again coordinating topics and activities with this workshop at OOPSLA04. The workshops will be held on different days to allow attendance of both workshops.

Important Dates

Expected number of participants: 20-35
Cut-off point: 15 position papers, multiple authors per paper allowed. If more high quality submissions are received, the organizers may encourage submitters of papers on closely related topics to collaborate on a joint position paper.

Pre-Workshop Activities

Potential participants will be asked to submit a two-page (or longer) position paper detailing their experience with model-driven and/or generative techniques, their perspective on one or more of the workshop themes, and their planned contribution to the workshop. We encourage submitters to submit concrete software development problems and/or other challenging issues from the practice. We will interact with the potential participants via e-mail to select a set of problems and issues to be discussed in focus groups during workshop.

All accepted position papers will be published on this workshop page prior to the workshop, and the participants are encouraged to read the papers prior to the workshop.

Position Papers

  1. On the Need for Megamodels ; Available
    Jean Bézivin, Frédéric Jouault, Patrick Valduriez
  2. First Experiments with a ModelWeaver ; Available
    Jean Bézivin, Frédéric Jouault, Patrick Valduriez
  3. Modeling Aspects ; Available
    Wesley Coelho, Gail C. Murphy
  4. Transforming Declarative Models Using Patterns in MDA ; Available
    Srinivas Nedunuri, William Cook
  5. Roll your own Hardware Description Language: An Experiment in Hardware Development using Model Driven Software Tools ; Available
    G. Savaton, J. Delatour, K. Courtel
  6. An Aspect­Oriented Approach to Developing Middleware­based Applications ; Available
    Sudipto Ghosh, Brahmila Kamalakar

  7. Efficiency Problems in MOLA Implementation ; Available
    Audris Kalnins, Janis Barzdins, Edgars Celms
  8. Comparison of Eclipse EMF/GEF and MetaCASE for DSM ; Available
    Steven Kelly
  9. MDSOFA: A Model-Driven Softeware Factory ; Available
    Benoît Langlois, Daniel Exertier
  10. Managed Evolution of Model Driven Development Approach to Software-based Solutions ; Available
    Dan Matheson, Robert France, James Bieman, Roger Alexander, James DeWitt, Nathan McEachen
  11. Model-driven generative approach for concrete syntax composition ; Available
    Pierre-Alain Muller, Philippe Studer, Jean-Marc Jézéquel
  12. DRIP Catalyst: An MDE/MDA Method for Fault-tolerant Distributed Software Families Development ; Available
    Nicolas Guelfi, Reza Razavi, Alexander Romanovsky, Sebastien Vandenbergh
  13. Taming Model Round-Trip Engineering ; Available
    Shane Sendall, Jochen Küster
  14. Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development ; Available
    Yuehua Lin, Jing Zhang, Jeff Gray
  15. Template Programming for Model-Driven Code Generation ; Available
    Ghica van Emde Boas
  16. Language Features for Re-Use and Maintainability of MDA Transformations ; Available
    Michael Lawley, Keith Duddy, Anna Gerber, Kerry Raymond
  17. Reusable Idioms and Patterns in Graph Transformation Languages ; Available
    Aditya Agrawal, Attila Vizhanyo, Zsolt Kalmar, Feng Shi, Anantha Narayanan, Gabor Karsai
All position papers in a zip file (5.3 MB)

Planned Workshop Activities

The workshop will aim to foster discussion and interaction rather than presentations. Presentations will serve to introduce a case study, provide triggers for discussion in the second part of the workshop by presenting a controversial point of view, or by introducing a new point of view. All participants will be given a chance to make a short presentation (5-10 min).

Morning Session [ 8:30 - 12:00 ]

  1. Introductory material presented by the organizers (15 min)
  2. Introduction round (15 min)
  3. Short 10-minute presentations from the authors of the submitted position papers. A data projector will be available. Presenters may prepare slides in pdf or MS ppt format, or need to bring their own notebook and software if a different presentation format is used.

Afternoon Session [ 13:00 - 17:00 ]

  1. Interactive discussion using the "Open Space" technique. To give all workshop attendees sufficient opportunities for active participation, the discussion will take place in two or three groups in parallel. Each group will present their results to the larger audience before the closing discussion.
  2. Closing discussion.