Keywords

1 Introduction

Design for configurations is the process which generates a set of product configurations based on a configuration model. A product configuration is characterized by a set of solutions, which are designed to satisfy product functions, which in their turn, are supposed to meet customer requirements. This set of solutions should also satisfy the specific process domain constraints. Configuration starts with requirements in the domain of requirements. A customization requirement is manifested by the customer’s choice of customizable requirement. The customer perceived value of each requirement indicates the degree of customer satisfaction in the requirement domain. Simultaneously, in the process domain, a constraint is manifested by the expert’s choice of process constraint [2]. The expert perceived value of each process constraint indicates the degree of expert satisfaction in the process domain. Therefore, to satisfy customer requirements and process constraints, the mapping from requirements to the solutions as well as the mapping from process constraints to the solutions is applied. It yields a set of consensual solutions from both domains: requirements and process constraints. The consensual solutions problem is how to achieve the maximum consensus degree from a group of distributed experts for the alternative solutions, satisfying customer requirements [30]. Thus the concept of consensus is a problem of the overlapping of experts’ and customers’ perspectives influencing the design of configurable products simultaneously. Discerning the consensus nucleus can create common ground for moving towards an acceptable configuration [12]. This set of consensual solutions can be distributed in modules to form configurations [27]. Optimal configurations can be generated using some limits of acceptability for objective function values. It enables the early release of possible set of configurations [28].

Following up these phases, configurable product design must be able to deal with various unstable and imprecise requirements coming from the customers, on the one hand, and some distinct form of uncertainty such as imprecision, randomness, fuzziness, ambiguity, and incompleteness, on the other [2]. Uncertainty is thus an integral part of the design for configurations [1, 2].

Fuzzy logic offers a framework for representing uncertainty [35]. In order to capture the uncertainty aspects of design for configurations, the fuzzy sets approach can be used [2]. Design for configurations is a highly collaborative and distributed process. The properties of collaborative and distributed design for configurations are discussed in [28]. It is shown that designs for configurations are fuzzy information and knowledge-based processes. They are fuzzy interaction-based processes and their organizations are heterogeneous, dynamic, and adaptive. Designs for configurations are also fuzzy evolving systems [20]. Therefore, the use of agents, that implement the collaborative and distributed design by means of fuzzy logic, is highly recommended due to the fuzzy nature of the collaboration, distribution, interaction and design problems [12, 28]. Fuzzy agents interact between themselves to adjust their actions using their fuzzy knowledge [12]. They interpret the fuzzy information they receive or perceive. Their evolution is fuzzy [17], when they are designed to interpret fuzzy information and to adopt a fuzzy behavior [12, 28]. Fuzzy agents are also well adapted to model and to design the heterogeneity and the evolving of some organizations [9].

Thus, fuzzy agent modelling based design for configurations is an open-ended question. Indeed, fuzzy agents are currently not sufficiently formalized to support the holistic view of collaborative and distributed designs for configurations with a certain level of uncertainty. In many models of collaborative and distributed agent-based systems, an agent or a group of agents are modelled to perform only one role. Some models allow agents to change their role within their community or the defined organization. In this paper, we propose a model, where a fuzzy agent can perform several roles at any time in their community or the defined organization. The fuzzy agents can perform their roles with varying degrees. This hypothesis of fuzzy agents’ model relies on the practice of collaborative and distributed design. Usually, each actor is expert in a main discipline. Furthermore, the actors involved in product design are experienced in solution design. Thus, solution design is a shared domain.

Therefore, this paper proposes to analyze both the evolution of agents’ fuzzy roles and the change of their distribution in different communities of an organization, within a collaborative and distributed design for configurations platform. These analyses continue the work we have already done on the interactions between cognitive agents [8, 10, 11], or rather reactive agents [12, 28, 29].

