
 
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