Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2110147.2110165acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Software variability: the design space of configuration languages

Published: 25 January 2012 Publication History

Abstract

Software variability is a major driver in software development. In order to satisfy the increased variability requirements in today's software, several technical and non-technical variability mechanisms have been proposed. In this paper, we contribute with a language-specific perspective on how to manage variability. We explain our view on the concept of configuration languages, which are languages that offer structural and behavioral program configurations through specifically tailored expressions. We present seven design dimensions of configuration languages that determine how the variability model is defined and how a program's artifacts are represented and modified. To show the applicability of the design dimensions for explaining existing configuration languages, we analyze the Linux Kernel configuration language.

References

[1]
B. R. T. Arnold, A. V. Deursen, and M. Res. Algebraic Specification of a Language for describing Financial Products. In ICSE-17 Workshop on Formal Methods Application in Software Engineering, pages 6--13, Washington, DC, USA, 1995. IEEE Computer Society.
[2]
K. Bak, K. Czarnecki, and A. Wasowski. Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled. In Proceedings of the Third International Conference on Software Language Engineering (SLE), volume 6563 of Lecture Notes in Computer Science, pages 102--122, Berlin, Heidelberg, Germany, 2011. Springer-Verlag.
[3]
M. Becker. Towards a General Model of Variability in Product Families. In J. van Gurp and J. Bosch, editors, Proceedings of the First Workshop on Software Variability Management (SVM), pages 19--27. 2003. Available online, http://www.jillesvangurp.com/static/svm2003/svm2003-proceedings.pdf, last access 04/19/2011, 7:50 PM.
[4]
J. Bentley. Programming Pearls: Little Languages. Communications of the ACM, 29(8):711--721, 1986.
[5]
S. Berczuk and B. Appleton. Software Configuration Management Patterns: Effective Teamwork, Practical Integration. Addison-Wesley, Boston, USA, 2002.
[6]
T. Berger, S. She, R. Lotufo, A. Wąsowski, and K. Czarnecki. Variability Modeling in the Real: A Perspective from the Pperating Systems Domain. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 73--82, New York, NY, USA, 2010. ACM.
[7]
E. H. Bersoff. Elements of Software Configuration Management. IEEE Transactions on Software Engineering, 10:79--87, 1984.
[8]
T. Blecker, N. Abdelkafi, G. Kreutler, and G. Friedrich. Product Configuration Systems: State of the Art, Conceptualization and Extensions. In Proceedings of the 8th Maghrebian Conference on Software Engineering and Artificial Intelligence (MCSEAI), pages 25--36. 2004. Available online, http://mpra.ub.uni-muenchen.de/5291/, last access 10/29/2011, 09:35 PM.
[9]
G. A. Booch. Object-Oriented Analysis and Design with Applications. Addison-Wesley Longman, Redwood City, USA, 2nd edition, 1994.
[10]
Q. Boucher, A. Classen, P. Heymans, A. Bourdoux, and L. Demonceau. Tag and Prune: A Pragmatic Approach to Software Product Line Implementation. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 333--336, New York, 2010. ACM.
[11]
R. Conradi and B. Westfechtel. Version Models for Software Configuration Management. ACM Computing Survey, 30:232--282, 1998.
[12]
J. Coplien, D. Hoffman, and D. Weiss. Commonality and Variability in Software Engineering. IEEE Software, 15(6):37--45, 1998.
[13]
K. Czarnecki. Overview of Generative Software Development. In J.-P. Banatre, P. Fradet, J.-L. Giavitto, and O. Michel, editors, Unconventional Programming Paradigms, volume 3566 of Lecture Notes in Computer Science, pages 97--113. Springer-Verlag, Berlin, Heidelberg, Germany, 2005.
[14]
K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston, San Franciso et al., 2000.
[15]
S. Deelstra, M. Sinnema, J. Nijhuis, and J. Bosch. COSVAM: A Technique for Assessing Software Variability in Software Product Families. In Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM), pages 458--462, Washington, DC, USA, 2004. IEEE Computer Society.
[16]
S. Ducasse, A. Lienhard, and L. Renggli. Seaside: A Flexible Environment for Building Dynamic Web Applications. IEEE Software, 24(5):56--63, 2007.
[17]
J. Estublier. Software Configuration Management: A Roadmap. In Proceedings of the 22nd International Conference on Software Engineering (ICSE), pages 279--289, New York, NY, USA, 2000. ACM.
[18]
S. Günther and T. Cleenewerck. Design Principles for Internal Domain-Specific Languages: A Pattern Catalog illustrated by Ruby. In 17th Conference on Pattern Languages of Programs (PLoP), 2010, to appear.
[19]
G. Halmans and K. Pohl. Communicating the Variability of a Software-Product Family to Customers. Informatik - Forschung und Entwicklung, 18:113--131, 2004.
[20]
P. Hudak. Modular Domain Specific Languages and Tools. In P. Davenbu and J. Poulin, editors, Proceedings of the Fifth International Conference on Software Reuse (ICSR), pages 134--142, Washington, USA, 1998. IEEE Computer Society.
[21]
K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, USA, 1990.
[22]
P. J. Landin. The Next 700 Programming Languages. Communications of the ACM, 9(3):157--166, 1966.
[23]
N. Medvidovic and R. N. Taylor. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, 26(1):70--93, 2000.
[24]
M. Mernik, J. Heering, and A. M. Sloane. When and How to Develop Domain-Specific Languages. ACM Computing Survey, 37(4):316--344, 2005.
[25]
R. Michel, A. Classen, A. Hubaux, and Q. Boucher. A Formal Semantics for Feature Cardinalities in Feature Diagrams. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS), pages 82--89, New York, NY, USA, 2011. ACM.
[26]
J. Munnelly and S. Clarke. ALPH: A Domain-Specific Language for Crosscutting Pervasive Healthcare Concerns. In Proceedings of the 2nd Workshop on Domain Specific Aspect Languages (DSAL), New York, USA, 2007. ACM. Available online, http://dx.doi.org/10.1145/1255400.1255404, last access 03/19/2011, 09:47 PM.
[27]
D. L. Parnas. On the Design and Development of Program Families. IEEE Transactions on Software Engineering, 2:1--9, 1976.
[28]
M. Rosenmüller, N. Siegmund, T. Thüm, and G. Saake. Multi-Dimensional Variability Modeling. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS), pages 11--20, New York, NY, USA, 2011. ACM.
[29]
J. Sincero, H. Schirmeier, W. Schröder-Preikschat, and O. Spinczyk. Is The Linux Kernel a Software Product Line? Proceedings of the International Workshop on Open Source Software and Product Lines (SPLC-OSSPL), 2007. Available online, http://fame-dbms.org/publications/SPLC-OSSPL2007-Sincero.pdf, last access 03/06/2011, 6:22 PM.
[30]
D. Spinellis. Notable Design Patterns for Domain-Specific Languages. Journal of Systems and Software, 56(1):91--99, 2001.
[31]
R. Tartler, J. Sincero, W. Schröder-Preikschat, and D. Lohmann. Dead or Alive: Finding Zombie Features in the Linux Kernel. In Proceedings of the First International Workshop on Feature-Oriented Software Development (FOSD), pages 81--86, New York, 2009. ACM.
[32]
E. Tryggeseth, B. Gulla, and R. Conradi. Modelling Systems with Variability Using the PROTEUS Configuration Language. In J. Estublier, editor, Software Configuration Management, volume 1005 of Lecture Notes in Computer Science, pages 216--240. Springer-Verlag, Berlin, Heidelberg, Germany, 1995.
[33]
A. van der Hoek. Design-Time Product Line Architectures for Any-Time Variability. Science of Computer Programming, 53(3):285--304, 2004.
[34]
A. Van Deursen, P. Klint, and J. Visser. Domain-Specific Languages: An Annotated Bibliography. ACM SIGPLAN Notices, 35(6): pp. 26--36, 2000.
[35]
J. Van Gurp, J. Bosch, and M. Svahnberg. On the Notion of Variability in Software Product Lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WISCA), pages 45--54, Los Alamitos, CA, USA, 2001. IEEE Computer Society.
[36]
M. Wermelinger, A. Lopes, and J. L. Fiadeiro. A Graph Based Architectural (Re)configuration Language. SIGSOFT Software Engineering Notes, 26:21--32, 2001.
[37]
L. A. Zaid, F. Kleinermann, and O. De Troyer. Feature Assembly Framework: Towards Scalable and Reusable Feature Models. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS), pages 1--9, New York, NY, USA, 2011. ACM.

