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 2010Publication 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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Clements, P., and Northrop, L. Software Product Lines--Practices and Patterns. Addison-Wesley Professional, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gomaa, H. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Redwood City, CA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sinnema, M., Deelstra, S., Nijhuis, J., and Bosch, J. COVAMOF: a framework for modeling variability in software product families, 2004.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. van Ommering, R., Kramer, J., and Magee, J. The koala component model for consumer electronics software. IEEE Computer 33, 3, 78--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Weiss, D. M., and Lai, C. T. R. Software product-line engineering: a family-based software development process. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • 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

          Copyright © 2010 ACM

          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: 23 August 2010

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate48of72submissions,67%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader