skip to main content
10.1145/1842752.1842811acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsaConference Proceedingsconference-collections
research-article

Categorizing and modeling variation in families of systems: a position paper

Published: 23 August 2010 Publication History

Abstract

This paper presents an approach that considers variation in systems and system architectures according to the kind of relation among the variants in the software family. The approach highlights why it is beneficial to consider such different variation relations separately and gives examples of what these relations may be.
Two main categories of variation relations are presented, based on whether the system architecture remains constant (architecture-based variation), or whether the architecture itself is variable, i.e. the variants do not share a common architecture. The paper introduces several different kinds of variation families that seem to belong to these two categories, as well as yet other families comprising variants that do not neatly fit in either category, with only a subset of the variants sharing a common architecture. Each kind of variation relation is illustrated with an example software family from different domains, including operating systems (OS).

References

[1]
Apel, S., Janda, F., Trujillo, S., and Kästner, C. Model superimposition in software product lines, 2009.
[2]
Apel, S., Kastner, C., and Lengauer, C. FEATUREHOUSE: language-independent, automated software composition. In ICSE '09: Proceedings of the 31st International Conference on Software Engineering (Washington, DC, USA, 2009), IEEE Computer Society, pp. 221--231.
[3]
Atkinson, C., Bayer, J., and Muthig, D. Component-based product line development: The KobrA approach. In Proceedings of the the First International Software Product Line Conference (SPLC) (Denver, CO, 2000), pp. 289--309.
[4]
Bachmann, F., and Bass, L. Managing variability in software architectures. In SSR '01: Proceedings of the 2001 Symposium on Software Reusability (New York, NY, USA, 2001), ACM, pp. 126--132.
[5]
Batory, D. Feature-oriented programming and the AHEAD tool suite. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering (Washington, DC, USA, 2004), IEEE Computer Society, pp. 702--703.
[6]
Batory, D., and O'Malley, S. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology 1, 4 (1992), 355--398.
[7]
Clements, P., and Northrop, L. Software Product Lines--Practices and Patterns. Addison-Wesley Professional, 2001.
[8]
Czarnecki, K., and Eisenecker, U. Components and generative programming. In ESEC '99/FSE-7: Proceedings of the 7th European Software Engineering Conference held jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering (1999), pp. 2--19.
[9]
Gomaa, H. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Redwood City, CA, 2004.
[10]
Kang, K. C., Kim, S., Lee, J., Kim, K., Shin, E., and Huh, M. FORM: A feature-oriented reuse method with domain specific reference architectures. Annals of Software Engineering 5, 1 (1998), 143--168.
[11]
Kästner, C., Apel, S., and Kuhlemann, M. Granularity in software product lines. In ICSE '08: Proceedings of the 30th international conference on Software engineering (New York, NY, USA, 2008), ACM, pp. 311--320.
[12]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., and Irwin, J. Aspect-oriented programming. In ECOOP '97: Proceedings of the 11th European Conference on Object-Oriented Programming (1997), vol. 1241, Springer-Verlag, pp. 220--242.
[13]
Knauber, S. Synergy between component-based and generative approaches. In ESEC '99/FSE-7: Proceedings of the 7th European Software Engineering Conference held jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering (1999), pp. 2--19.
[14]
Person, S., Dwyer, M. B., Elbaum, S., and Pâsâreanu, C. S. Differential symbolic execution. In SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering (New York, NY, USA, 2008), ACM, pp. 226--237.
[15]
Pohl, K., and Metzger, A. Variability management in software product line engineering. In ICSE '06: Proceedings of the 28th International Conference on Software engineering (New York, NY, USA, 2006), ACM, pp. 1049--1050.
[16]
Prehofer, C. Feature-oriented programming: a fresh look at objects. In ECOOP '97: Proceedings of the 11th European Conference on Object-Oriented Programming (1997), vol. 1241, Springer-Verlag, pp. 419--443.
[17]
Schmid, K., and van der Linden, F. Introducing and optimizing software product lines using the FEF. In SPLC '09: Proceedings of the 13th International Software Product Line Conference (2009), Carnegie Mellon University, pp. 311--311.
[18]
Schobbens, P.-Y., Heymans, P., and Trigaux, J.-C. Feature diagrams: A survey and a formal semantics. In IEEE International Conference on Requirements Engineering (2006), IEEE Computer Society, pp. 139--148.
[19]
Simidchieva, B. I., Clarke, L. A., and Osterweil, L. J. Representing process variation with a process family. In Software Process Dynamics and Agility: Proceedings of the International Conference on Software Process (2007), Q. Wang, D. Pfahl, and D. M. Raffo, Eds., vol. 4470 of LNCS, Springer, pp. 109--120.
[20]
Sinnema, M., Deelstra, S., Nijhuis, J., and Bosch, J. COVAMOF: a framework for modeling variability in software product families, 2004.
[21]
Smaragdakis, Y., and Batory, D. Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs. ACM Transactions on Software Engineering and Methodology 11, 2 (2002), 215--255.
[22]
Trujillo, S., Batory, D., and Diaz, O. Feature oriented model driven development: A case study for portlets. In ICSE '07: Proceedings of the 29th international conference on Software Engineering (Washington, DC, USA, 2007), IEEE Computer Society, pp. 44--53.
[23]
van Ommering, R. Building product populations with software components. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering (Los Alamitos, CA, USA, 2002), IEEE Computer Society, pp. 255--265.
[24]
van Ommering, R., Kramer, J., and Magee, J. The koala component model for consumer electronics software. IEEE Computer 33, 3, 78--85.
[25]
Weiss, D. M., and Lai, C. T. R. Software product-line engineering: a family-based software development process. Addison-Wesley, 1999.

Cited By

View all
  • (2014)Generation, composition, and verification of families of human-intensive systemsProceedings of the 18th International Software Product Line Conference - Volume 110.1145/2648511.2648533(207-216)Online publication date: 15-Sep-2014
  • (2011)Characterizing process variation (NIER track)Proceedings of the 33rd International Conference on Software Engineering10.1145/1985793.1985918(836-839)Online publication date: 21-May-2011
  • (2011)From Process Programming to Process EngineeringEngineering of Software10.1007/978-3-642-19823-6_15(291-309)Online publication date: 2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECSA '10: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume
August 2010
367 pages
ISBN:9781450301794
DOI:10.1145/1842752
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]

Sponsors

  • SAS
  • FIRST

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 August 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. software families
  2. software product lines
  3. system architectures
  4. variability
  5. variation

Qualifiers

  • Research-article

Funding Sources

Conference

ECSA '10
Sponsor:
ECSA '10: 4th European Conference on Software Architecture
August 23 - 26, 2010
Copenhagen, Denmark

Acceptance Rates

Overall Acceptance Rate 48 of 72 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Generation, composition, and verification of families of human-intensive systemsProceedings of the 18th International Software Product Line Conference - Volume 110.1145/2648511.2648533(207-216)Online publication date: 15-Sep-2014
  • (2011)Characterizing process variation (NIER track)Proceedings of the 33rd International Conference on Software Engineering10.1145/1985793.1985918(836-839)Online publication date: 21-May-2011
  • (2011)From Process Programming to Process EngineeringEngineering of Software10.1007/978-3-642-19823-6_15(291-309)Online publication date: 2011

View Options

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