Multi-SPLOT: Supporting Multi-user Configurations with Constraint Programming Sebastian Vel´ asquez-Guevara 1 , Gilberto Pedraza 1 , and Jaime Chavarriaga 2(B ) 1 Universidad Piloto de Colombia, Bogot´a, Colombia rlxsebas@gmail.com , gilberto-pedraza@unipiloto.edu.co 2 Universidad de los Andes, Bogot´a, Colombia ja.chavarriaga908@uniandes.edu.co Abstract. Nowadays, companies have moved from offering a single product for all their clients, to offer different customized for each one. These companies provide Configuration Systems where a user can decide and discard which features she wants in her final product. However, although almost all of these systems support individual decisions, usu- ally they do not offer an special support for decisions made by multiple users for the same product. This paper introduces Multi-SPLOT, a web- based Configuration System that supports simultaneous decisions from multiple users. This system uses off-the-shelf solvers to determine if these decisions are not conflicting among them, and to propose solutions when the decisions of an user conflict with decisions of the others. This paper shows the design of the solution and details of its implementation using Angular, Firebase and the optimization library in Google App Script. Keywords: Feature models · Configuration systems Multi-user configuration 1 Introduction Installing and configuring complex applications may take many months and involve multiple users. For instance, deploying and configuring a system such as SAP takes up an average between 6 to 12 months [8]. Diverse users, with different areas of knowledge and requirements (e.g. engineers, accountants and manufac- turing experts) must coordinate their work to achieve a successfull installation. In a Configuration Systems (a.k.a. a Configurator), users select options that they want to include and enter values for the diverse parameters required by the product. The Software checks if the user selections do not have conflicts among them, i.e. that they can be included in the product at the same time, and offers recommendations to the user if it finds some problems [7]. However, these systems usually consider all the decisions as if they were made by the c Springer Nature Switzerland AG 2018 H. Florez et al. (Eds.): ICAI 2018, CCIS 942, pp. 364–378, 2018. https://doi.org/10.1007/978-3-030-01535-0_27