A Multi-Agent Approach to Product Configuration Carlos Roberto Marques Junior [email protected] Staged Configuration • A Feature Model describes the configuration space of a system family. • The process of specifying a family member may be performed in stages. • In each stage, some configuration choices are done. Resulting in a subset of the initial Feature Model • This Process is called Staged Configuration. 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 2 Configuration vs. Specialization • Configuration – consists of the features that were selected according to the variability constraints defined by the feature diagram. – The relationship between a feature diagram and a configuration is comparable to the one between a class and its instance in object-oriented programming. • Specialization – is a process to transform a feature diagram and yields another feature diagram, such that this last diagram denotes a set of configurations that is a subset of the first one. – A fully specialized feature model denotes only one configuration. 11/5/2015 Carlos Roberto Marques Junior © LES/PUC-Rio 3 Staged Configuration • The need for staged configuration arises in at least three contexts: – Software Supply Chains; – Optimization; – Policy Standards 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 4 Software Supply Chain 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 5 Optimization • Staged configuration offers an opportunity to perform optimizations based on partial evaluation. • When certain configuration information becomes available at some stage and it remains unchanged thereafter, the software can be optimized. • For example, configuration information available at compiletime can be used to eliminated unused code. • Optimizations are especially interesting for embedded software and software that need to be distributed through a network connection. 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 6 Policy Standards 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 7 Feature Model with Decision Sets e Roles 11/5/2015 Carlos Roberto Marques Junior © LES/PUC-Rio 8 Proposal • Use a Multi-Agents approach to help the stakeholders to configure the feature model. • Study techniques to resolve conflicts where there is some dependencies between features. • Extend the work from static configuration to dynamic reconfiguration. 11/5/2015 Nome do Autor © LES/PUC-Rio 9 Proposal Referências • Czarnecki, K., Helsen, S. & Eisenecker, U. (2004b), Staged configuration using feature models, in R. L. Nord, ed., ‘Proceedings of the Third Software Product-Line Conference (SPLC 2004), Boston, MA, USA, August/September 2004’, Vol. 3154 of Lecture Notes in Computer Science, Springer-Verlag. • K. Czarnecki, S. Helsen, and U. Eisenecker. Staged configuration through specialization and multi-level configuration of feature models. Software Process Improvement and Practice, 10(2):143–169, 2005. • M. Mendonca, D. D. Cowan, T. Oliveira, A Process-Centric Approach for Coordinating Product Configuration Decisions, HICSS, p. 283a, 2007. • Mendonca, M., Oliveira, T., Cowan, D.D.: Collaborative Product Configuration in Software Product Lines – Formalization and Dependency Analysis, Journal of Software, ISSN 1796-217X, vol. 3, issue 2, pp. 69-82, February 2008. 15/09/2009 Carlos Roberto Marques Junior © LES/PUC-Rio 11 A Multi-Agent Approach to Product Configuration Carlos Roberto Marques Junior [email protected]