OOPSLA 2002 Workshop

Generative Techniques
in the context of
Model Driven Architecture

The correponding page in the OOSPLA conference programme

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.

From http://www.omg.org/mda/executive_overview.htm:

"Model Driven Architecture™ addresses the complete life cycle of designing, deploying, integrating, and managing applications as well as data using open standards. MDA-based standards enable organizations to integrate whatever they already have in place with whatever they build today and whatever they build tomorrow.

Most importantly, MDA enables the creation of standardized Domain Models for specific vertical industries. These standardized models can be realized for multiple platforms now and in the future, easing multiple platform integration issues and protecting IT investments against the uncertainty of changing fashions in platform technology.

The benefits of MDA are significant-to business leaders and developers alike:
MDA provides a solid framework that frees system infrastructures to evolve in response to a never-ending parade of platforms, while preserving and leveraging existing technology investments. It enables system integration strategies that are better, faster and cheaper."

Although promising tools are appearing, in the perception of the mainstream developer, there is little in terms of concrete tools that actually support MDA beyond traditional UML modeling and skeleton-class generation. Evolving older tools provide features to define and instantiate design patterns, but most of these tools still expose the user to UML models at the level of abstraction of implementation code. Model-driven generative techniques help to bridge the gap from abstract models to concrete implementation. The widely used wizards based on generation languages that don't use models as input may have practical limits in terms of the complexity of code that can be generated.

The workshop aims to bring together practitioners, researchers, academics, and students to discuss the state-of-the-art of generative techniques in the context of model-driven architecture.

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-based 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 Jörn Bettin (joern.bettin@acm.org) by September 19, 2002.

Relevance to Object-Oriented Technology

Model-Driven Architecture promises stable models in UML and flexible target platforms. In conjunction with generative techniques MDA 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.

Template languages in particular seem to be a key element in bridging the gap from platform independent model to platform specific model, or from model to implementation, and they warrant further investigation.

Generative techniques are an important element in realizing the vision of the recent Model-Driven Architecture initiative by the OMG. Although the first prototypes of UML virtual machines are emerging, model transformations are still necessary and practical concerns in terms of system performance lead to generation as a pragmatic, currently viable alternative for the industrial implementation of MDA.

Organizing Commitee

Jörn Bettin, the founder of www.SoftMetaWare.com, is a software consultant with a special interest in designing large-scale component systems and techniques to optimize the productivity of software development teams. Over the last seven years he 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.

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.

Craig Cleaveland is an independent software consultant, instructor, and author of "Program Generators with XML and Java". He specializes in domain engineering, internet applications using Java and XML, and software architectures. Previously, he worked at AT&T Bell Labs developing and promoting program generator technologies. At Internet Games Corporation, Craig designed and implemented multi-player chat and game sites including rating systems and fully automated tournaments. Visit him at craigc.com.

Krzysztof Czarnecki is a researcher and consultant with the Software Technology Lab at DaimlerChrysler Research in Ulm, where he has been working on generative programming and its industrial application since 1996. He is one of the founders of the working group on "Generative and Component-Based Software Engineering" within the "Gesellschaft fuer Informatik". Together with Ulrich Eisenecker, he co-authored the book "Generative Programming" (Addison-Wesley 2000) and co-chaired the First International Symposium on Generative and Component-Based Software Engineering (GCSE99). He participated in the organization of a number of successful workshops on generative techniques at conferences, including SPLC1, ECOOP01, OOPSLA01 and ECOOP02.

Workshops on Related Topics

  1. "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.
  2. "Generative Programming" was held at ECOOP01 in Budapest, at ECOOP02 in Malaga, and at OOPSLA01 in Tampa.
  3. "Visual Domain Specific Languages" was held at OOPSLA01 in Tampa; and will be held at OOPSLA02 in Seattle.

Important Dates

Expected number of participants: 15-30
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 will encourage submitters to submit concrete programming 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 will be asked to read the papers prior to the workshop.

Position Statement of the Organizers

Will Model-Driven Architecture still be around in five years time?

Position Papers

  1. Metadata driven multi-artifact code generation using Frame Oriented Programming ;
    Frank Sauer
  2. Agility in Model-Driven Software Development? Implications for Organization, Process, and Architecture ;
    Hans Wegener
  3. MDA and Programming Languages ;
    Michael Eichberg
  4. Generic Model-to-Model Transformations in MDA: Why and How? ;
    Jernej Kovse
  5. Architectural concerns and use of a model-driven development framework ;
    G.Koutsoukos, L.Andrade, J.L.Fiadeiro, and J.Gouveia
  6. Towards a Synthetic Approach to the Compilation of UML Models ;
    Georges Reich
  7. Programming Specifications in CAL ;
    Edward D. Willink, Johan Eker, Jorn W. Janneck
  8. Generating Aspect Code from Models ;
    Jeff Gray, Ted Bapty, Sandeep Neema, Aniruddha Gokhale, Balachandran Natarajan
  9. Generative Programming via Graph Transformations in the Model-Driven Architecture ;
    Aditya Agrawal, Tihamer Levendovszky, Jon Sprinkle, Feng Shi, and Gabor Karsai
  10. CoSMIC: An MDA Generative Tool for Distributed Real-time and Embedded Component Middleware and Applications ;
    Douglas C. Schmidt, Aniruddha Gokhale, Balachandran Natarajan, Sandeep Neema, Ted Bapty, Jeff Parsons, Jeff Gray, Andrey Nechypurenko, Nanbor Wan
  11. Towards Model-Driven Middleware Maintenance ;
    Jörg P. Wadsack, Jens H. Jahnke
  12. A Component Assembly Architecture with Two-Level Grammar Infrastructure ;
    Wei Zhao, Barrett R. Bryant, Rajeev R. Raje, Mikhail Auguston, Andrew M. Olson, Carol C. Burt
  13. The Tyranny of the Dominant Model Decomposition ;
    Maja D'Hondt and Theo D'Hondt
  14. A Preliminary Identification of MDA Components ;
    Jean Bézivin, Sébastien Gérard
All position papers in a zip file (1.9 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). However, due to the large number of participants, discussions will be structured around a set of issues/questions provided by the organizers based on the topics covered by the position papers.

Morning Session [ 8:30 - 12:00 ]

  1. Introductory material presented by the organizers & a short invited talk (20 min)
  2. Introduction round (15-20 min)
  3. Short presentations, where the participants will have to present some problem or technique in 5 to 10 minutes

Afternoon Session [ 13:00 - 17:00 ]

  1. The organizers will present a list of discussion topics. The list of topics will not be completely pre-determined, but will be influenced by the questions and issues brought up in the morning session. 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.

Post-Workshop Activities

The results of the workshop will be summarized in a workshop report. The workshop report and the position papers will be available form the workshop's web-site after the workshop. The results will be also advertised at the web page and mailing list of the working group on Generative and Component-Based Software Engineering of the German Computer Association (GI).