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.
- Clafer Cheat Sheet
Complete language commentary with type information.
- Backend compatibility matrix
Provides versions in which support for a given language feature was added to Alloy-based and Choco-based backends.
- Clafer grammar (.cf)
Grammar in labeled BNF format that works with BNFC.
- Clafer syntax reference (pdf)
Generated by BNFC.
- Concrete-to-abstract Modeling with Clafer Example
Demonstrates how a complex family of concepts can be modeled using Clafer.
- Concept Modeling with OWL and Clafer
Presents and highlights differences between concept modeling in OWL and Clafer.
Academic Publications
Clafer Language
- P. Juodisius, A. Sarkar, R. R. Mukkamala, M. Antkiewicz, K. Czarnecki, A. Wąsowski, "Clafer: Lightweight Modeling of Structure, Behaviour, and Variability", The Art, Science, and Engineering of Programming Journal, 2018.
- "Clafer: Unifying Class and Feature Modeling", Software and Systems Modeling, 2014.
- K. Bąk, Modeling and Analysis of Software Product Line Variability in Clafer, Ph.D. Thesis: University of Waterloo, 11/2013.
- 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.
- 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.
- 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
- A. Murashkin, "Automotive Electronic/Electric Architecture Modeling, Design Exploration and Optimization using Clafer", MMath Thesis, University of Waterloo, 2014.
- 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
- D. Zayan, M. Antkiewicz, and K. Czarnecki, "Effects of Using Examples on Structural Model Comprehension", ICSE, 2014.
- 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.
- 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.
- 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
- A. Murashkin, M. Antkiewicz, D. Rayside, and K. Czarnecki, "Visualization and Exploration of Optimal Variants in Product Line Engineering", Software Product Line Conference, 2013.
- 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.
- 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.
- 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
- A. Murashkin, "Web-based GUI for Pareto front design and analysis", , University of Waterloo, 12/2012.
- J. Liang, "Solving Clafer Models with Choco", , University of Waterloo, 12/2012.
- D. Zayan, "Model Evolution: Comparative Study between Clafer and Textual UML", CS 846 Model-Based Software Engineering, University of Waterloo, 04/2012.
- J. Liang, "Correcting Clafer Models with Automated Analysis", CS 846 Model-Based Software Engineering, University of Waterloo, 04/2012.
- K. Bąk, "Optimized Translation of Clafer Models to Alloy", CS 744 Advanced Compiler Design, University of Waterloo, 07/2011.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- K. Czarnecki, S. Helsen, and U. Eisenecker, "Staged Configuration Using Feature Models", Third Software Product-Line Conference (SPLC’04), 2004, vol. 3154, 2004.
- M. Antkiewicz, and K. Czarnecki, "FeaturePlugin: Feature Modeling Plug-In for Eclipse", The 2004 OOPSLA Workshop on Eclipse Technology eXchange - Eclipse '04, 2004.