OOPSLA & GPCE WorkshopBest Practices
Model Driven Software Development
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.
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 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 (firstname.lastname@example.org).
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:
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.
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.
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.
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
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.
All position papers in a zip file (5.3 MB)
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).