Full text
Formalization of the AGR model using the DD-LOTOS Formal Language Samra Sabeg1, Toufik Messaoud Maarouk2, and Mohammed El Habib Souidi3 1Department of Computer Science, University of Khenchela, [email protected] 2Department of Computer Science, University of Khenchela, [email protected] 3Department of Computer Science, University of Khenchela, [email protected] Abstract Agent/Group/Role (AGR) is a minimal, generic and concise organizational model in multi-agent systems used for designing and analysing the organization centred multi-agent systems (OCMAS). The AGR model views multi-agent systems from an organizational perspective and presents a set of general principles for designing true OCMAS. It consists on three main concepts that are agent, group and role. Nevertheless, a significant challenge with this model arises from the presence of multiple interpretations of the AGR model. This issue stems from its ambiguous and informal definition. Numerous studies have suggested formalizing the AGR model through the utilization of formal languages, including Category Theory, process algebras, the rewriting logic language (Maude), and others. The main objective of this article is to formalize the AGR model using the formal language DD-LOTOS. Because the DD-LOTOS language is defined with a maximality semantics (semantics of true parallelism) and enables the support of temporal constraints and distribution, we subsequently suggest the verification of specific properties using the UPPAAL model checker. This approach is validated using the supply chain management case study. Keywords: MULTI-AGENT SYSTEMS, ORGANIZATIONAL MODEL, MAXIMALITY SEMANTICS, DD-LOTOS. 1 Introduction Multi-agent systems (MASs), specifically organizational models, represent a suitable paradigm for developing modern applications that are distributed, open, and dynamic [19]. They are applied in several areas such as system transport, e-commerce, communication, robotics, e-learning, simulations, artificial life, virtual reality, etc. [35]. Developing these systems necessitates exploring the analysis methods. Two points of view are distinguished in MAS technology [7]. The first one is the classical agentoriented multi-agent systems (ACMAS) that focus on agents’ behaviours. In this type, the developer interests in the behaviours of agents and their interactions without interesting the global system’ structure. The agent organizations are not a prerequisite; instead, it emerges implicitly as a collective behaviour resulting from the cooperative pattern among agents (emergent phenomena) [31]. The primary challenges associated with the ACMAS perspective revolve around unpredictability and uncertainty. Consequently, this approach may not be appropriate for designing and engineering complex multi-agent systems because it can give rise to undesirable emergent behaviours that might impact system performance [37]. Recently, there has been a notable interest in incorporating organizational concepts within MAS that play a significant role, such as ’functions,’ ’groups,’ ’communities,’ ’organizations,’ ’roles,’ etc. [8][21][38][40]. We will talk about the second perspective in MAS engineering second perspective, known as ’organization-centred multi-agent systems’(OCMAS). The second perspective in MAS engineering is referred to as organization-centred MAS (OCMAS), wherein the system’s structure receives greater attention through the explicit abstraction of agent organization. With this strategy, the designer is responsible for designing both the entire organization and coordination patterns on one side, and the local behaviours of agents on the other side. In this design paradigm, the agents within the organization possess awareness of the structure and state of the system. This capability empowers them to manipulate primitives with the aim of modifying their social environment [20]. Considering multi-agent systems in terms of organizational design differs from the agent-centred perspective. An organization-oriented Multi-Agent System (MAS) is no longer based on mental states 225
but only on organizational concepts such as roles, groups, tasks, and interaction protocols. This means that it is possible to design frameworks for organizations where agents with different cognitive abilities can interact. Several organizational models for multi-agent systems have been used for modelling coordination such as AGR [9], AGRE [10] , MOISE [11], AGRMF [36], and others. They are based on social structures and organizational concepts to solve the problem of language heterogeneity. The AGR model is one of the familiar organizational model adopted in modelling and analysing organization centred multi-agent systems. Via its fundamental concepts, the AGR model provides an intuitive approach to modelling complex, heterogeneous, and open systems. The AGR model defines an organization as a structure of activities, where interactions are based on the notions, roles, and relations of group agents. This model focuses on defining the structure of an organization, including both groups and roles and does not deal with the architecture of the agent. Rather, it emphasizes the function of each agent within the organization and their respective roles [8]. Despite its widespread use in MAS, the AGR model suffers from the lack of rigorous semantics for its diagrams. However, this lack of precise definition can readily lead to imprecisions and misconceptions that might hinder the analysis of the model, and also the development of valid systems. Thus, there is a keen interest in proposing a precise semantics to eliminate all ambiguities associated with this model. Many studies have addressed the formalization issue of organizational model. They rely on formal methods to design and analyse organizational systems, such as process algebras [14], rewriting logic and Maude [23], and Category Theory [2]. In our previous work [32], we are proposed a new formal multi-agent organization based on the DD-LOTOS language. We have chosen this language compared to existing languages because: firstly, it support the distributed aspect. Secondly, the DD-LOTOS language is based on a semantics of true concurrency (maximality semantics) [34]. Thirdly, it supports the temporal constraints, such as urgency of actions that permits verifying quantitative properties. In this study, we put forth the formalization of the AGR model using the DD-LOTS specification. After generating the specification, we can formally verify specific properties, such as deadlock, utilizing the UPPAAL model checker. The formal verification approach is detailed in [28]. The rest of this paper is structured as follows: We investigate related work in Section 2. Then, we present the organization and their features, organizational models and the DD-LOTOS formal language in Section 3. We focus in Section 4 on interpreting of AGR model into DD-LOTOS language. Section 5 presents the automation of the proposed approach. The case study is illustrated in Section 6. Finally, we end the document with a conclusion and future work. 2 Related work Recently, studies have focused on formalizing organizational models. Despite the AGR model becoming a standard in multi-agent systems modelling, it faces challenges due to a lack of formal semantics, resulting in issues of inconsistency and ambiguity in models. In this context, [23] put forward formal semantics to furnish rigorous specifications for the behaviour of organizational models centred on multi-agent systems rooted in multi-agent systems, permitting users to verify their correctness. The authors employed a rewriting logic language known as Maude to formally specify Agent-Group-Role. This formalization brings additional advantages, including the capability to simulate the specifications and provide access to the Maude toolkit for reasoning purposes. They demonstrated their approach using a Supply Chain Management (SCM) case study. [2] paper employs category theory to construct organizational multi-agent systems. The use of category theory involves the study of collective phenomena in human societies and the formalization of organizations to grasp their logic within categorical models. Subsequently, these captured models are categorically mapped to organizational models. The approach enables analysing properties in obtained MAS organizational models, such as adaptation and stability, before utilizing them as foundations for developing organizational systems. [6] provides a solution based on category theory to model, analyse, and verify organizations’ properties, especially those of Multi-Agent Systems (MASs). They have used category theory to categorically study the organizations’ logic. In other words, their approach transforms the Agent-Group-Role (AGR) organizational model into a categorical model to get a formal model representing the MAS organization. The resulting formal model permits the analysis, verification, and validation of the principal properties of an organization. 226
[14] present a formal approach based on organizational concepts to harness these models and enhance their re-usability. The formal notation is achieved through the combination of Object-Z and state-charts. Transition systems define the semantics of this multi-formalism, enabling the validation and verification of specifications. We illustrate this approach by specifying the satisfaction-altruism model, which has been employed in the design of situated multi-agent systems. The existence of such generic models serves as a fundamental foundation for reuse. Additionally, we demonstrate how to analyse the specification through validation and verification. In [13], the authors introduced a generic approach applicable to multi-agent systems. Their approach requires the MAS to be described by an organizational model, with semantics specified within a formal framework. The resulting model facilitates a straightforward description of individual and collective aspects of multi-agent systems. They employ a framework based on a multi-formalism approach to provide a formal description of their model, illustrating the approach through a case study. 3 Background 3.1 Features of Organizations According to Jennings and Wooldridge [12], an organization is a group of roles that have specific relationships with each other and are involved in organized patterns of interactions with other roles. Based on this definition, we can identify the principal features of organizations. An organization is made up of individuals who exhibit certain behaviours. The organization can be divided into partition groups, which may overlap. The behaviours of individuals are related to the overall activity of the organization. Individuals engage in dynamic relationships, (patterns of activities). The various types of behaviours are linked through relationships between roles. 3.2 Encouragements to MAS Organization Multi-Agent System, is a group of agents that operate within a specific environment. These agents must adapt to changes in their environment, communicate and cooperate with other agents, and work towards achieving their objectives or the system’s objectives. The OCMAS perspective has been advocated in the field of multi-agent systems (MAS) research by many pioneers. For example, Jennings and Wooldridge [20] noted that MAS is a valuable contribution to the Software Engineering (SE) discipline as it simplifies the design of complex software systems. However, it is important to note that thinking MAS with no real structure is not appropriate for handling the complexity of current software systems. Thus, the abstraction level must be used, and structuring the community is generally required to decrease system complexity, and improve system efficiency. In their work, Gutknecht and Ferber [9] claimed that one of the major issues for creating large and complex systems is to treat organizational concepts (such as groups, structures, roles, and dependencies) as first-class concepts and to relate them to the agents’ behaviour. According to Ferber [9], defining a multi-agent system as an organization in which agents are grouped and play specific roles to address challenges posed by system uncertainty, complexity, and dynamism. Furthermore, Horling [16] noted that the use of organizational concepts within MAS, such as roles, groups of agents, and communities can improve systems efficiency and scalability and reduce its complexity. An organizational structure defines how agents should interact in a system, facilitates coordination among agents in a MAS [4], and limits the scope of interactions. Moreover, H¨ubner [17] proved that organizations tune the agent’s autonomy level and furnish a framework to manage and structure agents’ interactions. Figure 1shows a MAS from two levels, the lower agents’ level (individual level) and organizational level (higher order abstraction). The development of a multi-agent system (MAS) can be approached from an organization-centred perspective. This involves defining a set of constraints that agents in the group can adopt to fulfil their goals more efficiently. These constraints are referred to as an organizational model. With an organizational model, the MAS can guarantee a certain level of efficacy and efficiency as the model controls the agents’ behaviour and establishes a coordination mechanism [30]. Later section examines various proposed models for MAS organizations. 227
Figure 1: From individual level to organizational level in MAS 3.3 General Principles of Organizational Systems In [9], Ferber presented the general principles from which organizational multi-agent systems can be approached for design and analysis are: No assumptions are made about the nature of roles of agents or groups; the formalism is entirely generic. Groups and roles constitute defined entities from the conceptual to the operational level. Modularity is reinforced by the fact that different roles within a group structure can be assumed independently. The assumption of multiple roles by an agent in different groups is allowed. Groups can thus overlap. The structuring induced by groups and roles provides an initial level of explicitness. The nature of the content of roles is not specified. 3.4 Organizational Models Recently, organizational models have been adopted to model coordination in complex systems [3]. They should ensure the capacity of organizations to dynamically reorganize in response to dynamic changes and how efficiently and effectively organizations carry out their tasks. In addition, the objective of an organizational model is to improve the design and analysis of MAS, thus, it’s often incorporated with a particular software engineering methodology. In the literature, there are numerous proposed organizational models for multi-agent systems (MAS). Each model approaches the organization of MAS from a different perspective. Some models utilize the agent based MAS viewpoint, while others utilize the organization based MAS viewpoint. There are also some hybrid models that incorporate both the agent based MAS and organization based MAS viewpoints. The next section explores some of the standard organizational models proposed to model complex MAS. AGR and AGRE organizational model Ferber[9] proposed a generic and concise organizational model called AGR, which stands for Agent/Group/Role. This model is known as the AALAADIN model [8]. Ferber offered a methodological framework and a set of notations to permit the designer to design MAS with AGR. They also proposed a set of diagrams, such as the organizational structure, cheeseboard diagram, and organizational sequence diagrams for presenting static and dynamic aspects of MAS. The AGR model is based on three main concepts: Agent: Conventionally, it is defined as an active, communicative entity with no assumptions about its internal architecture. An agent takes on roles within groups. An agent can simultaneously assume multiple roles in various groups (composition of roles). Group: It is a set of agents interacting through their roles. A group is an instance of a group structure. A group structure defines a set of roles that can be assumed within the group with interactions between these roles. A group may instantiate only a portion of the roles defined by the group structure or instantiate the same role multiple times. An agent becomes a member of a group by assuming a role. Two agents can only communicate if they are members of the same group, and two groups can only communicate through an agent they share. Role: It is the abstract representation of the function of an agent within a group. Roles are local to the groups in which they are defined. A role can be assumed in multiple instances and independently of 228
other roles. The authors highlighted that the AGR model can be combined with Gaia’s [39] development methodology to complete the analysis and design phases of MAS. Figure 2shows the AGR meta-model. In a separate publication, Ferber [10] introduced an extension of the AGR model, named AGRE which Figure 2: The UML meta-model of AGR incorporates physical environments (AGR with Environment). The AGRE model is founded on the idea of a space that can be viewed as either a social group area or a physical area. Figure 3shows the AGRE meta-model. Figure 3: The UML meta-model of AGRE The AGR/AGRE models have several advantages, including support for heterogeneous communication languages and agent architectures. For more details on these models refer to [1]. 3.5 Formal Methods Formal methods are a collection of notations and techniques for describing and analysing critical systems. These methods are called formal in the sense that they are based on mathematical theories, such as logic, automata theory, and graph theory. They aim to improve the quality of system design. Formal specification techniques allow for a precise and unambiguous description of system properties. Formal analysis techniques can be used to verify whether a system satisfies its specification. They can significantly reduce the risk of damage caused by design and specification errors in systems. A formal specification of a system can aid not only in achieving a better (modular) description but also in gaining a deeper understanding and a more abstract view of the system. Formal verification, supported by automated tools, can detect errors in the design that are not easily found using testing and can be used to establish the correctness of the design. 3.6 Process Algebras A process algebra focuses on the specification and manipulation of process terms induced by a set of operators. Most process algebras contain basic operators to build complex processes. A structural operational semantics is used to formally give each process a semantic representation. This representation is often expressed in the form of a transition system. A process algebra can be extended by adding new operators to enhance its expressiveness or to facilitate the specification of system behaviour. Several process algebras have been standardized by ISO, 229
namely CCS (Calculus of Communicating Systems)[29], CSP (Communicating Sequential Processes)[15], and LOTOS [5] provide excellent frameworks for describing communicating concurrent systems, and they are well-equipped for studying their behavioural properties. Process algebras like LOTOS have been the subject of work aiming to enrich them with temporal and mobility information, such as D-LOTOS [33], DD-LOTOS[24], and Mobile DD-LOTOS [27]. Our work falls within the framework of specifying organizational multi-agent systems, which are dynamic and distributed systems involving the concepts of locality and mobility of agents from one site to another. In our approach, we utilized a distributed communicating language, DD-LOTOS, which allows for specifying distributed systems. This specification is operationally translated into the semantic model C-DATA [28] for potential formal verification. DD-LOTOS is defined on another semantic model known as true concurrency instead of the classical interleaving semantics. It incorporates both temporal constraints and action durations. The following section will provide an insight into DD-LOTOS language. 3.7 Distributed D-LOTOS Language DD-LOTOS (Distributed Durational Language Of Temporal Ordering Specification) [24] is a formal language based on true concurrency semantics called maximality semantics [25][26]. DD-LOTOS is a programming language that supports real-time distributed systems. It comes with operators like restriction, latency, and delay that permit specifying real-time systems. The concept of locality or site is important in specifying the distributed nature of this language. The DD-LOTOS language uses a specific syntax depicted in Table 1. Table 1: Syntax of DD-LOTOS E::= Behaviours stop |exit{d} | ∆dE|X[L]| g@t[SP ];E|i@t{d};E|hide L in E | E[]E|E|[L]|E|E≫E|E[> E | a!v{d};EEmission a?x;EReception go(l,E){d}Migration create(l,E) Creation of locality S::= Systems ϕ|S|S|l(E) 4 Proposed Aproach In our previous work [32], we introduced a transformation approach that generates DD-LOTOS specifications from the AGR model. The fundamental idea is to translate each concept in the AGR model into its equivalent in the DD-LOTOS language. The AGR model defines the system through three primary concepts: Agent, Group, and Role. In contrast, the DD-LOTOS language specifies the system using a set of processes. Consequently, in our approach, we assumed that the system’s behaviour is represented as a collection of interacting agents, where each agent describes the behaviour of an object in the system. Subsequently, all agents are translated into a set of processes in the DD-LOTOS language. Our proposed approach comprises three steps. Initially, all agents are transformed into DD-LOTOS processes. The resulting processes from this step constitute the reserved section for process declarations in the specification of DD-LOTOS . Secondly, groups in the AGR model are transmitted into localities in the DD-LOTOS. A locality serves as an environment that contains a set of processes. In the final step, we established the global specification with its behaviour. In the final stage, we verified the DD-LOTOS specification generated using the DD-LOTOS tool. In the following section, we will briefly explain the automation of our proposed approach using the Xpand tool. In this paper, our main aim is to illustrate our approach through a detailed example. The Xpand Code Generation Language Several code generation languages based on the M2T approach exist, such as Xpand [22], which is based on the Java language. In this document, we have 230
chosen the Xpand language, a template-based language, to generate DD-LOTOS specifications from organizational models. Xpand is a language specialized in code generation from EMF models. To create an Xpand project, we need an EMF model, a check model with the extension ’.chk’ to define some constraints, and three essential packages containing files of various extensions. 5 An Automatic Approach For Transforming The AGR Model Into DD-LOTOS Code The objective we aim to achieve is the automation of the transformation of the AGR model to DDLOTOS using the Model-Driven Engineering (MDE) approach. The principle of the MDE approach is ”everything is a model,” allowing us to reuse models of formalisms called meta-models, which are adaptable to all platforms. It also enables the manipulation of models through transformations, including Model-to-Model (M2M) and Model-to-Text (M2T) transformations. Transforming a model into text is a specific type of transformation defined by the OMG (Object Management Group) within a model-driven development framework. It follows certain steps to describe the process of transforming a model into text. In this section, we will propose a transformation process using the Xpand tool to generate a formal model from the AGR model. The approach we have proposed consists of two steps, as illustrated in Figure 4. The first step involves defining a meta-model for the AGR model, and then we submitted the AGR model, as an XMI model to a transformation model to text (M2T), which produces a textual DD-LOTOS specification. For this transformation, we have used predefined templates provided by the Xpand transformation language. After having implemented the AGR meta-model, we will generate the DDLOTOS specifications by using Figure 4: Proposed transformation approach the Xpand tool in the following step. 6 Case Study Description To validate the applicability of our approach, we demonstrate our transformation of multi-agent system designed by the AGR model into a DD-LOTOS specification through a case study of Supply Chain Management (SCM)[18]. The process of supply chain management involves modelling the production in companies. This application does several tasks includes receiving a command, producing this command, generating plans of production, changing the plan if certain constraints are not met, negotiating the delivery time and the price, finally, producing products and delivering it. In the supply chain management process, there are three types of actors (Figure 5). The clients place, revise, and delete demands, members of the company, and other companies that are providers of raw materials. To model and formalize the supply chain management system, we have described it using the AGR model concepts (agents, groups, and roles) for developing the multi-agent system. This organization includes two groups. The first group comprises Client agents who create, changes, or delete orders. Client 231
Figure 5: The supply chain management agents cooperates with Order-Acquisition agent that accepts the demands from clients and negotiates the delay and the price with the Logistics agent. The supervisor of this group is called Logistics agent. It manages the orders of customers with the Order Acquisition agent. Once an order is accepted, Logistics agent requests the Scheduler agent to generate a plan for that specific command. The aforementioned plan is subsequently forwarded to the Dispatcher, Resource, Transporter agents. Another group consists of Provider, Transporter, Resource, and Dispatcher agents. Additionally, agent Scheduler is the representative agent of this group. It coordinates interactions between the agents in two groups as depicted in Figure 6. Figure 6: MAS structure of the supply chain management application The DD-LOTOS Specification Generated From the AGR Model Using Xpand Tool The XMI AGR model, created by EMF tools that which is conform to the AGR meta-model is translated by a Model to Text transformation with Xpand to a DD-LOTOS specification as depicted in Table 2. 7 Conclusion And Future Work Proposed methods for describing organizational multi-agent systems provide only informal descriptions. Our paper presents a formalization of the organizational model using the DD-LOTOS Formal Language. More exactly, a familiar organizational model is specified, which is the AGR model. We have chosen the DD-LOTOS language because it is characterized by formal semantics and defined on a model of true concurrency semantics. This formalization allows us the validation of organization-centred multi-agent systems. Therefore, an M2T transformation approach is involved to specify formally the AGR model. The approach presents the Agent-Group-Role model in clear and formal terms. Additionally, the specification decomposes the model into reusable concepts for distinct applications. Using formal notations to specify the AGR model enables the creation of accurate organizational descriptions. In addition, our approach provides improved assistance for their validation and verification process.Furthermore, following the process described in this paper, we plan to specify other organizational multi-agent models. Thus, we are creating a library of multi-agent models that can be reused for various purposes. Supply chain management process was examined to describe each concept of the AGR model in a formal way, and a case study was given to emphasize all formalization steps. In our future work, we plan to focus on formalizing one of the AGR extensions, such as the AGRE, AGRMF, AGRS models, etc. 232
References [1] Hosny Ahmed Abbas, Samir Ibrahim Shaheen, and Mohammed Hussein Amin. Organization of multi-agent systems: an overview. arXiv preprint arXiv:1506.09032, 2015. [2] Siam Abderrahim and Ramdane Maamri. A category-theoretic approach to organization-based modeling of multi agent systems on the basis of collective phenomena and organizations in human societies. Informatica, 42(4):563–576, 2018. [3] Estefania Argente, Javier Palanca, Gustavo Aranda, Vicente Julian, Vicente Botti, Ana GarciaFornes, and Agustin Espinosa. Supporting agent organizations. In Multi-Agent Systems and Applications V: 5th International Central and Eastern European Conference on Multi-Agent Systems, CEEMAS 2007, Leipzig, Germany, September 25-27, 2007. Proceedings 5, pages 236–245, 2007. [4] K Suzanne Barber and Cheryl E Martin. Dynamic reorganization of decision-making groups. In Proceedings of the fifth international conference on Autonomous agents, pages 513–520, 2001. [5] Tommaso Bolognesi and Ed Brinksma. Introduction to the iso specification language lotos. Computer Networks and ISDN systems, 14(1):25–59, 1987. [6] Abdelghani Boudjidj, Elkamel Merah, and Mohammed El Habib Souidi. Towards a formal multiagent organizational modeling framework based on category theory. Informatica, 45(2):277–288, 2021. [7] Guerrouf Fay¸cal and Allaoua Chaoui. A graph transformation based approach for multi-agent systems reorganization. Multiagent and Grid Systems, 15(4):375–394, 2019. [8] Jacques Ferber and Olivier Gutknecht. A meta-model for the analysis and design of organizations in multi-agent systems. In Proceedings international conference on multi agent systems (Cat. No. 98EX160), pages 128–135, 1998. [9] Jacques Ferber, Olivier Gutknecht, and Fabien Michel. From agents to organizations: an organizational view of multi-agent systems. In International workshop on agent-oriented software engineering, pages 214–230, 2003. [10] Jacques Ferber, Fabien Michel, and Jos´e B´aez. Agre: Integrating environments with organizations. In International Workshop on Environments for Multi-Agent Systems, pages 48–56, 2004. [11] Mahdi Hannoun, Olivier Boissier, Jaime S Sichman, and Claudette Sayettat. Moise: An organizational model for multi-agent systems. In Ibero-American Conference on Artificial Intelligence, pages 156–165, 2000. [12] Vincent Hilaire, Pablo Gruer, Abder Koukam, and Olivier Simonin. Formal specification approach of role dynamics in agent organisations: Application to the satisfaction-altruism model. International Journal of Software Engineering and Knowledge Engineering, 17(05):615–641, 2007. [13] Vincent Hilaire, Abder Koukam, Pablo Gruer, and Jean-Pierre M¨uller. Formal specification and prototyping of multi-agent systems. In Engineering Societies in the Agents World: First International Workshop, ESAW 2000 Berlin, Germany, August 21, 2000 Revised Papers 1, pages 114–127, 2000. [14] Vincent Hilaire, Olivier Simonin, Abder Koukam, and Jacques Ferber. A formal approach to design and reuse agent and multiagent models. In International Workshop on Agent-Oriented Software Engineering, pages 142–157, 2004. [15] Charles Antony Richard Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978. [16] Bryan Horling and Victor Lesser. A survey of multi-agent organizational paradigms. The Knowledge engineering review, 19(4):281–316, 2004. [17] Jomi Fred H¨ubner, Laurent Vercouter, and Olivier Boissier. Instrumenting multi-agent organisations with artifacts to support reputation processes. In International Workshop on Coordination, Organizations, Institutions, and Norms in Agent Systems, pages 96–110, 2008. 233