16th European Conference on Object-Oriented Programming
University of Málaga, Spain
June 10-14, 2002
Technical programme > Tutorials > Tutorial #18
General Information
Call for Contributions
Technical Programme
Useful Information
Social Programme

<< Site map >>
<< History file >>

Ecoop 2002 is organized in cooperation with:
Important dates
Oct 01
Nov 01
Dec 01
Jan 02
Feb 02
Apr 02
May 02
Jun 02

You are the visitor number

from 4th October 2001.


Tutorial #18 - Generative Programming: Methods, Techniques, and Applications

Morning T01 T02 T03 T05 T07 T09 T11 T13 T14 T15 T17 T19 T21 T23
Afternoon T04 T06 T08 T10 T12 T16 T18 T20 T22 T24


Generative Programming: Methods, Techniques, and Applications

Presenter :Krzysztof Czarnecki (DaimlerChrysler Research & Technology, Germany)
Duration :Half day
Day :Tuesday - afternoons
Level :Intermediate





Have you ever run into the question of how to scope a component to make it reusable? Or how to achieve flexible designs without paying the performance cost for abstraction? Or how to encapsulate abstract features such as performance requirements in the code? Generative Programming (GP) addresses these and many more issues in developing reusable software. Building on the system-family approach, it complements object-oriented methods with notations and techniques to perform domain scoping and feature modeling. It also provides techniques for deriving a common family architecture and components. Finally, it deploys generative technologies to automatically assemble components based on specifications that programmers can conveniently express in their application code. Participants will learn the basic concepts of GP, and how to perform feature modeling, derive components and architectures from feature models, design domain-specific languages, and implement generators using widely available techniques such as XML and Java technologies or C++ template metaprogramming. After presenting some basic concepts and a small, but complete example, each step of the GP process will be discussed in more depth, and the participants will have a chance to experience it in hands-on-exercises. We will round up the tutorial with an outlook on future, advanced generative technologies such as active libraries and active sources.


Required experience
Being able to read Java and C++ code would be helpful (but not required)


Expected audience
This tutorial is aimed at researchers and practitioners interested in cutting-edge approaches to achieve reusability and adaptability. Participants will gain an understanding of concepts and principles of Generative Programming and its connections to related approaches such as Product-Line Engineering and Aspect-Oriented Programming. They will also learn the effective use of modeling techniques for product lines and advanced generative Java and C++ programming techniques. The case study provides a ready-to-use, comprehensive approach to developing reusable software.


Presenter's profile
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 for over five years. He co-authored (together with Ulrich Eisenecker) the book "Generative Programming: Methods, Tools, and Applications", Addison-Wesley, 2000.


















Tutorial #18 - Generative Programming: Methods, Techniques, and Applications
Last modified on Feb 14, 2002
Maintained by webmaster@2002.ecoop.org