The remainder of the paper is organized in five sections. In the second section, a fuzzy agent model is proposed. In the third section, the proposed fuzzy agent model is illustrated by a design for configurations case study. In this case study, firstly, a fuzzy product configuration model is presented. Then, secondly, an agentification of this model is developed, and thirdly, an analysis of fuzzy interactions and fuzzy roles agents is presented. In the fifth section, the conclusion shows some perspectives and interest in the proposed approach.

2 Fuzzy Agent Modeling

There are at present many definitions of the agent paradigm [6, 9, 15, 19, 23, 34] and several propositions of typologies [26, 31], but new types of agents are continuing to emerge [32]. Thus, fuzzy agents emerged as a tool to model fuzzy behavior problems [10], where agents can decide to act according to a fuzzy-logic rule base [5, 14]. Fuzzy agents are also used in fuzzy reasoning situations, where agents interpret a situation, solve a problem or decide with fuzzy knowledge [3, 4, 13, 16]. Implementations of fuzzy agents are also proposed to solve distributed fuzzy problems [25], or to improve the processing of the fuzziness of information, fuzziness of knowledge and fuzziness of interactions, in collaborative design processes [12, 28]. This section presents a model where agents are completely fuzzy: their knowledge and their behavior are fuzzy, their interactions are fuzzy, their roles in the agent-based system are fuzzy, and their organization in the agent-based system is also fuzzy.

2.1 Fuzzy Agent Model

An agent-based system is fuzzy if agents that make it up are fuzzy, which means that:

  • Their Knowledge and their Behaviors are Fuzzy. Knowledge of an agent is defined by fuzzy values. Behavior of an agent depends on the fuzzy evaluation of its fuzzy perceptions, its fuzzy decisions, and its fuzzy actions.

  • Their Interactions are fuzzy. Relationships between agents (affinities) are weighted by a fuzzy value. Interactions provide a relative interest to fuzzy agents based on roles that they perform at a given time.

  • Their Roles are Fuzzy. At a given time, it is possible to determine what roles a fuzzy agent performs based on fuzzy values of its roles and a threshold value setting the minimum value an agent should invest in these roles.

  • Their Organization is fuzzy. The distribution of roles performed by fuzzy agents is continually evolving. This defines self-organizing agents which is the result both of their fuzzy interactions and the continuing evolution of their roles.

Fig. 1
figure 1

Behavior of fuzzy agents, based on Rasmussen’s model

Agents developed in our different collaborative platform could perform reflex actions, routine actions, and actions in new situations (creative or cooperative) [7, 8]. Recently, we integrated fuzziness characteristics in our agent model [12, 28] (Fig. 1).

A fuzzy agent-based system is described by the following tuple (1):

$$\begin{aligned} \tilde{M}_\alpha =<\tilde{A},\tilde{I},\tilde{P},\tilde{O}> \end{aligned}$$
(1)

where \(\tilde{A},\tilde{I},\tilde{P},\) and \(\tilde{O}\), are respectively a fuzzy set of agents, a fuzzy set of interactions between fuzzy agents, a fuzzy set of roles that fuzzy agents can perform, a fuzzy set of organizations (or communities) defined for fuzzy agents of \(\tilde{A}\).

A fuzzy agent \(\tilde{\alpha }_i \in \tilde{A}\) is described by the following tuple (2):

$$\begin{aligned} \tilde{\alpha }_i =<\varPhi _{\tilde{\varPi }(\tilde{\alpha }_i )} ,\varPhi _{\tilde{\varDelta }(\tilde{\alpha }_i )} ,\varPhi _{\tilde{\varGamma }(\tilde{\alpha }_i )} ,\tilde{K}_{\tilde{\alpha }_i } > \end{aligned}$$
(2)

where \(\varPhi _{\tilde{\varPi }(\tilde{\alpha }_i )} \), \(\varPhi _{\tilde{\varDelta }(\tilde{\alpha }_i )} \) and \(\varPhi _{\tilde{\varGamma }(\tilde{\alpha }_i )} \) are respectively functions of observation, decision and action [9]. The set of fuzzy knowledge \(\tilde{K}_{\tilde{\alpha }_i } \) includes decision rules, values of domain, acquaintances, and dynamic knowledge (observed events, internal states).

