Abstract
We present Clafer, a meta-modeling language with first-class support for feature modeling. We designed Clafer as a concise notation for meta-models, feature models, mixtures of meta- and feature models (such as components with options), and models that couple feature models and meta-models via constraints (such as mapping feature configurations to component configurations or model templates). Clafer also allows arranging models into multiple specialization and extension layers via constraints and inheritance. We identify four key mechanisms allowing a meta-modeling language to express feature models concisely and show that Clafer meets its design objectives using a sample product line. We evaluated Clafer and how it lends itself to analysis on sample feature models, meta-models, and model templates of an E-Commerce platform.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling 9(1) (2008)
Antkiewicz, M., Czarnecki, K., Stephan, M.: Engineering of framework-specific modeling languages. IEEE TSE 35(6) (2009)
Asikainen, T., Männistö, T.: Nivel: a metamodelling language with a formal semantics. Software and Systems Modeling 8(4) (2009)
Asikainen, T., Männistö, T., Soininen, T.: A unified conceptual foundation for feature modelling. In: SPLC 2006 (2006)
Asikainen, T., Männistö, T., Soininen, T.: Kumbang: A domain ontology for modelling variability in software product families. Adv. Eng. Inform. 21(1) (2007)
Bart Veer, J.D.: The eCos Component Writer’s Guide (2000)
Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Information Systems 35(6) (2010)
Boucher, Q., Classen, A., Faber, P., Heymans, P.: Introducing TVL, a text-based feature modelling language. In: VaMoS 2010 (2010)
Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams Using Constraint Programming. In: MoDeVVA 2008 (2008)
Cariou, E., Belloir, N., Barbier, F., Djemam, N.: Ocl contracts for the verification of model transformations. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795. Springer, Heidelberg (2009)
Clauß, M., Jena, I.: Modeling variability with UML. In: Dannenberg, R.B. (ed.) GCSE 2001. LNCS, vol. 2186. Springer, Heidelberg (2001)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: GPCE 2006 (2006)
Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)
Czarnecki, K., Bednasch, T., Unger, P., Eisenecker, U.: Generative programming for embedded software: An industrial experience report. In: Batory, D., Blum, A., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487. Springer, Heidelberg (2002)
Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. SPIP 10(1) (2005)
Czarnecki, K., Kim, C.H.: Cardinality-based feature modeling and constraints: A progress report. In: OOPSLA 2005 Workshop on Software Factories (2005)
Gheyi, R., Massoni, T., Borba, P.: A theory for feature models in Alloy. In: First Alloy Workshop (2006)
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: Mapping Features to Models. In: ICSE 2008 (2008)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)
Janota, M., Botterweck, G.: Formal approach to integrating feature and architecture models. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 31–45. Springer, Heidelberg (2008)
Jouault, F., Bézivin, J.: KM3: a DSL for Metamodel Specification. In: IFIP 2006 (2006)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, CMU (1990)
Kang, K.C.: FODA: Twenty years of perspective on feature modeling. In: VaMoS 2010 (2010)
Kästner, C.: Virtual Separation of Concerns: Toward Preprocessors 2.0. Ph.D. thesis, University of Magdeburg (2010)
Lau, S.Q.: Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates. Master’s thesis, University of Waterloo (2006)
Le Berre, D., Rapicault, P.: Dependency management for the Eclipse ecosystem: Eclipse p2, metadata and resolution. In: IWOCE 2009 (2009)
Mendonça, M., Branco, M., Cowan, D.: S.P.L.O.T. - Software Product Lines Online Tools. In: OOPSLA 2009 (2009)
OMG: Meta Object Facility (MOF) Core Specification (2006)
OMG: OMG Unified Modeling Language (2009)
Shaikh, A., Clarisó, R., Wiil, U.K., Memon, N.: Verification-Driven Slicing of UML/OCL Models. In: ASE 2010 (2010)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Variability model of the linux kernel. In: VaMoS 2010 (2010)
Stephan, M., Antkiewicz, M.: Ecore.fmp: A tool for editing and instantiating class models as feature models. Tech. Rep. 2008-08, Univeristy of Waterloo (2008)
Tartler, R., Sincero, J., Lohmann, D.: Dead or Alive: Finding Zombie Features in the Linux Kernel. In: FOSD 2009 (2009)
Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bąk, K., Czarnecki, K., Wąsowski, A. (2011). Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds) Software Language Engineering. SLE 2010. Lecture Notes in Computer Science, vol 6563. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19440-5_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-19440-5_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19439-9
Online ISBN: 978-3-642-19440-5
eBook Packages: Computer ScienceComputer Science (R0)