=Paper= {{Paper |id=Vol-161/paper-29 |storemode=property |title=Organizational Model to Derive Multi-Agent Architecture from Requirements |pdfUrl=https://ceur-ws.org/Vol-161/FORUM_28.pdf |volume=Vol-161 |dblpUrl=https://dblp.org/rec/conf/caise/BastosC05 }} ==Organizational Model to Derive Multi-Agent Architecture from Requirements== https://ceur-ws.org/Vol-161/FORUM_28.pdf
                                                                                        169




           Organizational Model to Derive Multi-Agent
               Architecture from Requirements

                        Lúcia R. D. Bastos and Jaelson F. B. Castro

      Centro de Informática, Universidade Federal de Pernambuco, S/N, Recife PE,
                                 Brazil 50732-970
                              {lrdb, jbc}@cin.ufpe.br




       Abstract. Understanding and supporting the interaction between software re-
       quirements and architectures remains one of the challenging problems in soft-
       ware engineering research. To narrow these problems, we are proposing a
       framework for deriving architectural model in concert with Multi-Agent System
       requirement specifications. Our framework advocates that a multi-agent system
       corresponds to the organisational structure, in which actors are members of a
       group in order to perform specific roles.




1. Introduction

Understanding and supporting the interaction between software requirements and
architectures remains one of the challenging problems in software engineering re-
search. In this paper we present an approach for integration of system requirements
and software architectures. Our framework proposes that the MASs correspond to the
organizational structure, in which actors are members of a group in order to perform
specific tasks. An organization comprises groups, members, roles and interactions.
   Organisational theories define an organisation as a whole consisting of agents per-
forming tasks [3]. There is a fixed structure of agent tasks and agent communication.
Organisation theory describes how practical organisations are actually structured,
offers suggestions on how new ones can be constructed, and how old ones can change
to improve effectiveness. Hence, the management principles from organisational the-
ory can be applied in multi-agent systems.
   Multi-agent systems (MAS) present a useful software engineering paradigm where
systems are described as individual agents pursuing high-level goals. MAS approaches
use role concepts for modelling social actors in organisational structure [3], and social
agents in multi-agent systems [6], [7], [9]. Nevertheless, there is no agent framework
or methodology that provides abstractions to support organisational groups, roles and
interactions in building MAS following an architectural style.
   This paper is structured as follows. Section 2 outlines the bank example. Section 3
outlines the definitions of our framework. Finally, Section 4 concludes the paper.


Proceedings of the CAiSE'05 Forum - O. Belo, J. Eder, J. Falcão e Cunha, O. Pastor (Eds.)
© Faculdade de Engenharia da Universidade do Porto, Portugal 2005 - ISBN 972-752-078-2
170 Lúcia R. D. Bastos, Jaelson F. B. Castro



2. The Bank Example

   Banks act as intermediaries between the people who have money to lend and those
who have the need for money to carry out business transactions. A bank system can be
described in terms of actors that administrate the bank and actors responsible for
monitoring the customer accounts. Fig. 1 shows the organisational model of the bank
example using the i* notation [8]. The i* (i-star) is the modelling framework for re-
quirements analysis of the Tropos Project [2].




Fig.1. Bank work example in i* notation

   In Fig.1, the Bank Actor depends on the Customer's money to invest it, and de-
pends on Customer to request loans and to earn more money (Profitability). The Cus-
tomer depends on Bank to hold (in deposit or in savings account) his money and to
earn a certain amount of money called interest for depositing his money in a bank
(Deposit Profitability) and letting the Bank use the money for new investments.



3. The SIRA Framework

The SIRA (Systematic Integration between Requirements and Architecture using
Organisational Concepts) Framework emerges from the understanding that, within
organisations, interactions aim at achieving some desired global goals, and the mem-
bers are autonomous and heterogeneous. The Multi-Agent system has been described
from the perspective of an organisation [1]. The SIRA approach is based on a set of
complementary analysis models (as seen in Fig. 2): In the Organisational Model, the
main goals are identified from the requirement model. A goal is refined into sub-goals
or tasks so that each task is performed by a set of roles. The organisation of the social
system consists of sub-groups, roles and interactions, as intended by the system and its
environment. In the Assignment Model, roles are organised within sub-groups. Sub-
groups are related to components, based on their similarity with the architectural com-
ponents. Finally, the Architectural Model describes the resulting architectural configu-
ration, which is the allocation of sub-groups to architectural components.
                                                                                                      171




                  A r c h ite c tu r a l                                     R e q u ir e m e n ts
                    c a ta lo g u e                                               m o d e ls


                                                       G oal
                                                                                             S IR A
                                                  R e fin e m e n t              F ram ew ork

                                                                      O r g a n iz a tio n a l
                                                                             M odel
                      NFR
                 F ra m e w o rk           A s s ig n m e n t                 GG rrGo ur op u p
                                               M odel

                                                 Rl
                                                                        A r c h ite c tu r a l
                                                                              M odel

                                           G r - G ro u p                      Cp
                                           R l - R o le
                                           C p - C o m p on en t



Fig. 2 - The SIRA Framework




3.1 Organizational Model

    The SIRA Organisational model considers a group as a collection of roles whose
behaviour co-operatively determines the accomplishment of organisational goals.
SIRA Group is meant to describe systems as organisational group structure at the
conceptual level. Groups can be refined into Sub-Groups, Member, Positions or Role
in order to represent the social structure of an agent society. In this organisational
model, any group is the form G = {SG, P, R}, where SG is a set of sub-groups SG
{sg1, sg2, …sgm} such that i ≠ j ⇒ sgi ≠ sgj and m ≤ n, and P is a set of positions P
{p1, p2, …pm} such that i ≠ j ⇒ pi ≠ pj, and R is a set of roles R = {r1, r2, …rn} such
that i ≠ j ⇒ ri≠rj. Rather than involving the entire group in a goal, the roles that ad-
dress a goal are organised into sub-groups. Sub-groups consist of a subset of roles and
are used to deal with local goals. Any sub-group is the form SG = {R}, where R is a
set of roles R = {r1, r2, …rn} such that i ≠ j ⇒ ri≠rj. Roles encapsulate an actor re-
sponsibility and are identified by grouping “related" tasks. The analyst, together with
users and other stakeholders, allocates tasks and defines new tasks for specific roles
within the organisation.
   In SIRA, role identification is done by group tasks with i* means-end analysis, with
goal as means [2]. In the Bank example, the Customer actor depends on the Bank
actor to achieve his goal Getting Loan. Fig. 3 shows the goal refinement for the task
Lending Money. It is one of the two major tasks of any Bank. Lending Money is re-
fined in three sub-tasks: Customer Profile Management, Loan Request Analysis, and
Loan Account Management.
172 Lúcia R. D. Bastos, Jaelson F. B. Castro




                                C u sto m er                  N e w P r o f ile
                                  P r o f ile
                               M anagem ent                                         U p d a te
                                                                                    P r o f ile
                                                                  C r e d it
     L e n d in g           L oa n R eq u est                    A n a ly s is
      M on ey                   A n a ly s is                                     P aym en t
                                                                                  A n a ly s is
                                                           N ew L oan
                                                            A ccount
                           Loan A ccount                                             L oan
                           M anagem ent                                             B a la n c e
                                                           A c c o u n t in g



Fig. 3. A partial goal refinement for the task Lending Money

   A social network is a graph (sometimes called a sociogram) that consists of a set of
nodes (or actors) connected by edges (or relations or ties) [4]. A social graph is a set
of relations performed and a set of roles played to fulfil a group goal. The nodes rep-
resent the actors and the arrows represent the relations among them. This representa-
tion makes it possible to distinguish between roles that interact and those that do not.



                                                                Loan
                                                               Manager
                    Borrower                Lender

                                                                                           Loan
                                                                                          Handler
                                                              Security
                                                              Manager

                      Sequence
                                    Actor
                                                 Profile
                                                Manager                             Accountant


Fig. 4. Social graph for the task Lending Money

    Fig. 4 shows the social graph for the task Lending Money in the bank example,
which uses a directed graph with the actor relations. Each actor (or sub-groups of
roles) is represented as a "circle”. The task Lending Money is performed with a set of
six roles: Lender is the role performed to interact with Customer (Borrower Role);
Loan Handler is a role performed to keep track of all information about loan account;
Security Manager is the role performed to provide secure management; Loan Manager
is the role performed to manage and control all strategic data; Profile Manager is the
role performed to keep track of all information about customers; and Accountant is the
role performed to keep track of all information about bank accounting and financial
data.
                                                                                        173



3.2 Architectural Selection

   The organisational catalogue from Tropos project are evaluated and compared with
the non-functional properties of MAS architectures [2]. In the correlation catalogue
for the organisational styles, some software quality attributes for multi-agent archi-
tectures were identified from a perspective of organisational styles [5], such as: pre-
dictability, security, adaptability, coordinativity, availability, integrity, modularity,
aggregability.
   In the bank example, one of the most important non-functional requirements when
building information systems to be used on the bank domain is security, integrity and
availability. In our case study, the selected architectural style is the Structure-in-5,
because it contributes more positively for satisficing the softgoals security, availability
and integrity in the bank domain. In this architectural selection, the Structure-in-5
style is an aggregate of five sub-structures [5].


3.3 Assignment Model

The SIRA Assignment Model proposes the social network analysis as a method for
framing and describing the effects of organisational characteristics to relate multi-
agent systems and organisational architectures. The Assignment Model addresses two
issues:
1. How to Cluster Roles into Sub-groups? Our model clusters like and unlike roles
     into their respective sub-groups. Cluster analysis groups together the most similar
     actors, recalculates similarities, and iterates until all actors are combined. The
     cluster analysis enables to get a view of how the actors in one set are "approxi-
     mately equivalent" and why different sets of actors are different. Based on the
     similarity analysis, the actors Loan Manager and Profile Manager are clustered in
     a sub-group named Service Manager. The current bank example has five sub-
     groups.
2. How to Match sub-group and architectural components? Our model examines the
     degree of structural similarity between sub-group and components. In the SIRA
     framework, the second major way of examining the similarity is to look for pat-
     terns of relations and then comparing the behaviour of organisational elements
     and components, i.e. each architectural component is a sub-group of actors. The
     components of such architectural organisation have to be structurally equivalent
     or similar to the SIRA Sub-group with respect to the set of roles that they bridge.

Table 1. Correlation Matrix between sub-groups and Structure-in-Five components

                                Apex        Mid.         Oper.       Tech.        Sup
                                           Agency        Core
      Service Holder              ++         --           ++            -          -
      Service Manager             --         ++           --            -          -
      Product Handler             ++         --           ++            -          -
      General Manager             ++         --           ++
174 Lúcia R. D. Bastos, Jaelson F. B. Castro



      Financial Manager            +           -         +          +         +

   Table 1 shows the similarity correlation between Sub-groups and Components for
achieve the goal Get Loan. The notation models respectively, strong (++) or partial
(+) positive association, strong (--) or partial (-) negative associations.


3.4. The Bank Architectural Model

In bank example, a first architectural configuration is obtained from the sub-groups
assigned to components of the Structure-in-5 Style.




Fig. 5. The Bank Architecture

Based on the results presented in Table 1, the bank architectural configuration is
shown in Fig. 5. The bank group elements and architectural components are related as
follow:
1. The Operational Core is a component that carries out the basic tasks and proce-
     dures directly linked to the production of products and services. The sub-group is
     the Product Handler.
2. The Strategic Apex is a component that makes executive decisions to ensure that
     the organisation fulfils its mission. The sub-group is the General Manager.
3. The Middle Agency establishes a hierarchy of authority. The sub-group is the
     Service Manager.
4. The Technostructure serves the organisation by standardising work processes,
     outputs, and skills. The sub-group is the Bank Controller.
5. The Support provides specialised services outside the basic operating workflow.
     The sub-group is the Financial Manager.
                                                                                         175



4. Final Considerations

Our organisational model advocates that a system corresponds to an organisational
structure, in which actors are members of a group, playing roles in order to perform
specific tasks. Roles can be used both as an intuitive concept in order to analyse re-
quirements in multi-agent systems as well as a behavioural structure in order to derive
coherent software architectures. Our architectural model describes the MAS at a mac-
roscopic level in terms of a manageable number of sub-groups.



5. References

1.   Bastos, L. and Castro, J.: Systematic Integration between Requirements and Architecture.
     Third International Workshop on Software Engineering for Large-Scale Multi-Agent Sys-
     tems (SELMAS´04), Endinburg, Scotland, May 2004. LNCS 3390: ´Software Engineering
     for Multi-Agent Systema III´, pp. 85-103.R.Choren et all. (Eds.), Springer-Verlag.
2.   Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J. and Perini, A.: “TROPOS: An
     Agent-Oriented Software Development Methodology”. In Journal of Autonomous Agents
     and Multi-Agent Systems, Kluwer Academic Publishers Volume 8, Issue 3, Pages 203 -
     236, May 2004.
3.   Fox, M., Barbuceanu, M., Gruninger, M. and Lin, J.: “An Organization Ontology for
     Enterprise Modelling”. Simulating Organizations: Computational Models of Institutions
     and Groups, M. Pritula, K. Carley & L. Gasser (Eds), Menlo Park CA: AAAI/MIT Press,
     pp. 131-152. 1996.
4.   Hanneman, R. (2005): “Introduction to Social Network Methods”. On-line textbook.
     January. http://faculty.ucr.edu/~hanneman/SOC157/TEXT/TextIndex.html.
5.   Kolp, M., Giorgini, P. and Mylopoulos, J.: “Organizational Patterns for Early Require-
     ments Analysis”. 15th International Conference on Advanced Information Systems Engi-
     neering (CAiSE'03), Velden, Austria. June 2003.
6.   Trzebiatowski, G. L. and Münch, I.: “The Role Concept for Agents in Multi-Agent Sys-
     tems”. Modelling Artificial Societies and Hybrid Organizations. Workshop at KI2001, the
     Joint German/Austrian Conference on Artificial Intelligence. Vienna, 19-21, 2001.
7.   Wood, M.F. and DeLoach, S.A.: “An overview of the multiagent systems engineering
     methodology”. First international workshop, AOSE 2000 on Agent-oriented software en-
     gineering, p.207-221, January 2001, Limerick, Ireland.
8.   Yu, Eric and Mylopoulos, John.: “Understanding Why in Software Process Modelling,
     Analysis, and Design”. Proceedings of 16th International Conference on Software Engi-
     neering, May 16-21, 1994, Sorrento, Italy, pp. 159-168.
9.   Zambonelli, F., Jennings, N.R., and Wooldridge, M.: “Developing Multiagent Systems:
     The Gaia Methodology”. ACM Transactions on Software Engineering and Methodology,
     12(3): pp. 317-370. 2003.