Object-oriented Programming, Systems, Languages, and Applications

OOPSLA Workshop

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

This workshop is a continuation of a highly successful series of workshops
at OOPSLA04, at OOPSLA03, and at OOPSLA02.


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 model-driven techniques can help us address them.

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.

What sets MDSD apart from classical software product line engineering is the emphasis on a highly agile software development process. 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.

In recent years model driven approaches have been embraced by the Object Management Group (OMG) in the form of the Model Driven Architecture® (MDA®) initiative, Microsoft has started to work on software development tools that fully embrace the concepts of software factories and domain specific languages, and a whole number of Open Source projects are now focused on building open tool platforms for MDSD.

The model driven Open Source initiatives in particular may turn out to be critical in establishing MDSD as a mainstream software development paradigm.

The workshop aims to bring together practitioners, researchers, academics, and students to discuss best practices for the development of model-driven software - and beyond the methodological aspect also to discuss the state-of-the-art Open Source tool support for MDSD.

This workshop is a continuation of a highly successful series of workshops at OOPSLA04, OOPSLA03, and OOPSLA02, which each had over 30 participants.

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, 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 at 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 and affordable code generation/transformation engines.

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 techniques. Best practices for developing model-driven software and high quality Open Source tools 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 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 a number of software organizations. He has worked in methodology leadership roles in an IBM product development lab, and has written a range of articles and book chapters on various aspects of managing software development in the large. Together with Ghica van Emde Boas he started the Generative Model Transformer (GMT) Open Source initiative to develop an MDA tool platform in close collaboration with several universities (www.eclipse.org/gmt).

Ghica van Emde Boas is an independent IT-Architect (www.bronstee.com), after a 30-year career at IBM. She specializes in large Java frameworks and in PHP/MySQL frameworks for small projects. Together with Jorn Bettin she started the Generative Model Transformer (GMT) Open Source initiative to develop an MDA tool platform in close collaboration with several universities (www.eclipse.org/gmt). She developed a model-driven generative tool, FUUT-je (now on the GMT site).

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.

Markus Völter works as an independent consultant and coach for software technology and engineering. He focuses on software architecture, middleware as well as model-driven software development. Markus is the author of several magazine articles, patterns and books. He is a regular speaker at various conferences world wide. Markus can be reached at voelter at acm dot org via or www.voelter.de.

William Cook is an Assistant Professor in the Department of Computer Sciences at the University of Texas at Austin. His research is focused on object-oriented programming, programming languages, modeling languages, and the interface between programming languages and databases. Prior to joining UT, Dr. Cook was Chief Technology Officer and co-founder of Allegis Corporation, which made extensive use of model-driven software development. He was chief architect for several award-winning products, including the eBusiness Suite at Allegis, the Writer's Solution for Prentice Hall, and the AppleScript language at Apple Computer. At HP Labs his research focused on the foundations of object-oriented languages, including formal models of mixins, inheritance, and typed models of object-oriented languages.

Workshops on Related Topics

  1. "Best Practices for Model Driven Software Development" was held at OOPSLA04 / GPCE04 in Vancouver.
  2. "Generative Techniques in the context of MDA" was held at OOPSLA03 in Anaheim and at OOPSLA02 in Seattle.
  3. "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.
  4. "Model Driven Architecture and Product Line Engineering" was held at the Second Software-Product Line Conference (SPLC2) in San Diego, 2002
  5. "Graph Transformation and Visual Modeling techniques" will be held in Barcelona, Spain, 2004
  6. "Application of Graph Transformations with Industry Relevance" was held at the University of Virginia, Charlottesville, Virginia, 2003
  7. "Model Driven Architecture®: Foundations and Applications" will be held at Linköping University, Sweden, 2004
  8. "Generative Programming" was held at ECOOP01 in Budapest, at ECOOP02 in Malaga, and at OOPSLA01 in Tampa.
  9. "Domain-Specific Modeling" was held at OOPSLA03 in Anaheim, at at OOPSLA02 in Seattle, and at OOPSLA01 in Tampa, at OOPSLA04 in Vancouver, and will be held at OOPSLA05 in San Diego. 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-45
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. Ontology-Based Domain-Driven Design ; Available
    Pavel Hruby
  2. Generating enterprise applications from models – experience and best practices ; Available
    Vinay Kulkarni, Sreedhar Reddy
  3. Model Driven Software Development through the integration of three models ; Available
    Doug Orr
  4. Breaking Up the Transformation Chain ; Available
    Bert Vanhooff, Yolande Berbers
  5. Model-Driven Software Development of Model-Driven Tools: A Visually-Specified Code Generator for Simulink/Stateflowns ; Available
    Attila Vizhanyo, Sandeep Neema, Zsolt Kalmar, Feng Shi, and Gabor Karsai
  6. A Practical Approach to Bridging Domain Specific Languages with UML profiles ; Available
    Anas Abouzahra, Jean Bézivin, Marcos Didonet Del Fabro, Frédéric Jouault
  7. Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF) ; Available
    Jean Bézivin, Christian Brunette, Régis Chevrel, Frédéric Jouault, Ivan Kurtev
  8. Notes about the OOPSLA'04 Workshop on Best Practices for Model Driven Software Development ; Available
    Ghica van Emde Boas
  9. Generative and Model-Driven Approaches for PHP ; Available
    Ghica van Emde Boas
All position papers in a zip file (2.4 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.