described in the previous section. To reflect the re-
finement of a AgentSpeak(L) program to i* model,
we give another five informal mapping rules as fol-
lows:
• Addition/deletion of an AgentSpeak(L) agent: Ad-
dition: Add an actor in SD and SR models. Dele-
tion: Delete the actor in SD and SR models and
also delete all the dependency links connected to it
from other actors.
• Addition/deletion of a goal or task clause in
AgentSpeak(L) plan: Addition: Add a goal node or
task node with the same name in the actor bound-
ary. A goal or task cannot be added without con-
necting or being connected with other nodes. All
the links associated with the added goal or task
node will use mapping rules defined below to be
added into i* model. Deletion: Delete correspond-
ing goal or task node from that actor boundary and
all the nodes that are subnodes of it. Delete links
between them as well.
• Addition/deletion of a plan: Addition: If the head
of the plan is a goal clause, then add a set of means-
end links; If head of the rule is a task clause, then
add a set of task-decomposition links. The child
nodes are those clauses in the body part of the rule.
Deletion: Delete a set of means-end links or task-
decomposition links from that actor which have the
same parent node and that parent node is the head
of the deleted rule. After deleting those links, if
there is no link connected to the parent node, then
delete the parent node from that actor boundary.
• Addition/deletion of a dependency rule: Addition:
If goal, task or resource dependency rules are added
into AgentSpeak(L) plans, then corresponding ac-
tors T
o
(Depender) and T
d
(Dependee) in SD model
and SR model needs to be modified to show the
reflection of these additions. If T
d
has a Re-
questAchieve(), RequestPerform() or a RequestRe-
source()/Supply() then these have to be depicted in
T
o
also showing the dependencies on goal, task and
resources. Deletion: The reflection to i* model
is the deletion of a goal-dependency or a task-
dependency or a resource-dependency from SD
model and SR model.
• Addition/deletion of a softgoal: Addition: If a soft-
goal is added into the option selection function then
corresponding SD model and SR models need to
be modified to show the reflection of this addition.
Deletion: The reflection to i* model is the deletion
of a softgoal from SD model and SR model.
Applying the above set of reverse mapping rules we
can see how changes in AgentSpeak(L) programs can
be reflected into the i* model thereby test a wide range
of properties of the application.
6 CONCLUSION
In this paper we have discussed how the co-evolution
of agent technology with i* model can be used to ex-
plore the implication configuring agent based applica-
tions. We can analyze the system behavior using real-
life example which is otherwise not possible by only
looking at the i* model and AgentSpeak(L) agents
separately. The i* specification of a software system
is easily understandable and by mapping it directly
into AgentSpeak(L) agents we can get a MAS which
is directly executable. We have also defined the re-
verse mapping rules from AgentSpeak(L) to i* which
also serves as a guide for generating prototypes of
complex systems.Using this technique one can spec-
ify requirements, define architecture, model behavior
as well as do simulation.
This approach makes use of the advantages of i* for
the early-phase of requirement engineering and val-
idates the model by mapping it into an executable
specification to see the design result in an emulation
program. We are currently working towards enhanc-
ing and automating the OME tool as mentioned in
(Salim et al., 2005).
REFERENCES
Bordini, R. H., Hbner, J. F., and et. al. (2005). Ja-
son: A Java-based AgentSpeak interpreter used
with SACI for multi-agent distribution over the net.
http://jason.sourceforge.net/, 0.6 version edition.
Chung, L., Nixon, B. A., Yu, E., and Mylopoulos, J. (2005).
Towards executable specifications: Combining i* and
agentspeak(l). In Software Engineering and Knowl-
edge Engineering Conference, Taiwan.
Fuxman, A., Kazhamiakin, R., Pistore, M., and Roveri, M.
(2003). Formal tropos: language and semantics.
Rao, A. (1996). Agentspeak(l): Bdi agents speak out in
a logical computable language. In Agents Breaking
Away: Proceedings of the 7th European WS on Mod-
elling Autonomous Agents in a Multi-Agent World.
Springer- Verlag: Heidelberg,Germany.
Salim, F., Chang, C. F., Krishna, A., and Ghose, A. K.
(2005). Towards executable specifications: Combin-
ing i* and agentspeak(l). In Software Engineering and
Knowledge Engineering Conference, Taiwan.
Simon, H. (2005). The Science of the Artificial. The MIT
Press, Cambridge, MA, 2nd edition.
Yu, E. (1995). Modelling strategic relationships for process
reengineering, Phd. Thesis. University of Toronto,
Canada.
Yu, E. (1997). Towards modelling and reasoning support for
early-phase requirements engineering. In Proceedings
of the 3rd IEEE Int. Symp. on Requirements Engineer-
ing.
HYBRID MODELING USING i* AND AGENTSPEAK(L) AGENTS IN AGENT ORIENTED SOFTWARE
ENGINEERING
425