2.2 Fuzzy Interaction, Fuzzy Organization, and Fuzzy Role

In agent-based systems, as in human organizations, actions, interactions and communications, are closely linked and interdependent [15]. Interaction is an exchange between agents and their environment. This exchange depends on the intrinsic properties of the world in which agents are active. Perception of agents may be passive when receiving messages/signals, or active, when it is the result of voluntary actions. Communication is an exchange between the agents themselves, using a language.

A fuzzy interaction \(\tilde{\iota }_{s,r} \in \tilde{I}\) between two fuzzy agents is defined by (3):

$$\begin{aligned} \tilde{\iota }_{s,r} =<\tilde{\alpha }_s ,\tilde{\alpha }_r ,\tilde{P}_{\tilde{\alpha }_s } ,\tilde{\gamma }_i > \end{aligned}$$
(3)

where \(\tilde{\alpha }_s \) is the fuzzy agent source of the interaction, \(\tilde{\alpha }_r \) is the fuzzy agent destination, \(\tilde{P}_{{\tilde{\alpha }}_{s}}\) is the fuzzy set of roles performed by \(\tilde{\alpha }_s \), and \(\tilde{\gamma }_i \) is a fuzzy act of cooperation. Interactions are fuzzy: the destination agent also always evaluates an interaction (fuzzy value) to determine the interest this interaction can take for it.

Problems due to the partial view of agents (local goals, interleaving activities, etc.) require the development of strong coordination mechanisms [18]. The organization shall allow an agent-based system to behave as a coherent whole, to solve a problem unequivocally. It controls and coordinates the interaction between agents of the system, thus structuring their activities with the goal of convergence. Ferber et al. [7] distinguish between “organizational structure” and “organization”, corresponding to the process of designing the structure. Wooldridge [34] proposed a more practical definition: “a collection of roles that stand in certain relationships to one another and that take part in systematic institutionalized patterns of interactions with other roles”.

From the numerous definitions of agent organization [6, 7, 15, 17, 21, 33, 34], we extracted the following properties, before interpreting them in the fuzzy field (Fig. 2a):

  • P1. An organization is partitioned into groups or communities of agents.

  • P2. A community is comprised of agents sharing a goal and characteristics.

  • P3. An agent can belong to several communities.

  • P4. An agent performs one or several roles within the community(ies) to which it belongs.

  • P5. A role is an abstract representation of a function performed by agents within one or several communities.

  • P6. An agent interacts with the agents of its community or other communities to perform its roles.

  • P7. An agent that interacts with another agent then participates in the same role as the latter (Fig. 2b).

Fig. 2
figure 2

Fuzzy agents: a organization model, b interactions and induced common roles

In a collaborative structure different roles are performed by agents. Modelling the notion of roles for the agent paradigm can take many forms (Fig. 3):

Fig. 3
figure 3

Distributions of agents in communities based on roles they perform at a given time

  • In many models of distributed agent-based systems, agents perform only one role in their community or the defined organization: the role for which they are designed. Sometimes several agents can perform the same role.

  • Some models allow agents to change their role within their community or the defined organization. At any given time, an agent will perform one role. Agents change roles at times determined by the context of problem solving or group activity. In this case, the role change corresponds to a context switch.

  • A more innovative model where agents can perform several roles at any time in their community or the defined organization. In this case, the agents perform their roles with varying degrees, which means that a role may be singled out and others are active. In this case, fuzzy set theory is well suited to modelling and designing such roles. This is the solution that we will develop in this paper.

During our experiments on collaborative and distributed design, we observed that designers were more widely involved in terms of their unique area of expertise [11, 22, 24]. This is observable in sequences of creativity, where designers perform several roles in the same sequence with greater or lesser degrees. We model this property with the theory of fuzzy sets. We also proposed that the roles of agents are considered fuzzy. An agent in this organization can have several fuzzy roles at a given time. In that case, the fuzzy set of roles performed by a fuzzy agent \(\tilde{\alpha }_i \) is defined by (4):

