Tutorial T06


Tutorials  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  T11  T12  T13  T14  T15  T16  T17  T18  T19  T20  T21 

Generative Programming: Methods, Techniques, and Applications


Presenter: Krzysztof Czarnecki, Ulrich W. Eisenecker
Level: Intermediate
Day: Monday (June 18)


There are exciting new developments in Software Engineering: New "post-object-oriented" programming paradigms such as Aspect-Oriented Programming and Intentional Programming are emerging, and the recent work in Software Product-Line Engineering integrates classic Domain Engineering methods with object-oriented and component-based programming. Generative Programming builds upon these new developments to support the design and implementation of generative models of system families, which allow a specification-based generation of family members from reusable components. In this tutorial, the authors of the book "Generative Programming: Methods, Tools, and Techniques" (Addison-Wesley, 2000) will present the basic motivation for the shift to software system family engineering, an overview of the process of generative programming and its work products, generative programming techniques in C++ and Java, and a complete case study demonstrating all the steps from analysis to an implementation.

Audience:
This tutorial is aimed at researchers and practitioners interested in cutting-edge approaches to achieve reusability and adaptability.

Required experience:

Presenter's profile:
Krzysztof Czarnecki (czarnecki@acm.org) 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 four years. Together with Ulrich Eisenecker and Manfred Broy (Technical Univrsity of Munich, Germany), he established the working group on "Generative and Component-Based Software Engineering" within the "Gesellschaft für Informatik" and co-chaired the First International Symposium on Generative and Component-Based Software Engineering (GCSE99). Dr. Czarnecki gave several talks on generative techniques at OO and Software Engineering conferences including STJA98, OOP98, OOP99, ECOOP99, and ESEC/FSE99. He serves on the program committees of ICSR2000 and OOPSLA2001. He holds M.S. degrees in computer science from California State University, Sacramento, and the Technical University of Ilmenau, Germany, and a Ph.D. degree in computer science also from TU Ilmenau. Ulrich Eisenecker (Ulrich.Eisenecker@t-online.de) is a professor of computer science at the University of Applied Sciences Kaiserslautern at Zweibrücken. Dr. Eisenecker served on several program committees and he is a frequent speaker on national and international software engineering conferences. He is also the editor of KOMPONENTEN-Forum, which is a permanent part of OBJEKTspektrum, a SIGS/101 publication on object and component technology in Germany, a member of the technical advisory board of SIGS/101, and a C++ columnist. The main focus of his more than 100 publications is generative programming and object technology. He is an industry consultant and a certified expert witness for administrative and business software systems. Together with Krzysztof Czarnecki, he co-authored the book "Generative Programming: Methods, Tools, and Applications", Addison-Wesley, 2000.