{'fraction_non_alphanumeric': 0.03155672432312308, 'fraction_numerical': 0.0051483388273639765, 'mean_word_length': 5.206896551724138, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Formalization of Group Decision Making in Multi-viewpoints Design

Complex systems are typically designed collaboratively by stakeholders from different domains. This multi viewpoints paradigm promotes the separation of concerns since separate teams, from different business viewpoints, build partial models describing the system. These partial models are naturally heterogeneous. So, it is difficult to ensure their inter-model consistency if kept separately. For that, we propose a collaborative approach that combines Group Decision Making (GDM) and Model-Based Engineering (MBE). This paper highlights the GDM part of our approach and especially the concept of decision policy that enables coming up with collective decisions in group decision-making contexts.


Introduction
Complex systems are typically designed collaboratively by stakeholders from different domains. Each of these domains depicts a given view on the system (e.g., physical or software view). Thus, the design of the system as a whole requires a multi-view modeling approach in which the complexity of the system is reduced since each team focuses on a given point of view (i.e., separation of concerns principle (Aksit, 1996;France et al., 2003)).
Mechatronic systems are good examples of complex systems that involve, in their design, teams from various disciplines. Designing such a system will produce a set of partial models dealing with mechanical, electrical and computing viewpoints, etc. The main issue with this separation of concerns is the way we can ensure, for a given system, the consistency among its partial models. Furthermore, these models may evolve. So, managing them separately might cause the global system inconsistency. Some research works attempt to solve this issue by relating the viewpoints, this is called model matching, inter-model relationships, or even multi-view consistency (Nuseibeh et al., 2000;Cicchetti et al., 2019;Feldmann et al., 2019).
We put ourselves in a model based engineering context and analyze works done in this field. One of the following two limitations apply to most of the existing approaches : • The approach provides a fixed set of relationships to relate models, which could jeopardize the completeness of the produced correspondences among partial models (Zhdanova et Shvaiko, 2006;Bräuer et Lochmann, 2008;Shosha et al., 2015). Note that we consider a correspondence as a relationship that relates at least two elements.
• The approach assumes that a unique actor can perform solely the alignment, i.e., define the correspondences needed to relate models of a specific application domain. This could challenge the accuracy and validity of the produced correspondences (Bruneliere et al., 2015;Golra et al., 2016;El Hamlaoui et al., 2018).
We propose a collaborative approach to define inter-model correspondences. This approach is based on two lines of work: model alignment and group decision-making (GDM). In this paper, we focus on the GDM part of the approach. In Section 2, we summarize the proposed metamodel MMCollab, then we detail the collective decision elaboration through the instantiation of its concept GDMPattern, which we call DecisionPolicy. The implementation of DecisionPolicy is made thanks to the State and Observer patterns (Gamma, 1995) to comply with design best practices. In Section 3, we apply the proposed GDM formalization to align models of a conference management system. Section 4 presents the related work in terms of GDM modelling and formalisation. The last section concludes the paper.

CAHM Approach overview
The approach we propose, CAHM (for Collaborative Alignment of Heterogeneous Models), essentially brings together two lines of work: model alignment and GDM. The goal of CAHM is to enhance decision-making in case of heterogeneous models alignment. This approach is based on two main elements as Figure 1 shows: MMCollab and MMC.

Figure 1: Overview of the CAHM approach
MMCollab (See Section 2.2) organizes GDM knowledge by providing concepts and relationships covering proposals elaboration, decision policies definition, actors and GDM enactment. MMCollab's application context is wider than model alignment. In fact, it can be used in other fields where a GDM process is required.
The second element is the metamodel of correspondences (MMC). Its aim is to carry out relationships and their semantics in order to make them usable within a semi-automatic process for model alignment. By operating the semantics of relationships, the approach reduces the human contribution.
Two groups of users can use this approach. The first one is viewpoints designers, called local coordinators, who provide proposals (meta-correspondences, i.e., correspondences at metamodel level) and evaluate them collaboratively. The second gathers approach experts: (1) semantics experts who define the relationships that may relate models and implement their semantics and (2) GDM experts who define the characteristics of decision policies and make them accessible for use by the local coordinators.

MMCollab Overview
MMCollab, shown in Figure 2, was introduced in  and completed in (Bennani et al., 2019). It aims to formalize group decision-making processes. Here, we describe briefly its concepts since the core of this paper depends on it. Table 1 gives a summary of all MMCollab's concepts.
Collaboration is the central concept of MMCollab. It specializes the SPEM's Activity 1 and contains a set of Proposals.
A Collaboration is enacted according to a GDMPattern and a collectiveDecision is attributed to each Proposal at the end of the collaborative session.
A Collaboration requires a set of involvedUsers, including a moderator. This latter has to choose the GDMPattern to be followed in the collaboration: adoptedGDMPattern. A list of eligible decision makers (eligibleDMs) is initialized by the involvedUsers who satisfy the adoptedGDMPattern. A Proposal may be composite or elementary. An InvolvedUser that can evaluate a Proposal is called a decisionMaker. His evaluation associates an individual decision (Decision) to each proposal. Three decisions are possible: approval, reject or refinement (enumeration: AgreementKind). In case of a reject, a Comment should be given to justify the decision. In case the decisionMaker thinks an EP needs to be refined, he/she provides an AlternativeProposal (AP). The value of collectiveDecision attribute of a Proposal is determined by combinig the individual Decisions according to the adoptedGDMPattern. The products of a Collaboration are called CollaborativeWorkProduct(s), they gather the approved proposals.

DecisionPolicy from a conceptual point of view
We consider now instances of a GDMPattern, called DecisionPolicy (DP). Actually, a DP is defined by combining instances of elements that characterize a GDMPattern (i.e., ParticipationMethod and CoDecisionMethod) and by transitivity a combination of instances of elements that characterize both of them (i.e., type of participation (type), decision process (processKind), agreement threshold (threshold) and preference kind (preferenceKind)).
Five decision policies have been defined by combining these elements. They represent the commonly used policies, namely: Delegating, Taking advice, Majority deciding, Consenting together and Negotiating together as Figure 3 shows. • Delegating and Taking advice are restricted decision policies, which means that the criteria for selecting actors must be specified. Delegating can delegate the decision taking to a single person or a subset of stakeholders that satisfy the conditions of delegates' choice. Delegating can be done in one or multiple rounds. Taking advice is performed in one turn; the decision maker takes other people's advice and it is up to him alone to make the decision.
• Majority deciding is a democratic decision policy that specializes SingleElectionDP since it requires only one turn to be performed. Thus, if the fixed threshold is not reached, either the stakeholders agree with the moderator to adjust the threshold, or they re-evaluate the proposals.
• Consenting together and Negotiating together are IterativeDP, which means they may be repeated until the fixed threshold is reached. Consenting together requires a strict threshold (100% acceptance) while Negotiating together works with a lower value.
These decision policies are not frozen and can be extended according to the requirements of application contexts, by exploring the possible combinations of elements that define them. For example, the processKind and threshold for Delegating decision policy are not fixed. So, they can take every possible value and provide a decision policy similar to Majority deciding, Consenting together and Negotiating together but in a restrictive mode.
To facilitate choosing among these decision policies, we provide a descriptive manual that represent them following the widespread structuration of patterns and which correspond to the characteristics of the Pattern concept (i.e., name, intent, applications, solution, known uses, related patterns). Table 2 describes the Majority deciding policy following this structure. Intent Reach a decision that takes into account the opinions of all the stakeholders. The proposal(s) approved by the majority of the group is (are) adopted.

Applications
This pattern is to be used in case: -decision makers competencies and weights are almost equal.
-time constraints: it requires less time since it is done in a single turn.

Known uses
Single-round elections either held in face-to-face or by electronic vote.

Solution
This pattern enactment goes through five steps. First, the moderator defines the collaboration characteristics (intent and duration). Then, he/she sets the threshold and preferenceKind of the codecision method (the processKind is set to voteDirect). Afterwards, he/she notifies the actors concerned to whom he/she assigns the role decision maker. If the proposals are not already established, decision makers start by drawing up the list of proposals. Then, they express their individual preferences. At the end, a tool (or possibly the moderator) aggregates individual preferences and proposals exceeding the threshold are approved and constitute the group decision. Several proposals can be approved if they are not conflicting.

Related patterns Delegating
Majority Deciding and Delegating differ in the type of participation and the actors' weight. Delegating makes a prior choice of the involved actors while Majority deciding is democratic.

DecisionPolicy implementation using design best practices
To implement the concept DecisionPolicy, two known design patterns have been used: State and Observer (Gamma, 1995). The first one is used to characterize and implement all the states of a decision policy, while the second one is used when there is one to many relationships between objects so that if one object is modified, its dependent objects are to be notified automatically and updated.

Use of State pattern
Decision policies define how individual decisions will be aggregated. There are iterative and single-round strategies. We use the State pattern to allow the DecisionPolicy to alter its behavior when its internal state changes. The State pattern is used in computer programming to encapsulate behaviors of the same object, based on its internal state. This is a clean way for an object to change its behavior at runtime without resorting to conditional statements.
Whether the decision policy is one-round or iterative, the moderator must define the collaboration situation and choose the aggregation method, then notify the concerned decision makers and let them set the proposals and evaluate them. In case the decision policy is iterative and the threshold set by the moderator is not reached after the evaluation step (for example, 60% acceptance reached whereas the threshold set to 80%), the decision makers have to adjust the proposals until the threshold is reached. In the other case (a single-round decision policy), directly after the evaluation step, the tool or the moderator assesses whether the proposals will be approved or not. Figure 4 presents a state machine that distinguishes the common states of a decision policy from the restricted ones. Common states are states adapted to all decision policies either they are iterative or single-rounds, whereas restricted states are specific to one turn decision policies. Based on the state machine of Figure 4, we obtain the class diagram presented in Figure 5, on which the interface IProcessVote defines the potential actions of all states.

Use of Observer pattern
Observer is used to select and notify the concerned decision makers for each proposal. In fact, this pattern allows an object, called Observable in Figure 6, to maintain a list of its dependents, called observers, and automatically notifies them of any state change, usually by calling one of their methods (the update() method). The responsibility of observers is to register (and unregister) themselves on Observable (to get notified of state changes) and to update their state (synchronize their state with Observable state) when they are notified. This makes Observable and observers loosely coupled. Observable and observers have no explicit knowledge of each other. Observers can be added and removed independently at run-time.

HMCS-Collab Tool
To support collaborative model alignment, we have developed a support tool called HMCS-Collab. It is based on HMCS Tool for model matching (we use its modules MT, CMT and TT and enhance the definition of semantics relationships). Figure 7 presents the global architecture of HMCS-Collab and shows the used technologies.
HMCS-Collab is composed of five modules: • Matching Tool (MT): ensures model matching via two sub-modules: (1) Assisted Matching Tool (AMT) that allows defining correspondences at metamodel level (meta-correspondences) and (2) Refining Tool (RT) which propagates meta-correspondences to models level by generating the Cartesian product of instances of meta-elements involved in a meta-correspondence, then filtering them thanks to the semantics of their relationships. MT and CMT use Eclipse Modeling Framework (EMF 3 ) which is a modeling framework and code generation facility for building tools and other applications based on a structured data model. They both essentially use (i) Graphical Modeling Framework (GMF 4 ) for graphic editors generation, (ii) EMFCollab 5 for allowing multiple users to simultaneously edit a single EMF model, (iii) Connected Data Objects (CDO 6 ) for data persistence, and (iv) Xtext 7 for developping domainspecific languages by using a powerful grammar language.
CollabT and DMT use Eclipse Communication Framework (ECF 8 ) which is a set of frameworks for building communications into applications and services. It provides a lightweight, modular, and fully-compliant implementation of the OSGi Remote Services standard. ECF Shared Object provides basic services for creating replicated objects within a distributed container. The presence API provides services for remote file retrieval and peer-to-peer file transfer. XMPP enhances messages exchange and presence information in real time.

Illustrative example
To illustrate the GDM enactment, we conduct a part of the alignment process on a Conference Management System (CMS) (only the matching part). The collaborative matching and the CMS were presented in . We do not detail either the process nor the CMS models here, but we can say, briefly, that CMS has been designed from three points of view, leading to three heterogeneous models : • Software Design (SD) model: represents classes, their attributes and methods.
• Business Process (BP) model: describes roles, activities and products.
• Persistence (PS) model: describes a relational database with tables for data storage.
Concerning the collaborative matching process, it works at two levels. First, the actors define correspondences among elements of metamodels called meta-correspondences (MCs). Afterwards, MCs are propagated at models' level and give rise to correspondences. The matching tool MT of HMCS-Collab ensures this propagation, using the semantics of the relationship between elements defined in the metamodel of correspondences (MMC).
For this application, three Phd students from ADMIR laboratory were involved. Two of them have solid knowledge in model driven engineering. Each PhD student took the role of a local coordinator of a viewpoint model. We call these actors S D LC , BP LC and PS LC respectively for SD model, BP model and PS model. The moderator role was played by a senior designer of the team. For the CMS example, a proposal consists of a meta-correspondence. Using MMC and the viewpoints' metamodels, each local coordinator specifies the meta-element(s) involved in the meta-correspondence (i.e. meta-elements from his metamodel and the other ones) and the relationships which link them. The body of a proposal contains the meta-elements and the relationship used to relate them. It is expressed according to the following notations: • Relationship [Metamodel:metaElement ↔ Metamodel:metaElement] in case the relationship is symmetric.
• Relationship [Metamodel:metaElement → Metamodel:metaElement] in case the relationship is asymmetric. Figure 8 presents the proposals of the BP LC . The first proposal relates the concept DataObject of BP metamodel with the concept Entity of SD metamodel by a Similarity relationship. This meta-correspondence means that these two metaelements may have similar meaning. Dependency means that a concept depends on another whereas Induction is a special case of dependency where one concept implicates another.  Figure 9 summarises the proposals having S D LC (Claire) as a decision maker. In this IHM, S D LC can evaluate each proposal. He or she can either (1) approve, (2) refine or (3) reject each proposal. When she chooses to refine a proposal, she should provide an alternativeProposal and specify if it is conflictual or not with the proposal to which it is associated. This is the case for the second proposal of Figure 9. So, she has to fill in another IHM (not presented) the description of the alternativeProposal, she specifies it as Induction[BP:Task → SD:Operation] and considers it as conflictual with the second proposal of Figure 9. Since it was refined and is conflictual with the alternativeProposal, only one of them can be approved.
HMCS-Collab generates correspondences using as inputs (i) viewpoint models; (ii) the set of validated meta-correspondences (i.e. evaluated positively) and (iii) MMC. These correspondences are generated automatically from the meta-orrespondences by exploiting the semantics of their relationships through a Propagation process, i.e. a cartesian product of instances of Figure 10: CMS meta-correspondences evaluation summary meta-elements involved in an HLC (duplication) followed by a filtering according to the semantics of the relationship used in each MC. We do not detail the model of correspondences here since it is out of scope of the paper.

Related work
We limit our litterature review to approaches describing GDM knowledge since it is the main purpose of this paper.

GDM fundamentals
Group Decision Making (GDM) consists of collaborative activities that aim to develop a collective decision (also called group decision). A GDM process followes usually five steps as defined in (Belton & Pictet, 1997): (i) Define the problem and objective of GDM.
(ii) Identify problem parameters, for instance, proposals, and selection criteria. We call proposal, each solution considered by the actors to meet the objectives set for GDM. Proposals may be mutually exclusive in case of alternatives or complementary if non-conflictual. A criterion can be any type of information that makes it possible to evaluate the proposals and compare them. Criteria must be useful, independent and reliable for the given problem. There are many types of criteria: intrinsic characteristics of artifacts or processes, opinions of stakeholders, potential consequences of proposals, etc. This corresponds to qualitative criteria. A quantitative criterion is based on a utility function associating each alternative with a number indicating its expediency according to its consequences.
(iii) Establish evaluations, i.e. estimate alternatives according to all criteria.
(iv) Select decision making method. i.e., the method by which the group decision will be performed. We can classify existing methods into structured versus unstructured ones (Malavolta et al., 2014). Structured methods are comparison methods based on quantitative criteria (e.g., Analytic Hierarchy Process (AHP), Multi-Attribute Utility Theory (MAUT)), while unstructured methods are qualitative-based comparison methods (e.g., Brainstorming, ranking, SWOT).
(v) Aggregate evaluations, i.e., provide a final aggregated evaluation allowing group decision).