$$\begin{aligned} \tilde{P}\left( {\tilde{\alpha }_{i}} \right) =\left\{ {\mu _{\tilde{\rho }_1 } (\tilde{\alpha }_{i } ),\mu _{\tilde{\rho }_2 } (\tilde{\alpha }_{i } ),\ldots ,\mu _{\tilde{\rho }_q } (\tilde{\alpha }_{i } )} \right\} \end{aligned}$$
(4)

During cooperative activities, a fuzzy agent performs roles according to its knowledge and its fuzzy interactions. A fuzzy agent interacts by sending messages within its initial community (performing its main role), or within other communities (performing other roles). A fuzzy agent \(\tilde{\alpha }_i\) by interacting with a fuzzy agent \(\tilde{\alpha }_j\) of another community then participates in the same role as \(\tilde{\alpha }_j \) (5):

$$\begin{aligned} \forall \tilde{\alpha }_i \in \tilde{A}\supset [\exists x:\tilde{\rho }_x \in \tilde{P}\wedge \alpha _j \in \tilde{A}_x ,\varPhi _{\tilde{P}} (\tilde{\alpha }_j ,\tilde{\rho }_x )\wedge \tilde{\lambda }_{i,j} (\tilde{\alpha }_i ,\tilde{\alpha }_j ,\tau ,\tilde{\eta })\supset \varPhi _{\tilde{P}} (\tilde{\alpha }_i ,\tilde{\rho }_x )] \end{aligned}$$
(5)

3 Product Configuration Approach

To analyze roles of fuzzy agents within a collaborative design platform, a “chair configurable product” is chosen because of both the simplicity and accessibility of this illustration. A chair is made up of a few elements, but it can be configured in multiple ways satisfying both customer’s requirements and different experts’ process views.

3.1 Fuzzy Product Configuration Model

The configurable product design is a mapping process between product requirement view, functional view, physical solution view, process view and fuzziness of collaborative design process. We proposed a fuzzy approach for searching configuration structures [2, 28, 29]. This approach is carried out into three phases (Fig. 4a): (1) Fuzzy relationships in engineering design: the results are the different engineering design models, from requirements to solutions, necessary for the configuration of a product (the fuzzy sets \(\tilde{R},\tilde{F},\tilde{C},\tilde{S})\); (2) Searching the fuzzy set of consensual solutions: the result is a fuzzy set of consensual solutions (the fuzzy set \(\tilde{S}_c )\); and (3) Fuzzy optimal solution agents based product configuration: the results are optimal solutions (the fuzzy set \(\tilde{G})\).

Fig. 4
figure 4

a Product configuration approach, and b agent-based architecture of FAPIC platform

3.2 Agentification of the Configuration Approach

Requirements, functions, constraints and solutions are fuzzy agents, with a degree of membership in each community defined for configuration (\(\tilde{R},\tilde{F},\tilde{C},\tilde{S})\). Cooperative interaction can occur between fuzzy agents in communities of functions and solutions (intra-communities interaction), or between fuzzy agents of different communities (inter-communities interaction). A fuzzy interaction is defined by (3) and the degree of interest of a fuzzy interaction \(\mu _{\tilde{\alpha }_j } (\tilde{\iota }_{i,j} )\) for a fuzzy agent \(\tilde{\alpha }_j \) is defined by (6):

$$\begin{aligned} \mu _{\tilde{\alpha }_j } (\tilde{\iota }_{i,j} )=\min \left( {\mu _{\tilde{\alpha }_j } \left( {\tilde{\alpha }_i } \right) ,\mu _{{\tilde{\rho }}_{r}} (\tilde{\alpha }_j ),\mu _{\tilde{\rho }_r } \left( {\tilde{\alpha }_i } \right) } \right) \end{aligned}$$
(6)

