Collaborative and Distributed Product Configuration: An Agent-Based Approach Carlos Roberto Marques Junior [email protected] Elder José Reioli Cirilo [email protected] Motivation • The paradigm of software development based on Software Product Line (SPL) has emerged as an interesting approach to software factories. • Several benefits are achieved with the use of LPS. – Reduction in development cost; – Increase Quality; – Reduced Time-to-Market; – Reduction in maintenance effort; – Better cost estimation; – among others…. Motivation • Feature Modeling – Compact representation of all the products of an SPL in terms of features; – describes the configuration space of a system family; – Widely used to SPL representation. Motivation Problems with Product Configuration • As long as the problem domain gets bigger, the feature model becomes more complex. • Product configuration might require the participations of many stakeholders, each one with his expertise. • Unfortunately, current configuration technology is essentially single-user-based and translated in configuration decisions by the product manager. 05/11/2015 Nome do Autor © LES/PUC-Rio 5 Collaborative and Distributed Product Configuration • No pre-processing to synchronize the participation of stakeholders. • The process of configuration is dynamic. • The approach is agent-based. • The approach transfers the responsibility of reasoning about the constraints, the communication and the conflict resolution to the agents. • The agents are able to produce suggestions to make the configuration valid (in relation to the constraints of the feature model), in case some constraint was violated. 05/11/2015 Nome do Autor © LES/PUC-Rio 6 Libertas: Approach Overview Instance 2 GUI Instance 1 Model UA GUI UA PCMA Model Model UA Model GUI Instance n GUI Libertas: Architecture Overview Libertas: Graphical User Interface 05/11/2015 Nome do Autor © LES/PUC-Rio 9 Feature Model -> Constraint Satisfaction Problem Variables: vf1, vf2, vf3, vf4 e vf5 C S f1 A f2 vf1, vf2, vf3, vf4 e vf5 E {0,1} Dependency Constraints: vf4 vf5 S S S f4 f5 f4 f3 f4 Hierarchical Constraints: vf3 vf2 vf4 vf2 Feature Model Constraints: vf2 vf3 ^ vf4 Feature Model -> Constraint Satisfaction Problem Proposal • Code improvements; • Extend the feature model representation; • Optimal configuration recommendation; – Agents reason on the feature model constraints and suggest the best configuration • Documentation 05/11/2015 Nome do Autor © LES/PUC-Rio 12 References • 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. Collaborative and Distributed Product Configuration: An Agent-Based Approach Carlos Roberto Marques Junior [email protected] Elder José Reioli Cirilo [email protected]