Agent Organizations and Agent Societies as ...

13 downloads 483 Views 645KB Size Report
neering, in the development of conventional software systems, is the lack of ... the organizational structure encompasses the organization units that can be.
Agent Organizations and Agent Societies as Interoperable Modules for Agent and Conventional Software Systems Antônio Carlos da Rocha Costa Programa de Pós-Graduação em Computação Universidade Federao do Rio Grande - FURG 96.203-900 Rio Grande, RS, Brazil. Programa de Pós-Graduação em Informática na Educação Universidade Federal do Rio Grande do Sul - UFRGS 90.040-060 Porto Alegre, RS, Brazil. Email: [email protected]

Abstract. This paper 1 introduces architectural concepts to construe agent organizations and agent societies as interoperable modules for agent systems. The way the modular interoperability of agent organizations and societies may support the use of agent- modules in conventional software systems is briefly examined.

1

Introduction

The main difficulty for the adoption of agent technologies by Software Engineering, in the development of conventional software systems, is the lack of an appropriate notion of modularity in agent systems. And, the lack of an appropriate notion of modularity implies the lack of appropriate means for the interoperability of conventional and agent-based modules. This paper introduces architectural concepts to construe agent organizations and agent societies as interoperable modules for agent systems and, by extension, for conventional software systems. Section 2 reviews the concept of interoperability and places the particular issue of so-called cross-domain interoperability as the crucial issue for the interoperability of agent-based and conventional software system. Section 3 reviews the formal concept of agent society that underlies the work. Section 4 explains how organization units, the formal counterparts of agent organizations, can constitute agent-based modules for agent societies. Section 5 reviews the concept of inter-societal agent system and explains how agent societies themselves can constitute agent-based modules for inter-societal agent systems. Section 6 discusses how organization units and agent societies can constitute agent-based modules for conventional software systems. Section 7 treats related work. Section ?? is the Conclusion. 1

Published as an open publication, on ResearchGate.net, in January 25, 2017.

2

The Concept of Interoperability

Interoperability [8]concerns the possibility of systems interoperation, that is, the possibility of systems operating together independently of their architectures, implementation technology, manufactures, etc.2 It is usual to distinguish between syntactic interoperatiblity (the commonality of information formats among systems), semantic interoperability (the commonality of information meanings) and cross-domain interoperability 3 (the independence of the organizational domains in which systems operate). We are concerned here mainly with the cross-domain interoperability of agent organizations and agent societies, both in the context of agent-based software systems and in the context of conventional software systems.

3

Agent Societies

We call agent society any agent system characterized by the following features: – openness: the agents can freely enter and leave the system; – organization: agents can constitute organization units in the society, and the functioning of the agent society is structured in ways that allow for the identification of the different collective processes performed in the society, and for the identification of the parts that each individual agent or organization unit plays in such collective processes; – persistence: the organization of the agent society is such that it persists in time, independently of the entrances or leavings of the agents, up to some minimum number of agents in the society; – situatedness: the society operates in a combination of material and symbolic environment, in which the agents and organization units of the society find the objects (material and symbolic) with which to perform their behaviors and interactions; – intersocietal operability: agent societies may be put to inter-operate with other societies, through import-export channels. For the purpose of the present paper, we define an agent society as a timeindexed structure AgSoc t = (Pop t , Org t , MEnv t , SEnv t ) where, at each time t: – – – – –

AgSoc t is the overall state of the agent society; Pop t is the state of the populational structure; Org t is the state of the organizational structure; MEnv t is the state of the material environment; SEnv t is the state of the symbolic environment.

where: 2 3

See also https://en.wikipedia.org/wiki/Interoperability. See http://www.ncoic.org/cross-domain-interoperability, for instance.

– the populational structure encompasses the agents that inhabit the agent society, as well as their behaviors and interactions; – the organizational structure encompasses the organization units that can be constituted in the agent society, and the organizational roles that compose those organization units and that the agents may enact; – the material and symbolic environments respectively encompass the material and symbolic objects that the agents may make use of, in the behaviors and interactions with which they enact the organizational roles.

