Krzysztof Czarnecki

Heutingsheimer Str. 35
70439 Suttgart
Germany

Phone +49 (711) 8266053
Fax +49 (711) 8266053

E-mail: czarnecki@acm.org
WWW: http://nero.prakinf.tu-ilmenau.de/~czarn

born: April 4, 1970

Position

Tenure-track position in Software Engineering

Research

Since 1995 I have been working as a researcher in the Software Architecture Research Group at the DaimlerChrysler Research Center, Ulm. My research focus is Generative Programming. Generative Programming moves the emphasis from programming “one-of-a-kind” applications to the automatic assembly of reusable components. This kind of development requires substantial rethinking of current analysis, design, and implementation techniques. In this context, I have contributed to the integration of feature modeling and OOA/D modeling techniques and also to the integration of component-based and metaprogramming techniques (particularly in the area of C++ template metaprogramming, which allows developing high-level APIs and aggressive code optimizations as part of C++ libraries; see Generative Matrix Computation Library). I also worked in the areas of software documentation, component retrieval, and formal methods.

Together with Ulrich Eisenecker, I am writing a book on “Generative Programming: Methods, Techniques, and Applications” to be published by Addison Wesley Longman.

Teaching Experience

University Courses

Object-Oriented Programming Course “Object-Oriented Programming in Smalltalk-80”
at Technische Universität Chemitz, in winter semester 1997

Advanced Course on Generative Development
at Technische Universität Ilmenau, in summer semester 1996

Full-Day Conference Tutorials

Tutorial “Generative Programming in C++” held at OOP'98 in Munich and
STJA'98 in Erfurt

Tutorial “Generative Programming in C++ with Hands-On Exercises” held at OOP'99 in Munich

Supervised Master's Projects

Thomas Titze, “Design and Implementation of a Component System for Developing Character Classifiers.” Technische Universität Ilmenau, 1995

Mattias Meusel, “Pattern Systems for Documenting Frameworks Using Hypertext.” Fachhochschule Ulm, 1996

Tobias Neubert, “Applications of Generative Programming Techniques in Linear Algebra.” Technische Universität Chemnitz, 1998

Supervised Internship Projects

Renhard Hanselmann, “Development of a Retrieval Knowledge Base for Smalltalk Collection Classes.” Fachhochschule Ulm, 1995

Johannes Knaupp, “Design and Implementation of an Algorithm Synthesizers for Matrix Decomposition Algorithms.” Fachhochschule Heidelberg, 1998

Related Activities

During the last two years of my research, I have published a number of conference and workshop papers in the area of generative programming, object technology and software reuse.

I also regularly write technical articles for "OBJEKTspektrum", a German magazine on object technology by SIGS, which has been an effective way to reach industrial practitioners involved in OO software development in Germany.

I am on the editorial board of Komponentenforum, an new SIGS magazine devoted to component technologies.

In 1997, together with Prof. Dr. Ulrich Eisenecker (FH Heidelberg) and Prof. Dr. Manfred Broy (Technical University of Munich), we established the working group "Generative and Component-Based Software Engineering" within the German Society of Computer Science (GI). The objective of this group is to initiate and coordinate research on generative and component-based technologies and to promote their industrial use.

Ulrich Eisenecker and I initiated the First International Symposium on Generative and Component-Based Software Engineering (GCSE99), whose goal is to bring together researchers working in areas such as components, generators, and domain engineering.

As a program committee member, I was involved in organizing a special conference track on generative and component-based software engineering at the STJA'98 and STJA'97 conferences (Smalltalk and Java in Industry and Academia).

In addition to conference talks,  I also gave several invited talks at German software companies, e.g. Software AG and sd&m. I was also invited to participate in a panel discussion on "Object Technology and Systematic Reuse" at ECOOP'99 in Lisbon.

I am a member of the ACM and the IEEE Computer Society.

Industrial Experience

