Adding Runtime Net Manipulation Features to
Jan Schlüter, Lawrence Cabac, Daniel Moldt
University of Hamburg, Department of Computer Science,
Vogt-Kölln-Str. 30, 22527 Hamburg
Abstract. MulanViewer, a Mulan inspection tool, is focused on
gathering information from a Petri net-based multi-agent system and
greatly helps finding bugs, but fixing them is overly time-intensive. We
overcome this limitation by extending MulanViewer with runtime net
manipulation features. To do so, we analyze a typical debugging cy-
cle, point out bottlenecks and implement the most promising additions.
The new features considerably accelerate the identification and fixing
of bugs frequently encountered in Mulan applications. Overall the en-
hancements complement MulanViewer’s features to navigate large and
complex Petri net implementations by adding manipulation capabilities.
The Paose approach is based on high-level Petri nets forming an agent-oriented
structure, embedding other successful techniques, such as Java and UML. The
development process is highly complex. However, it is supported by a set of
powerful tools and we improve the development process by continuous investi-
gation of techniques, tools and methods. In our last project, the time consuming
debugging process was one of our targets. In Section 2 we sketch the Paose
development setting, highlight the challenges in debugging agent systems and
describe current solutions within Mulan. Subsequently, we identify debugging
bottlenecks by timing common tasks during Paose debugging processes and suit-
ably extend MulanViewer in Section 3. Section 4 closes with a short summary
and an outlook of future work.
2Developing Multi-Agent Systems with Mulan
Before tackling our goal, we will look at the existing work we can build on: the
current development environment, the challenges during debugging multi-agent
systems and the toolset meeting them.
2.1The Paose Development Environment
The multi-agent system development environment used for Petri net-based agent-
oriented software engineering is based on Renew (Reference net workshop ).
We evolved MulanViewer from a mere monitoring tool into an inspection tool ca-
pable of manipulating a Mulan multi-agent system during runtime by directly
working on the underlying net instances. By this, we reduced the time needed
for fixing particularly common problems found during the debugging phase from
about 3 minutes to less than a minute, which was our main source of motiva-
tion. Apart from that, the new manipulation features help testing a single MAS
component outside its usual environment, partly eliminating the dependency
between developers when working in a team.
Future work will include additional manipulation features and tool support
for repeated tasks in order to further accelerate the debugging cycle. Addition-
ally, we will extend MulanViewer to allow its users to apply runtime manip-
ulations – like editing the knowledge base – to the static code, making changes
persistent. As our tool now can considerably interfere with a running MAS, we
need to develop a security model, allowing a system or its components to be pro-
tected from being manipulated. The MulanViewer idea of directly accessing
particular places and transitions provokes a strong dependence on the Mulan
implementation anyway, so we plan to rework the architecture, shifting as much
responsibility as possible to the MAS, allowing it to determine which and how
much information may be published and which states may be modified from
1. Lawrence Cabac, Till Dörges, Michael Duvigneau, Christine Reese, and Matthias
Wester-Ebbinghaus. Application development with Mulan. In Daniel Moldt, Fabrice
Kordon, Kees van Hee, José-Manuel Colom, and Rémi Bastide, editors, Proceedings
of the International Workshop on Petri Nets and Software Engineering (PNSE’07),
pages 145–159, Siedlce, Poland, June 2007. Akademia Podlaska.
2. Lawrence Cabac, Till Dörges, and Heiko Rölke. A monitoring toolset for Petri
net-based agent-oriented software engineering. In Rüdiger Valk and Kees M. Valk
van Hee, editors, 29th International Conference on Application and Theory of Petri
Nets, Xi’an, China, volume 5062, pages 399–408, June 2008.
3. Timo Carl. Evaluation und beispielhafte Erweiterung einer referenznetzbasierten
Agentenumgebung. Studienarbeit, Universität Hamburg, Fachbereich Informatik,
Vogt-Kölln Str. 30, D-22527 Hamburg, August 2003.
4. Olaf Kummer, Frank Wienberg, and Michael Duvigneau. Renew – the Reference
Net Workshop. Available at: http://www.renew.de/, May 2006. Release 2.1.
5. David Poutakidis, Lin Padgham, and Michael Winikoff.
systems using design artifacts: the case of interaction protocols. In AAMAS, pages
960–967. ACM, 2002.
6. Bruce F. Webster. Pitfalls of object-oriented development. M & T Books, New York,
NY, USA, 1995.
7. M.J. Wooldridge and N.R. Jennings. Software engineering with agents: pitfalls and
pratfalls. Internet Computing, IEEE, 3(3):20–27, May/Jun 1999.