4

Organization Units as Modules for Agent Societies

We take agent organizations to be composed of organization units that are recursively structured from lower-level organization units. And, in fact, we take organizations to be a particular type of organization units, namely, those that are maximal, in the sense of not being part of other organization units. Also, we take organization units to be encapsulated, that is, to be endowed with an interface and to communicate with the exterior by means of input and output ports. We take the interface of an organization unit to be a subset of the set of its organizational roles, namely, those responsible for the interaction with the exterior of the organization unit. For the purpose of the present paper, we define an organization unit in an agent society as a time-indexed structure OrgUn t = (RO t , ORBeh t , ORInter t , ORRel t , Interf t , Inp t , Out t ), where, at each time t: – OrgUn t is the overall state of the organization; – OR t is the set of organizational roles that compose OrgUn t ; – ORBeh t ⊆ OR t × Beh t is the set of organizational role behaviors, that is, the set of behaviors that the organizational roles of OrgUn t perform at the time t; – ORInter t ⊆ OR t × OR t × Beh t is the set of organizational role interactions, that is, the set of organizational interactions that the organizational roles of OrgUn t perform at the time t; – ORRel t ⊆ OR t × OR t × Rel t is the set of organizational role relations, that is, the set of relations (acquaintances, hierarchies, etc.) that are established between the organizational roles of OrgUn t at the time t; – Interf t ⊆ OR t is the interface of OrgUn t , that is, the set of organizational roles responsible for the interactions that the organization unit perform with external elements (agents, other organization units, etc.); – Inp t ⊆ Port is the set of input ports of OrgUn t , that is, the set of ports that OrgUn t uses to receive (material and/or symbolic) objects from external elements (agents, other organization units, etc.); – Out t ⊆ Port is the set of output ports of OrgUn t , that is, the set of ports that OrgUn t uses to send (material and/or symbolic) objects to external elements (agents, other organization units, etc.).

Figure 1 pictures the architecture of an agent society, focusing on the relationships between two organizations. We remark the following about those organizations: – there are two organizations in that agent society, Org 1 and Org 2 ; – the dashed arrows indicate which agent implements which organizational role (possibly more than one); – organization Org 1 is composed of two organization units. Org 11 and Org 12 ; – organization Org 2 is a simple organization unit; – each organization unit has an interface, composed of one or more organizational roles (separated from the body of the organization unit by a dashed line); – the interface organizational roles communicate through input and output ports (indicated by circles, an output port of one organization unit connected to an input port of another organization unit); • Org 2 interacts with Org 1 by means of its two interface roles; • Org 1 interacts with Org 2 by means of the rightmost interface agent of Org 12 ; • there is no direct interaction between Org 11 and the exterior of Org 1 , since the only interface role of Org 1 belongs to Org 12 ; – the figure does not show the interactions between the organizational roles, within each organization unit; – the figure also does not show the interactions between agents; – the agent society in the figure does not interact with other agent societies. Clearly, if the protocols that go through the input-output ports are well defined, any of the organization units (Org 11 , Org 12 and Org 2 itself) can be replaced by an organization unit that happens both to have the same number of input-output ports and to respect those protocols. It is in this sense that we say that organization units constitute the modules of agent societies.

Fig. 1. Interaction between the organizations and organization units of an agent society.

5

Agent Societies as Modules for Inter-Societal Agent Systems