As a part of the DaimlerChrysler research unit, the responsibilities of my group include technology transfer to the business units mainly through consulting aimed at propagating best software-engineering practices and ideas of software reuse. In this context, I have been involved in several consulting efforts within DaimlerChrysler related to OOA/OOD, generative and OO programming (C++ and Smalltalk), for both technical and business applications. I also worked on government-sponsored cooperated research projects and was involved in the research project acquisition activities.

Education and Professional Career

since 1995 Researcher in the Software Architecture Research Group at the DaimlerChrysler Research Center in Ulm 

PhD student at the Technical University of Ilmenau, Germany 

October 1997 - January 1998: research visit to the Aspect-Oriented Programming Group at the Xerox Palo Alto Research Center and to the Intentional Programming Group at the Microsoft Research in Redmond
1993 - 1994 Study of computer science at California State University, Sacramento, USA 
  • graduated with a MS in CS in January 1995 with GPA of 4.0 
  • area of concentration: Artificial Intelligence; 
  • Master's project: "A Prolog Tool for Animating Object-Oriented Formal Specification Written in Z"; 
1989 - 1995 Study of computer science at the Technical University of Ilmenau 
  • graduated with a MS in CS in May of 1995 with the highest grade; 
  • area of concentration: Software Engineering and Database Management Systems; 
  • Master's project: "ClassExpert: A Class Retrieval Tool for Smalltalk"; 
  • work on two industry-sponsored university projects: 
    • Adapt: programmed parts of the expert system VISIS in Smalltalk; 
    • STONE: programmed GUIs in C++; 
  • Cooperation with Deltaplan GmbH: developed parts of an application framework for inventory management systems in Smalltalk / Objectworks and Gemstone OODBMS 

Publications

