Figure 10: FSP specifications along with the generated LTS
automate for NOLOSS.
erty of each carrier that verifies that each carrier fol-
lows the sequence (load → unload) one or more times.
And we have to compose this property on N number
of carriers to verify it globally. As shown by the LTS
in figure-10 there is an error(-1) state to check the sys-
tem safety, each and every action that is not compati-
ble with the specifications results into the error state.
As a result we have a system that is exhaustively ver-
ified.
7 LESSONS LEARNED
AND CONCLUSIONS
Gaia’s role model defines the behaviour and re-
sponsibilities that are liveness and safety properties.
Transformation from Gaia to FSP plays a key role for
the formal verification of our system. In this paper
we have not detailed the transformation process and
its semantics but we would be presenting it in our
future work. Gaia method has a concrete syntax to
express properties, is suitable to model behaviors and
is applicable to a wide range of multi-agent systems
but it does not provide constructs for the formal
verification. Therefore we have to translate the Gaia
concepts into FSP specifications. With these formal
techniques and methods we studied the features of
formal verification and property checking for multi-
agent systems. There is a need of the development of
a clear method, centered around formal verification
and organizational abstractions, for the analysis and
design of multi-agent systems specifications. For
the simulation of our case study example we are
using a service based architecture Microsoft Robotics
Developer Studio (Microsoft, 2007). The objective
is to devise multi-agent systems based on formal
methods that assure correctness. Multi-agent systems
have concurrency, synchronization and deadlock
issues to be handled and its suitable to use formal
development methods with organizational structure,
appropriate set of agent abstractions and formal
verification methods for checking the correctness of
the system.
REFERENCES
Abrial, J.-R. (1996). The B book - Assigning Programs to
meanings. Cambridge University Press.
Brard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit,
A., Petrucci, L., Schnoebelen, P., and McKenzie, P.
(2001). Systems and Software Verification: Model-
Checking Techniques and Tools. Springer-Verlag.
Clarke, E., Grumberg, O., and Peled, D. (2000). Model
Checking. MIT Press.
Giannakopoulou, D., Magee, J., and Kramer, J. (1999).
Fairness and priority in progress property analysis.
Technical report, Department of Computing, Imperial
College of Science, Technology and Medicine, 180
Queens Gate, London SW7 2BZ, UK.
Giunchiglia, F., Mylopoulos, J., and Perini, A. (2001).
The tropos software development methodology: Pro-
cesses, models and diagrams. Technical report, Infor-
matica e Telecomunicazioni, University of Trento.
Jennings, N., Sycara, K., and Wooldridge, M. (1998). A
roadmap of agent research and development. Int.
Journal of Autonomous Agents and Multi-Agent Sys-
tems, 1(1):7–38.
Magee, J. and Kramer, J. (2006). Concurrency: State Mod-
els and Java Programs. John Wiley and Sons, 2nd
edition.
Microsoft (2007). Microsoft Robotics Developer Studio.
Wooldridge, M. (2000). Reasoning about Rational Agents.
MIT Press.
Wooldridge, M., Jennings, N., and Kinny, D. (2000). the
gaia methodology for agent-oriented analysis and de-
sign. Autonomous Agents and Multi-Agent systems,
3:285–312.
Wooldridge, M. and Jennings, N. R. (1995). Intelligent
agents: Theory and practice. Knowledge Engineering
Review, 10(2):115–152.
Zambonelli, F., Jennings, N., and Wooldridge, M. (2003).
Developing multiagent systems: The gaia methodol-
ogy. ACM Transactions on Software Engineering and
Methodology, 12(3):317–370.
ICAART 2009 - International Conference on Agents and Artificial Intelligence
482