We have introduced the concept of inter-societal agent systems, in [5], as systems composed of agent societies that interact with each other through import and export channels. We call import-export agent society (ie-agent society, for short) an agent society endowed with import-export channels for interacting with other ie-agent societies. For the purpose of the present paper, we define an ie-agent society as a time-indexed structure ie-AgSoct = (AgSoc t , ieChnls) where, at each time t: – AgSoc t is the state of the agent society; – ieChnls is the set of import-export channels of AgSoc t . For the purpose of the present paper, we define an inter-societal agent system as a time-indexed structure IntSocAgSys t = (AS t , conn t ) where4 , at each time t: – AS t ⊆ ℘(AgSoc) is the set of agent societies that constitute IntSocAgSys t ; – conn t ⊆ ASt × ASt is the connection relation that determines the way the agent societies of IntSocAgSys t are connected to each other; where it happens that if (AgSoc 1 , AgSoc 2 ) ∈ conn t then there is at least one export channel of AgSoc 1 that is connected to an import channel of AgSoc 2 . Figure 2 illustrates the structure of an inter-societal agent system composed of five ie-agent societies. Notice that: – ieAgSoc 1 only exports objects to other ie-agent societies, imports none; – ieAgSoc 4 only imports objects from other ie-agent societies, exports none; – an ie-agent society may import from, and export to, many ie-agent societies, but each import-export connection occurring through its particular pair of import-export channels; – each ie-agent society determines its own material and symbolic environment, but the figure is silent about the way those environments connect to each other5 ; – the inter-societal agent system, as a whole, has no interaction with other inter-societal agent systems. Clearly, if the protocols that go through the import-export channels are well defined, any of the ie-agent societies in the inter-societal agent system of Fig. 2 4

5

We denote by AgSoc the universe of agent societies and, for any set X, we denote by ℘(X) the power-set of X. In fact, the definition of inter-societal agent system that we gave is silent about that issue. To make that connection explicit requires an extension of the given definition, which would prevent the ie-agent societies to be treated as encapsulated entities, as the organization units are.

can be replaced by an ie-agent society that happens both to have the same number of import-export channels and to respect those protocols. It is in this sense that we say that ie-agent societies constitute the modules of inter-societal agent systems.

Fig. 2. An inter-societal agent system.

6

Agent-Based Modules for Conventional Software Systems

Much attention has been given in the literature about the issue of the assimilation of agent technology by conventional Software Engineering (see Sect. 7). We submit that the failure of agent technology to be assimilated by the Software Engineering of conventional software systems is due to a lack of an appropriate notion of agent-based module. The proposal presented above, of taking organization units and agent societies as modules for agent societies and inter-societal agent systems suggest that organization units and agent societies may be taken as candidates for the notion of agent-based module, when integrating agent technology to conventional software systems. The issue then arises of which of the two notions are the right one to be taken as that notion of agent-based module. As in [3], we submit that agent organizations, in the form of organization units, are appropriate notions of agent-based modules for most of conventional software systems, that is, software systems that are not critical in any specific sense (about critical systems, see, e.g., [10]). On the other hand, for systems where the compliance to legal or moral norms are a critical issue, we submit that agent societies are the appropriate notion of agent-based module, for only agent societies can be endowed with the legal and moral systems of their own, that are required to meet the constraints imposed by compliance critical systems (see more detailed exposition of this issue in [4]).

7

Related Work and Conclusion

1) Modularity is an issue explored in the multiagent systems area at various architectural levels. At the intra-agent architectural level : Dastani et al. [7, 14] and Hindriks [9]. At the inter-agent behavioral and interactional level : Jamroga et al. [11], Ricci and Santi[13]. At the intra-organizational level : Oyenan et al. [12]. To the best of our knowledge, Costa [3] was the first to treat modularity at the inter-organizational level, with the idea of organizations as system modules. What our work adds to this series of of efforts to introduce the notion of modularity in agent systems is two-fold. On one hand, the introduction of the inter-societal level, with the idea of agent societies as system modules. On the other hand, the articulation of the notion of interoperability of agent systems (not organizational models, see below) with the notion of modularity, allowing for organizational units and agent societies to be introduced as agent-based modules in conventional software systems. 2) Regarding the particular issue of interoperability, a direction has been explored in the literature, concerning the so-called interoperability of organizational models. Coutinho and Sichman [6] provided the first extensive analysis of the possibilities concerning that approach. Aldewereld [1] (see in particular [2]) furthered the issue. From our point of view, however, that effort should better be seen as an concerning the compatibility of organizational models, rather then the interoperability of agent systems (and surely not the interoperability of agent-based and conventional software systems). 3) Regarding the adoption of agent technology in the development of conventional software systems, the literature is vast, under the acronym AOSE (Agent Oriented Software Engineering), and requires no review here. However, the usual AOSE approach is mostly centered around the idea of taking agents as system modules. And, as the present paper attempts to show, that is a too low architectural level to support modular interoperability between agent-based and conventional software system: the higher architectural levels of organization units and agent societies seem to be right ones.