(for the on-line versions of some of these papers see http://nero.prakinf.tu-ilmenau.de/~czarn/publications.html)

Conference Papers

K. Czarnecki and U. Eisenecker. "Synthesizing Objects." To be published in Proceedings of ECOOP'99 - Object-Oriented Programming, LNCS, Springer-Verlag, 1999

K. Czarnecki, U. Eisenecker, R. Glück, D. Vandevoorde, and T. Veldhuizen. "Generative Programming and Active Libraries." Submitted for publication, 1998

K. Kleinmann, M. Jungmann, W. Köpf und K. Czarnecki. "Domänenengineering und
infrastrukturelle Unterstützung der Wiederverwendung von Software in der Postautomatisierung." In Proceedings Smalltalk und Java in Industrie und Ausbildung - STJA'97, 10.-11. Sept. 1997,
Erfurt, Seiten 120-125

U. W. Eisenecker und K. Czarnecki. "Generative Programmierung." In Proceedings 42.
Internationales Wissenschaftliches Kolloquium der TU llmenau, Band 1, 22.-25. Sept. 1997,
Ilmenau, Seiten 3-9

M. Meusel, K. Czarnecki, and W. Köpf. "A Model for Structuring User Documentation of Object-Oriented Frameworks Using Patterns and Hypertext." In Proceedings of ECOOP'97 - Object-Oriented Programming, M. Aksit and S. Matsuoka (Eds.), Lecture Notes in Computer Science 1241, Springer Verlag, 1997, pp. 496-510

K. Czarnecki, R. Hanselmann, U. W. Eisenecker, and W. Köpf. "ClassExpert: A Knowledge-Based Assistant to Support Reuse by Specialization and Modification in Smalltalk." In Proceedings of the Fourth International Conference on Software Reuse, Orlando, Florida, 1996, Murali Sitaraman (Ed.), IEEE Computer Society Press, 1996, pp. 188-194. This work was also presented at the OOPSLA'95 poster session.

Workshop Papers

U. Breymann, K. Czarnecki, U. Eisenecker. "Generative Components: One Step Beyond Generic
Programming." Position Paper for the Dagstuhl Seminar 9817 “Generic Programming”, Schloß
Dagstuhl, April 27-30, 1998

K. Czarnecki, U. W. Eisenecker, and P. Steyaert. "Beyond Objects: Generative Programming." A position paper for the ECOOP'97 Workshop on Aspect-Oriented Programming, Jyväskylä, Finland, June 10, 1997

K. Czarnecki. "Leveraging Reuse Through Domain-Specific Software Architectures." A position paper for the Eighth Annual Workshop on Software Reuse WISR8, March 23-26, Columbus, Ohio, USA, 1997

K. Czarnecki. "Concreteness Kills Adaptability." A position paper for the ECOOP'96 Workshop on Adaptability in Software Development, Linz, Austria, July 8, 1996

K. Czarnecki, D. Zhang, and K. Lano. "An Animation Tool for Supporting Specification-Based Software Architectures." In Proceedings of the 1995 Monterey Workshop on Increasing the Practical Impact of Formal Methods for Computer - Aided Software Development: Specification-Based Architectures, U.S. Naval Postgraduate School, Monterey, California, USA, September 1995, pp. 93-98

Technical Magazine Articles

U. Eisenecker und K. Czarnecki. "Vom Einzelsystem zur Systemfamilie: Generative Programminerung - Teil 1." To appear in Microsoft System Journal, Nr. 4, 1999

U. Eisenecker und K. Czarnecki. "Vom Fließband - Generative Programmierung: Softwarefabriken bauen und nutzen." In iX Magazin, Nr. 6, 1999

U. Eisenecker und K. Czarnecki. "Template Metaprogrammierung in C++." To appear in OBJEKTspektrum, Nr. 3, 1999

U. Eisenecker und K. Czarnecki. "In Einzelteilen - Generative Programmierung: wie man Komponenten baut und nutzt." In iX Magazin, Nr. 2, Februar 1999, Seiten 126-132

U. Eisenecker und K. Czarnecki. "Generische Programmierung in Java." In JavaSPEKTRUM, Nr. 6, November/Dezember, 1998

K. Czarnecki. "Statische Konfiguration in C++." In OBJEKTspektrum, Nr. 4, Juli/August 1997, Seiten 86-91

K. Czarnecki. "Smalltalk/X: Eine Smalltalk-Implementierung insbesondere für technische Anwendungen." In OBJEKTspektrum, Nr. 2, März/April 1997, Seiten 57 - 63

K. Czarnecki. "'Separation of Concerns' - objektorientierte Frameworks und das generative Paradigma." In OBJEKTspektrum, Nr. 6, November/Dezember 1996, Seiten 35 - 40

K. Czarnecki. "Transformationen in Smalltalk." In OBJEKTspektrum, Nr. 6, November/Dezember 1996, Seiten 86 - 95

K. Czarnecki. "Metaprogrammierung für jedermann: Ein Mustersystem für leichtgewichtige Framework-Erweiterungen in Smalltalk." Teil I in OBJEKTspektrum Mai/Juni 1996, Seiten 86 - 94 und Teil II in OBJEKTspektrum Juli/August 1996, Seiten 96 - 99

K. Czarnecki, R. Hanselmann, U. Eisenecker und W. Köpf. "ClassExpert: Eine wissensbasierte Assistenzkomponente zur Klassensuche in Smalltalk." In OBJEKTspektrum, Nr. 4, Juli/August 1995, Seiten 38 - 42

Journal Publications

M. Broy, K. Czarnecki, und U. W. Eisenecker. "Generative Programmierung." In HMD - Theorie und Praxis der Wirtschaftsinformatik, Schwerpunktheft zum Thema "ComponentWare", Heft Nr. 197, 1997
 

References

Prof. Dr. Ulrich W. Eisenecker M.A.
Fachhochschule Heidelberg
Fachbereich Informatik,
Bonhoefferstr. 11, 69123 Heidelberg, Germany
Tel: 06221/88-2523
Fax: 06221/88-3648
e-mail: eiseneck@fh-heidelberg.de

Prof. Dr. Don Batory
Dept. of Computer Science
The University of Texas
Austin, Texas 78712, USA
Tel: 512-471-9713
e-mail: batory@cs.utexas.edu

Mark A. Simos
Synquiry Technologies, Ltd.
One Williston Road, Suite 4
Belmont, MA 02178 USA
Tel: 617-484-3383
Fax: 617-484-3363
e-mail: mas@synquiry.com