Criteria for state-of-the-art analysis
We devote our literature review to approaches for human group decision-making. In other words, we exclude decisionmaking approaches based on software agents that aim to assist humans in decision-making since we only consider decision-making processes performed by groups of stakeholders during decentralized and multi-view design. To analyze the existing approaches, we use some of the criteria of Saaty and Vargas (2006) and Rekha and Muccini (2014). The retained criteria concern the five following aspects: • Proposals elaboration. it concerns how proposals are defined. A good approach permits two things: identification and evolution. Identification concerns the dfinition of the set of proposals. Evolution allows the set of proposals to be extended during the GDM process.
• Management of proposals dependencies. Dependencies between proposals provide a clear vision on proposals and limit the risks of premature decisions. Different relationships may hold between proposals: specialization, conflict, composition, dependency, override, etc (Malavotla et al., 2014). In this analysis, we consider only two of them: specialization and conflict. The first one helps to express the evolution of proposals during the GDM process, and the second emphasises the incompatibilities between proposals.
• Selection between proposals. The heart of any GDM process is the indication of decision makers preferences. This aspect specifies the selection criteria supported by the approach. They can be qualitative criteria versus measurable criteria (quantifiable and previously defined). The criteria can also be weighted according to their importance, in case of qualitative criteria, the weight is associated to decision makers.
• Method of group decision. it concerns how preferences of different decision makers are taken into account. In particular, we evaluate the adaptability of the methods. A decision method is adaptable if the approach allows its customization (adjusting the acceptance thresholds for example).
• Supporting tool. This aspect concerns the existence of a tool and specifies the functionalities of the GDM process it supports.
criterion at the center of interest of the approach, ∼: criterion partially considered, -: criterion not considered at all *: our metamodel Proposals elaboration (Elaboration). The five approaches include proposals identification which favors stakeholders involvement unlike when they receive a predetermined list of proposals. For proposals evolution, two approaches out of five: Collaboro and MADISE include the evolution feature during the GDM process. This is possible in the first approach since all of its concepts (proposal, solution and comment) are subject to votes, whereas in the second approach, the attribute nature of alternative concept specifies if the alternative has evolved.
Management of proposals dependencies (Dependencies). All the studied approaches trace conflicts between proposals, either because they treat only alternatives (Rockwell et al., 2009;Chai & Liu, 2010;Kornyshova & Deneckère, 2010) or because they include specific concepts for that (Malavotla et al., 2014;Izquierdo & Cabot, 2016). Regarding the specialization relationship, it is not traced in most approaches. Only the metamodel of Malavolta includes this type of link.
Selection between proposals (Selection criteria). In Collaboro, alternatives are evaluated through stakeholders votes in order to reach consensus. Decision makers evaluate proposals based on intrinsic criteria (preferences, personal opinions). MADISE lists a set of criteria by subdividing them into subjective criteria (such as intrinsic criteria for decision makers) and quantitative criteria. The other approaches do not detail enough how the alternatives are evaluated. DMO (from the MADISE approach) and DSO permit to assign a weight to each criterion (quantitative or qualitative), while the metamodel of Malavolta allows to assign a weight only to decision makers.
Method of group decision (GDM method). DSO and Malavolta's metamodel have been designed independently of any decision-making method. They define a generic concept for the aggregation method but do not propose exploitable methods. Thus, group decision-making processes can not be enacted with these approaches as they are. Collaboro and OntoGDSS favor a consensual decision-making method developed following the stakeholders' votes. MADISE offers a list of aggregation methods that can be used in GDM processes.
Supporting tool (Tool). OntoGDSS, DSO do not provide any support tool for the decision-making process since their main interest is the construction of the taxonomy needed in group decision-making processes. The tool proposed by Malavolta's metamodel does not integrate in itself the decision methods. The tool proposed by Collaboro supports both proposals elaboration, individual preferences expression and aggregation thanks to its decision engine. MADISE provides a repository of decision-making methods which completes DMO ontology and allows to carry out decision-making situations.

Conclusion
In this paper, we first describe the conceptual formalization of group decision-making we propose. The main advantage of our approach is the description of collaborative decision making concepts and the definition of decision policies that are supported by a tool and customizable according to application contexts. Then, we define a practical approach to implement the decision policies using two well known design patterns (State and Observer). We have investigated the GDM field for a model alignment purpose but the proposed metamodel and concepts can be applicable to other group decision-making situations.
For future work, we intend to develop a recommendation system to help choosing a decision policy once the proposals and the collaboration characteristics are set. We also aim to enact MMCollab's concepts in other collaborative contexts.