Eclipse Modeling Framework
fmp and fmp2rsm: eclipse plug-ins for modeling features using model templates
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
A BDD-Based Approach to Verifying Clone-Enabled Feature Models' Constraints and Customization
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Automated Diagnosis of Product-Line Configuration Errors in Feature Models
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Reasoning about edits to feature models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Language support for managing variability in architectural models
SC'08 Proceedings of the 7th international conference on Software composition
Automated diagnosis of feature model configurations
Journal of Systems and Software
FamiWare: a family of event-based middleware for ambient intelligence
Personal and Ubiquitous Computing
Software product line evolution with cardinality-based feature models
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
Autonomic computing driven by feature models and architecture in FamiWare
ECSA'11 Proceedings of the 5th European conference on Software architecture
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Automated reasoning on feature models
CAiSE'05 Proceedings of the 17th international conference on Advanced Information Systems Engineering
Towards the development of ubiquitous middleware product lines
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Feature models, grammars, and propositional formulas
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Synchronizing cardinality-based feature models and their specializations
ECMDA-FA'05 Proceedings of the First European conference on Model Driven Architecture: foundations and Applications
Using java CSP solvers in the automated analyses of feature models
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Hi-index | 0.00 |
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.