OOPSLA 2002 Workshop

Generative Techniques
in the context of
Model Driven Architecture

The corresponding page in the OOPSLA conference programme

Please note that a workshop on Best Practices for Model-Driven Software Development
is scheduled for OOPSLA 2004!

Please note that a 2nd workshop on this topic took place at OOPSLA 2003!


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 brought together over 30 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 included:

The goal was 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.

In the Call for Papers potential participants were 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.

Organizing Committee

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.

Workshop Summary

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, Fei Cao, 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)

Morning Session [ 8:30 - 12:00 ]

  1. Overview of the workshop agenda and objectives
  2. Introduction round
  3. Short presentations where the participants presented key points from their position papers
  4. Overview of the "Open Space" workshop format used in the afternoon session

Afternoon Session [ 13:00 - 17:00 ]

  1. Selection of discussion topics by the participants
  2. Group discussions of specific topics
  3. Presentation of results from each of the groups
  4. Closing discussion

Workshop Results

  1. The results of the workshop are summarized in an informal workshop report that contains the notes from the group discussions.
  2. Most topics could not be discussed in detail in the 1-day workshop. The intention is to progress the discussions in electronic form at www.program-transformation.org, and to establish an active community to advance model-driven software.
  3. Following the workshop, a Birds-of-a-Feather session held by the organizers on the topic of a proposal for an Open Source project to develop a Model-Driven Architecture tool attracted significant interest.
  4. Thanks to Ghica van Emde Boas we also have some photos from the workshop. The poor lighting conditions resulted in some interesting pictures of "lively discussion".