where \(\mu _{\tilde{\alpha }_j } \left( {\tilde{\alpha }_i } \right) \) is the degree of affinity between \(\tilde{\alpha }_j \) and \(\tilde{\alpha }_i \), \(\mu _{\tilde{\rho }_r } \left( {\tilde{\alpha }_j } \right) \) and \(\mu _{\tilde{\rho }_r } (\tilde{\alpha }_i )\) are the membership functions of \(\tilde{\alpha }_j \) and \(\tilde{\alpha }_i \) in performing the role \(\tilde{\rho }_r \).

A fuzzy agent-based platform called FAPIC (Fuzzy Agents for Product Integrated Configuration) was developed for product configuration (Fig. 4b). In FAPIC, fuzzy agents are organized in four communities (7):

$$\begin{aligned} \tilde{A}_r \subseteq \tilde{A},\;\tilde{A}_f \subseteq \tilde{A},\;\tilde{A}_c \subseteq \tilde{A},\;\tilde{A}_s \subseteq \tilde{A} \end{aligned}$$
(7)

Each community has a clear objective, which determines the main role that fuzzy agents perform in their communities [28]. This means that each fuzzy agent belongs to a community of reference in which it plays its main role (8):

$$\begin{aligned} \forall \tilde{\alpha }\in \tilde{A}\supset [\exists x\in \left\{ {r,f,c,s} \right\} ,\;\tilde{\alpha }\in \tilde{A}_x \wedge \;\varPhi _{\tilde{P}} (\tilde{\alpha },\tilde{\rho }_x )] \end{aligned}$$
(8)

4 Illustration for a Chair Configuration

4.1 Presentation of the Case Study

This section gives a detailed illustration for the three phases of the proposed approach (Fig. 4a).

In the first phase (Fuzzy agents based systems building) communities of fuzzy agents are built. In this case study, 11 fuzzy requirement agents, 4 fuzzy function agents, 20 fuzzy solution agents, and 16 fuzzy constraint agents, are built (cf. Appendix II). Then, interactions between fuzzy agents of all communities are built.

The second phase (Searching fuzzy set of consensual solution) comprises six steps:

  • Step 1: Definition of Fuzzy Set of Requirements. The fuzzy set of requirements for a particular customer is defined. The fuzzy requirement agents observe this fuzzy set and take the corresponding fuzzy values.

  • Step 2: Emergence of Fuzzy Product Functions. It spells out functions that the configuration product will support. The fuzzy set of product function agents are computed using the fuzzy relationship between requirement agents and product function agents.

  • Step 3: Emergence of Fuzzy Set of Solutions. The fuzzy set of solutions is computed from interaction between the set of active function agents and solution agents.

  • Steps 4 and 5: Definition and Integration of Fuzzy Set of Constraints. The fuzzy constraints agents observe what the constraints of a particular process view are and they decide to take the corresponding fuzzy values.

  • Step 6: Emergence of Consensual Fuzzy set of Solutions. Fuzzy constraint agents interact with fuzzy solution agents to converge towards a consensual fuzzy set of solutions.

In the third phase (Fuzzy optimal solution for configuration), the consensual solution agents are structured into modules, through their interactions, using their affinities from the fuzzy solution agents’ structure. The fuzzy optimal solution agents represent a network of fuzzy solution agents which maximize the objective function. Results of this phase are given in Table 1. For instance, considering the fuzzy solution agent \(\tilde{s}_1 \) as solution for the class \(Cl_{1}\) (Seat, Appendix II), its optimal network is formed by the solution agents [\(\tilde{s}_1 \) - \(\tilde{s}_6 \) - \(\tilde{s}_{16} \)], with a value of objective function equal to 2.25 (Fig. 5).

Table 1 Optimal configuration: local point of view of fuzzy solution agents
Fig. 5
figure 5

Configuration: local point of view of agent \(\tilde{s}_1 \)

4.2 Analysis of Fuzzy Agents Roles

In FAPIC, the set of fuzzy roles \(\tilde{P}=\left\{ {\tilde{\rho }_r ,\tilde{\rho }_f ,\tilde{\rho }_c ,\tilde{\rho }_s } \right\} \) is defined. Then, the fuzzy set of roles an agent \(\tilde{\alpha }_{^{_i }} \) performs is defined by (9):

