Coupling Two Constraint-Based Systems Into an On-line Façade-layout Configurator Andrés F. Barco1 and Élise Vareilles1 and Paul Gaborit1 and Jean-Guillaume Fages2 and Michel Aldanondo1 Abstract. problem is also known as layout synthesis or space planning. A con- We present the coupling of two constraint-based environments into figuration solution is a plan which satisfies optimization criteria and an on-line support system for façade-layout configuration in the con- a set of constraints (such as geometrical, weight or resources con- text of building renovation. The configuration consist on the defi- straints) provided by users and the façade itself. As part of the prod- nition and allocation of a set of rectangular parameterizable panels uct configuration family problems, an instance of façade-layout con- over a façade surface. The coupling allows to solve two configura- figuration problem has a huge search space that depends on the size tion tasks while gaining efficiency and modularity. First, it allows of the panels and the elements on the façade, such as windows, doors to configure a set of questions relating the renovation model needed and supporting areas (see Figure 1). In consequence, to solve this to determine limits for panels’ size and panels’ weight. Second, it configuration problem, we choose to rely on a technique from artifi- allows to configure a constraint satisfaction model for each of the cial intelligence and operation research called constraint satisfaction façades to renovate. Two constraint-based systems handle the filter- problems [15, 18]. ing of incompatible values and the generation of layout plans in a web-service setup. The first service performs initial filtering to set panels’ limits, based on the questionnaire, using a constraint filter- ing engine called CoFiADe. The second service uses several façade- layout configuration algorithms, using as underlying engine the con- straint solver Choco, to generate compliant layout-plan solutions. We show that by dividing filtering and search, and by coupling the two constraint-based systems, we gain modularity and efficiently as each service focuses on their own strengths. Services executing tasks may be hosted in different network-nodes and thus may be seen as independent communicating agents. 1 Preliminaries Constraint-base façade-layout configuration. Product configu- ration refers to the task of building a target product using predefined components, respecting requirements from customers and following some rules that shape a correct configuration [26, 29]. This task have been increasingly supported by intelligent systems given the com- plexity and size of relations within a single product. For instance, configuring a computer from memories, buses, cards and so on, in- volves a large number of possibilities and solutions for the user. The possible numbers of outputs for a configuration is in relation to the number of components and relations within the product, and is in- Figure 1: A façade is a rectangular surface with supporting areas, windows versely proportional to the number of rules that restrict combinations. and doors. Layout-plans solutions made out configured rectangular panels. We call these kind of problems combinatorial problems. A particular scenario on product configuration arises from the con- text of building thermal renovation as an effort to reduce current en- Constraint satisfaction problems (CSPs) are conceived to allow the ergetic consumption levels [5, 6, 19]. Here, the problem lies on the end-user to state the logic of the computation rather than its flow. For configuration of rectangular parameterizable panels, and their attach- example, in the context of scheduling, instead stating a set of steps ing devices called fasteners, that must be allocated over the façade to avoid tasks overlapping, the user declares “for any pair of tasks surface in order to provide an insulation envelope [8, 14, 28]. The they must not overlap”. The user may do so by stating a) variables 1 Université de Toulouse, Mines d’Albi, Route de Teillet Campus Jarlard, representing elements of the problem, b) a set of potential values as- 81013 Albi Cedex 09, France, email: abarcosa@mines-albi.fr sociated to each variable and c) relations over the stated variables 2 COSLING S.A.S., 2 Rue Alfred Kastler, 44307 Nantes Cedex 03, France also known as constraints [12, 18]. Variables may have different do- 47 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria main representation such as integer or boolean, and relation among constraint propagation, i.e., executing the filtering algorithm of con- variables may be expressed in different ways such as compatibility straints, and methods for invoking search for one solution, several tables and first order formulas. Solving a CSP means finding an as- solutions or optimal ones [22]. Nonetheless, to the best of our knowl- signment of values for each variable in such a way that all constraints edge, studies focusing on constraint-based configuration involving are satisfied. filtering and search does not make clear distinction between these It turns out that constraint technology fits neatly in the constrained concepts and their implementation focuses on the search. This means nature of product configuration and layout synthesis. On one hand, that solutions exploits the capabilities of constraint solvers as black- the knowledge (constraints) that restrict possible configuration of ele- box environments, typically creating a dedicated search heuristic for ments (variables) is easily modeled under the declarative framework the problem. of constraint satisfaction problems. On the other hand, constraint- Our goal is two-fold. First, we propose an architecture that divides based configurators are able to presents different solutions to users, initial filtering and consequent search for constraint-based product often optimal, even when they do not provide all configuration pa- configuration. The architecture allow us to solve two configuration rameters leaving their preferences unknown. tasks; configure a set of questions relating the renovation model Now, for constraint-based implementations we differentiate be- needed in the renovation process and needed to determine limits for tween two related concepts: Solving a problem and filtering (narrow) panels’ size and panels’ weight and; configure a constraint satisfac- possibilities. Whereas solving a problem involves a robust inference tion problem for each of the façades to renovate. In a second time, engine and search strategies, filtering algorithms work, in essence, on we present an on-line support system, and formalize its behavior, for how to efficiently remove variable values that are restricted by the es- the problem of façade-layout configuration. The architecture, imple- tablished relations, i.e., the constraints [2, 4]. In the problem at hand mented in the on-line system, couples two different constraint-based both the filtering and the search take part; filtering to set panel’s size technological tools to gain efficiency and modularity. We use façade- and weight limits and, search in order to generate compliant layout layout configuration to illustrate our method as it is the goal of the plans. project we are into, but our results can be adapted to deal with differ- ent kind of products. Related work. Layout configuration techniques have been used The paper is divided as follows. A brief description of the indus- within different contexts and scenarios. For instance, finding solu- trial scenario and elements is presented in Section 2. In section 3, tions for room configurations [30], apartment layouts [16] and activ- we introduce details of the two configuration tasks performed by the ities within a business office [13]. Also, some tools have been im- support system. The service oriented architecture, along with details plemented using different approaches, here we name a few of them. of the constraint-services’ behavior, is presented in Section 4. In Sec- For example, in [25] Shikder et al. present a prototype for the in- tion 5, we discuss the benefits of the tasks division and coupling of teractive layout configuration of apartment buildings including de- the constraint systems. Some conclusions are drawn in Section 6. A sign information and an iterative design process. In [3] is introduced bibliography is provided at the end of the document. Wright, a constraint-based layout generation system that exploits dis- junctions of constraints to manage the possibilities on positioning 2 Renovation Modus Operandi two-dimensional objects in a two-dimensional space. Another sys- tem, Loos [9], is able to configure spaces using rectangles that can The problem at hand deals with the configuration of rectangular pan- not be overlapped but that may have holes. It uses test rules applied els and their arrangement over a façade surface. In order to start the by steps to the rectangles in order to reach a good configuration based configuration process, specific information have to be extracted from on its orientation and relation with other rectangles. The same au- a set of spatial entities. The renovation is carried out on façades that thors have developed Seed [10, 11]: A system based on Loos used are part of a given building, buildings that are part of a given block, for early stages on architectural design. The system Hegel [1] (for and blocks that are part of a given working site. Each of these spatial Heuristic Generation of Layouts) is yet another space planning tool entities have geometrical and structural properties and may have dif- that simulates human design based on experimental cases. Finally, ferent environmental conditions that must be taken into account for Medjdoub et al. presents in [17] the system Archiplan which inte- the layout-plan definition. grates geometrical and topological constraints to apartment layout Information about spatial entities is acquired by the support sys- planning. tem by means of an (JSON) input file describing all geometrical and Regardless the considerable number of applications on layout con- structural properties, and by means of a web-based questionnaire for figuration, our problem include three characteristics never considered each spatial entity in the input file. Thus, if the input file contains simultaneously: Its deals with the allocation of an unfixed number information for one working site with two blocks, each block with of rectangular panels that must not overlap, frames (existing win- one building and three façades in each building, the user answers to dows and doors) must be overlapped by one and only one panel, eleven questionnaires (one for the working site, two for the blocks, and façades have specific areas providing certain load-bearing ca- two for the buildings and six for the façades). After questionnaire pabilities that allow to attach panels. Thus, as far as we know, no completion, the lower bound and upper bound for panels’ size and support system nor design system is well-suited for addressing such panel’s weight have been deduced. Also, given that several instances particularities. Also, most systems are desktop-oriented and not web- for façades are need to be solve, at the end of the questioning stage oriented, making difficult to adapt new requirements and functional- the systems creates a constraint satisfaction model for each façade ities as they need new versions to be released. using the inputed information and the deduced limits for panels’ size and weight. Here, each constraint satisfaction model instance is pa- Contribution and structure. Traditional general purpose con- rameterized according with the façade information (e.g. environmen- straint solvers, such as Gecode [24], Choco [20] and the finite do- tal conditions) and the particular deduced panels’ limits. main module of Oz [23], make clear distinction between filtering Lets consider the information flow from the user perspective. Fig- and search [21]. These environments provide methods for invoking ure 2 presents the representative actions made by the user and the Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 48 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria responses by the on-line support system. It also illustrates the fact It is worth mentioning the consistency among the different steps: that to the end-user should be transparent all the configuration pro- Information at each level is propagated downwards and is never prop- cess. The complete sequence of the configuration goes as follows. agated upwards (we will further study this along the document). Also, of major importance is the fact that each façade may have its Step 1:- The user uploads a file containing the geometry and struc- own panels’ lower and upper bounds and thus solving a given façade tural specification of spatial entities. The support system is done with a particular set of arguments. stores information in a data base. Step 2:- The filtering service presents a questionnaire for each of the 3 Support System Configuration Tasks spatial entities in the input file. Step 3:- The user answers the questions (leaving in blank the ques- In this section we present the two configuration tasks within the sup- tions he does not know the answer). port system: The configuration of a questionnaire to be filled by the Step 4:- Using the information about spatial entities (database) and end-user and, the configuration of a constraint satisfaction model for their environmental/user conditions (user answers) the sys- each façade to renovate used as input for layout-plans generation. tem deduce lower and upper bounds for panels’ size and panels’ weight by using the filtering service. 3.1 The Questionnaire Step 5:- If a manual configuration is desired, the user draws each panel on the clients GUI. Each panel is assured to be consis- The renovation includes four spatial entities, namely, working site, tent with the problem requirements by sending its informa- block, building and façade, and some configurable components, tion to validate into the solving service (the validator mod- namely, panels and fasteners (fasteners are devices to attach panels ule). onto the façades). A hierarchical view is presented in Figure 3. Once Step 6:- If a semi-automatic configuration is desired, the user draws the input file has been read by the support system, it can proceed some panels and then asks the solving service to finish the by configuring a set of questions for each spatial entity in the file. configuration. Then, after the user answer the questionnaires, the system config- Step 7:- If an automatic configuration is desired, the user asks the ures, i.e., deduces, the limits for panels’ size and panels’ weight for solving service to provide compliant layout solutions. each façade. The questionnaires ask the following information. Working site. This is the bigger spatial division in the renovation. It is commonly referred by a name and is well-know by the com- munity. Values provided by the user are: Figure 2: Sequence diagram for on-line support system. Figure 3: Spatial entities and arguments for renovation. 49 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria • Number of blocks in the working site? Number. layout plan are limited as well as their weight. Thus, the aforemen- • Working site is in a windy region? {yes, no} tioned inputs have direct impact over configurable components and are defined by their compatibility relations. • Season in which the on-site work will take place? {summer, fall, winter, spring} • Target for cost? Euros. 3.2 One FaçAde One CSP • Target for performance? W.m−2 .K −1 One critical aspect of the support system is the ability to configure • Obstacles presence? {yes, no} a constraint satisfaction model for each façade to renovate. This is important because, first, each façade has (potentially) different size, • Accessibility to the working site? {easy, medium, hard} number of windows, supporting areas etc. Possible positions for pan- • Panel’s width (wws ) and height (hws ) lower bound? [0, ∞] els, for instance, must lie between zero and the façade width and height. Simply put, each façade has its own configuration parameters • Panel’s width (wws ) and height (hws ) upper bound? [0, ∞] used in the constrain satisfaction model and in the layout genera- • Panel’s maximum weight (wews )? [0, ∞] tion process. And second, each façade may have different accessibil- Block. Is a set of buildings which are usually attached by a common ity conditions, obstacles or even user preferences. Thus, panels’ size wall. Values provided by the user are: limits, as well as their weight, are constrained by the specific condi- tions of the façade and not only by the conditions of the working site, • Number of buildings in the block? Number. block or building. • Obstacles presence? {yes, no} When configuring these CSP instances it is important to conserve • Accessibility to the block? {easy, medium, hard} downwards consistency. Downwards consistency refers to the fact that information on higher level of the renovation are is propagated • Panel’s width (wbl ) and height (hbl ) lower bound? to the inferior levels, i.e., working site → blocks → buildings → wbl ∈ [wws , wws ] and hbl ∈ [hws , hws ] façades, but it can not propagate upwards. As an example consider • Panel’s width (wbl ) and height (hbl ) upper bound? only accessibility conditions, obstacles presence and panels’ size wbl ∈ [wws , wws ] and hbl ∈ [hws , hws ] limits, for the specification in Figure 4. • Panel’s maximum weight (webl )? [0, wews ] Building. Is the actual place where apartment are arranged and is the host of several façades. Values provided by the user are: • Number of façades in the building? Number. • Obstacles presence? {yes, no} • Accessibility to the block? {easy, medium, hard} • Panel’s width (wbg ) and height (hbg ) lower bound? wbg ∈ [wbl , wbl ] and hbg ∈ [hbl , hbl ] • Panel’s width (wbl ) and height (hbl ) upper bound? wbg ∈ [wbl , wbl ] and hbg ∈ [hbl , hbl ] • Panel’s maximum weight (webg )? [0, webl ] Façade. Maybe seen as a big wall, but is in fact a composition of Figure 4: Downwards consistency among entities. apartment along with its doors, windows and so on. Values pro- vided by the user are: • Obstacles presence? {yes, no} Note that inferior entities on the hierarchy inherit values from su- perior levels. But, it is not the case that information on superior levels • Accessibility to the block? {easy, medium, hard} should be consistent with information on inferior levels. In Figure 4, • Type of attaching device: {bottom, top, lateral} for instance, façade 1 has a hard accessibility condition and thus the upper bound for panels’ size is reduced to a given Z. This upper • Panel’s width (wf c ) and height (hf c ) lower bound? bound is not propagated upwards to the building 1; it conserves its wf c ∈ [wbg , wbg ] and hf c ∈ [hbg , hbg ] inherited value X. Consequently, façade 2 will inherit the value of • Panel’s width (wbl ) and height (hbl ) upper bound? X as no further reduction is needed for their panels configuration. wf c ∈ [wbg , wbg ] and hf c ∈ [hbg , hbg ] Naturally, it is the case that Z ⊂ X ⊂ U . Using this information a CSP is configured for each façade to renovate. • Panel’s maximum weight (wef c )? [0, webg ] This information collection has two specific goals. On the one 4 Support System Constraint Services hand, it will provide details about renovation aspects, such as the tar- geted performance, that are needed in the configuration process. On In order to divide configuration tasks we divide the support sys- the second hand, it provides upper bound for panel’s size and panel’s tem in two services that may be implemented in different servers. weight. Indeed, given the manufacturing, environmental, accessibil- In essence, information about the renovation, entered by means of ity and even weather conditions, the size of panels composing the the input file and the questionnaire, is filtered by means of the first Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 50 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria service called Filtering Service. Then, the second service called Solv- As stated previously, the initial filtering has as goal setting do- ing Service, upon user request, uses its configuration algorithms to mains for configurable components and takes spatial entities infor- provide complaint layout-plans solutions. Figure 5 presents the ar- mation and constraints to do so. In our on-line support system we chitecture of the on-line support system. use the CoFiADe [27] system to perform this filtering. Several rea- sons support our choice. First, the system is already on-line, mak- ing it usable in no time. Second, it is well conceived for supporting decision-making processes. And third, it uses efficient compatibility tables for domain pruning; applying a given compatibility table is made in constant time O(1). 4.1.2 Compatibility Knowledge Configurable components of the renovation are panels and fasteners to attach panels. Panels. Configurable by fixing their width, height, weight and posi- tion over the façade. Fasteners. Configurable by fixing its length and setting its type Figure 5: Service-based architecture for on-line configurator. {bottom, top, lateral}. The following compatibility tables, presented from Table 1 to Ta- In order to give a clear understanding on how the services works, ble 8, show the allowed combination between user’s input values and let us describe the input and output in a formal way. For each of configurable components values. the services the input is a tuple of the form hSPEC, V, D(V), C(V )i with |V|= |D(V)| and 4.2 Solving Services • SPEC = hWS, BK, BG, F ACi; WS variables describing the 4.2.1 Search working site, BK variables describing blocks, BG variables de- scribing buildings and FAC variables describing façades. The second service in the support system is in charge of layout-plans • V = hP, F Ai; P variables describing a single panel and FA generation. The system uses several algorithms to generate layout variables describing a single fastener. plans but, although their behavior are quite different, their semantic • D(V) = hD(P), D(F A), i; domain for each one of the variables remains the same. in V. Now, while information of SPEC and V are the same as the fil- • C(V) a set of constraints over variables in V. tering services, it is not the case for domains and constraints. To dif- ferentiate them lest call the input domains Ds (V) and the constraints Information in SPEC describes only properties of the spatial en- Cs (V). Intuitively, variable domains Ds (V) are provided by the map- tities such as the number, sizes, positions, etc. Variables in V and ping of the filtering service, i.e., D(V), on the other hand, are manufacturer depended and includes size and position of panels and fasteners, and the initial domains M(SPEC, V, D(V), Cf (V)) = D0 (V) = Ds (V) (2) which depends on the manufacturing process. Constraint in C(V) are extracted from the problem domain by an expert and are different in where D(V) is the initial variable domain of the problem. Con- each service. straints in Cs (V) are expressed as first order formulas and express, not compatibility among elements but, requirements for valid layout plans (see next section for a description of these constraints). Both 4.1 Filtering Service resolution approaches implemented at the solving service respect all constraints; the first approach resolving conflicts at positioning each 4.1.1 Mapping panel (greedy fashion) whereas the second approach uses the open The filtering service is in charge of removing domain values from constraint programming environment Choco [20] to explore the so- elements in D(V) that are not allowed by the established constraints. lution space. Here, constraints C(V) describe valid combination among different The output of the server’s process is a set of layout-plan solutions. parameters in SPEC and variables in D(V). We denote this set of Formally, the server’s process is a function of the form constraints Cf (V) to distinguish them from the ones used on the solv- ing service. These constraints are formalized as compatibility tables (presented in next section). Formally, the filtering is a mapping M F(SPEC, V, Ds (V), Cs (V), H) = hX , Y, DX , DYi (3) from variables and domains to domains where X and Y represent the origin of coordinates for each panel M(SPEC, V, D(V), Cf (V)) → D (V) 0 (1) in the solution, and DX and DY the width and height, respectively, for each panel in the solution. Additionally, the function is parameter- 0 The result D (V) contains the new domain for panels and fasten- ized by an heuristic H stating the way the solution space is explored. ers, where D0 (V) ⊆ D(V). Available strategies are greedy and depth-first search. 51 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria Table 7: Relation C7 between panel’s weight and fasteners’ positions. C7 Weight Position Fasteners < 500 ∅ Table 1: Relation C1 between environmental conditions of spatial entities and [500,1000] {top,bottom} panel’s size, where α and β are upper-bounds for panel’s width and height, >1000 bottom respectively, when constrained by environmental conditions. Table 8: Relation C8 between fasteners’ position and number of fasteners. C1 Wind Panel’s size yes (wp ≤ α) ∧ (hp ≤ β) C8 no ∅ Position fasteners # fasteners {top,bottom} [2,4,6] laterals [4,6] Table 2: Relation C2 season that on-site work will take place and and panel’s size, where θ and τ are upper-bounds for panel’s width and height, respec- 4.2.2 Layout knowledge tively, when constrained by the season. Let F denote the set of frames and S the set of supporting areas. Let C2 oe.d and le.d denote the origin and length, respectively, of a given Season Panel’s size entity e in the dimension d, with d ∈ [1, 2]. For instance, of r.1 de- Summer ∨ Spring ∅ notes the origin in the horizontal axis and lf r.1 denotes the width of Fall ∨ Winter (wp ≤ θ) ∧ (hp ≤ τ ) frame f r. Additionally, lbd and ubd denote the length lower bound and length upper bound, respectively, in dimension d for all panels. Table 3: Relation C3 between obstacles in spatial entities and panel’s size, Each panel is described by its origin point w.r.t. the façade origin where φ and σ are upper-bounds for panel’s width and height, respectively, and its size. For convenience, lets assume that P is the set of panels when constrained by the presence of obstacles. composing the layout-plan solution. Then, each p ∈ P is defined by C3 ho, li where Obstacles Panel’s size yes (wp ≤ φ) ∧ (hp ≤ σ) • op.d ∈ [0, of ac.d ] is the origin of panel p in dimension d. no ∅ • lp.d ∈ [lbp.d , ubp.d ] is the length of panel p in dimension d. Table 4: Relation C4 between accessibility of spatial entities and panel’s size, The following six constraints express the relations among panels, where λ and π are upper-bounds for panel’s width and height, respectively, and panels and façade that must respect a layout solution. when constrained by medium level accessibility conditions, and Λ and Π are upper-bounds for panel’s width and height, respectively, when constrained by (a) Manufacturing and transportation limitations constrain panel’s hard level accessibility conditions. size with a give upper bound ub in one or both dimensions. C4 ∀p ∈ P lp.d ≤ ubd Accessibility Panel’s dimensions easy ∅ (b) (diffN) For two given panels p and q there is at least one dimension medium (wp ≤ λ) ∧ (hp ≤ π) where their projections do not overlap. hard (wp ≤ Λ) ∧ (hp ≤ Π) ∀p ∈ P, ∀q ∈ P, p 6= q, ∃d ∈ [1, 2] | Table 5: Relation C5 between renovation cost and panel’s insulation: It illus- op.d ≥ oq.d + lq.d ∨ oq.d ≥ op.d + lp.d trates the fact that the quality of the insulation depends on the user budget. (c) A given panel p must either be at the façade edge or ensure that C5 enough space is left to fix another panel. Cost Panel’s insulation < 50000 low ∀p ∈ P op.d + lp.d ≤ lf ac.d − lbk ∨ op.d + lp.d = lf ac.d [50000,100000] medium ≥ 100000 high (d) Each frame over the façade must be completely overlapped by one and only one panel. Additionally, frames’ borders and pan- Table 6: Relation C6 between desired performance and panel’s insulation: els’ borders must be separated by a minimum distance denoted by It illustrates the fact that the quality of the insulation depends on the desired ∆. final energetic performance. ∀f ∈ F, ∃p ∈ P | C6 op.d + ∆ ≤ of.d ∧ of.d + lf.d ≤ op.d + lp.d + ∆ Performance Panel’s insulation < 25 high (e) The entire façade surface must be covered with panels. [25,50] medium ≥ 50 P Q Q low i∈P d∈[1,2] (oi.2 + li.2 ) = d∈[1,2] lf ac.d (f) Panels’ corners must be matched with supporting areas in order to be properly attached onto the façade. ∀p ∈ P, ∃s ∈ S | os.d ≤ op.d ∨ op.d + lp.d ≤ os.d + ls.d Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 52 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria 5 (De)Coupling Benefits 5. Show that consistency and integrity of solutions are straightfor- ward modeled and implemented thanks to the monotonic proper- In order to efficiently couple two constraint-based systems it is nec- ties of constraint satisfaction problems. essary to assign disjoint tasks for them. In our approach, we divide 6. Show that the underlying coupling and communication methods initial filtering and solving in two different services. Benefits for this are transparent for the user (it only interacts with a friendly web- tasks division are rather simple. based interface). On the one hand we apply the well-known principle Divide and conquer. In our on-line system this principle allow us to add or re- This work is part of a project on buildings thermal renovation as- move variables, domains and questions in the filtering service, i.e., by sisted by intelligent systems. A configuration problem arise in this means of adding or removing compatibility tables. In addition, as we context: Configuring a specific set of rectangular panels with respect use CoFiADe, we may mix different variable representation as in- to create a building envelope. As the industrial scenario evolves the teger domains, continuous domains and symbolic domains whereas support system must be able to adapt to new requirements. Thus, in most constraint systems mixing variable domains is not allowed strategic directions for our work are three-fold. On the one hand, im- or is not efficient enough. For instance, given the reduced number prove each service by adding new constraints. On the second hand, of constraints for continuous domains in Choco, the representation definition of an API that allow us to replace the underlying processes have to be changed to integer domains which in consequence involve in each service without loosing solutions. For instance, the solving additional and time consuming efforts. service may be replaced by the same implementation of the model On the other hand, as a benefit of tasks division, we improve per- but using a different constraint solver (e.g., Gecode [24], ILOG formance by avoiding the use of binary equalities and binary inequal- CPLEX CP [7]). We consider that a good support system must be ities constraints whose computational time is O(n ∗ m), where n robust enough to allow such adaptations. Finally, a consistent bench- and m are the number of values in the domain of the two variables mark must be carried on in order to compare the performance when involved in the constraint. Thus, at the moment of finding solutions, dividing configuration tasks and when they are executed by the same the underlying constraint solver, in our case Choco, propagates and service/constraint system. applies search using only those constraints defining a layout plan. Regarding the performance the two configuration tasks must be studied separately. As commented before, applying a given compat- ACKNOWLEDGEMENTS ibility table in the filtering service is made in constant time. Thus, the time involved in the filtering service depends on the question- The authors wish to acknowledge the TBC Générateur d’Innovation naire that depends on the number of buildings, facades and so on. company, the Millet and SyBois companies and all partners in the On the solving service, by contrast, the performance depends on the CRIBA project, for their contributions on recollecting buildings ren- underlying filtering and search provided by Choco. Execution over ovation information. Special thanks to the referees for their com- façades with size 40 × 10 meters, 50 × 12 meters and 60 × 15 meters ments and to Philippe Chantry from École des Mines d’Albi for his takes between one and two seconds. The use of a dedicated heuristic contribution to the on-line system graphical interface and additional that exploits the problem structure allows to reach such good perfor- abstractions. mance. The decoupling of tasks, and coupling of two constraint-based sys- REFERENCES tems, is supported by the underlying declarative model. Indeed, the monotonic properties of constraint-based systems make it possible [1] Ö. Akin, B. Dave, and S. Pithavadian, ‘Heuristic generation of layouts to add information (constraints) on one system without loosing any (hegel): based on a paradigm for problem structuring’, Environment and Planning B: Planning and Design, 19(1), pp. 33 – 59, (1992). solution on the other system. Thus, the declarative view of constraint [2] R. Barták, ‘Constraint Programming: In Pursuit of the Holy Grail’, in satisfaction make it possible to handle services as independent com- Proceedings of the Week of Doctoral Students (WDS), (June 1999). munication agents. [3] Can A. Baykan and Mark S. Fox, ‘Artificial intelligence in engineering design (volume i)’, chapter WRIGHT: A Constraint Based Spatial Lay- out System, 395–432, Academic Press Professional, Inc., San Diego, 6 Conclusions CA, USA, (1992). [4] S. C. Brailsford, C. N. Potts, and B. M. Smith, ‘Constraint satisfaction The aim of this paper has been to introduce an architecture of problems: Algorithms and applications’, European Journal of Opera- constraint-based product configuration that couples two constraint- tional Research, 119(3), pp. 557 – 581, (1999). based systems. We have presented an architecture that divided initial [5] The Energy Conservation Center, Energy Conservation Handbook, The variable domain filtering and search space exploration. The method Energy Conservation Center, Japan, 2011. [6] U.S. Green Building Council, New Construction Reference Guide, divide and conquer allow us to make straightforward adaptations to 2013. each service separately. Our approach have been applied to façade- [7] IBM IBM ILOG CPLEX. Ibm ilog cplex optimization studio cp opti- layout configuration and implemented in an on-line support system. mizer users manual, 2014. For this particular scenario we have [8] M. Falcon and F. Fontanili, ‘Process modelling of industrialized ther- mal renovation of apartment buildings’, eWork and eBusiness in Archi- 1. Formalize each service behavior and the relation among them. tecture, Engineering and Construction, 363–368, (2010). [9] U. Flemming, ‘Knowledge representation and acquisition in the LOOS 2. Presented the constraints, expressed in compatibility tables and system’, Building and Environment, 25(3), 209 – 219, (1990). carried out by the CoFiADe system, for initial filtering. [10] U. Flemming, C.A. Baykan, R.F. Coyne, and M.S. Fox, ‘Hierarchi- 3. Presented the constraints, expressed as first order formulae and cal generate-and-test vs constraint-directed search’, in Artificial Intel- carried out by Choco constraint programming environment, that ligence in Design ’92, eds., J.S. Gero and Fay Sudweeks, 817–838, Springer Netherlands, (1992). are used to generate compliant layout solutions. [11] U. Flemming and R. Woodbury, ‘Software environment to support early 4. Show how to solve the configuration tasks by coupling the two phases in building design (seed): Overview’, Journal of Architectural constraint-based systems. Engineering, 1(4), 147–152, (1995). 53 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria [12] Esther Gelle and Rainer Weigel, ‘Interactive configuration based on incremental constraint satisfaction’, in IFIP TC5/WG 5.2 Workshop Series Knowledge-Intensive CAD, pp. 117–126, Helsinki, Finland, (1995). [13] M. M. D. Hassan, G. L. Hogg, and D. R. Smith, ‘Shape: A construc- tion algorithm for area placement evaluation’, International Journal of Production Research, 24(5), pp. 1283–1295, (1986). [14] Bjrn Petter Jelle, ‘Traditional, state-of-the-art and future thermal build- ing insulation materials and solutions - properties, requirements and possibilities’, Energy and Buildings, 43(10), 2549 – 2563, (2011). [15] U. Junker, Configuration., Chapter 24 of Handbook of Constraint Pro- gramming (Foundations of Artificial Intelligence). Elsevier Science Inc., New York, NY, USA, 2006. [16] K.J. Lee, H.W. Kim, J.K. Lee, and T.H. Kim, ‘Case-and constraint- based project planning for apartment construction.’, AI Magazine, 19(1), pp. 13–24, (1998). [17] B. Medjdoub and B. Yannou, ‘Separating topology and geometry in space planning’, Computer-Aided Design, 32(1), 39 – 61, (2000). [18] U. Montanari, ‘Networks of constraints: Fundamental properties and applications to picture processing’, Information Sciences, 7(0), 95 – 132, (1974). [19] L. Pérez-Lombard, J. Ortiz, and C. Pout, ‘A review on buildings en- ergy consumption information’, Energy and Buildings, 40(3), 394 – 398, (2008). [20] C. Prud’homme and JG. Fages, ‘An introduction to choco 3.0 an open source java constraint programming library’, in CP Solvers: Modeling, Applications, Integration, and Standardization. International work- shop., Uppsala Sweden, (2013). [21] Christian Schulte, Programming Constraint Services, volume 2302 of Lecture Notes in Artificial Intelligence, Springer-Verlag, 2002. [22] Christian Schulte and Mats Carlsson, ‘Finite domain constraint pro- gramming systems’, Handbook of constraint programming, 495–526, (2006). [23] Christian Schulte and Gert Smolka. Finite domain constraint program- ming in oz. a tutorial., 2000. [24] Christian Schulte, Guido Tack, and Mikael Z. Lagerkvist. Modeling and programming with gecode, 2010. [25] S Shikder, A Price, and M Mourshed, ‘Interactive constraint-based space layout planning’, W070-Special Track 18th CIB World Building Congress May 2010 Salford, United Kingdom, 112, (2010). [26] Timo Soininen, Juha Tiihonen, Tomi Männistö, and Reijo Sulonen, ‘To- wards a general ontology of configuration’, Artif. Intell. Eng. Des. Anal. Manuf., 12(4), 357–372, (September 1998). [27] Élise Vareilles. Paul Gaborit. Michel Aldanondo. Sabinne Carbon- nel. Laurent Steffan, ‘Cofiade constraints filtering for aiding design’, in Actes des neuviemes Journées Francophones de Programmation par Contraintes, Toulouse France, (2012). [28] E. Vareilles, A. F. Barco, M. Falcon, M. Aldanondo, and P. Gaborit, ‘Configuration of high performance apartment buildings renovation: a constraint based approach’, in Conference of Industrial Engineering and Engineering Management (IEEM). IEEE., (2013). [29] Dong Yang, Ming Dong, and Rui Miao, ‘Development of a product con- figuration system with an ontology-based approach’, Computer-Aided Design, 40(8), 863 – 878, (2008). [30] M. Zawidzki, K. Tateyama, and I. Nishikawa, ‘The constraints satis- faction problem approach in the design of an architectural functional layout’, Engineering Optimization, 43(9), pp. 943–966, (2011). Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 54 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria