Krzysztof Czarnecki, Ph.D., P.Eng.

Professor of Electrical and Computer Engineering
I work in the area of Generative Software Development. See the overview paper for an introduction.

Short biography

Krzysztof Czarnecki is a Professor of Electrical and Computer Engineering at the University of Waterloo. Before coming to Waterloo, he was a researcher at DaimlerChrysler Research (1995-2002), Germany, focusing on improving software development practices and technologies in enterprise, automotive, and aerospace domains. He co-authored the book on "Generative Programming" (Addison- Wesley, 2000), which deals with automating software component assembly based on domain-specific languages. While at Waterloo, he held the NSERC/Bank of Nova Scotia Industrial Research Chair in Requirements Engineering of Service-oriented Software Systems (2008-2013) and has worked on a range of topics in model-driven systems and software engineering, including product lines engineering, design synthesis, variability modeling, model transformation, and domain-specific languages. He received the Premier's Research Excellence Award in 2004 and the British Computing Society in Upper Canada Award for Outstanding Contributions to IT Industry in 2008.


For students


Current Projects

Past Projects



  • MoDELS'09 conference chair
  • Bank of Nova Scotia / NSERC Industrial Research Chair (2008-2013)


Kim, C H P., "On the Relationship between Feature Models and Ontologies", Electrical and Computer Engineering, vol. MASc, Waterloo, University of Waterloo, pp. 89, 2006.
Pekilis, B R., "An ontology-based approach to concern-specific dynamic software structure monitoring", Electrical and Computer Engineering, vol. PhD, Waterloo, University of Waterloo, pp. 213, 2006.
Czarnecki, K., and K. Pietroszek, "Verifying feature-based model templates against well-formedness OCL constraints", 5th international conference on Generative programming and component engineering - GPCE '06, Portland, Oregon, USA, ACM Press, pp. 211, 2006. [pdf]
Czarnecki, K., S. Helsen, and U. Eisenecker, "Staged configuration through specialization and multilevel configuration of feature models", Software Process: Improvement and Practice, vol. 10, issue 2, pp. 143 - 169, 04/2005. [pdf]
Czarnecki, K., S. Helsen, and U. Eisenecker, "Formalizing cardinality-based feature models and their specialization", Software Process: Improvement and Practice, vol. 10, issue 1, pp. 7 - 29, 01/2005. [pdf]
Czarnecki, K., and C H P. Kim, "Cardinality-based feature modeling and constraints: a progress report", International Workshop on Software Factories at OOPSLA'05, San Diego, California, USA, ACM, 2005.
Czarnecki, K., J-M. Favre, M. Gogolla, and T. Mens, "Essentials of the 4th UML/MoDELS Workshop in Software Model Engineering (WiSME’2005)", Satellite Events at the MoDELS 2005 Conference, vol. 3844, Berlin/Heidelberg, Springer-Verlag, pp. 151 - 158, 2005.
Cleenewerck, T., K. Czarnecki, J. Striegnitz, and M. Völter, "Evolution and Reuse of Language Specifications for DSLs (ERLS)", Object-Oriented Technology. ECOOP 2004 Workshop Reader, vol. 3344, Berlin / Heidelberg, Springer-Verlag, pp. 187-201, 2005.
Czarnecki, K., and M. Antkiewicz, "Mapping Features to Models: A Template Approach Based on Superimposed Variants", ACM SIGSOFT/SIGPLAN International Conference on Generative Programming and Component Engineering (GPCE'05), vol. 3676, Tallinn, Estonia, Springer-Verlag, pp. 422 - 437, 2005. [pdf][zip][zip]
Czarnecki, K., M. Antkiewicz, C H P. Kim, S Q. Lau, and K. Pietroszek, "Model-Driven Software Product Lines", OOPSLA'05 Companion, 2005. [pdf]
Kim, C H P., and K. Czarnecki, "Synchronizing Cardinality-Based Feature Models and Their Specializations", European Conference on Model Driven Architecture – Foundations and Applications (ECMDA-FA’05), vol. 3748, Nuremberg, Germany, Springer-Verlag, pp. 331 - 348, 2005.
Czarnecki, K., S. Helsen, and U. Eisenecker, "Staged Configuration Using Feature Models", Third Software Product-Line Conference (SPLC’04), 2004, vol. 3154, Boston, USA, Springer-Verlag, pp. 266-283, 09/2004. [zip]
Antkiewicz, M., and K. Czarnecki, "FeaturePlugin: Feature Modeling Plug-In for Eclipse", The 2004 OOPSLA Workshop on Eclipse Technology eXchange - Eclipse '04, Vancouver, British Columbia, Canada, ACM Press, pp. 67 - 72, 2004. [pdf][zip]
Czarnecki, K., "Overview of Generative Software Development", Unconventional Programming Paradigms (UPP) 2004, 15-17 September, Mont Saint-Michel, France, Revised Papers, vol. 3566: Springer-Verlag, pp. 326-341, 2004. [pdf]
Czarnecki, K., and S. Helsen, "Classification of Model Transformation Approaches", 2nd OOPSLA’03 Workshop on Generative Techniques in the Context of MDA, Anaheim, CA, USA, 2003.
Czarnecki, K., T. O'Donnell, John, J. Striegnitz, and W. Taha, "DSL Implementation in MetaOCaml, Template Haskell, and C++", Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers, vol. 3016, Berlin, Heidelberg, Springer-Verlag, pp. 51-72, 2003.
Czarnecki, K., "Perspectives on Generative Programming - Extended Abstract. Invited talk paper", SFB501 Colloquium on Software Reuse, Kaiserslautern, Germany, University of Kaiserslautern, 2003.
Czarnecki, K., M. Himsolt, and E. Richter, "DataFAN: A Practical Approach to Data Flow Analysis for Ada 95", Reliable Software Technologies — Ada-Europe 2002, Lecture Notes in Computer Science, vol. 2361, Vienna, Austria, Springer-Verlag, pp. 231 - 244, 2002.
Czarnecki, K., "Domain Engineering", Encyclopedia of Software Engineering, Second Edition, 2002.
Czarnecki, K., K. Østerbye, and M. Völter, "Generative Programming", Object-Oriented Technology ECOOP 2002 Workshop Reader, vol. 2548, Berlin, Heidelberg, Springer-Verlag, pp. 15 - 29, 2002.
Czarnecki, K., T. Bednasch, P. Unger, and U. Eisenecker, "Generative Programming for Embedded Software: An Industrial Experience Report", First ACM SIGPLAN/SIGSOFT International Conference on Generative Programming and Component Engineering (GPCE’02), Lecture Notes in Computer Science, vol. 2487, Pittsburgh, USA, Springer-Verlag, pp. 156 - 172, 2002.
Eisenecker, U., and K. Czarnecki, "Software System Families and Active Libraries – Visions for the Next Decade", Dagstuhl Seminar 01161 Product Family Development, Germany, Dagstuhl Castle, 04/2001.
Eisenecker, U., F. Blinn, and K. Czarnecki, "Mixin-Based Programming in C++: A solution to the constructor problem", Dr. Dobb's Journal, pp. 111-112, 01/2001.