CVL – Common Variability Language Øystein Haugen SINTEF oystein.haugen@sintef.no Andrzej Wąsowski IT University of Copenhagen wasowski@itu.dk Krzysztof Czarnecki University of Waterloo kczarnec@swen.uwaterloo.ca ABSTRACT The Common Variability Language (CVL) is a domain- independent language for specifying and resolving variability. It facilitates the specification and resolution of variability over any instance of any language defined using a MOF-based meta-model. This tutorial will present the results of work done by the Joint Submission Team against the OMG Request For Proposals on CVL. Prototype tooling for CVL will be demonstrated and made available for hands-on use by the participants. Categories and Subject Descriptors D.2.13 [Reusable Software]: Reuse Models through defining Product Lines. General Terms Management, Design,, Standardization, Languages Keywords Variability modeling, Standardization, Product Lines, Generic Tools. 1. INTRODUCTION The Common Variability Language (CVL) defined in this document is a domain-independent language for specifying and resolving variability. It facilitates the specification and resolution of variability over any instance of any language defined using a MOF-based meta-model. 1.1 Goals of the tutorial The goals of the tutorial are: • To show how this fully generic language can be demonstrated through simple examples; • To make the participants aware of the opportunities and challenges of arriving at a CVL standard and allowing the community to influence the process; • To solicit feedback from the participants on the CVL; • To encourage independent implementations of tools based on the CVL specification. 1.2 Intended Audience The audience for our tutorial can be experienced product line engineers as well as beginners in the field of PLE. Academics and practitioners alike will have benefit from the tutorial. We expect that the tutorial is of particular interest for builders of modeling and analysis tools, both academics and practitioners, who would like to support CVL. 2. PLAN The tutorial will cover both the motivation behind the language and examples of how the language is used. 1. Motivation and background (15 min). 2. CVL in a nutshell (30 min). 3. CVL in detail (45 min).. 4. CVL experiments (30 min).. 5. CVL as a standard (15 min). 6. CVL Tooling. (45 min) 3. PRESENTERS' BACKGROUNDS 3.1 Øystein Haugen Øystein Haugen is the organizer of the Common Variability Language initiative and the coordinator of the Joint Submission Team. Dr. Haugen is a Senior Researcher at SINTEF in Oslo and also an adjunct Associate Professor at the University of Oslo. 3.2 Andrzej Wąsowski Dr. Wąsowski is an Associate Professor at IT University of Copenhagen, where he heads the MSc program on Software Development. 3.3 Krzysztof Czarnecki Dr. Krzysztof Czarnecki is an Associate Professor at Electrical and Computer Engineering, University of Waterloo and holds a Bank of Nova Scotia / NSERC Industrial Research Chair. 4. TUTORIAL HISTORY A tutorial on CVL was given also at SPLC in Brazil in 2012.The idea of CVL was presented as a research paper in SPLC 2008 (Haugen et al.: Adding Standardized Variability to Domain Specific Languages). The standardization effort was presented in the Panel of SPLC 2011 where Ø: Haugen was one of the participants. Scientific work inspired by the efforts towards CVL has been presented in numerous conferences over the last few years such as SPLC, SLE, GPCE and MODELS. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author. Copyright is held by the owner/author(s). SPLC 2013, Aug 26-30 2013, Tokyo, Japan ACM 978-1-4503-1968-3/13/08. http://dx.doi.org/10.1145/2491627.2493899 View publication stats View publication stats