=Paper= {{Paper |id=None |storemode=property |title=A UML-Based Notation for Representing MAS Organizations |pdfUrl=https://ceur-ws.org/Vol-741/ID20_CossentinoLodatoLopesRibiniSeiditaChella.pdf |volume=Vol-741 |dblpUrl=https://dblp.org/rec/conf/woa/CossentinoLLRSC11 }} ==A UML-Based Notation for Representing MAS Organizations== https://ceur-ws.org/Vol-741/ID20_CossentinoLodatoLopesRibiniSeiditaChella.pdf
      A UML-Based Notation for Representing MAS
                   Organizations
       Massimo Cossentino∗ , Carmelo Lodato∗ , Salvatore Lopes∗ , Patrizia Ribino∗ , Valeria Seidita† , Antonio Chella†

                                          ∗ Istituto di Reti e Calcolo ad Alte Prestazioni,

                                               Consiglio Nazionale delle Ricerche,
                                                         Palermo, Italy.
                                        Email: {cossentino, ino, toty, ribino}@pa.icar.cnr.it

                            † Dipartimento di Ingegneria Chimica Gestionale Informatica Meccanica

                                               Università degli Studi di Palermo
                                              Email: {seidita, chella}@dinfo.unipa.it


   Abstract—A notation for representing agents’ organizations to     methodologies for MASs where some aspects of organization
be implemented using Moise+ and Jason is proposed. For this          were modeled. In one of the most known in literature [7] the
purpose a UML profile was defined for representing the elements      concepts of environment, roles, interactions and organizational
of Moise+ organizational model such as role, mission and group.
The proposed notation will be fully illustrated and applied to the   rules are taken into account as organizational abstractions.
classical example provided by the J-Moise+ team.                     Another example has been proposed in [8] where holarchy
                                                                     represents the organization structure of the MAS made of
                                                                     holons [9] hence the main element to be developed for building
                      I. I NTRODUCTION
                                                                     the MAS organization.
   In the context of highly complex, distributed and open               The work illustrated in this paper regards the creation of
systems, engaged and working in dynamic environments are             a specific notation for representing the organizational model
widely employed. Such system should include the capabil-             proposed by Moise+. The advantages of having a graphical
ity of continuously reacting, with a re-organization process,        notation for representing organizations are evident: first of
to changes occurring in the environment. Because of their            all, graphical notations are more readable and understandable
intrinsic nature, agents have been recognized to be a good           at a glance than any coding language, secondly it is usually
way for solving complex problems both at the design and the          easier to explain a graphical notation to stakeholders involved
implementation levels [1] [2].                                       in the designer (that are not designer) than read the application
   Organizations [3] play a relevant role in multi-agent systems     code with them. The possibility of involving stakeholders like
design; they can be seen as the set of constraints ruling the        system users enables the adoption of agile or extreme develop-
agent’s behavior in multi-agent systems (MAS from now on).           ment approaches and improves the flexibility of conventional
   As regards the agent organization implementation, a robust        ones.
approach coming from Hubner et al. [4] proposes an orga-                The remainder of the paper is organized as follows. In
nizational model (Moise+) able to support the re-organizing          section II the Moise+ organizational model, J-Moise+ and
process of MAS. Moise+ describes the organization in a MAS           Jason are introduced. In section III we explain the proposed
by employing three main views: the structural, the functional        notation by using three kinds of diagram in order to define
and normative specifications. In this model an organization          graphically the structural, functional and normative specifica-
is established a priori (created at design-time) and the agents      tion of a Moise+ organization. In this section an instance of the
ought to follow it. The Moise+ organizational model considers        notation in use by using the Moise+ tutorial [10] example for
the structural and functional dimensions as almost independent       generating the three specification diagrams is also provided.
while the normative dimension is used to establish a link            Section IV offers a comparison with others MAS modeling
between them.                                                        proposals. Finally some discussions and conclusions are drawn
   The Moise+ organizational model is complemented with              in section V.
the possibilities of quickly and easily programming MAS by
                                                                                           II. BACKGROUND
means of J-Moise+ [5], a Jason extension allowing developers
to use Jason for programming agents and their organizations          A. Moise+
[6].                                                                    Moise+ [11][4] is an organizational model for MAS looking
   This offers a powerful tool to MAS developers, nevertheless       at organization from three different perspectives: structural,
it is not still adequately supported by a well defined method-       functional and normative. From the structural viewpoint, an
ological approach. Some researchers in the past developed            organization can be seen as a set of Roles linked by Relations
and clustered into Groups. Analyzing an organization from the      A. Organizational Diagram
functional perspective allows designers to define the global          The Moise+ structural specification defines the available
objective, and also the plans and the way for reaching this        roles, groups, and relations between these within the MAS
goal by means of a Social Scheme. In this scheme the func-         organization. Using the normative specification we can con-
tionalities of the organization are represented as Goals grouped   strain the agents behavior by specifying what missions an
into Missions. Finally, modeling the normative aspect of the       agent ought to follow and what missions an agent is allowed
organization allows to assign a mission to a Role by means         to follow when playing certain roles.
of Permission or Obligation norms. Norms can be seen as the
                                                                      We use a UML class diagram (named Organizational
backbone connecting the functional and structural aspects of
                                                                   Diagram OD) for representing the structural and normative
an organization.
                                                                   specification. The Organizational Diagram focuses on Moise+
   While the Moise+ implementation is based on two key             elements such as Group, Roles, Missions and different kinds
elements: the Organizational Specification (OS) that is the        of relationships.
union of structural, functional and normative specification and       The development methodology of an organization with
the Organizational Entity (OE) that is the instantiation of OS     Moise+ is out of the scope of this paper, but in order to
on a set of agents.                                                understand this diagram we can say that the building of this
                                                                   diagram is subdivided in two phases. During the first phase
B. Jason
                                                                   all elements concerning the Moise+ structural specification
   The development of cognitive agents can be based on             are established, while the second phase starts at the end of
different approaches [12]. Jason approach is based on the          the definition of the schema structural diagram and it aims
BDI (Belief-Desire-Intentions) architecture characterized by       to define the norms the agents should obey when they adopt
the implementation of agent’s beliefs, desires and intentions.     a role. Figure 1 illustrates the graphical representation of
The AgentSpeak [13] is an abstract agent language founded          organizational diagram elements.
on BDI model.                                                         Groups - A group is represented by means of a package
   Jason [6] is a Java-based interpreter for an extended version   with little men icon. It may contain several structural elements
of the AgentSpeak language. An AgentSpeak agent is defined         (Roles) and other grouping elements (sub-groups). The root
by means of a set of plans that the agent is able to execute in    group represents the entire organization.
certain situations. An AgentSpeak plan is defined as follows:         Roles - A role is an UML class depicted as a little man. Its
                                                                   properties are represented in the form of class attributes. Roles
           +triggering − event : context < −body                   can be logically related to one another using associations. An
                                                                   abstract role, instead, is identified using an italic font.
   The Triggering Event describes the situations in which a           Relationships - Model elements are related each others with
plan may be applicable for execution. The context can be used      dependencies, associations and generalizations. A dependency
to specify the condition to make the plan applicable even if an    is a generic relationship, indicating that an element depends in
event has triggered that plan. The body can be considered the      some way on another. A generalization specifies a relationship
consequent of the event linked to the context. Within the body     between roles in which specialized roles inherit features of the
commonly are defined the actions that agent must perform to        general role. An association describes a link between elements
fulfill its own goals.                                             of the Moise+ model. We used UML stereotypes in order to
                                                                   attribute a semantic of the association with Moise+ domain-
C. J-Moise+                                                        specific concepts.
   J-Moise+ [5] is an implementation of the Moise+ organiza-          In particular Moise+ organizational links, defining the way
tional model. J-Moise+ is based on Jason and consists of both      in which social exchanges between agent roles occur, are
an OrgBox Api and a special agent called OrgManager. Agents        represented by means of associations between roles labeled
use the OrgBox Api to access to the organizational layer.          with an Authority, Acquaintance or Communication stereotype.
While the OrgManager stores the current state and maintains
the consistency of the Organizational Entity during its life-
cycle. J-Moise+ basically offers a set of actions to change the
state of the organization and produces some events related to
organizational changes to which the agent can react.

               III. T HE P ROPOSED N OTATION
  A detailed description of UML is out the scope of this paper,
we here define only the constructs used to model organizations
with Moise+. In the following subsections, we describe three
kinds of diagram applied to the classical example (”Writing
Paper”) reported in the Moise+ Tutorial [10].                                     Fig. 1.   The Defined Notation Elements
                                              Fig. 2.   The Writing Paper Example - OD



Each propriety of a link can be expressed by UML association        B. The Scheme Structural Diagram
constraints.                                                           The Moise+ Functional Specification deals with the con-
   Moise+ compatibility links, instead, are defined by means        cepts of agents’ missions and their global plans. Plan repre-
of associations between roles labeled with the Compatibility        sents the set of goals to be pursued. Plans and missions com-
stereotype. Two roles connected by a bidirectional compatibil-      pose (or are assembled into) the social scheme. We use two
ity link define the possibility of an agent to adopt both roles     different views ( or models) for representing the elements the
at the same time. Each propriety of a link can be expressed         functional specification is composed of: the Scheme Structural
by UML association constraints.                                     Diagram (SSD) and the Scheme Functional Diagram (SFD).
   Figure 2 shows the Organizational Diagram for the Writing           The Scheme Structural Diagram allows to model the social
Paper organization. In this example, a set of agents aims to        schemes of the organization through a UML class diagram.
write a paper. For this purpose, the Moise+ authors define an       The elements of this diagram are:
organization with one group (wpgroup) and two roles (Writer            Goal is represented by a class element reporting the name,
and Editor). These roles are an extension (represented by           the stereotype and the attribute field; each of them corresponds
means of UML generalization in the OD) of the abstract              to a specific feature of the Moise+ concept of goal: the class
role Author. An agent can play several roles only if they           name addresses the goal id. The stereotype represents the
are compatible. As exemplified in figure 2, an agent playing        two types of goal namely achievement and maintenance. The
the writer role can play the role editor at the same time and       default type for every goal in Moise+ is achievement but in
vice-versa because they are linked by an UML compatibility          the SSD the goal type has to be stated in any case. As regard
association.                                                        the attribute compartment, it basically contains the ttf attribute
   In the Moise+ model, a role is usually linked by means of        value prescribing the time requested for fulfilling the goal.
norms (Obligation or Permission) to one or more missions               Mission is also represented through a class stereotyped as
defined in a particular scheme.                                     mission. Here the attributes’ compartment contains values for
   One of the Writer’s mission (see Figure 2) is mbib (i.e.         the minimum and the maximum commitments to the mission.
getting references for the paper). The norm linking the mission        The Social Scheme is modeled by means of a package
to the role is an Obligation, that is the agent playing the         where classes (i.e. missions) are grouped in order to represent
Writer role must commit to this mission. This is shown in the       the social organization of goals and missions. There can be
Organizational Diagram through the stereotype obligation. The       more than one package in a single SSD thus representing the
Editor, instead, may commit to the mission mManager because         existence of different schemes in the same organization. The
the link is a Permission norm. The association between roles is     package’s name corresponds to the social scheme id.
stereotyped in order to represent organizational links such as         As regard relationships among elements, in this diagram
Acquaintance, Compatibility, Communication and Authority.           we only use two kinds of relationship: the aggregation and
the dependency; the latter is used for representing how two
different schemes depend on each other, the former is used for
relating missions and goals. With respect to Moise rationale,
goals are aggregated into missions that can be distributed/
committed to agents.




                Fig. 3.   The Writing Paper Example - SSD


   Figure 3 shows a portion of the SSD for the write paper
example1 .
   In the Scheme Structural Diagram, a Social Scheme is
                                                                                     Fig. 4.   The Writing Paper Example - writePaperSch SFD
modeled by means of a package containing classes (i.e. mis-
sions and goals). Within a package the structural composition
of goals and missions is defined. For instance, the SSD for
                                                                              done by agent to fulfill the goal. The elements of this diagrams
writing paper example is composed by two Social Schemes,
                                                                              are:
writePaperSch and monitoringSch. The portion of writePaper-
Sch scheme reported in figure 3 shows how the mManager                           The Goal is then represented by an activity where the
mission is a composition of five goals: wp, wtitle, concl, wabs,              name is the goal’s id and the stereotype represents the type
wsectitles that respectively aim to write the paper, the title, the           of the goal (achievement or maintenance - see the previous
conclusion, the abstract and the title of each section. While the             subsection) The Moise+ model allows to decompose goal in
illustrated portion of monitoringSch scheme shows ms mission                  sub-goals by means of a plan operator. There are three different
formed by only Sanctioning goal. In the SSD is also possible                  kinds of plan operator: sequence, parallelism and choice, the
to underline the dependences between different social schema.                 first means that a goal gi (having two sub-goals gi,i and gi,i+j
As 3 shown, the social scheme writePaperSch is related to                     ) can be achieved only if the close sequence of gi,i and
the monitoringSch scheme through a “monitoring” dependency                    gi,i+j ). All of them can be easily represented by means of
relationship.                                                                 the UML activity diagram syntax, for instance the parallelism
                                                                              is represented through the fork and the choice through the
C. The Scheme Functional Diagram                                              decision diamond. Sequence is represented by a straight arrow
                                                                              line.
   The Scheme Functional Diagram represents the behavioural                      As said before, in this paper our concern is about the nota-
view of the Moise+ functional specification, it is realized by                tion/models to be used for representing MAS organizations. If
means of an UML activity diagram and it aims at representing,                 we would use them during a design process phase we should
through a set of associated activities, how a goal can be                     consider that we can draw more than one SFD, one for each
decomposed in sub-goals. Each activity represents the work                    package (i.e. social scheme) of the SSD.
   1 Because
                                                                                 Figure 4 and figure 5 show the Scheme Functional Diagrams
                of     space      concerns    only     portions    of  dia-
grams are reported. Complete diagrams                 can be      found in    (SFD) built for the wp and monitoring goals of the Writing
http://www.pa.icar.cnr.it/cossentino/moisenotation/                           Paper organization which are the root goals of writePaperSch
                                                                     propose notations for agents, roles and the other elements of
                                                                     their proposed metamodel.
                                                                        Remaining in the context of AUML-related researches, it is
                                                                     worth to remind the long work done by the FIPA Modeling
                                                                     Technical Committee and its members at the beginning of
                                                                     years 2000. In this context several proposals arose. Among
                                                                     the others, Parunak and Odell presented in [15] some ideas
                                                                     for the representation of social structures and relationships.
                                                                        They introduced swimlanes in class diagrams in order to
                                                                     partition the diagram in zones representing groups. Within
                                                                     each organization the diagram may depict roles and the agents
                                                                     playing them. Another proposed diagram was concerned with
       Fig. 5.   The Writing Paper Example - MonitorinSch SFD        the description of the dynamic behavior of agents/roles in
                                                                     terms of their interactions. Essentially it is an extension of the
                                                                     UML 1.0 sequence diagram containing some notation elements
and monitoringSch (defined in the previous section) corre-           that have been introduced in following versions of UML.
spondingly. The SFD of the writePaperSch (see figure 4)                 A more extended notation has been proposed by L. Padgham
explains how to achieve the root goal of the scheme. In detail,      et al in [16]. This notation has been conceived with the aim
the fulfillment of the wp goal (i.e. write a paper) depends on       of supporting most of the existing AOSE methodologies.
the achievement of the fdv (first draft version) and sv (submit         An interesting point of this work is that the authors defined
version) goal. The sv goal is reachable only after that the fdv      a notation leaving a large margin for the definition of the
is satisfied. In turn, fdv is achieved executing the atomic goals    semantics that is behind that. In this way, the notation may
wtitle, wabs and wsectitles sequentially.                            be easily ported to support different approaches. More in
   It is important to highlight there are three different types of   details, it has been applied to O-MASE, PASSI, Prometheus
goal execution: sequential, parallel and choice. If two goals are    and Tropos (partially). The notation includes graphical icons
related with a sequential relationship then the goal target can      for representing almost all the elements of an agent-oriented
be reached only after that the source goal is reached. If two        design, organizations included (agent, role, position, goal, . . . ).
goals are related with a parallel relationship then both goals          From this point of view, the notation presented in [16] is
can be reached simultaneously. Finally, a choice relationship        more complete than the notation we propose in this paper.
indicates that it is possible to choose the goal to achieve.            However, the authors in [16] present several diagrams, none
   Besides it is important to note that (see 4 and figure 5) the     of them behavioral. This is a relevant difference with the work
root goal is represented with a box with the goal icon at the        presented in this paper. In fact, our notation also includes the
top left corner instead of with an activity, this is due to the      Scheme Functional diagram that is a behavioral representation
features of the tool we use for drawing activity diagrams. The       of the system.
concept of goal does not depend on the graphical box they are           INGENIAS [17][18] is a framework for developing MASs
represented but are related to the specific icon.                    offering to designers the possibility of following the workflow
                                                                     of the methodology also with the aid of the tool (INGENIAS
                      IV. R ELATED W ORKS                            Development Kit IDK). The tool supports a specific notation
                                                                     for representing the abstractions on which INGENIAS allows
   A proposal for the introduction of groups in MAS modeling         to develop MASs.
has been presented by J. Odell et al. in [14]. The proposed             INGENIAS is suitable for modelling and developing MASs
metamodel is based on three main concepts: Agent, Agent              with the following main abstractions: agent, task, role, organi-
Role (Classifier, Assignment) and Group. The peculiarity of          zation, and goal. Modelling with INGENIAS implies basically
this approach is in the presence of the agentified group in          using the Unified Software Development Process (USPD) [19];
opposition to the Non-agentified one. This does not represent        each phase/iteration aims at developing different models or
an explicit attention for the presence of non-agent-oriented         viewpoints on specific aspects of the MAS under development.
entities in the application. Conversely, non-agentified groups       For the sake of the work proposed here we are interested in
are composed of agents just like the others, but they are not        considering the Organizational Viewpoint.
addressable as an agent entity (i.e. the group does not exhibit         The Organizational viewpoint describes the environment
the usual properties of an agent). Within a group, agents            where agents live and interact each other by means of re-
interact according to the roles they play.                           sources and tasks in order to pursue goals. Modelling the
   As regards the comparison of this work with the notation          Organization is done by dividing the MAS into groups and
we presented in this paper, the authors of [14] present very         workflows where all the involved entities are related by ag-
limited examples of notation. Mainly, a group is represented         gregation and inheritance relationships; roughly speaking, in
in a form that resembles the UML class without the operation         INGENIAS, groups give the mean to identify subsystems
and attribute compartments. Purposefully, the author avoid to        interacting through workflows.
   Each element of the Organization viewpoint has a precise                       V. D ISCUSSIONS AND C ONCLUSIONS
notational counterpart, for instance the goal is represented by        In the field of agency, the complexity of current systems and
a circle and the group in a box with two kinds of head. This        applications led to an increasing number of agents employed
allows to model how the organization is divided in groups           in the multi agent system that must expose autonomous
(each group again can be decomposed in groups) made by              and organizing capabilities also for substituting and making
agents that play roles. From a modelling point of view it is        decisions on the behalf of user.
important to note that the goal is associated to the organization      One important topic in these kind of systems is how to
and that in INGENIAS the concept of agent is central and is         manage the agents by creating organizations in the same way
related to the concept of role whereas in MOISE+ the central        the human, and more generally, the biological systems do.
element group and the role. This logical difference can be             The design and the implementation of organization in MASs
found in the two notations and in the related diagrams we           is related to this topic. Our work concerns the creation of a
can draw; anyway both of them allow representing the whole          design process for developing MASs organized in hierarchical
portion of metamodel including organizational concept but           structures, such as holons, that can be implemented with J-
INGENIAS does not provides means for representing norms.            Moise+. In this paper we present the first step of this ongoing
  Tropos [20] is an agent-oriented software engineering             work: the UML-based notation to be used for representing
methodology mainly based on the notion of goal.                     organizational elements in the design process work products.
                                                                       We created a notation enabling us to model organization
   The Tropos methodology is articulated in four different
                                                                    through three different artefacts where all the elements of
phases from the requirements analysis to the agent system
                                                                    Moise+ organizational model are represented. One of the most
implementation. The requirements analysis covers two phases:
                                                                    important results is that we eliminated the difficulty related to
the Early Requirements Analysis phase, concerning with the
                                                                    the use of the predicative form for representing goal, norms,
studying of the problem, produces an organizational model and
                                                                    etc. Moreover we obtained the capability of converting the
the Late Requirements Analysis phase where the system-to-be
                                                                    work product, the diagram, in a xmi file and then through
is described. The agent system implementation is performed
                                                                    an easy transformation in a xml file thus directly obtaining
through the Architectural Design phase, where the system
                                                                    Moise+ code or better, if necessary, any other kind of code.
architecture is defined, and the Detailed Design phase where
all system components are specified. During the first two                                    ACKNOWLEDGMENT
phases an actor and a goal diagram are produced.                       This work has been partially supported by the EU project
   An Actor Diagram is a graphical representation of the appli-     FP7-Humanobs and the IMPULSO project funded by the
cation domain stakeholders, their objectives and dependences.       Italian Ministry for Economic Development.
A Goal Diagram is a refinement of the previous diagram un-             Authors would like to thank Paolo Giorgini for his useful
derlining the goals of a single actor. These two diagrams show      comments and suggestions.
essentially five concepts: Actors, Goals, Resources, Tasks and
                                                                                                  R EFERENCES
Dependences. The Actors are the intentional entities such as
agents (software or human), roles (abstract representation of        [1] M. Wooldridge and N. Jennings, “Intelligent Agents: Theory and Prac-
                                                                         tice,” The Knowledge Engineering Review, vol. 10, no. 2, pp. 115–152,
behaviors within some specialized domain) or position (set of            1995.
roles typically played by an agent). Goals are the objectives        [2] M. J. Wooldridge, Introduction to Multiagent Systems. John Wiley &
of an actor, divided into hard goals and soft goals. Tasks               Sons, Inc. New York, NY, USA, 2001.
                                                                     [3] V. Dignum and F. Dignum, “Modelling agent societies: co-ordination
are the way to achieve a goal. Resources are means used by               frameworks and institutions,” Progress in Artificial Intelligence, pp. 7–
agent in order to reach their goals. Finally, Dependences are            21, 2001.
relationships between actors.                                        [4] J. F. Hübner, J. S. Sichman, and O. Boissier, “Developing organised
                                                                         multiagent systems using the MOISE+ model: programming issues at
   The notation used in the Tropos diagrams in order to rep-             the system and agent levels,” International Journal of Agent-Oriented
                                                                         Software Engineering, vol. 1, no. 3, pp. 370–395, 2007.
resent the above elements is very simple. An actor is depicted       [5] J. F. Hübner, “J-moise+ programming organizational agents with moise+
by means of a circle, its goals are ovals and its softgoals are          and jason (2007).”
clouds shape. The used resources and tasks are represented           [6] R. H. Bordini, J. F. Hübner, and M. J. Wooldridge, Programming multi-
                                                                         agent systems in AgentSpeak using Jason. Wiley-Interscience, 2007.
as rectangles and hexagons respectively. The dependences             [7] F. Zambonelli, N. R. Jennings, and M. Wooldridge, “Developing multi-
between actors are arrows with a specific content. This content          agent systems: The Gaia methodology,” ACM Transactions on Software
represents the dependum (i.e. goal, task or resource) that is the        Engineering and Methodology (TOSEM), vol. 12, no. 3, pp. 317–370,
                                                                         Jul. 2003.
element through which two actors depend each other.                  [8] M. Cossentino, N. Gaud, V. Hilaire, S. Galland, and A. Koukam,
   Tropos does not support natively the concept of organiza-             “ASPECS: an agent-oriented software process for engineering complex
                                                                         systems,” Autonomous Agents and Multi-Agent Systems, vol. 20, no. 2,
tion. Its authors have proposed organizational patterns [21] in          pp. 260–304, 2010.
order to facilitate the construction of organizational models.       [9] K. Fischer, M. Schillo, and J. Siekmann, “Holonic multiagent systems:
These patterns are defined from real world organizational                A foundation for the organisation of multiagent systems,” Holonic and
                                                                         Multi-Agent Systems for Manufacturing, pp. 1083–1084, 2004.
settings, such as Joint Venture, Pyramid, Flat Structure and        [10] J. F. Hübner, J. S. Sichman, and O. Boissier, “Moise tutorial. (for
many others [22], and formalized using the Tropos notation.              moise 0.7).” [Online]. Available: moise.sourceforge.net/doc/tutorial.pdf
[11] ——, “Moise+: towards a structural, functional, and deontic model
     for mas organization,” in Proceedings of the first international joint
     conference on Autonomous agents and multiagent systems: part 1.
     ACM, 2002, p. 502.
[12] F. Bellifemine, G. Caire, and D. Greenwood, Developing multi-agent
     systems with JADE. Wiley, 2007.
[13] A. Rao, “AgentSpeak (L): BDI agents speak out in a logical computable
     language,” Agents Breaking Away, pp. 42–55, 1996.
[14] J. Odell, M. Nodine, and R. Levy, “A metamodel for agents, roles, and
     groups,” Agent-Oriented Software Engineering V, pp. 78–92, 2005.
[15] H. Van Dyke Parunak and J. Odell, “Representing social structures in
     uml,” Agent-Oriented Software Engineering II, pp. 1–16, 2002.
[16] L. Padgham, M. Winikoff, S. DeLoach, and M. Cossentino, “A unified
     graphical notation for aose,” Agent-Oriented Software Engineering IX,
     pp. 116–130, 2009.
[17] J. Pavòn, J. J. Gòmez-Sanz, and R. Fuentes, “The INGENIAS method-
     ology and tools,” in Agent Oriented Methodologies.            Idea Group
     Publishing, 2005, ch. IX, pp. 236–276.
[18] INGENIAS, “Home page,”
     http://grasia.fdi.ucm.es/ingenias/metamodel/.
[19] I. Jacobson, G. Booch, and J. Rumbaugh, The unified software develop-
     ment process. Addison-Wesley Longman Publishing Co., Inc. Boston,
     MA, USA, 1999.
[20] P. Giorgini, M. Kolp, J. Mylopoulos, and J. Castro, “Tropos: A
     requirements-driven methodology for agent-oriented software,” in Agent
     Oriented Methodologies, ch. II, pp. 20–45.
[21] M. Kolp, P. Giorgini, and J. Mylopoulos, “Organizational patterns for
     early requirements analysis,” in Advanced Information Systems Engi-
     neering. Springer, 2010, pp. 1030–1030.
[22] A. Fuxman, P. Giorgini, M. Kolp, and J. Mylopoulos, “Information sys-
     tems as social structures,” in Proceedings of the international conference
     on Formal Ontology in Information Systems-Volume 2001. ACM, 2001,
     pp. 10–21.