$$\begin{aligned} \tilde{P}(\tilde{\alpha }_{i } )=\left\{ {\mu _{\tilde{\rho }_r } (\tilde{\alpha }_{i } ),\mu _{\tilde{\rho }_f } (\tilde{\alpha }_{i } ),\mu _{\tilde{\rho }_c } (\tilde{\alpha }_{i} ),\mu _{\tilde{\rho }_s } (\tilde{\alpha }_{i } )} \right\} \end{aligned}$$
(9)

Let us consider Phase 2 of the configuration process and the fuzzy agents \(\tilde{r}_1 \), \(\tilde{f}_1 \), \(\tilde{c}_{11} \) and \(\tilde{s}_1 \) (traced agents) (Fig. 6). The fuzzy values of roles performed by an agent \(\tilde{\alpha }_i \) are calculated by the formula (10):

$$\begin{aligned} {\left( {{n_e }/{n_a }} \right) }/{\left( {\left( {{n_e }/{n_a }} \right) +1} \right) } \end{aligned}$$
(10)

where \(n\) \(_{e}\) is the number of exchanges between \(\tilde{\alpha }_i\) and agents of the community corresponding to the target role and \(n\) \(_{a}\) is the number of agents in the community corresponding to the target role.

The following steps are illustrated in Fig. 6:

  • Step 1. \(\tilde{r}_1 \) interacts with the 10 other members of the requirements community \(\tilde{R}\). At this time \(\tilde{r}_1 \) performs one role: \(\ll \) Definition of requirements \(\gg \).

  • Step 2. \(\tilde{r}_1 \) interacts with \(\tilde{f}_1 \), and participates in the role of \(\ll \) the definition of functions \(\gg \) ; then \(\tilde{f}_1 \) interacts with the 3 other members of the fuzzy functions community \(\tilde{F}\). At this time \(\tilde{f}_1 \) performs two roles: \(\ll \) Integration of requirements \(\gg \) and \(\ll \) Definition of functions \(\gg \).

  • Step 3. \(\tilde{f}_1 \) interacts with \(\tilde{s}_1 \), and participates in the role of \(\ll \) Definition of solutions \(\gg \). Then \(\tilde{s}_1 \) interacts with the 19 other members of the fuzzy solutions community \(\tilde{S}\). At this time, \(\tilde{s}_1 \) performs two roles: \(\ll \) Integration of functions \(\gg \) and \(\ll \) Definition of solutions \(\gg \).

  • Step 4. \(\tilde{c}_{11} \) interacts with the 15 other members of the constraints community \(\tilde{C}\). At this time, \(\tilde{c}_{11} \) performs one role: \(\ll \) Definition of constraints \(\gg \).

  • Step 5. \(\tilde{c}_{11} \) interacts with \(\tilde{s}_1 \), and participates in the role of \(\ll \) definition of solutions \(\gg \) ; then \(\tilde{s}_1 \) interacts with the 19 other members of the fuzzy solutions community \(\tilde{S}\). At this time, \(\tilde{s}_1 \) performs two roles: \(\ll \) Integration of constraints \(\gg \) and \(\ll \) Definition of solutions \(\gg \).

  • Step 6. \(\tilde{s}_1 \) interacts again with the 19 other members of the solutions community \(\tilde{S}\). At this time, \(\tilde{s}_1 \) performs the role: \(\ll \) Definition of consensus solutions \(\gg \).

