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)


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
Gaeta, J., and K. Czarnecki, "Modeling Aerospace Systems Product Lines in SysML", 19th International Software Product Line Conference (SPLC), 2015.
Eisenecker, U., F. Blinn, and K. Czarnecki, "A Solution to the Constructor-Problem of Mixin-Based Programming in C++", GCSE’2000 Workshop on C++ Template Programming, Erfurt, Germany, 10/2000.
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.
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., and K. Czarnecki, "Generative Programming", 42nd International Colloquium of the Technical University of Ilmenau, 09/1997.
Dubinsky, Y., J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki, "An Exploratory Study of Cloning in Industrial Software Product Lines", 17th European Conference on Software Maintenance and Reengineering (CSMR), 2013. [pdf]
Diskin, Z., T. Maibaum, and K. Czarnecki, "Intermodeling, queries and Kleisli categories", Generative Software Development Laboratory, Waterloo, University of Waterloo, 10/2011. [pdf]
Diskin, Z., Y. Xiong, and K. Czarnecki, "Specifying Overlaps of Heterogeneous Models for Global Consistency Checking", 1st Workshop on Model Driven Interoperability, Co-located with MoDELS 2010, Oslo, Norway, ACM Press, pp. 42-51, 10/2010. [pdf][pdf]
Diskin, Z., Y. Xiong, K. Czarnecki, H. Ehrig, F. Hermann, and F. Orejas, "From State- to Delta-based Bidirectional Model Transformations: the Symmetric Case", ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems: Springer, 10/2011. [pdf][pdf]
Diskin, Z., T. Maibaum, and K. Czarnecki, "Intermodeling, queries, and Kleisli categories", 15th International Conference on Fundamental Approaches to Software Engineering (FASE'12), Tallinn, Estonia, LNCS, volume 7212, pp. 163-177, 01/2012.
Diskin, Z., K. Czarnecki, and M. Antkiewicz, "Model-versioning-in-the-large: Algebraic foundations and the tile notation", 2009 ICSE Workshop on Comparison and Versioning of Software Models (CVSM), Vancouver, BC, Canada, IEEE, pp. 7 - 12, 2009. [pdf][pdf]
Diskin, Z., Y. Xiong, and K. Czarnecki, "From State-Based to Delta-Based Bidirectional Model Transformation", 3rd International Conference on Model Transformation, Malaga, Spain, Springer, pp. 61-76, 06/2010. [pdf][ppt]
Diskin, Z., Y. Xiong, K. Czarnecki, H. Ehrig, F. Hermann, and F. Orejas, From State- to Delta-based Bidirectional Model Transformations: the Symmetric Case, , Waterloo, Generative Software Development Laboratory, University of Waterloo, 05/2011. [pdf]
Diskin, Z., Y. Xiong, and K. Czarnecki, "Specifying Overlaps of Heterogeneous Models for Global Consistency Checking", MoDELS'10 Workshops: Reports and Selected Papers, vol. 6627, Oslo, Norway, Springer, 2011. [pdf]
Diskin, Z., A. Wider, H. Gholizadeh, and K. Czarnecki, A Taxonomic Space for Increasingly Symmetric Model Synchronization, , no. GSDLab TR, 2014-02-01, Waterloo, The University of Waterloo, GSDLab , 02/2014. [pdf]
Czarnecki, K., "Perspectives on Generative Programming - Extended Abstract. Invited talk paper", SFB501 Colloquium on Software Reuse, Kaiserslautern, Germany, University of Kaiserslautern, 2003.
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., and U. Eisenecker, "Synthesizing Objects", ECOOP’ 99 — Object-Oriented Programming, vol. 1628, Lisbon, Portugal, Springer-Verlag, pp. 18 - 42, 1999. [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., 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., U. Eisenecker, R. Gluck, D. Vandevoorde, and T. Veldhuizen, "Generative Programming and Active Libraries", Generic Programming, vol. 1766, Berlin, Heidelberg, Springer-Verlag, pp. 25 - 39, 2000.
Czarnecki, K., U. Eisenecker, and P. Steyaert, "Beyond Objects: Generative Programming", ECOOP’97 Workshop on Aspect-Oriented Programming, Jyväskylä, Finland, 06/1997.
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., D. Zhang, and K. Lano, "An Animation Tool for Supporting Specification-Based Software Architectures", The 1995 Monterey Workshop on Increasing the Practical Impact of Formal Methods for Computer Aided Software Development: Specification-Based Architectures, Monterey, California, USA, U.S. Naval Postgraduate School, 09/1995.