Documentation

On-line Resources

  • Clafer Model Wiki - Learning Clafer Section
    Contains resources for learning Clafer: concept modeling tutorial, guidelines for feature modeling, two interactive assignments ("Train Station Layout" and "Traffic Lights" domain modeling tutorials), a mini-tutorial about modeling directed graph reachability, and micro- and macro- modelling patterns.
  • Clafer Model Wiki - Clafer Usage Scenarios
    Contains many large and small example models from product-line architecture modeling, multi-objective optimization of product lines, variability modeling, domain modeling, security modeling, model transformation, metamodeling, and a few examples used in tool demostrations.
  • Backend compatibility matrix
    Provides versions in which support for a given language feature was added to Alloy-based and Choco-based backends.

Academic Publications

Clafer Language

  1. P. Juodisius, A. Sarkar, R. R. MukkamalaM. AntkiewiczK. CzarneckiA. Wąsowski, "Clafer: Lightweight Modeling of Structure, Behaviour, and Variability", The Art, Science, and Engineering of Programming Journal, 2018.
  2. K. Bąk, Z. Diskin, M. Antkiewicz, K. Czarnecki, and A. Wąsowski, "Clafer: Unifying Class and Feature Modeling", Software and Systems Modeling, 2014.
  3. K. Bąk, Modeling and Analysis of Software Product Line Variability in Clafer, Ph.D. Thesis: University of Waterloo, 11/2013.
  4. K. Bąk, Z. Diskin, M. Antkiewicz, K. Czarnecki, and A. Wąsowski, "Partial Instances via Subclassing", 6th International Conference on Software Language Engineering, 2013.
  5. K. Bąk, K. Czarnecki, and A. Wąsowski, "Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled", 3rd International Conference on Software Language Engineering, 2010. 
  6. K. Bąk, K. Czarnecki, and A. Wąsowski, "Feature and Class Models in Clafer: Mixed, Specialized, and Coupled", David R. Cheriton School of Computer Science, Waterloo, University of Waterloo, 06/2010.

Product-Line Engineering

  1. A. Murashkin, "Automotive Electronic/Electric Architecture Modeling, Design Exploration and Optimization using Clafer", MMath Thesis, University of Waterloo, 2014.
  2. M. Antkiewicz, K. Bąk, A. Murashkin, R. Olaechea, J. Liang, and K. Czarnecki, "Clafer Tools for Product Line Engineering", Software Product Line Conference, 2013. 

Example-Driven Modeling

  1. D. Zayan, M. Antkiewicz, and K. Czarnecki, "Effects of Using Examples on Structural Model Comprehension", ICSE, 2014.
  2. Bąk, K., D. Zayan, K. Czarnecki, M. Antkiewicz, Z. Diskin, A. Wąsowski, and D. Rayside, "Example-Driven Modeling. Model = Abstractions + Examples", New Ideas and Emerging Results (NIER) track of ICSE, 2013.   
  3. M. Antkiewicz, K. Bąk, D. Zayan, K. Czarnecki, A. Wąsowski, and Z. Diskin, "Example-Driven Modeling Using Clafer", First International Workshop on Model-driven Engineering By Example, MODELS, 2013.
  4. K. Bąk, D. Zayan, K. Czarnecki, M. Antkiewicz, Z. Diskin, A. Wąsowski, and D. Rayside, Example-Driven Modeling poster, , CASCON, 2012.

Multi-Objective Optimization

  1. A. Murashkin, M. Antkiewicz, D. Rayside, and K. Czarnecki, "Visualization and Exploration of Optimal Variants in Product Line Engineering", Software Product Line Conference, 2013. 
  2. J. Guo, K. Czarnecki, S. Apel, N. Siegmund, and A. Wąsowski, "Variability-Aware Performance Prediction: A Statistical Learning Approach", 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2013.
  3. J. Guo, K. Czarnecki, S. Apel, N. Siegmund, and A. Wąsowski, Why CART Works for Variability-Aware Performance Prediction? An Empirical Study on Performance Distributions, , Waterloo, Generative Software Development Laboratory, University of Waterloo, 04/2013.
  4. R. Olaechea, S. Stewart, K. Czarnecki, and D. Rayside, "Modeling and Multi-Objective Optimization of Quality Attributes in Variability-Rich Software", International Workshop on Non- functional System Properties in Domain Specific Modeling Languages (NFPinDSML’12), 2012.   

Project Reports

  1. A. Murashkin, "Web-based GUI for Pareto front design and analysis", , University of Waterloo, 12/2012.
  2. J. Liang, "Solving Clafer Models with Choco", , University of Waterloo, 12/2012.
  3. D. Zayan, "Model Evolution: Comparative Study between Clafer and Textual UML", CS 846 Model-Based Software Engineering, University of Waterloo, 04/2012.
  4. J. Liang, "Correcting Clafer Models with Automated Analysis", CS 846 Model-Based Software Engineering, University of Waterloo, 04/2012.
  5. K. Bąk, "Optimized Translation of Clafer Models to Alloy", CS 744 Advanced Compiler Design, University of Waterloo, 07/2011.
  6. K. Bąk, "Clafer: a Unified Language for Class and Feature Modeling", CS 846 Model-Based Software Engineering, University of Waterloo, 04/2010.

Clafer Builds On This Previous Work

  1. M. Antkiewicz, K. Czarnecki, and M. D. Stephan, "Engineering of Framework-Specific Modeling Languages", IEEE Transactions on Software Engineering, vol. 35, issue 6, pp. 795 - 824, 11/2009.
  2. M. D. Stephan, and M. Antkiewicz, "Ecore.fmp: A tool for editing and instantiating class models as feature models", Electrical and Computer Engineering, Waterloo, University of Waterloo, 05/2008.
  3. K. Czarnecki, 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.  
  4. K. Czarnecki, 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. 
  5. K. Czarnecki, and C H P. Kim, "Cardinality-based feature modeling and constraints: a progress report", International Workshop on Software Factories at OOPSLA'05, 2005.  
  6. K. Czarnecki, 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, 2005. 
  7.  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, 2005. 
  8.  K. Czarnecki, S. Helsen, and U. Eisenecker, "Staged Configuration Using Feature Models", Third Software Product-Line Conference (SPLC’04), 2004, vol. 3154, 2004.  
  9. M. Antkiewicz, and K. Czarnecki, "FeaturePlugin: Feature Modeling Plug-In for Eclipse", The 2004 OOPSLA Workshop on Eclipse Technology eXchange - Eclipse '04, 2004.