The six tables presented in Fig. 6 show the change step by step of the fuzzy values of agents’ roles during Phase 2. These tables indicate for each step of the Phase 2 and each of the four tracks fuzzy agents \(\left( {\tilde{r}_1 ,\tilde{f}_1 ,\tilde{c}_{11}~and~\tilde{s}_1 } \right) \): (1) the number of exchanges between these fuzzy agents and other fuzzy agents of FAPIC (inter or intra-community interactions: \(\tilde{R}/\tilde{R},\tilde{R}/\tilde{F},\tilde{F}/\tilde{F},\tilde{F}/\tilde{S},\tilde{C}/\tilde{C},\tilde{C}/\tilde{S},\tilde{S}/\tilde{S})\), and (2) the fuzzy values of the different fuzzy roles performed by the fuzzy agents (a vector of fuzzy roles corresponding to \(\tilde{P}=\left\{ {\tilde{\rho }_r ,\tilde{\rho }_f ,\tilde{\rho }_c ,\tilde{\rho }_s } \right\} )\).

Fig. 6
figure 6

a Illustration of interactions of fuzzy agents \(\tilde{r}_1 ,\tilde{f}_1 ,\tilde{c}_{11} ,\tilde{s}\) during Phase 2 of configuration; and b evolution of their fuzzy roles

Finally, after a full configuration, we obtain for fuzzy agents \(\tilde{r}_1 ,\tilde{f}_1 ,\tilde{c}_{11} ,\tilde{s}\) (our track agents), the number of inter/intra-communities exchanges and the fuzzy values of roles given in the first table of the Fig. 7 (Fig. 7a).

Fig. 7
figure 7

Fuzzy values of roles: a at the end of the process, and b, c, d for three basic scenarios

The three tables presented in the figure below (Fig. 7b, c, d) show the evolving roles for three different and frequent scenarios:

  • The first scenario corresponds to the change in requirements made by the customer when the results are not fully satisfactory. The consequences of this change are: (a) the roles of requirements and functions are enhanced for fuzzy agents \(\tilde{r}_1 \) and \(\tilde{f}_1 \), and (b) the roles of functions and solutions are reinforced for fuzzy agent \(\tilde{s}_1 \).

  • The second scenario is the change of constraints by one of the expert domains (here the domain of production) after obtaining the results of the configuration and that it does not fully comply. In this case, we find that: (a) the role of constraint is enhanced for the fuzzy agent \(\tilde{c}_{11} \), and (b) the roles of constraints and solutions are reinforced for the fuzzy agent \(\tilde{s}_1 \).

  • The third scenario is the change in requirements by the customer before he has received the results of the configuration (for instance, he realizes that he has ill-defined his need, and he does not expect the outcome of configuration to change it). Then the results of this change are: (a) the roles of requirements and functions are enhanced for the fuzzy agents \(\tilde{r}_1 \) and \(\tilde{f}_1 \) in the same way as in the first scenario, and (b) only the role of function is enhanced for the fuzzy agent \(\tilde{s}_1 \) (i.e., the step 6 of phase 2 is not duplicated in this case).

Figure 8 enables the distribution and volume of activity of each community of fuzzy agents during the 6 steps of phase 2 to be visualized. This figure presents two cases: (a) without the intervention of customers or expert of the domains (Fig. 8a), and (b) with the intervention of one of the actors (Fig. 8b)—here the intervention of the customer, according to the third scenario presented above. In the latter case, the increased activity of fuzzy agents (requirements, functions and solutions agents) and their respective roles are clearly visible.

Fig. 8
figure 8

Activity of fuzzy agents during the 6 steps of Phase 2: a without change, b with change of requirements in step 3 (cf. Fig. 7d)

Let us now examine the impact of interactions on the fuzzy configuration. To do this, we will analyze the roles of fuzzy function agents during Phase 2 of configuration. The number of interactions for a fuzzy function agent with fuzzy agents of other communities is equal to [\(\tilde{R}\rightarrow 11, \tilde{F} \rightarrow 6, \tilde{C} \rightarrow 0, \tilde{S} \rightarrow 20\)]: a total of 37 interactions per fuzzy function agent during this phase. Without weighting of fuzzy interactions, we obtain for the fuzzy function agents the following set of degrees of membership of fuzzy roles: [0.5, 0.6, 0, 0.5]. With weighting of fuzzy interactions, we obtain the following set of degrees of membership of fuzzy roles: [0.89, 0.86, 0, 0.36].

