System Modeling Language) (Silva, Choren and Lucena
2007) was upgraded to comply with this requirement,
resulting in the MAS-ML 2.0 (Gonçalves et al. 2010).
The utilization of CASE tools to support the
software engineering processes is recommended in
order to automate the involved activities. In particular,
modelling tool increases the productivity and can be
useful to ensure the well-construction of the models.
Modelling tools are designed to endure the features and
mechanics related to a specific modelling language.
MAS-ML defines three structural diagrams: class
diagram, role diagram and organization diagram;
and two dynamic diagrams: sequence and activities
(Silva, Choren and Lucena 2007). This work aims
the implementation of a modeling environment to
support the MAS-ML static diagrams on the basis of
the MAS-ML 2.0 metamodel.
This article is organized as follows. Section 2
presents a theory related to MAS-ML language. In
Section 3 the environment is presented, describing
some of its benefits, limitations, mentioning some
issues on implementation. In Section 4 a case study
is presented. In Section 5, the related works are
confronted with these paper contributions. Finally,
Section 6 presents the conclusions and future work.
2 MAS-ML 2.0
MAS-ML 2.0 (Gonçalves et al. 2010) is an
extension of MAS-ML (Silva, Choren and Lucena
2007) modeling language in order to support the
modeling of: (i) simple reflex agents, (ii) Model
based reflex agents and (iii) goal-based agents with
the planning and (iv) utility-based agents.
In practical terms, the aforementioned extension
involved the creation of two meta-classes:
AgentPerceptionFunction, which represents the agent
perceptions and AgentPlanningStrategy, which
represents the planning agent. Both classes are
specializations of the BehavioralFeature meta-class
from UML. Additionally, four stereotypes were created:
formulate-goal-function that represents the formulation
of agent goal; formulate-problem-function that represents
the formulation of the problem; next-function, that
represents the updating of the agent beliefs; and utility-
function that represents the utility degree based on the
current action (Gonçalves et al. 2010).
From the new elements in metamodel, the agent’s
representation in MAS-ML diagrams has increased
four graphical variants, where each one represents each
of the internal architectures mentioned above. In
consistence with the new agent representations, the agent
role representation was associated to three
representations: (i) the original MAS-ML representation,
(ii) a representation without goals, related to model-
based reflex agents, and (iii) a representation without
goals and beliefs, related to simple reflex agents. The
MAS-ML diagrams was modified related the new
features for the modeling the internal agent architectures.
3 MAS-ML TOOL DEVELOPMENT
This section presents the functions, technologies and
details related to the development of the specific
domain modeling environment, MAS-ML tool.
Model driven approach was used, where the
central model and larger abstraction is the self MAS-
ML metamodel. The metamodel represents the
derivation process start point that occurs along a set
of transformations. Five steps realized during the
development are described follow:
Domain Model – first, the MAS-ML metamodel
was specified using the EMOF (Essential Meta-
Object Facility), a metamodel definition language.
The stereotypes were added to ActionClass by
ActionSemantics resource, this semantic present the
options: 0- without stereotype, 1- next-function, 2 –
utility-function, 3- formulate problem-function and
4- formulate-goal-function.
Graphical Definition Model – In this step are
defined the entities and its properties, and relationships.
The metamodel entities and relationships were used.
Tooling Definition Model – In this step are
specified which elements will be exist in tool palette.
This step receives the domain model and definition
model cited previously.
Mapping Model – In this step a mapping between
the domain model, graphical model and tooling model
is building:. The mapping generated was used as input
of the transformation process, which objectify create a
model platform specific. A set of six validating rules
defined using OCL (Object Constraint Language) are
used to check if model was right formed (Table 1).
Table 1: Validation rules description.
Rule Purpose
Rule 1 If agent has plan then it have goal, belief and action.
Rule 2 If agent has plan then it do not have perception.
Rule 3 If agent has a goal, it has a plan or planning
Rule 4 If agent has planning, it has belief, goal, perception
and action.
Rule 5 If agent has plan, it has not planning
Rule 6 If agent has planning, it has not plan
Tooling Generate – The next step, according the
generative approach (Czarnecki and Eisenecker, 2000),
MAS-ML TOOL - A Modeling Environment for Multi-agent Systems
193