Architectural evolution of FamiWare using cardinality-based feature models

Context: Ambient Intelligence systems domain is an outstanding example of modern systems that are in permanent evolution, as new devices, technologies or facilities are continuously appearing. This means it would be desirable to have a mechanism that helps with the propagation of evolution changes in deployed systems. Objective: We present a software product line engineering process to manage the evolution of FamiWare, a family of middleware for ambient intelligence environments. This process drives the evolution of FamiWare middleware configurations using cardinality-based feature models, which are especially well suited to express the structural variability of ambient intelligence systems. Method: FamiWare uses cardinality-based feature models and clonable features to model the structural variability present in ambient intelligence systems, composed of a large variety of heterogeneous devices. Since the management evolution of configurations with clonable features is manually untreatable due to the high number of features, our process automates it and propagates changes made at feature level to the architectural components of the FamiWare middleware. This is a model driven development process as the evolution management, the propagation of evolution changes and the code generation are performed using some kind of model mappings and transformations. Concretely we present a variability modelling language to map the selection of features to the corresponding FamiWare middleware architectural components. Results: Our process is able to manage the evolution of cardinality-based feature models with thousands of features, something which is not possible to tackle manually. Thanks to the use of the variability language and the automatic code generation it is possible to propagate and maintain a correspondence between the FamiWare architectural model and the code. The process is then able to calculate the architectural differences between the evolved configuration and the previous one. Checking these differences, our process helps to calculate the effort needed to perform the evolution changes in the customized products. To perform those tasks we have defined two operators, one to calculate the differences between two feature model configurations and another to create a new configuration from a previous one. Conclusion: Our process automatically propagates the evolution changes of the middleware family into the existing configurations where the middleware is already deployed and also helps us to calculate the effort in performing the changes in every configuration. Finally, we validated our approach, demonstrating the functioning of the defined operators and showing that by using our tool we can generate evolved configurations for FamiWare with thousands of cloned features, for several case studies.

[1]  Haiyan Zhao,et al.  A BDD-Based Approach to Verifying Clone-Enabled Feature Models' Constraints and Customization , 2008, ICSR.

[2]  Lidia Fuentes,et al.  Autonomic Computing Driven by Feature Models and Architecture in FamiWare , 2011, ECSA.

[3]  Ramesh K. Karne,et al.  A Survey of Middleware , 2003, CATA.

[4]  Lidia Fuentes,et al.  Language Support for Managing Variability in Architectural Models , 2008, SC@ETAPS.

[5]  Michal Antkiewicz,et al.  fmp and fmp2rsm: eclipse plug-ins for modeling features using model templates , 2005, OOPSLA '05.

[6]  Artemis Moroni,et al.  Vision and Challenges for Realising the Internet of Things , 2010 .

[7]  Ian F. Akyildiz,et al.  Wireless sensor and actor networks: research challenges , 2004, Ad Hoc Networks.

[8]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[9]  Sven Apel,et al.  Towards the Development of Ubiquitous Middleware Product Lines , 2004, SEM.

[10]  Krzysztof Czarnecki,et al.  Synchronizing Cardinality-Based Feature Models and Their Specializations , 2005, ECMDA-FA.

[11]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[12]  M. Weiser The Computer for the Twenty-First Century , 1991 .

[13]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[14]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[15]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[16]  Lidia Fuentes,et al.  Configuration Process of a Software Product Line for AmI Middleware , 2010, J. Univers. Comput. Sci..

[17]  Lidia Fuentes,et al.  FamiWare: a family of event-based middleware for ambient intelligence , 2011, Personal and Ubiquitous Computing.

[18]  Antonio Ruiz Cortés,et al.  Using Java CSP Solvers in the Automated Analyses of Feature Models , 2005, GTTSE.

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

[20]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[21]  Antonio Ruiz Cortés,et al.  Using Constraint Programming to Reason on Feature Models , 2005, SEKE.

[22]  Maurizio Tomasella,et al.  Vision and Challenges for Realising the Internet of Things , 2010 .

[23]  Mathieu Acher,et al.  Composing Feature Models , 2009, SLE.

[24]  Thomas Thüm,et al.  Reasoning about edits to feature models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[25]  Douglas C. Schmidt,et al.  Automated diagnosis of feature model configurations , 2010, J. Syst. Softw..

[26]  Lidia Fuentes,et al.  Software Product Line Evolution with Cardinality-Based Feature Models , 2011, ICSR.

[27]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[28]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[29]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[30]  Sven Apel,et al.  Refactoring Feature Modules , 2009, ICSR.

[31]  Nader Mohamed,et al.  Middleware for Wireless Sensor Networks: A Survey , 2006, 2006 1st International Conference on Communication Systems Software & Middleware.

[32]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[33]  Amy W. Apon,et al.  Middleware , 2001, 2006 ACS/IEEE International Conference on Pervasive Services.