Cited By

View all
  • (2016)Unanticipated Context Awareness for Software Configuration Access Using the getenv APIComputer and Information Science10.1007/978-3-319-40171-3_4(41-57)Online publication date: 17-Jun-2016
  • (2015)Mapping the design-space of textual variability modeling languagesInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-014-0362-x17:5(559-584)Online publication date: 1-Oct-2015
  • (2013)A systematic analysis of textual variability modeling languagesProceedings of the 17th International Software Product Line Conference10.1145/2491627.2491652(12-21)Online publication date: 26-Aug-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '12: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems
January 2012
193 pages
ISBN:9781450310581
DOI:10.1145/2110147
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 January 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. configuration management
  2. domain-specific languages
  3. software variability

Qualifiers

  • Research-article

Conference

VaMoS '12

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Unanticipated Context Awareness for Software Configuration Access Using the getenv APIComputer and Information Science10.1007/978-3-319-40171-3_4(41-57)Online publication date: 17-Jun-2016
  • (2015)Mapping the design-space of textual variability modeling languagesInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-014-0362-x17:5(559-584)Online publication date: 1-Oct-2015
  • (2013)A systematic analysis of textual variability modeling languagesProceedings of the 17th International Software Product Line Conference10.1145/2491627.2491652(12-21)Online publication date: 26-Aug-2013

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media