The following table (Table 2) shows the results for each of the four fuzzy function agents. The preponderance of the activity of the fuzzy function agent \(\tilde{f}_1 \) (function: Support the lower-body weight) is visible in Table 2. We will now analyze the roles of fuzzy solution agents during Phase 2 of configuration. The number of interactions for a fuzzy solution agent with fuzzy agents of other communities is equal to [\(\tilde{R}\) \(\rightarrow \) 0, \(\tilde{F}\) \(\rightarrow \) 4, \(\tilde{C}\) \(\rightarrow \) 16, \(\tilde{S}\) \(\rightarrow \) 114]: a total of 134 interactions per fuzzy solution agent during this phase. Without weighting of fuzzy interactions, we obtain for the fuzzy solution agents the following set of degrees of membership of fuzzy roles: [0, 0.5, 0.5, 0.85]. With weighting of fuzzy interactions, we obtain the following set of degrees of membership of fuzzy roles: [0, 0.23, 0.48, 0.79].

The following table (Table 3) shows the results for each of the 20 fuzzy solution agents. The increased activity of fuzzy solution agents \(\tilde{s}_1 ,\tilde{s}_6 ,\tilde{s}_{16} \) is visible during Phase 2. These agents will provide the best and consensual solution to the end of phase 3; what was seen in Table 1.

Table 2 Fuzzy values of fuzzy function agent roles
Table 3 Values of fuzzy solution agent roles

This analysis shows that organizations in FAPIC platform are fuzzy evolving systems. Indeed, dynamic adaptive organizations emerge from the fuzzy interaction of heterogeneous fuzzy agents and their fuzzy roles. The analysis of the behavior of fuzzy agents during design collaborations has shown that the distribution of roles performed by fuzzy agents is continually changing. Fuzzy agents are characterized by fuzzy organizations. The last one is the result of the evolution of agents’ fuzzy roles due to their fuzzy interactions.

5 Discussion and Conclusions

This paper has presented the analysis of the evolution of multiple fuzzy roles of four communities of fuzzy agents in a collaborative design for configurations platform. Fuzzy agents have been modeled to have fuzzy knowledge and fuzzy interactions. Fuzzy agents are modeled to play multiple fuzzy roles. In addition, the resulting organizations are also fuzzy.

Fuzzy agents have been developed and used for product configuration because of their similarity to the actors’ behavior and reasoning. In the proposed agent-based FAPIC platform (Fuzzy Agents for Product Integrated Configuration), requirements, functions, solutions, process constraints are fuzzy agents grouped in four fuzzy com-munities characterized by a main fuzzy role and other secondary roles. The aim of the application described in this paper was to analyze the fuzzy behavior of fuzzy agents, particularly the analysis of the evolution of fuzzy roles and their fuzzy interactions.

Tradeoff between actor’s interventions and fuzzy agents has been considered to be an important issue. This has been extended to the tradeoff between customer intervention and fuzzy agents. The results of analysis of these tradeoffs have shown the important influence of fuzzy solution agents in the organization of the agent-based collaborative design platform. The fuzzy role of fuzzy solution agents is strongly influenced by the variations and changing of requirements and process constraints.

Another finding is the influence of sharing of knowledge between the communities of agents. The more the fuzzy agents share their knowledge, the more their fuzzy roles are complete in every domain of design for configurations. The simulation shows that fuzzy requirement agents perform well their own main role, but they do not play at all the role of fuzzy constraint agents. The same observation can be done for the role played by fuzzy constraint agents in the domain of fuzzy requirement agents. This is due to the lack of knowledge sharing between these two communities of fuzzy agents.

The influence of the degree of interactions in the design for configurations process should be outlined. The fuzzy function agents, influenced by many fuzzy requirement agents, are the most active in the design process. The simulation shows that this observation can be extended to the fuzzy solution agents. The most active fuzzy solution agents are those which create the best consensual solution. It shows that the consensus can be found principally by increasing the degree of interactions.