=Paper=
{{Paper
|id=Vol-1260/paper10
|storemode=property
|title=GIMT: A Tool for Ontology and Goal Modeling in BDI Multi-Agent Design
|pdfUrl=https://ceur-ws.org/Vol-1260/paper10.pdf
|volume=Vol-1260
|dblpUrl=https://dblp.org/rec/conf/woa/CossentinoNGLLR14
}}
==GIMT: A Tool for Ontology and Goal Modeling in BDI Multi-Agent Design==
GIMT: A tool for ontology and goal modeling in
BDI Multi-Agent Design
Massimo Cossentino∗ , Daniele Dalle Nogare ‡ , Raffaele Giancarlo‡ , Carmelo Lodato∗ ,
Salvatore Lopes∗ Patrizia Ribino∗ , Luca Sabatucci∗ and Valeria Seidita†∗
∗ Istituto di Calcolo e Reti ad Alte Prestazioni - Consiglio Nazionale delle Ricerche
Email: {cossentino, c.lodato, lopes, ribino, sabatucci}@pa.icar.cnr.it
† Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica
Email: valeria.seidita@unipa.it
‡ Dipartimento di Matematica e Informatica
Email: raffaele.giancarlo@unipa.it, daniele.dallen@gmail.com
Abstract—Designing and developing BDI multi-agent systems The objective of our work is to provide a CASE tool for
would be facilitated by rising up the level of abstraction to use supporting designers in the goal identification activity. We
and by a methodological approach for managing it. To this aim exploit the results presented in [17] where two activities of
it is common the integration of goal oriented analysis techniques the preliminary phase of a complete methodological approach
with the design and implementation phases. were developed.
In this fashion, our experience is that the use of an ontology
in the early stages of the process is a great support for subsequent Model Driven Engineering (MDE) is an approach promot-
phases: goal modeling, agent design and implementation. How- ing the use of models as first-class citizens of a software
ever, we are aware that building and maintaining an ontology development process [19]. These models are, in many usual
has to be supported by appropriate tools. cases, defined using general-purpose modeling languages like
This paper proposes GIMT (Goal Identification and Modeling
the UML: the standard modeling language in the field of
Tool) as a further step towards the creation of a complete object oriented software engineering. Conversely, for restricted
methodological approach for developing multi-agent systems to domains, it is widely spread the use of so-called Domain Spe-
be implemented in the JACAMO framework. GIMT is a CASE cific Modeling Languages (DSMLs) [14]. They are specifically
tool for supporting ontology building and goal modeling. designed to meet the needs of the target application domain by
using specific concepts of the domain. A common practice of
Besides the advantages offered by an automatic tool, the other
novelty of this research is in the mapping between metamodeling MDE is that DSMLs are defined using a metamodel expressed
based on Model Driven Engineering (MDE) and Domain Specific with a general-purpose metamodeling language like MOF [15],
Modeling Languages (DSMLs) with the Eclipse plug-in develop- to name the most widely used one. These metamodels describe
ment environment. elements of the language the designer can instantiate at the
immediate meta-level below in order to build its own DSML.
I. I NTRODUCTION
The results presented in this paper are founded on the use
The integration of a high-level programming paradigm, of MDE as a key element for the development of the proposed
such as the BDI multi-agent systems, into a systematic ap- tool. The main contribution is the development of a CASE tool
proach, requires a revision of traditional instruments and based on a DSML we have defined in order to support the
tools for conducting the requirement analysis, in order to activities of the requirement analyses proposed in our previous
better fit with the well-known concept of goal. Much research work [17].
exists in the literature to deal with the goal oriented require-
ment engineering. We aim at developing a complete software It is well known that the joint use of DSMLs and CASE
methodology that includes a goal-oriented analysis, the design tools allows to guide and automate the model construction and
of agent organizations, and the support to the implementation transformation, resulting in an increase of both software de-
phase. velopment productivity and quality. The tool imposes domain-
specific constraints and performs model checking for detecting
The fundamental common theme in all these activities is and preventing many errors in the early phases of the process
the presence of an ontology. It is necessary for the definition life cycle.
of the problem and of the solution domain, but also for the
structure of messages and for organizing agent knowledge in The tool we propose has been developed by using Graphiti
beliefs. [5], an Eclipse-based graphics framework that enables rapid
development of state-of-the-art diagram editors for domain
Ontologies are essential for our approach. However, we models. Graphiti can use EMF [3] based domain models very
have faced the problem that building and maintaining them is easily but can deal with any Java-based objects on the domain
not trivial. A totally manual approach would add a significant side as well.
burden to developer that may impact the personal productivity
in the project. The rest of the paper is organized as follows, in the next
section we present the motivation of our work, in section III
we illustrate the methodological approach for which the tool <> <> <>
isPart_of Association is_a
has been developed, in section IV we present the tool, its 1 1 1
2 {same 2 {same
functionality and some technological issues on its construction subtype} 2 subtype}
<>
and finally in Section V we draw some conclusions. <> Ontology
isPrecondition Element
0..*
II. M OTIVATION AND O BJECTIVES <> <> 0..*
<>
Describes
isPostcondition 0..* Predicate 1..*
Much research has highlighted advantages and strengths of
0..* <>
MDE and DSMLs [8][19][7][14] in managing the complexity 1..* 1..*
<>
hasTarget
Concept
0..*
of domain concepts and domain abstractions while designing <>
1..*
<>
complex systems. These are fundamentals in our research. We Action
1..* isInput
have been working for a couple of years on the construction 0..*
<> 1..* <> <>
of a complete design process for modeling complex MAS executes Position Object
systems, including organizations, hierarchical structures and <> <> 0..*
<>
1..*
Intentional Unintentional
norms [18][13][11][12]. Action Action
executes
In order to develop such kinds of systems, we need to
manage abstractions such as organizations, goals, communica- Fig. 1. The Problem Domain Description Metamodel.
tions, messages, beliefs and so on. Thus we need a domain-
specific modeling language that includes these specific terms
as keywords. In addition, the methodological approach we are <>
Position
2 1 <>
generalize
<>
extDep
developing may be facilitated by the creation of CASE tools 0..1
for supporting designers in each part of their work. However,
customization of existing tools for different application do- <> <> <>
aggregate depend intDep
mains is not always easy or even possible. 1
Nowadays, several environments exist for DSMLs, some 2 <>
<> OR_Dep
of them are commercial such as Metaedit+ [21] and Ac- Goal 0..* 1..n
tifsource [1], some are open source and some others are 2
1
<>
decompose
developed as plug-ins for popular IDEs such as Eclipse Mod-
<>
eling Project [2] and Microsoft’s DSL Tools [6]. In particular, AND_Dep
Eclipse is an open and flexible framework, providing the API <>
HardGoal 0..*
<>
contribute 0..*
<>
SoftGoal
for adding functionalities perfectly integrated in the whole
working environment. Indeed, the Eclipse framework does not
support any specific task but the composition of a set of plug- Fig. 2. The Goal Description Metamodel.
ins gives Eclipse a particular “configuration” for specific needs.
The Eclipse community is committed at providing plug-ins for
generating graphical modeling tool. Recently, the Graphical to be implemented in the JACAMO framework [9]. The result
Modeling Project reached good results by using two interesting of [17] is a couple of design activities for identifying goals
technologies: Graphiti [5] and Graphical Modeling Framework from the ontological representation of the problem domain.
(GMF) [4]. The distinctive feature in the Graphiti technology
is the employment of the Ecore metamodel for representing In this paper, we complement this portion of the method-
all the elements and relationships at the base of the graphical ology with a CASE tool. It has been developed as an Eclipse
view1 . plug-in, for supporting designers in these two activities (Prob-
lem Domain Description and Goal Description). The Goal
Ecore metamodel is the modeling language used for cre- Identification and Modeling Tool (GIMT) has been conceived
ating models in the diagram editor. In other words, the use for being a MDE tool that automatically aids designers in some
of a metamodel corresponds to the definition of a DSML. of their activities.
Since in our work [20] we use metamodels for representing
the abstractions to be managed during design processes and III. G OAL I DENTIFICATION A PPROACH
to be reported in the models, we have a grounded theory
for representing the domain abstractions for each kind of In the proposed methodology [17] ontologies are used
application and upon which to construct a DSML. very early in the process. Goal Description is the preliminary
activity in which the analysts observe (and model) the strategic
One of the objectives of our research is (i) to support objectives of the software system and of its environment.
designers in the early phase of goal oriented requirements This is done with a close iteration with another activity: the
analysis for BDI MASs and (ii) to provide a CASE tool in Problem Domain Description. This activity is responsible of
order to aid the design of the goal model. creating a significant and transferable understanding of the
This line of research exploits the results of [17]. This is portion of the world where to introduce the software. The
part of a broader activity towards the creation of a complete collaboration of the two activities produces the elements of
methodological approach for developing multi-agent systems the environment (together with their significant states) that
are collected and therefore used for formalizing user goals,
1 We discuss our point of view on developing CASE tool with Graphiti and thus avoiding ambiguities, discovering tacit knowledge and
Ecore in section IV, for more details see [5]. simplifying the comprehension among stakeholders.
a
<> output>> input>>
output>> input>> output>> input>> output>>
Problem Statement Element List Problem Ontology Problem Ontology Goal Information Goal diagram
<>
Description diagram Description diagram [initial]
input>>
System Analyst input>> [initial] [final]
Generate Initialize Problem Refine Problem Compose Goal Describe Goals Initialize Goal Design Goal
Highlight
Ontology Ontology Ontology Description List diagram Diagram
Keywords
Domain Expert Elements List
<>
output>>
a input>>
<>
<>
input>>
Problem Statement Goal Diagram
Goal Patterns Goal List
[highlighted]
Fig. 3. The flow of work from Problem Statement to Goal Model.
In particular, the aim of Problem Domain Description • Refine Problem Ontology Description - it is a refine-
(PDD) activity is to identify and to describe the problem ment of the POD, by analyzing the the underlined
domain elements and their relationships. This activity adopts Problem Statement. The final version includes rela-
the metamodel depicted in Fig. 1. Main elements are: concept tionships among ontology elements;
(anything about which something is said), action (the cause
of an event by an acting concept) and predicate (a property, a In the Goal Description Activity, tasks are:
state or more generally a clarification to specify a concept). In
particular we use to distinguish intentional actions (implying • Compose Goal List - this is the first activity for identi-
a kind of consciousness to act) from unintentional actions fying goals, starting from the POD diagram. The Goal
(purely reactive), and objects (concepts that can perform only Patterns document is used for searching patterns in the
unintentional actions) from positions (concepts with inten- POD diagram by following the guidelines illustrated
tions). in [17];
This activity enables the Goal Description (GD) activity • Describe Goals - here the description on each goal is
that grounds on the ontology and exploits some recurrent completed by describing the elements a goal is com-
structures (Goal Patterns) that lead to identify goals (in terms posed of: goal type, name, state, who is responsible
of actor, and state transitions) and dependencies among them. for the goal and dependencies;
The work product resulting from this activity is the Goal • Initialize Goal Diagram - a first draft of the goal
diagram whose system metamodel is shown in Fig. 2. This diagram is prepared by using the previous goal list
metamodel grounds on two main concepts: Hard Goal and and a specific notation for representing each element
Soft Goal. A HardGoal [10][16] represents a strategic interest of the diagram;
of an actor. It is satisfied absolutely when its subgoals are
satisfied, and that satisfaction can be automatically established. • Design Goal Diagram - it provides a structured de-
A SoftGoal [10][16] is a goal having no clear criteria for scription of the goals, their dependencies and the
deciding whether it is satisfied or not. positions responsible for goal achievement, by using
a specific notation.
Fig. 3 goes into details of the flow of work for identi-
fying goals, starting from the problem statement and passing The advantage of this methodological approach is cor-
through the use of ontology. System Analysts and Domain relating goals with the corresponding portion of textual re-
Experts collaborate in Problem Domain Description and in quirements, thus supporting an iterative approach and a future
Goal Description Activity. evolution of the system. In order to support the designer’s work
In the Problem Domain Description Activity, tasks are: during the goal identification phase, we developed a MDE tool,
as an Eclipse plug-in, for which a specific modeling language
• Highlight Keywords - starting from an informal tex- has been created. This tool is introduced in the next section.
tual document describing the problem domain, an
underlined text document where nouns have been
highlighted, according to their grammatical function IV. G OAL I DENTIFICATION AND M ODELING T OOL
in the sentence, is produced; The Goal Identification and Modeling Tool (GIMT) is a
• Generate Ontology Elements List - previously high- CASE tool for supporting designers in performing all the tasks
lighted nouns are listed with respect to their types (Po- of the Problem Domain Description and Goal Description ac-
sition, Object, Predicate, Intentional or Unintentional tivity (see Fig. 3) for the representation of system requirements
Action); and the domain formalization, as proposed in [17].
• Initialize Problem Ontology - a first draft of the GIMT has been realized as an Eclipse plug-in by using
problem ontology description diagram is prepared by the Eclipse Modeling Framework (EMF) and Graphiti. It im-
using the previous list and a specific notation for plements the Domain Specific Modeling Language we defined
representing each element of the diagram (the SMME in order to create the models for representing the problem
and SMMR in the metamodel); ontology and the goal identification.
The key element for the implementation of GIMT is the representing the concrete elements and the relationships of the
Model definition. The EMF provides a modeling and code Problem Ontology Description Metamodel (see Fig. 1).
generation framework for Eclipse applications based on a
layered structure for data models. The information type of the POD diagram elements - Each element of a POD diagram
sets of model instances is defined in a so-called core model, is represented by means of a graphical notation and a specific
corresponding to metamodel in the Essential MOF (EMOF). stereotype. In GIMT, each element is also colored differently
Ecore is the metamodel adopted for core models. It contains to easily distinguish it, especially in large diagrams. Elements
the following elements: EPackage, EClass, EDataType, EAt- in a POD diagram may be:
tribute and EReference.
- Intentional and Unintentional Action that are repre-
Usually, in our work we use a system metamodel for sented as a cut corners rectangle with an Action Name.
formalizing the definition of all the elements and relation- They are differentiated by means of the stereotype.
ships, and for representing constraints on the enactment of They may be also connected to other elements such
design processes or part of them. Examples of metamodels as Object, Position and Predicate.
are reported in Figures 1 and 2. They respectively describe the
- Object is represented as a round corner rectangle with
Problem Domain Description and Goal Description activities.
an Object Name. Object may be input or target of an
The metamodelling techniques [20] are based on a metamod-
action. It may be connected with predicates or other
elling layered architecture, that follows the principles of MOF
objects.
and OMG [15]. As anticipated before, constructing plug-in
in Eclipse implies the definition of models that are based on - Position is represented by a simple rectangle with a
Ecore. Therefore we map our metamodel elements (SMME Position Name. A position may be connected only to
and SMMR) on EClasses and the relations on ERelations, as actions and other positions.
specified in the Ecore notation. Moreover, starting from an
EMF model, a set of Java classes have been generated for the - Predicate is depicted as a little sheet with a Predicate
model. Name. It may be connected with Position, Action and
Object.
Summarizing, GIMT is based on two metamodels, one for
each supported diagram, (see Fig. 1 and Fig. 2) and on a graph- POD diagram relationships - The elements in a POD
ical notation to represent the specific design elements. GIMT diagram can be related to each other by different kinds of
has been conceived to give the user the possibility to create relationship, whose semantic is quite intuitive2 . Relationships
two different diagrams for representing the problem domain in a POD diagram may be:
ontology and the goal model according to the guidelines we
previously introduced. - Association that is represented as usual by an arrow.
Elements in the diagram can be logically related with
In the following subsections we present the adopted nota- each other by using Associations.
tion and its usage into the specific GIMT diagrams.
- Is A is represented by the traditional symbol for
generalization. Is-a is the relationship between an
A. Diagrams and Notation ontological element and one of its refinements.
GIMT supports the Problem Ontology Description and the - Part Of is represented by the traditional symbol for
Goal diagrams. The graphical notation defined for our DSML composition. This relationship represents the whole-
and implemented in these diagrams is shown in Fig. 4 and it part relationship among ontological elements.
refers to the abstractions we use in our metamodels (see Fig.
1 and Fig. 2). The Goal diagram adopts the notation (see the right side
As regard the Problem Ontology Description diagram, it of Fig. 4) defined for representing the concrete elements and
adopts the notation (see the left side of Fig. 4) defined for the relationships of the Goal Description Metamodel (see Fig.
2).
Goal diagram elements - The graphical notation of the
Goal diagram is derived from a well-known graphical notation
[10]. Elements in a Goal diagram may be:
- A Hard Goal is represented by an ellipse with a Name.
It is always connected with at least one Position. It can
be also related with other Hard Goals and Soft Goals.
- A SoftGoal is depicted as a cloud with a Name. It can
be related to Hard Goals.
- A Position is referred to the same element described
in the POD diagram, but in this diagram it is depicted
as a sticky man.
Fig. 4. The notation adopted in GIMT for Problem Ontology Description
and Goal diagram. 2 Detailed definitions can be found in [17].
Goal diagram relationships - The elements of a Goal Di-
agram can be logically related to each other by using the
following kinds of relationships:
- Aggregate is the only relationship that can exist be-
tween Positions and Goals. Its notation looks like the
UML “part-of” relationship: a line starting with an
empty diamond.
- Contribute that is the relationship that can relate
HardGoal with SoftGoal and vice-versa. There are
four different types of contribution: positive, strongly
positive, negative and strongly negative [10]. Each one Fig. 5. Problem Statement Editor
is depicted with its own dedicated notation, as shown
in Fig. 4.
- EAttribute represents an attribute which has a name
- Depend relates two different goals. It may be an Inter- and a type.
nal Dependency or an External Dependency. Notations
- EReference represents one end of an association be-
are respectively a simple arrow and an arrow with
tween two classes. It has a flag to specify if it
dashed line.
represents a containment and the cardinality.
- Generalize, very similar to the UML inheritance, it - EDataType represents the type of an attribute, e.g. int,
specifies a relationship between Positions, in which float or java.util.Date.
specialized positions inherit features from the general
position. For space reasons we do not provide further details about
how to create an EMF editor plug-in but it is worth to note that
- Decompose relates two Goals. There are two kinds
the mapping is one to one in most of the cases: any element of
of decomposition: AND and OR. Both of them are
the system metamodel has a direct counterpart with an element
depicted as an arrow and a specific symbol (see Fig.
of the Ecore metamodel. Therefore, it is pretty straight to
4).
obtain an Ecore metamodel starting from a system metamodel
(like those in Fig. 1 or Fig. 2).
B. Ecore Metamodel Mapping
C. Using GIMT
Adopting a design process for developing a system gen-
erally means managing a set of abstractions (concepts of GIMT provides three kinds of editor: a textual editor for
the domain) that may be instantiated in one ore more work manipulating the problem statement and two diagram editors
products. In this work we use system metamodelling as one for modeling respectively the Problem Ontology Description
of the fundamental elements for the construction of CASE (POD) diagram and the Goal diagram. Moreover, GIMT has
tools. In particular, our technique [20] prescribes that a system been endowed with some functionalities that allow to automat-
metamodel is composed of: ically perform transitions between the tasks of our process.
- Element (SMME) is a construct of the metamodel that This section aims at describing how to employ GIMT as a
can be instantiated into elements of the system model; CASE tool for the portions of design process described in Fig.
3. The Conference Management System (CMS) case study3
- Relationship (SMMR) is a construct used for repre- has been used for exemplifying the description.
senting the existence of a relationship between two
(or more) instances of elements. For instance, the At this stage it should be clear that the flow of work
aggregation relationship between two instances of described in Fig. 3 is logically divided into two main portion of
the element class is an instance of the “association” work: the Problem Domain Description activity and the Goal
SMMR. Description activity. The first devoted to deliver POD diagram
in its final version and the second resulting in the creation
- Attribute (SMMA) is a construct used for adding of the Goal diagram. The GIMT tool aims at supporting the
properties to SMMEs. designer in the creation of these two work products.
- Operation (SMMO) is a construct used for describing As it can be seen in Fig. 3, the first three tasks of the
additional proprieties of an SMMEs. Problem Domain Description Activity: Highlight Keywords,
Generate Ontology Element List and Initialize Problem On-
Eclipse EMF makes the domain concepts explicit. It tology. These have to be performed following the guidelines
distinguishes between model and metamodel and uses the briefly introduced in Section III. GIMT provides a text editor
metamodel for ruling the structure of a model. The Ecore for loading or creating textual documents (such as a Problem
metamodel is the part of the EMF metamodel dedicated to Statement), in order to make easy the use of our guidelines.
define the following elements: It also comes with particular editing functionalities that allow
the identification of ontology elements.
- EClass represents a class, with zero or more attributes
and zero or more references. 3 A complete description of the CMS case study may be found in [22].
Fig. 6. Transition from Problem Statement Highlighted to Problem Ontology Description Diagram Initial.
The Document is the key element of the Problem Statement ontological element named AcceptingRejecting (see lower side
Editor (PSE), shown in Fig. 5. In a Document the designer can of Fig. 6). Hence, it is worth to point out that the Initialize
highlight words thus identifying specific ontological elements Problem Ontology task can be performed automatically with
(such as Intentional Action, Position and so on) according GIMT by means of an exporting functionality implemented in
to our guidelines [17]. For instance in the CMS problem the Problem Statement Editor.
statement (see upper side of Fig.6) the words authors and
In order to complete the Problem Domain Description
manuscript have been identified respectively as a Position
Activity, the last task is the Refine POD (see Fig. 3). GIMT is
and an Object. Then, these ontological elements can be au-
also endowed with an appropriate diagram editor that allows to
tomatically exported into a POD diagram where they will be
handle the structural aspect of problem ontology elements by
represented according to their notation (see lower side of Fig.
organizing them and by adding relationships or other elements.
6).
The upper side of Fig. 7 shows the POD diagram for the CMS
Fig. 6 represents the portion of the work devoted to produce case study. This diagram has been obtained by refining its
the POD diagram in its initial version (see Fig. 3). In fact, in initial version (see the lower side of Fig. 6) derived from the
the upper part of Fig.6, the words highlighted with appropriate previous task. The POD editor allows to edit a POD diagram,
labels correspond to ontological elements that are added to a by managing elements imported from the previous phases, but
list (the Element List4 work product). Then, elements may be also adding new ontological elements and relationships. For
exported from the list to be added to the Problem Ontology instance, the Position author, the Intentional Action submit
Description diagram [initial] for its refinement. and the Object manuscript previously identified (lower side of
Fig. 6) have been opportunely related (top/right side of Fig.
Moreover, the GIMT Problem Statement Editor provides 7).
also functionality for grouping words to be identified as a
unique ontological element by means of a Connection. A The Refine POD task completes the Problem Domain De-
Connection is a link that allows to relate also two non- scription activity and the POD diagram [final] is the resulting
consecutive text portions. For instance, in the CMS case study artifact. So far, the second activity of our process can start
(see upper side of Fig. 6) we want to identify the words (Fig. 3): the Goal Description. As our guidelines prescribe, the
accepting and rejecting as the same Intentional Action. To do first task is Compose Goal List that identifies specific patterns
this, we firstly select the two words and then we relate them by from the POD diagram. Fig. 8 shows an example of a common
means of a Connection (represented as a dashed arrow). As a pattern5 that can be discovered in a POD diagram. It is worth
consequence, GIMT will automatically refers them as a unique to note that a pattern is characterized by compartments: i)
a generic schema of the ontological elements and ii) the
4 The Element List is not clearly visible to the designer. It maintains
information about ontological elements and it may be exported by the tool. 5 Further detail of patterns can be found in [17].
Fig. 7. Transition from Problem Ontology Description Diagram to Goal Model.
description of goal information that can be extracted if the information(see Fig. 9): Goal Type=Achieve, Name= To submit
pattern matches (goal type, goal name and so on). For instance, manuscript, State= submitted manuscript, Who= author.
the ontological elements triple, author, submit and manuscript
in the upper side of Fig. 7 corresponds to the pattern shown in Finally, GIMT supports the Design Goal Diagram task by
Fig. 8. The POD editor supports this task, by allowing multiple providing a Goal Diagram Editor. Previously created goals
selection of elements, thus generating the goal related to the may also be automatically exported in a goal diagram. The
specific pattern and adding it to the goal list. A thicker red functionality implemented in the Goal Diagram Editor allows
border is used to highlight the elements already selected by the designer to describe more in detail the dependencies
the designer. between the imported goals and the Positions that perform
them. For instance, by applying the pattern of Fig. 8, another
Pattern N°2 Pattern N°3 goal can be extracted from the POD diagram of the CMS case
executes target study: To maketarget
executes review (Fig. 7). The goal To make review and
Act Position1 Act Object1 Position1 Position2
the goal Act
To submit manuscript in the initial version of the Goal
Diagram were not related. By reasoning on the diagram with
Goal Information Goal Information
Goal type: Achieve the support of our guidelines, the designer is able to discover a
Goal type: Achieve
Name: To+ + Name: To+ +
Dependency among these two goals and to refine the diagram.
ng' () State: + 'ed' () State: + 'ed' ()
nsible for achieving the goal Who: Position1 is responsible for achieving the goal Who: Position1 is responsible for achieving the goal
Dependency: None Dependency: None
It is worth noting that our process is iterative. Thus, at
PreCondition: None PreCondition: None
Note: it may also be Position1=Position2
Fig. 8. Pattern extracted from [17].
The POD editor also provides a functionality in order to
automatically perform the second task of the Goal Description
activity, that is Describe Goals. This task consists in setting
the goal information according to the identified pattern. A
specific form (see Fig.9) allows to add all the information that
is not automatically settable, such as the information about
the Dependency. For instance, the triplet previously identified
corresponds to a goal with the following, automatically set, Fig. 9. The Goal Information frame.
each iteration it is important to trace (forward and backward) [10] P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia, and J. Mylopou-
the ontology model with the goal model. GIMT maintains los. Tropos: An agent-oriented software development methodology.
a traceability of the elements during model transformation. Autonomous Agents and Multi-Agent Systems, 8(3):203–236, 2004.
Each diagram of GIMT, in fact, uses a single persistence [11] M. Cossentino, A. Chella, C. Lodato, S. Lopes, P. Ribino, and V. Seidita.
A notation for modeling jason-like bdi agents. In Complex, Intelligent
file model. A typical scenario that can occur is, for example, and Software Intensive Systems (CISIS), 2012 Sixth International Con-
the deletion of a goal from the goal diagram. In this case, ference on, pages 12–19. IEEE, 2012.
the linked ontological elements will be affected. The tool [12] M. Cossentino, C. Lodato, S. Lopes, P. Ribino, V. Seidita, and A. Chella.
automatically removes the ticker border in the POD diagram. A uml-based notation for representing mas organizations. In WOA,
This functionality allows also to create a direct link between a pages 133–139, 2011.
goal and portion of problem statement from which it derives. [13] M. Cossentino, C. Lodato, S. Lopes, P. Ribino, V. Seidita, and A. Chella.
This is important when conflicting or inconsistent goals are Towards a design process for modeling MAS organizations. In Massimo
Cossentino, Michael Kaisers, Karl Tuyls, and Gerhard Weiss, editors,
discovered. Thus, the possibility to go back to the textual Multi-Agent Systems, volume 7541 of Lecture Notes in Computer
description that originated the problem may help to solve the Science, pages 63–79. Springer Berlin Heidelberg, 2012.
inconsistency. [14] S. Kelly and J.P. Tolvanen. Domain-specific modeling: enabling full
code generation. John Wiley & Sons, 2008.
V. C ONCLUSIONS [15] OMG meta object facility, version 2.4.2, april 2014.
doument formal/2014-04-03, available at http://www.omg.org.
GIMT has been designed and developed in order to over- http://www.omg.org/technology/documents/formal/mof.htm.
come the limitations of the manual approach proposed in [17] [16] J. Mylopoulos, L. Chung, and E. Yu. From object-oriented to goal-
especially when it has to be applied to large size problems. oriented requirements analysis. Communications of the ACM, 42(1):31–
37, 1999.
Such an approach grounds on two main models (an ontology
and a goal model) and on a set of guidelines allowing model to [17] P. Ribino, M. Cossentino, C. Lodato, S. Lopes, L. Sabatucci, and V. Sei-
dita. Ontology and goal model in designing bdi multi-agent systems.
model transformations. Hence, GIMT has been conceived as a In WOA@AI*IA, Proceedings of the 14th Workshop ”From Objects to
CASE tool based on a DSML opportunely defined to support Agents” co-located with the 13th Conference of the Italian Association
the goal oriented requirement analysis proposed in [17]. It has for Artificial Intelligence (AI*IA 2013), Torino, Italy, volume 1099,
also been endowed with some functionalities that support the pages 66–72, December 2-3 2013.
designer in applying the guidelines to perform the activities [18] P. Ribino, C. Lodato, S. Lopes, V. Seidita, V. Hilaire, and M. Cossentino.
A norm-governed holonic multi-agent system metamodel. In Agent
of the approach (i.e: the Problem Domain Description and the Oriented Software Engeneering (AOSE), 2013.
Goal Description activity). Moreover, in some cases GIMT
[19] D.C. Schmidt. Model-driven engineering. Computer, 39(2):25–31, Feb.
automatically executes some tasks of the process. 2006.
The work illustrated in [17] is a part of a broader work [20] V. Seidita and M. Cossentino. Metamodeling: Representing and
modeling system knowledge in design processes. In In Proceedings of
towards the creation of a complete methodological approach the 10th European Workshop on Multi-Agent Systems, EUMAS 2012,
for developing multi-agent systems to be implemented in the pages 103–117, 2012.
JACAMO framework. Thus, new models will be included in [21] J.P. Tolvanen and M. Rossi. Metaedit+: defining and using domain-
order to face other design issues. Hence, we decided to develop specific modeling languages and code generators. In OOPSLA ’03:
GIMT as an Eclipse plug-in by using the Graphity framework, Companion of the 18th annual ACM SIGPLAN conference on Object-
thus ensuring us a rapid development and integration of new oriented programming, systems, languages, and applications, pages 92–
93, New York, NY, USA, 2003. ACM Press.
diagram editors and a great flexibility to extend our DMSL.
[22] F. Zambonelli, N. Jennings, and M. Wooldridge. Organizational rules
We found in Ecore a very easy and fast way to produce as an abstraction for the analysis and design of multi-agent systems.
DSML due to its almost one to one mapping with our meta- Journal of Knowledge and Software Engineering, 2001.
modeling techniques.
R EFERENCES
[1] Actifsource, available at http://www.actifsource.com.
[2] Eclipse Modeling Project,
available at http://www.eclipse.org/modeling/.
[3] EMF - Eclipse Modeling Framework,
available at http://www.eclipse.org/modeling/emf/.
[4] GMF - Eclipse Graphical Modeling Framework,
available at http://www.eclipse.org/modeling/gmp/.
[5] Graphiti - Graphical Tooling Infrastructure,
available at http://www.eclipse.org/graphiti/.
[6] Microsoft visual studio sdk including domain-specific language tools,
available at http://msdn.microsoft.com/en-us/library/bb126259.aspx.
[7] U. Aßmann, S. Zschaler, and G. Wagner. Ontologies, meta-models, and
the model-driven paradigm. Ontologies for Software Engineering and
Software Technology, pages 249–273, 2006.
[8] C. Atkinson and T. Kuhne. Model-driven development: A metamodeling
foundation. IEEE Software, 20(5):36–41, September/October 2003.
[9] O. Boissier, R.H. Bordini, J.F. Hübner, A. Ricci, and A. Santi. Multi-
agent oriented programming with jacamo. Science of Computer Pro-
gramming, 2011.