Using aspect-oriented state machines for detecting and resolving feature interactions

Composing different features in a software system may lead to conflicting situations. The presence of one feature may interfere with the correct functionality of another feature, resulting in an incorrect behavior of the system. In this work we present an approach to manage feature interactions. A formal model, using Finite State Machines (FSM) and Aspect-Oriented (AO) technology, is used to specify, detect and resolve features interactions. In fact aspects can resolve interactions by intercepting the events which causes troubleshoot. Also a Domain-Specific Language (DSL) was developed to handle Finite State Machines using a pattern matching technique.

[1]  Lodewijk Bergmans,et al.  A graph-based approach to modeling and detecting composition conflicts related to introductions , 2007, AOSD.

[2]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007 .

[3]  Yow-Jian Lin,et al.  A feature-interaction benchmark for IN and beyond , 1993, IEEE Communications Magazine.

[4]  Paul King,et al.  Groovy in Action , 2007 .

[5]  Paul Klint,et al.  Term Rewriting Meets Aspect-Oriented Programming , 2005, Processes, Terms and Cycles.

[6]  Ferhat Khendek,et al.  Merging behavior specifications , 1995, Formal Methods Syst. Des..

[7]  Robert L. Nord,et al.  Software Product Lines , 2004, Lecture Notes in Computer Science.

[8]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[9]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[10]  Lodewijk Bergmans,et al.  Prototyping and Composing Aspect Languages , 2008, ECOOP.

[11]  David Harel,et al.  LSC'S: BREATHING LIFE INTO MESSAGE SEQUENCE CHARTS , 2022 .

[12]  Hidehiko Masuhara,et al.  A Compilation and Optimization Model for Aspect-Oriented Programs , 2003, CC.

[13]  Günter Kniesel,et al.  Detection and Resolution of Weaving Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[14]  Michael Eichberg,et al.  An architecture for composing embedded domain-specific languages , 2010, AOSD.

[15]  Ondrej Lhoták,et al.  abc : An Extensible AspectJ Compiler , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[16]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[17]  Gregor von Bochmann,et al.  Finite State Description of Communication Protocols , 1978, Comput. Networks.

[18]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[19]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[20]  Éric Tanter,et al.  Aspects of Composition in the Reflex AOP Kernel , 2006, SC@ETAPS.

[21]  Laurie J. Hendren,et al.  SableCC, an object-oriented compiler framework , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[22]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[23]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[24]  Marjan Mernik,et al.  Object-Oriented Language Specifications : Current Status and Future Trends , 2004 .

[25]  Mohammed Erradi,et al.  Using Aspect-Oriented state machines for resolving feature interactions , 2011, 2011 Federated Conference on Computer Science and Information Systems (FedCSIS).

[26]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[27]  Lodewijk Bergmans,et al.  Prototyping and Composing Aspect Languages: using an Aspect Interpreter Framework , 2007 .

[28]  Eric Van Wyk,et al.  Aspects as Modular Language Extensions , 2003, LDTA@ETAPS.

[29]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[30]  Bart Meyers,et al.  Towards an aspect-oriented language module: aspects for petri nets , 2012, DSAL '12.