=Paper=
{{Paper
|id=None
|storemode=property
|title=OperettA: Organization-Oriented Development Environment
|pdfUrl=https://ceur-ws.org/Vol-627/lads_2.pdf
|volume=Vol-627
|dblpUrl=https://dblp.org/rec/conf/mallow/DignumA10
}}
==OperettA: Organization-Oriented Development Environment==
OperettA: Organization-Oriented Development
Environment
Virginia Dignum
Delft University of Technology, The Netherlands, m.v.dignum@tudelft.nl
Huib Aldewereld
Utrecht University, The Netherlands, huib@cs.uu.nl
Abstract—The increasing complexity of distributed applica- [9], [10], and social structures [15] arise from the idea that the
tions requires new modeling and engineering approaches. Such effective engineering of organizations needs high-level, actor-
domains require representing the regulating structures explicitly independent concepts and abstractions that explicitly define the
and independently from the acting components (or agents). Or-
ganization computational models, based on Organization Theory, organization in which agents live [22]. These are the rules and
have been advocated to specify such systems. In this paper, global objectives that govern the activity of an organization.
we present the organizational modeling approach OperA and The OperA model [4] proposes an expressive way for
a graphical environment for the specification and analysis of defining agent organizations distinguishing explicitly between
organizational models, OperettA. OperA provides an expressive the organizational aims, and the agents who act in it. OperA
way for defining open organizations distinguishing explicitly
between the organizational aims, and the agents who act in it. enables the specification of organizational structures, require-
ments and objectives, and at the same time allows participants
I. I NTRODUCTION to have the freedom to act according to their own capabilities
The engineering of applications for complex and dynamic and demands. OperA has been applied is many domains,
domains is an increasingly difficult process. Requirements including knowledge management, work practice analysis, and
and functionalities are not fixed a priori, components are not serious games and social simulation. Space constraints do not
designed nor controlled by a common entity, and unplanned allow for a comparison of OperA with other approaches. For
and unspecified changes may occur during runtime. There this effect, we refer the reader to [2].
is a need for representing the regulating structures explicitly In this paper, we present OperettA, a graphical environment
and independently from the acting components (or agents). for the specification, validation and analysis of organizational
Organization computational models, based on Organization models, based on the OperA formalism [4]. This organization
Theory, have been advocated to specify such systems. specification tool builds heavily on mechanisms from Model
Traditionally, Multi-Agent Systems (MAS) stress the auton- Driven Engineering (MDE), which enables the introduction
omy and encapsulation characteristics of agents. In such agent- and combination of different formal methods hence enabling
centric view, interactions between agents are mostly seen as the modeling activity through systematic advices and model
speech acts whose meaning may be described in terms of design consistency checking.
the mental states of an agent. As systems grow to include The paper is organized as follows: first, in section II we
hundreds or thousands of agents, it is necessary to move introduce and briefly explain the OperA framework. In section
from an agent-centric view of coordination and control to an III the specification of organizational models in OperA is de-
organization-centric one. Organizations provide stable means tailed. In section IV we introduce the OperettA Environment.
for coordination that enable the achievement of global goals. In section V we provide some design guidelines for organiza-
In this sense, organization models play a critical role in the tion models. Finally, section VI gives our conclusions.
development of larger and more complex MAS [5].
Comprehensive analysis of several agent systems has shown II. O RGANIZATION M ODELING : THE O PER A F RAMEWORK
that different design approaches are appropriate for different Organizational models should enable the explicit represen-
domain characteristics [6]. In particular, agent organization tation of structural and strategic concerns and their adaptation
frameworks are suitable to model complex environments to environment changes in a way that is independent from the
where many independent entities coexist witing explicit nor- behavior of the agents. Organization models, combining global
mative and organizational structures and global specification requirements and individual initiative, have been advocated
of control measures is necessary. to specify open systems in dynamic environments [11], [4].
Models for agent organizations must, on the one hand, be We take formal processes and requirements as a basis for the
able to specify global goals and requirements but, on the other modeling of complex systems that regulate the action of the
hand, cannot assume that participating actors will always act different agents.
according to the needs and expectations of the system design. The deployment of organizations in dynamic and unpre-
Concepts as organizational rules [21], norms and institutions dictable settings brings forth critical issues concerning the
14
design, implementation and validation of their behavior [16], characteristics of a domain from an organizational perspective,
[13], [20], and should be guided by two principles. where global goals determine roles and interactions, specified
• Provide sufficient representation of the institutional re- in terms of Social and Interaction Structures. E.g., how should
quirements so that the overall system complies with the a conference be organized, its program, submissions, etc.
norms. Moreover, organization specification should include the de-
• Provide enough flexibility to accommodate heterogeneous scription of concepts holding in the domain, and of expected
components. or required behaviors.Therefore, these structures should be
Therefore, organizational models must provide means to linked with the norms, defined in Normative Structure, and
represent concepts and relationships in the domain that are rich with the ontologies and communication languages defined in
enough to cover the necessary contexts of agent interaction the Communication Structure.
while keeping in mind the relevance of those concepts for the
A. The Social Structure.
global aims of the system.
The OperA model [4] proposes an expressive way for The social structure of an organization describes the roles
defining open organizations distinguishing explicitly between holding in the organization. It consists of a list of role defi-
the organizational aims, and the agents who act in it. That is, nitions, Roles (including their objectives, rights and require-
OperA enables the specification of organizational structures, ments), such as PC-member, program chair, author, etc.; a list
requirements and objectives, and at the same time allows of role groups’ definitions, Groups; and a Role Dependencies
participants to have the freedom to act according to their graph.
own capabilities and demands. At an abstract level, an OperA Abstract society objectives form the basis for the definition
model describes the aims and concerns of the organization of the objectives of roles. Roles are the main element of the
with respect to the social system. These are described as Social Structure. From the society perspective, role descrip-
organization’s externally observable objectives, that is, the tions should identify the activities and services necessary to
desired states of affairs for the organization. achieve society objectives and enable to abstract from the
The OperA framework consists of three interrelated models. individuals that will eventually perform the role. From the
The Organizational Model (OM) is the result of the observa- agent perspective, roles specify the expectations of the society
tion and analysis of the domain and describes the desired be- with respect to the agent’s activity in the society. In OperA,
havior of the organization, as determined by the organizational the definition of a role consists of an identifier, a set of role
stakeholders in terms of objectives, norms, roles, interactions objectives, possibly sets of sub-objectives per objective, a set
and ontologies. The OM provides the overall organization of role rights, a set of norms and the type of role. An example
design that fulfills the stakeholders requirements. Objectives of role description is presented in table I.
of an organization are achieved through the action of agents,
which means that, at each moment, an organization should Id PC member
Objectives paper reviewed(Paper,Report)
employ the relevant agents that can make its objectives happen. Sub-objectives {read(P), report written(P, Rep), review received(Org, P, Rep)}
However, the OM does not specify how to structure groups Rights access-confmanager-program(me)
Norms & PC member is OBLIGED to understand English
of agents and constrain their behavior by social rules such Rules IF paper assigned THEN PC member is OBLIGED
that their combined activity will lead to the desired results. to review paper BEFORE given deadline
IF author of paper assigned is colleague
The Social Model (SM) maps organizational roles to agents THEN PC member is OBLIGED to refuse to review asap
and describes agreements concerning the role enactment and
other conditions in social contracts. Finally, the Interaction TABLE I
Model (IM) specifies the interaction agreements between PC member ROLE DESCRIPTION .
role-enacting agents as interaction contracts. IM specification
enable variations to the enactment of interactions between role-
enacting agents. Groups provide means to collectively refer to a set of roles
The OperettA framework is developed to specify organi- and are used to specify norms that hold for all roles in the
zation models, according to the OperA OM, which will be group. Groups are defined by means of an identifier, a non-
described in more detail in section III, using as example the empty set of roles, and group norms. An example of a group
conference organization scenario taken from [8]. In section in the conference scenario is the organizing team consisting of
IV-B we describe the use of MDE principles to implement the roles program chair, local organizer, and general chair.
this framework. The distribution of objectives in roles is defined by means of
the Role Hierarchy. Different criteria can guide the definition
III. T HE O RGANIZATION M ODEL of Role Hierarchy. In particular, a role can be refined by
A common way to express the objectives of an organization decomposing it in sub-roles that, together, fulfill the objectives
is in terms of its expected functionality, that is, what is of the given role.
the organization expected to do or produce.In OperA, the This refinement of roles defines Role Dependencies. A
Organization Model (OM) specifies the means to achieve such dependency graph represents the dependency relations be-
objectives. That is, OM describes the structure and global tween roles. Nodes in the graph are roles in the society.
15
Arcs are labelled with the objectives for which the parent interpret its norms. Following the ideas of [17], [14], we call
role depends on the child role. Part of the dependency graph such expressions landmarks, defined as conjunctions of logical
for the conference society is displayed in figure 1. For expressions that are true in a state. Landmarks combined
example, the arc between nodes PC-Chair and PC-member with a partial ordering to indicate the order in which the
represents the dependency between PC-Chair and PC-member landmarks are to be achieved are called a landmark pattern.
concerning paper-reviewed (P C − Chair paper reviewed Figure 2 shows the landmark pattern for the Review Process.
P C −M ember).The way objective g in a dependency relation Several different specific actions can bring about the same
r1 g r2 is actually passed between r1 and r2 depends on the
coordination type of the society, defined in the Architectural assign receive
paper review
Templates. In OperA, three types of role dependencies are PC1 PC1
identified: bidding, request and delegation. Assign Review
start end
deadline deadline
paper_submitted assign receive
organizer author paper review
role role PC2 PC2
conference_organized
program _fixed session_organized
Fig. 2. Landmark pattern for Review Process.
PC chair session
chair
role role
state, that is, landmark patterns actually represent families of
paper_reviewed paper_presented
protocols. The use of landmarks to describe activity enables
PC
member presenter the actors to choose the best applicable actions, according to
role
role their own goals and capabilities. The relation between scenes is
Fig. 1. Role dependencies in a conference. Send Call for Registration
M
Conference
Participation Sessions
Conference
B. The Interaction Structure. start
Form PC Review
Process
Paper
Acceptance
onsite
registration
end
Interaction is structured as a set of meaningful scenes that Send Call Paper
N
Workshops
follow pre-defined abstract scene scripts. Examples of scenes for Papers Submission
are the registration of participants in a conference, which Fig. 3. Interaction Structure in the Conference scenario.
involves a representative of the organization and a potential
participant, or paper review, involving program committee
members and the PC chair. A scene script describes a scene represented by the Interaction Structure (see figure 3). In this
by its players (roles), its desired results and the norms regu- diagram, transitions describe a partial ordering of the scenes,
lating the interaction. In the OM, scene scripts are specified plus eventual synchronization constraints. Note that several
according to the requirements of the society. The results scenes can be happening at the same time and one agent can
of an interaction scene are achieved by the joint activity participate in different scenes simultaneously. Transitions also
of the participating roles, through the realization of (sub-) describe the conditions for the creation of a new instance of the
objectives of those roles. A scene script establishes also the scene, and specify the maximum number of scene instances
desired interaction patterns between roles, that is, a desired that are allowed simultaneously. Furthermore, the enactment of
combination of the (sub-) objectives of the roles. Table II gives a role in a scene may have consequences in following scenes.
an example of a scene script. Role evolution relations describe the constraints that hold for
the role-enacting agents as they move from scene to scene.
Scene Review Process
Roles Program-Chair (1), PC-member(2..Max) C. The Normative Structure.
Results r1 = ∀ P ∈ Papers: reviews done(P, rev1, rev2)
Interact. Pattern PATTERN(r1 ): see figure 2 At the highest level of abstraction, norms are the values of
Norms & Rules Program-Chair is PERMITTED to assign papers a society, in the sense that they define the concepts that are
PC-member is OBLIGED to review papers assigned
before deadline used to determine the value or utility of situations. For the
conference organization scenario, the desire to share informa-
TABLE II
S CRIPT FOR THE Review Process SCENE . tion and uphold scientific quality can be seen as organization
values. However, values do not specify how, when or in
which conditions individuals should behave appropriately in
OperA interaction descriptions are declarative, indicating any given social setup.
the global aims of the interaction rather than describing exact In OperA, norms are specified in the Normative Structure
activities in details. Interaction objectives can be more or less using a deontic logic that is temporal, relativized (in terms
restrictive, giving the agent enacting the role more or less of roles and groups) and conditional. For instance, the fol-
freedom to decide how to achieve the role objectives and lowing norm might hold: “The authors must submit their
16
contributions before the deadline”, which can be formalized of interaction should be able to be represented, existing
as: Oauthor (submit(paper) ≤ Deadline) ontologies containing such information should be able
Furthermore, in order to check norms and act on possible to be included (and provide inputs for organizational
violations of the norms by the agents within an organization, concepts, such as role or objective names). Ontologies
abstract norms have to be translated into actions and concepts should be maintainable and updatable.
that can be handled within such organizations. To do so, the 4) Connectivity to System Level: The output of the or-
definition of the abstract norms are iteratively concretized into ganizational design tool is intended for use by system
more concrete norms, and then translated into specific rules, level tools, namely MAS environments and agent pro-
violations and sanctions. gramming languages. The output of the tool thus needs
Concrete norms are related to abstract norms through a map- to provide easy integration and connection between the
ping function, based on the counts-as operator as developed organization and system level.
in [1]. For example, in the context of Org, submit(paper) 5) User-Friendly GUI: A user-friendly graphical interface
can be concretized as:send mail(organizer, f iles) ∨ is to be provided for users to create and maintain
send post(organizer, hard copies) →Org submit(paper) organizational models easily. Help and guidelines are
useful for beginners to use the tool.
D. The Communication Structure. 6) Availability: The tool should be available under open
Communication mechanisms include both the representation source license and for use by other projects.
of domain knowledge (what are we talking about) and proto- We have developed the OperettA development environment as
cols for communication (how are we talking). Both content an open-source solution on the basis of these requirements.
and protocol have different meanings at the different levels of OperettA enables the specification and verification of OperA
abstraction (e.g. while at the abstract level one might talk of OMs, which satisfies requirements 1 and 2. OperettA combines
disseminate, such action will most probably not be available multiple editors into a single package. It provides separate
to agents acting at the implementation level). Specification of editors on different components of organizational models;
communication content is usually realized using ontologies, i.e., it has different (graphical) editors for each of the main
which are shared conceptualizations of the terms and predi- components of an organizational model as defined in the
cates in a domain. Agent communication languages (ACLs) OperA framework. These specialized editors correspond to
are the usual means in MAS to describe communicative the OperA OM structures: social, interaction, normative and
actions. ACLs are wrapper languages in the sense that they communicative. The OperettA Ontology Manager enable the
abstract from the content of communication. specification and import of domain ontologies, as in require-
In OperA, the Communication Structure describes both the ment 3.
content and the language for communication. The content The OperettA tool is a combination of tools based on the
aspects of communication, or domain knowledge, are spec- Eclipse Modeling Framework (EMF) [18] and tools based on
ified by Domain Ontologies and Communication Acts define the Graphical Modeling Framework (GMF) integrated into a
the language for communication, including performatives and single editor. Developed as an Eclipse plug-in, OperettA is
protocols. fully open-source and follows the MDE principles of tool de-
IV. O PERETTA E NVIRONMENT velopment. In the following we look at the editors provided by
OperettA, and how OperettA connects to MAS solutions, thus
In order to support developers designing and maintain- satisfying requirement 4. A graphical interface (requirement 5)
ing organization models, tools are needed that provide an for OperettA has been developed and is currently being user-
organization-oriented development environment. The require- tested within the ALIVE project [12]. Finally, in accordance
ments for such a development environment are the following. to the last requirement, OperettA is available opensource at
1) Organizational Design: The tool should provide means sourceforge1 .
for designing organizational models in an ‘intuitive’
manner. The tool should allow users to create and A. OperettA Components
represent organizational structures, define the parties The main element of OperettA is the OperA Meta-Model
involved in an organization, represent organizational and (see figure 4 for an overview of the tools in OperettA and their
role objectives, and define the pattern of interactions functionalities). The meta-model, created with the EMF tools,
typically used to reach these objectives. provides the (structural) definition of what organizational
2) Organizational Verification: The tool should provide models should look like. This meta-model is extended with
verification means and assistance in detecting faults in the default EMF edit and editor plug-ins to provide model
organizational designs as early as possible, to prevent accessors and the basic tree-based editor for the creation
context design issues from being translated to the other and management of OperA models. The basic editor has
levels of system specification. been extended with graphical interfaces for editing parts of
3) Ontology Design: The tool should to be able to specify, the organization model: the social diagram editor, and the
import, and maintain domain ontologies. Domain on-
tologies specifying the knowledge for a specific domain 1 http://ict-alive.svn.sourceforge.net/
17
D".$1.E=$%$#.+!,+
,+
,)-.*+066.'')"'+ !/.".80+:-&1)"+
3%.14'54&61$*&7.4)/.".8$4.-&19+ 3%.14'54&61$*&7.4)/.".8$4.-&1)"9+
?")7&-.'+.-&(%#+5@%6()%$*&1A+
-.'+.-&(%#+5@%6()%$*&1A+
!"#$%&'$()%$*+,)-.*+
1)+!"#$%&'$()%$*+,)-.*+
;)6&$*+<&$#"$=+
:%$F*.'+-&G.".%1+.-&1)"+7&.H'+
C'.'+
C'.'+,,+-.B%&()%'+
:-&1)"+
3%.14'54&61$*&7.4)/.".8$4-&$#"$=4''9+
3
!"#$%&'$()%$*+ !/."0+,.1$2,)-.*+ >%1."$6()%+<&$#"$=+
,)-.*+ <.B%.'+ 3%.14'54&61$*&7.4)/.".8$9+ :-&1)"+
'1"@61@".+ 3
3%.14'54&61$*&7.4)/.".8$4-&$#"$=4&'9+
!"#$%&'#()*+",)-.&/+")
3/*$%%.-9+
I."&B.'+=)-.*+ I$*&-$()%+
J"$=.H)"K+
3%.14'54&61$*&7.4)/.".8$46L.6K9+
>=/)"1'E:M/)"1'+)%1)*)#A+ !%1)*)#A+
,$%$#.=.%1+
3%.14'54&61$*&7.4)/.".8$4)%1)*)#A9+
O@&*-'+".)"#$%&'$()%+'6"&/1'+
,)-.*+N"$6K."+
3%.14'54&61$*&7.4)/.".8$4=)-.*N"$6K."9+
Fig. 5. OperettA Social Diagram Editor.
Fig. 4. OperettA Tool Components.
points between scenes). Together, these define the order in
interaction diagram editor. A third graphical editor is planned which objectives are to be reached and how the organization
for editing and managing formulas and norms. works (though specified on a high level of abstraction). The
Next to the graphical editing extensions, OperettA contains Interaction Diagram Editor allows for the graphical creation
three other plug-ins for additional functionality. The Validation and maintenance of scenes, transitions and arcs (links between
Framework provides an improvement over the default valida- scenes and transitions). The graphical editor provides a user-
tion of EMF-based tools to provide validation of additional friendly overview of the structural aspect of the organization,
restrictions. An ontology managing plug-in is included as well defining how different interactions within the organization are
to allow the ontology developed with OperettA to be exported supposed to help achieve the organizational objectives. Finally,
to OWL, as well as allowing for importing existing ontology OperettA allows for the specification and editing of scene
into the organization to boot-strap the organization design. properties (like the scene results, the players active in the
Finally, OperettA contains a Model Tracker plug-in that can scene, the landmark pattern, etc).
generate re-organization descriptions based on changes made 3) Ontology Manager: The Ontology Manager part of the
in the OperettA organization editors. OperettA tool is a plug-in for importing and exporting (do-
We discuss the graphical editors and additional plug-ins in main) ontologies. The creation and maintenance of ontologies
more details in the following. is done by external tools (like, for example, Protégé). Parts of
1) Social Diagram Editor: This graphical editor provides the functionality of organizational ontology editing is included
a view of the Social Structure element of OMs. It allows the in the OperettA editors:
graphical creation of organizational Roles and Dependencies, • Automatic creation of organizational ontology while de-
thus specifying the social relations between important parties signing the organization. As the designer is inputting the
that play a part in the organization. The Social Diagram Editor organizational model in OperettA, OperettA maintains
also provides editing capabilities to specify and manage Role an ontology of role names, objective names, and logical
related Objectives, to provide context for the different Roles atoms that the designer uses to define the organization.
in an organization. Figure 5 depicts the Social Diagram Editor • Using an included (existing) ontology for the naming of
of OperettA that is used to enter organizational roles and organizational model elements; that is, if an (external)
dependencies between roles. Role objectives are created and ontology is present in the organizational model it can
managed via the objectives editor shown in the bottom part of be used to pick concept names for different parts of
the figure. an organizational model (e.g., the name of a role can
2) Interaction Diagram Editor: Similar to the Social Di- be picked from an existing ontology included in the
agram Editor, the Interaction Diagram Editor provides a model). The addition of the (external) ontology to an
graphical view of the Interaction Structure element of OMs. organizational model is done via the ontology manager.
This editor allows for the specification and management of The functionality of ontology editing in the OperettA tools
the interaction elements of the organization; that is, it is for is limited to organizational ontologies. The Ontology manager
the specification and management of the different interactions plug-in extends OperettA with the following capabilities:
that take place in the organization in order to achieve the • Importing an ontology from a file (e.g., RDF or OWL
different (role) objectives specified in the social part of the [19]). Ontologies about the domain or organization that
OM. The specification of the interaction is done in terms is to provide the context of a system might be already
of scenes and transitions (the connection and synchronization available. These ontologies tend to be stored in some
18
conventional ontology file-format. The Ontology Man-
ager allows OperettA to import and use such ontologies.
• Exporting (generated) organizational ontologies to file. In
order to align an use the organizational ontology created
by OperettA, the Ontology Manager extends the OperettA
tool with the capability to export the default ontology to
Fig. 6. A Norm in OperettA.
an owl file.
The organizational ontology created by OperettA is stored
in the Organizational Model. The ontological elements need
to be available to the system level of design, and thus need 6) Norm Editor: Norms are an important part of the or-
to be included in the domain ontology. The integration of ganizational Model, providing lead ways on a high level of
organizational concepts in a domain ontology is not trivial, as abstraction for the agents to follow. Norms can be inputted in
it should respect the structure of the domain ontology while the current version of OperettA via the basic EMF generated
adding organizational concepts as roles, objectives, etc. and the editor. This editor is not user-friendly. An example norm in
instances of these concepts; role names, objective names, etc. OperettA is shown below in figure 6. The norm shown in this
The alignment between the exported ontology and the domain figure describes that buyers should have paid for the items
ontology will have to be done by hand in an external editor. they have won in an auction before one week has expired.
The inclusion of the ontology manager satisfies requirement The norm is input using several logical formulas; one for
3. the activation condition expressing when the norm is active
4) Model Tracker: To support reorganization, OperettA is (the item is bid on and won), one for the expiration condition
extended with a model tracker. This model tracker allows a expressing that the norm is no longer active (the item has
designer to view the changes made on the organizational model been paid for), one for the maintenance condition expressing
since a last save (but not necessarily the previous one). By the formula to be checked when the norm is active to see if
storing the changes to the organizational model in a history violations have happened (the buyer has not paid and the week
file, the model tracker can be used to generate scripts that has not yet expired), and one for the deadline expressing a state
express how an organization is changed. Reorganization scripts of affairs before which the norm should have been fulfilled. A
capture changes in a precise and concise manner, and can user-friendlier (graphical) interface for inputting and managing
be used to communicate organizational changes to the system the norms of an organizational model is planned for a future
level. version of OperettA. This extension, with the graphical editors
5) Validation Framework: The validation plug-in of Op- for the social and interaction structures, fulfills requirement 5.
erettA overwrites the basic validation provided by the EMF
framework. Instead of just verifying constraints specified in B. Connectivity to System Level
the OperA meta-model, the validation has been extended with The OperettA tool has only off-line functionalities; it is
additional verification constraints to minimize organizational used by designers to create the context of the system and
design mistakes. The overall purpose of the validation plug-in their linked ontologies. It provides design and validation
is to provide OM designers meaningful feedback to eliminate functionalities for the creation and management of OperA
design errors as early as possible (in the design process). organizational models. For the connection to implementations
The validation plug-in is installed separately from OperettA, OperettA depends on the Model Driven Engineering (MDE)
but after installation it can be invoked from within each of approach by providing a meta-model of the modeling concepts.
the different OperettA editing views. The validation plug-in MDE refers to the systematic use of models as primary
seamlessly overwrites the standard EMF validation, making it artifacts throughout the Software Engineering lifecycle. The
the new default manner of validating OperettA models. defining characteristics of MDE is the use of models to
The validation plug-in works directly on the model instance represent the important aspect of the system, be it require-
to verify various modeling constraints, accessing the model via ments, high-level designs, user data structures, views, interop-
the meta-model definitions. Some examples of the constraints erability interfaces, test cases, or implementation-level artifacts
validated are checking that roles have a name, checking such as code. The Model Driven Development promotes the
that role names are unique, checking that all roles have an automatic transformation of abstracted models into specific
objective, and so on. Less stringent constraints are checked as implementation technologies, by a series of predefined model
well, like, for example, whether roles are connected to other transformations.
roles via dependencies; i.e., while it does not hold for every In essence, this means that the models created with the
OM, in most models roles should be connected to other roles OperettA tool can be used for automated transformation
(that is, it should be depending upon (an)other role(s) or being towards applicable (models of) platforms; e.g, service-based
depended upon by (an)other role(s)). Such “soft” constraints implementations or multiagent systems. The only required step
are presented to designer as a warning, intended to have the for such transformation is the definition of the transformations
designer rethink their model and update if appropriate. The based on the OperettA meta-model concepts to the meta-model
validation plugin fulfills requirement 3. of the desired platform.
19
Finally, OperettA is based on the OperA formalism, which R EFERENCES
assumes that individual agents are designed independently [1] Huib Aldewereld, Sergio Álvarez-Napagao, Frank Dignum, and Javier
from the organization, to model goals and capabilities of a Vázquez-Salceda. Engineering social reality with inheritance relations.
given entity. Individual agents are the enactors of organiza- In Proc. of the 10th Workshop Engineering Societies in the Agents’
World (ESAW 2009). 2009.
tional role(s), as a means to realize their own goals [3]. As such [2] L. Coutinho, J. Sichman, and O. Boissier. Modelling dimensions for
it is necessary that OperettA can connect to such MAS frame- agent organizations. In V. Dignum, editor, Handbook of Research
works. As a proof of concept, we have done experiments on the on Multi-Agent Systems: Semantics and Dynamics of Organizational
Models. Information Science Reference, 2009.
connection towards frameworks like Brahms and Repast, for [3] M. Dastani, V. Dignum, and F. Dignum. Role assignment in open agent
the simulation of organizations in which normative properties societies. In AAMAS03. ACM Press, July 2003.
of the organization can be verified for different populations [4] V. Dignum. A Model for Organizational Interaction: based on Agents,
founded in Logic. SIKS Dissertation Series 2004-1. Utrecht University,
with emergent behavior. As part of the ALIVE project [12] a 2004. PhD Thesis.
connection was made with AgentScape to generate MAS from [5] V. Dignum. The role of organization in agent systems. In V. Dignum,
the organizational specification. editor, Handbook of Research on Multi-Agent Systems: Semantics and
Dynamics of Organizational Models, pages ??–?? Information Science
Reference, 2009.
[6] V. Dignum and F. Dignum. Designing agent systems: State of the
V. D ESIGN G UIDELINES practice. International Journal on Agent-Oriented Software Engineering,
4(3), 2010.
In the previous we introduced organizational modeling and [7] V. Dignum, F. Dignum, and J.J. Meyer. An agent-mediated approach
the OperettA Environment to support this. In this section we to the support of knowledge sharing in organizations. Knowledge
Engineering Review, 19(2):147–174, 2004.
present a small overview on how one goes about designing an [8] V. Dignum, J. Vazquez-Salceda, and F. Dignum. Omni: Introducing
organization. After identifying that an organization presents social structure, norms and ontologies into agent organizations. In
the solution to the problem: Programming Multi-Agent Systems: Second International Workshop
ProMAS 2004, volume 3346 of LNAI. Springer, 2005.
1) Identify (functional) requirements: First one determines [9] Virginia Dignum and Frank Dignum. Modeling agent societies: co-
the global functionalities and objectives of the society. ordination frameworks and institutions. In A. Jorge P. Brazdil, editor,
Progress in Artificial Intelligence: Proc. of EPIA-2001, LNAI 2258,
2) Identify stakeholders: The analysis of the objectives of pages 191–204. Springer, 2001.
the stakeholders identifies the operational roles in the [10] M. Esteva, J. Padget, and C. Sierra. Formalizing a language for
society. These first two steps set the basis of the social institutions and norms. In ATAL-2001, LNAI 2333, pages 348–366.
Springer, 2001.
structure of the OperA model. [11] J. Ferber and O. Gutknecht. A meta-model for the analysis and design
3) Set social norms, define normative expectations: The of organizations in multi-agent systems. In ICMAS’98, pages 128–135.
analysis of the requirements and characteristics of the IEEE Computer Society, 1998.
[12] European Commission FP7-215890. ALIVE, 2009. http://www.ist-alive.
domain results in the specification of the normative eu/.
characteristics of the society. This results in the norms [13] Davide Grossi, Frank Dignum, Mehdi Dastani, and Lambèr Royakkers.
in the normative structure. Foundations of organizational structures in multiagent systems. In
AAMAS ’05: Proceedings of the fourth international joint conference
4) Refine behavior: Using means-end and contribution on Autonomous agents and multiagent systems, pages 690–697, New
analysis, a match can be made between what roles York, NY, USA, 2005. ACM.
should provide and what roles can provide. This aspect [14] S. Kumar, M. Huber, P. Cohen, and D. McGee. Towards a formalism
for conversation protocols using joint intention theory. Computational
contributes to refinement of role objectives and rights. Intelligence Journal, 18(2), 2002.
5) Create interaction scripts: Using the results from steps 3 [15] H.V.D. Parunak and J. Odell. Representing social structures in uml.
and 4, one can now specify the patterns of interaction for In M.Wooldridge, G.Weiss, and P. Ciancarini, editors, Agent-Oriented
Software Engineering II, LNCS 2222. Springer-Verlag, 2002.
the organization, resulting in the interaction structure. [16] L. Penserini, D. Grossi, F. Dignum, V. Dignum, and H. Aldewereld.
Evaluating organizational configurations. In IEEE/WIC/ACM Interna-
More details about the methodological steps taken to create tional Conference on Intelligent Agent Technology (IAT 2009), 2009.
organizational models can be found in [7]. [17] I. Smith, P. Cohen, J. Bradshaw, M. Greaves, and H. Holmback.
Designing conversation policies using joint intention theory. In Proc.
ICMAS-98, pages 269–276. IEEE Press, 1998.
VI. C ONCLUSIONS [18] Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks.
EMF: Eclipse Modeling Framework. Eclipse Series. Addison-Wesley
In this paper, we present an organization-oriented model- Professional, 2008.
[19] W3C. Owl-s, 2004. http://www.w3c.org/Submission/OWL-S.
ing approach for system development. The OperA modeling [20] H. Weigand and V. Dignum. I am autonomous, you are autonomous.
framework can be used for different types of domains from In M. Nickles, M. Rovatsos, and G. Weiss, editors, Agents and Com-
closed to open environments and takes into consideration putational Autonomy, volume 2969 of LNCS, pages 227–236. Springer,
2004.
the differences between global and individual concerns. The [21] F. Zambonelli. Abstractions and infrastructures for the design and
OperettA tool supports software and services engineering development of mobile agent organizations. LNAI 2222, pages 245–
based on the OperA modeling framework. It has been used in 262. Springer, 2002.
[22] F. Zambonelli, N. Jennings, and M. Wooldridge. Organizational abstrac-
the European project ALIVE [12] that combines cutting edge tions for the analysis and design of multi agent systems. LNAI 1957,
coordination technology and organization models to provide pages 235–251. Springer, 2001.
flexible, high-level means to model the structure of inter-
actions between services in an environment.
20