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

Increasing software product reusability and variability using active components: a software product line infrastructure

Published: 23 August 2010 Publication History

Abstract

Software Product Lines are typically used to support development of a software product family and not a software product population, which denotes a broader and more diverse range of software products. We present a Software Product Line Infrastructure (SPLI) that has been designed to increase the reuse of software efforts in product populations. The SPLI takes a bottom-up approach by structuring product features in highly reusable software components called Active Components which contain different types of artefacts. Variability is expressed using domain-specific models and formal variability models. Variability is bound during product derivation by executing model-to-artefact transformations. Components are active because they are invoked during the derivation process, thereby empowering the component. The SPLI enables step-wise refinements of applications by allowing specialization and composition of models before variability is bound. A prototype of the SPLI has been created that was used to develop and evaluate an experimental software product line. It is concluded that within the context of our experimental software product line the SPLI improves software reuse in software product populations.

References

[1]
S. Apel, F. Janda, S. Trujillo, and C. Kästner. Model superimposition in software product lines. In ICMT '09: Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations, pages 4--19, Berlin, Heidelberg, 2009. Springer-Verlag.
[2]
T. Asikainen, T. Männistö, and T. Soininen. Kumbang: A domain ontology for modelling variability in software product families. Adv. Eng. Inform., 21(1):23--40, 2007.
[3]
F. Bachmann, M. Goedicke, J. Leite, R. Nord, K. Pohl, B. Ramesh, and A. Vilbig. A meta-model for representing variability in product family development. In Software Product-Family Engineering, pages 66--80. 2004.
[4]
D. Batory, J. Liu, and J. N. Sarvela. Refinements and multi-dimensional separation of concerns. In ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, pages 48--57, New York, NY, USA, 2003. ACM.
[5]
D. Batory and S. O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Trans. Softw. Eng. Methodol., 1(4):355--398, 1992.
[6]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30:355--371, 2004.
[7]
T. Bures, P. Hnetynka, and F. Plasil. Sofa 2.0: Balancing advanced features in a hierarchical component model. In SERA '06: Proceedings of the Fourth International Conference on Software Engineering Research, Management and Applications, pages 40--48, Washington, DC, USA, 2006. IEEE Computer Society.
[8]
A. Childs, J. Greenwald, G. Jung, M. Hoosier, and J. Hatcliff. Calm and cadena: Metamodeling for component-based product-line development. Computer, 39(2):42, 2006.
[9]
P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley Professional, 3rd edition, August 2001.
[10]
K. Czarnecki. Overview of generative software development. pages 313--328, 2004.
[11]
K. Czarnecki, U. Eisenecker, and K. Czarnecki. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, June 2000.
[12]
K. Czarnecki, S. Helsen, and U. Eisenecker. Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice, 10(2):143--169, 2005.
[13]
S. Deelstra, M. Sinnema, J. van Gurp, and J. Bosh. Model driven architecture as approach to manage variability in software product families. Technical report, University of Twente, 2003.
[14]
J. Greenfield, K. Short, S. Cook, and S. Kent. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, August 2004.
[15]
S. Kent. Model driven engineering. In IFM '02: Proceedings of the Third International Conference on Integrated Formal Methods, pages 286--298, London, UK, 2002. Springer-Verlag.
[16]
C. W. Krueger. Software reuse. ACM Comput. Surv., 24(2):131--183, 1992.
[17]
W. C. Lim. Effects of reuse on quality, productivity, and economics. IEEE Softw., 11(5):23--30, 1994.
[18]
R. C. v. Ommering. Beyond product families: Building a product population? In IW-SAPF-3: Proceedings of the International Workshop on Software Architectures for Product Families, pages 187--198, London, UK, 2000. Springer-Verlag.
[19]
R. C. v. Ommering and J. Bosch. Widening the scope of software product lines - from variation to composition. In SPLC 2: Proceedings of the Second International Conference on Software Product Lines, pages 328--347, London, UK, 2002. Springer-Verlag.
[20]
K. Pohl, G. Böckle, and F. J. v. d. Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005.
[21]
M. Sinnema and S. Deelstra. Industrial validation of covamof. J. Syst. Softw., 81(4):584--600, 2008.
[22]
T. Stahl, M. Voelter, and K. Czarnecki. Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, 2006.
[23]
M. Voelter and I. Groher. Product line implementation using aspect-oriented and model-driven software development. Software Product Line Conference, International, 0:233--242, 2007.
[24]
J. Warmer and A. Kleppe. Building a flexible software factory using partial domain specific models. In Sixth OOPSLA Workshop on Domain-Specific Modeling (DSM'06), pages 15--22, Jyvaskyla, October 2006. University of Jyvaskyla.
[25]
D. L. Webber and H. Gomaa. Modeling variability in software product lines with the variation point model. Sci. Comput. Program., 53(3):305--331, 2004.

Cited By

View all
  • (2017)Modeling of Reusability Estimation in Software Design with External ConstraintsSoftware Project Management for Distributed Computing10.1007/978-3-319-54325-3_1(3-23)Online publication date: 5-Apr-2017

Index Terms

  1. Increasing software product reusability and variability using active components: a software product line infrastructure

      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. active components
      2. components
      3. model-driven development
      4. software product lines
      5. variability

      Qualifiers

      • Research-article

      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 25 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2017)Modeling of Reusability Estimation in Software Design with External ConstraintsSoftware Project Management for Distributed Computing10.1007/978-3-319-54325-3_1(3-23)Online publication date: 5-Apr-2017

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media