References 1. H. Aldewereld, O. Boissier, V. Dignum, P. Noriega, and J. Padget, editors. Social Coordination Frameworks for Social Technical Systems. Springer, Berlin, 2016. 2. H. Aldewereld, S. Ávarez Napagao, M. E. Garcia, J. G. Sanz, J. Jiang, and H. L. Cardoso. Conceptual map for social coordination. In H. Aldewereld, O. Boissier, V. Dignum, P. Noriega, and J. Padget, editors, Social Coordination Frameworks for Social Technical Systems, pages 11–23. Springer, Berlin, 2016. 3. A. C. R. Costa. Proposal for a notion of modularity in multiagent systems. In M. B. van Riemskijk, F. Dalpiaz, and J. Dix, editors, Informal Proceedings of EMAS 2014. AAMAS @ Paris, 2014.

4. A. C. R. Costa. An architecture for the legal systems of compliance-critical agent societies. In Proceedings of COIN@ECAI 2016. IFAMAS, The Hague, 2016. 5. A. C. R. Costa. Ecosystems as agent societies, landscapes as multi-societal agent systems. In D. F. Adamatti, editor, Multiagent Based Simulations Applied to Biological and Environmental Systems, pages 1–16. IGI Global, Hershey, 2016. 6. L. Coutinho, J. S. Sichman, and O. Boissier. Modelling dimensions for agent organizations. In V. Dignum, editor, Multi-Agent Systems: Semantics and Dynamics of Organizational Models, pages 18–50. IGI Global, 2009. 7. M. Dastani, C. P. Mol, and B. R. Steunebrink. Modularity in agent programming languages. In T. D. Bui, T. V. Ho, and Q. T. Ha, editors, Intelligent Agents and Multi-Agent Systems (LNCS vol. 5357), pages 139–152. Springer, 2008. 8. L. DeNardis. Opening Standards: The Global Politics of Interoperability. MIT Press, Cambridge, 2011. 9. K. Hindriks. Modules as policy-based intentions: Modular agent programming in goal. In M. Dastani, A. E. F. Seghrouchni, A. Ricci, and M. Winikoff, editors, Intl. Workshop on Programming Multiagent Systems - ProMAS 2007 (LNCS vol. 4908), pages 156–171. Springer, 2008. 10. C. Hobbs. Embedded Software Development for Safety-Critical Systems. CRC Press, Boca Raton, 2015. 11. W. Jamroga, A. M¸eski, and M. Szreter. Modularity and openness in modeling multi-agent systems. In G. Puppis and T. Villa, editors, Fourth Int. Symposium on Games, Automata, Logics and Formal Verification, volume 119, pages 224–239. EPTCS, 2013. 12. W. H. Oyenan, S. A. DeLoach, and G. Singh. Exploiting reusable organizations to reduce complexity in multiagent system design. In M.-P. Gleizes and J. GomezSanz, editors, AOSE 2009 (LNCS vol. 6038), pages 3–7, 2011. 13. A. Ricci and A. Santi. Concurrent object-oriented programming with agentoriented abstractions - the ALOO approach. In N. Jamali, A. Ricci, and G. Weiss, editors, AGERE!’13 Workshops, pages 127–138. ACM, 2013. 14. M. B. van Riemsdijk, M. Dastani, J.-J. C. Meyer, and de Frank S. Boer. Goaloriented modularity in agent programming. In Y. Nakashima, M. Wellman, G. Weiss, and P. Stone, editors, Proceedings of AAMAS 2006, pages 1271–1278. ACM, 2006.