Skip to main content

An aspect-oriented language for feature-modeling

Abstract

When modeling families of ambient systems, we experience a number of special challenges due to unpredictable variability in the environments of the systems. One solution to deal with these challenges is to adapt aspect-oriented technology to product family modeling. In this paper, we propose a new language AO-PFA, which adapts the aspect-oriented paradigm to product families. This paradigm enhances the adaptability and evolvability of product families. The proposed language is an extension of the specification language product family algebra (PFA). We discuss the constructs of the proposed language as well as its usage to specify aspects.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Notes

  1. FODA (Kang et al. 1990) is one of the feature-modeling techniques that are widely used to specify the reusable core assets of a product family and to describe how individual products can be configured from these core assets.

References

  • Acher M, Collet P, Lahire P, France R (2010) Composing feature models. In: van den Brand M, Gaševic D, Gray J (eds) Software language engineering. Lecture notes in computer science, vol 5969. Springer, Berlin, pp 62–81

  • Alférez M, Santos J, Moreira A, Garcia A, Kulesza U, Araújo J, Amaral V (2009) Multi-view composition language for software product line requirements. In: Proceedings of the 2nd international conference on software language engineering, pp 103–122

  • Alturki F, Khedri R (2010) A tool for formal feature modeling based on bdds and product families algebra. In: 13th Workshop on requirement engineering, pp 109–120

  • Andersen HR (1997) An introduction to binary decision diagrams. In: Lecture notes for 49285 Advanced Algorithm E97

  • Apel S, Leich T, Saake G (2006) Aspectual mixin layers: aspects and features in concert. In: Proceedings of the international conference on software engineering, pp 122–131

  • Apel S, Lengauer C, Möller B, Kästner C (2010) An algebraic foundation for automatic feature-based program synthesis. Sci Comput Program 75(2010):1022–1047

    Article  MATH  Google Scholar 

  • Benavides D, Segura S, Trinidad P, Ruiz-Cortes A (2006) A first step towards a framework for the automated analysis of feature models. In: Proceedigns of the Workshop held in conjunction with the 10th Software product line conference

  • Bošković M, Mussbacher G, Bagheri E, Amyot D, an Marek Hatala DG (2010) Aspect-oriented feature models. In: Models in software engineering-workshops and symposia at MODELS 2010

  • Chitchyan R, Rashid A, Sawyer P, Garcia A, Alarcon MP, Bakker J, Tekinerdogan B, Clarke S, Jackson A (2005) Survey of analysis and design approaches. Survey, AOSD-Europe

  • Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott C (2011) Maude Manual (Version 2.6). SRI International, Menlo Park, CA 94025, USA

  • Czarnecki K (1998) Generative programming, principles and techniques of software engineering based on automated configuration and fragment-based component models. PhD thesis, Technical University of Ilmenau

  • Eriksson M, Börstler J, Borg K (2005) The PLUSS approach-domain modeling with features, use cases and use realization. In: Proceedings of 9th international conference on software product lines, pp 33–44

  • Frei R, Di Marzo Serugendo G, Şerbănuţă TF (2010) Ambient intelligence in self-organising assembly systems using the chemical reaction model. J Ambient Intell Humaniz Comput 1(3):163–184

    Article  Google Scholar 

  • Frei R, Şerbănuţă TF, Di Marzo Serugendo G (2012) Self-organising assembly systems formally specified in Maude. J Ambient Intell Humaniz Comput pp 1–20

  • Fuentes L, Gámez N (2010) Configuration process of a software product line for AmI middleware. J Univers Comput Sci 16(12):1592–1611

    Google Scholar 

  • Gámez N, Fuentes L (2012) Architectural evolution of FamiWare using cardinality-based feature models. Information and Software Technology

  • Griss ML (2000) Implementing product-line features by composing component aspects. In: Proceedings of first international software product lines conference, pp 271–288

  • Griss ML, Favaro J, d’Alessandro M (1998) Integrating features modeling with the RSEB. In: Proceedings of the 5th international conference on software reuse, pp 76–85

  • Groher I, Voelter M (2007) Xweave: models and aspects in concert. In: Proceedings of the 10th Workshop on aspect-oriented modelling, pp 35–40

  • Habib S, Marimuthu P (2011) Self-organization in ambient networks through molecular assembly. J Ambient Intell Humaniz Comput 2(3):165–173

    Article  Google Scholar 

  • Höfner P, Khedri R, Möller B (2006) Feature algebra. In: Misra J, Nipknow T, Sekerinski E (eds) Formal methods. Lecture notes in compute science, vol 4085. Springer, Berlin, pp 300–315

  • Höfner P, Khedri R, Möller B (2008) Algebraic view reconciliation. In: Proceedings of 6th IEEE international conference on software engineering and formal methods, pp 85–94

  • Höfner P, Khedri R, Möller B (2009) An algebra of product families. Softw Syst Model 10(2):161–182

    Article  Google Scholar 

  • Höfner P, Khedri R, Möller B (2011) Supplementing product families with behaviour. Int J Softw Inf 5(1-2Part2):245–266

    Google Scholar 

  • Kang K, Cohen S, Hess J, Novak W, Peterson A (1990) Feature oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University

  • Kuhlemann M, Batory D, Kästner C (2009) Safe composition of non-monotonic features. In: 8th international conference on generative programming and component engineering

  • Kuusela J, Tuominen H (2009) Aspect-oriented approach to operating system development empirical study. J Commun Comput 6(8):233–238

    Google Scholar 

  • Lind-Nielsen J (2010) Buddy BDD Library. Accessed on March 28, 2013. http://sourceforge.net/projects/buddy/

  • Loughran N, Rashid A (2004) Framed aspect: support variability and configurability for AOP. In: Proceedings of international conference on software reuse, pp 127–140

  • Mezini M, Ostermann K (2004) Variability management with feature-oriented programming and aspects. In: Proceedings of the 12th ACM international symposium on Foundations of Software Engineering, pp 127–136

  • Nygard KE, Xu D, Pikalek J, Lundell M (2010) Multi-agent designs for ambient systems. In: 1st international ICST conference on ambient media and systems, pp 10:1–10:6

  • Parnas DL (1976) On the design and development of program families. IEEE Trans Softw Eng 2(1):1–9

    Article  MATH  Google Scholar 

  • Riebisch M, Böllert K, Streitferdt D, Philippow I (2002) Extending feature diagrams with UML multiplicities. In: 6th world conference on the integrated design & process technology (IDPT 2002), Pasadena, USA

  • Solhaug B, Seehusen F (2013) Model-driven risk analysis of evolving critical infrastructures. J Ambient Intell Humaniz Comput pp 1–18

  • Thüm T, Batory D, Kästner C (2009) Reasoning about edits to feature models. In: Proceedings of international conference on software engineering

  • Zhang Q, Khedri R (2013) Proofs of the convergence of the rewriting system for the weaving of aspects in the AO-PFA language. Technical Report CAS-13-01-RK, McMaster University, Hamilton, Ontario, Canada. http://www.cas.mcmaster.ca/cas/0template1.php?601

  • Zhang Q, Khedri R, Jaskolka J (2011) An aspect-oriented language based on product family algebra: aspects specification and verification. Technical Report CAS-11-08-RK, McMaster University, Hamilton, Ontario, Canada. http://www.cas.mcmaster.ca/cas/0template1.php?601

  • Zhang Q, Khedri R, Jaskolka J (2012a) An aspect-oriented language for product family specification. In: Ambient systems, networks and technologies, 3rd international conference, ANT2012

  • Zhang Q, Khedri R, Jaskolka J (2012b) Verification of aspectual composition in feature-modeling. In: Software engineering and formal methods, 10th international conference, SEFM2012

Download references

Acknowledgments

This research is supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), Grant Number RGPIN227806-09. We thank the numerous reviewers for their comments that helped us improve the quality of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qinglei Zhang.

Additional information

This article is a revised and enlarged version of (Zhang et al. 2012a).

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Zhang, Q., Khedri, R. & Jaskolka, J. An aspect-oriented language for feature-modeling. J Ambient Intell Human Comput 5, 343–356 (2014). https://doi.org/10.1007/s12652-013-0201-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12652-013-0201-z

Keywords

  • Feature-modeling
  • Product family algebra
  • Aspect-oriented software development
  • Early aspects
  • Specification language
  • Ambient systems