=Paper= {{Paper |id=None |storemode=property |title=Porting the Renew Petri Net Simulator to the Operating System Android |pdfUrl=https://ceur-ws.org/Vol-851/paper20.pdf |volume=Vol-851 |dblpUrl=https://dblp.org/rec/conf/apn/Dibbern12 }} ==Porting the Renew Petri Net Simulator to the Operating System Android== https://ceur-ws.org/Vol-851/paper20.pdf
   Porting the Renew Petri Net Simulator to the
            Operating System Android

                                  Dominic Dibbern

                              University Hamburg
             Faculty of Mathematics, Informatics und Natural Sciences
                             Department Informatics



       Abstract. This article describes the steps to identify, extract and adapt
       the core parts of the Renew simulator in order to make them usable
       on an Android-powered device. As Renew is build in Java and has a
       plugin-architecture, a few plugins have to be adapted to get a working
       Petri net simulator for the operating system Android, which applications
       are widely written in Java. The result of this work is a framework for
       simulating and using Petri nets in an Android application.


    To extend the Petri net-based Agent-Oriented Software Engineering (PAOSE,
see [1]) approach, to use Petri net-based agents on mobile devices like smart-
phones and tablet computers, the first step is to develop a Petri net simulator
for this type of devices. As Renew is used to create and simulate the agents,
its simulation engine has been ported to the operating system Android. Renew
(see [2]) is written in Java and Android applications are usually also written in
Java (see [3]), so the expenditure to port the application is not large. Further-
more, Renew has a plugin-architecture, which allows to extract the needed core
plugins and embed them into an Android application.
    As a matter of fact, there are only three plugins needed for the simulation en-
gine plus a plugin management system. As Android misses some libraries from a
standard Java version, there are some plugins that have to be adapted. The miss-
ing libraries are essentially the graphical user interface and the remote method
invocation capabilities. Fortunately, the graphical user interface is disconnected
from and not referenced in the simulator core plugins. The remote method in-
vocation is encapsulated and can easily be extracted to a new plugin, without
a loss of functionality. Some additional minor changes are not further discussed
here. With these changes Renew’s simulation engine is able to run on an An-
droid device, using the same codebase as the full Renew. This is an advantage,
by having an up-to-date version on the mobile devices.
    Although the Renew simulation engine can now be used on Android, the
start-up of application differs from the way of normal Java applications. This plus
a relative huge amount of needed space for the plugins, on a mobile device with
limited space for applications, implies several difficulties to create a practical sys-
tem architecture for Android. Figure 1 shows the envisioned system-architecture.
There is one application providing Renew, which contains and distributes the
268    PNSE’12 – Petri Nets and Software Engineering



Renew plugin archives to other application, that want to make use of the simu-
lator. To allow application developers an easy use of Renew, three components
have been build. The Renew Service as the server and the Prepare Renew Ac-
tivities as clients communicate at application start-up and automatically start
the Renew simulation engine. The Renew Activity is a convenient extension
of the Prepare Renew Activity for easy control of the simulation engine. To
develop a new application, using the simulation engine, the developer has to
extend the Renew activity and make use of its control functions. To reduce the
use of disk space and to ensure an easy update there is one application providing
Renew for a couple of applications, which use the Renew simulator.




Fig. 1. System architecture showing an Android application, which is able to integrate
Petri nets into application development


    As a result the simulation engine of Renew is used to create a framework for
Android applications, allowing them to take advantage of developing Petri nets
instead of normal code, if it is useful. This prototypical implementation is the
first step to extend the PAOSE approach into the mobile world of smartphones.


References
1. Cabac, L.: Modeling Petri Net-Based Multi-Agent Applications. Dissertation, Uni-
   versität Hamburg, Department Informatik, Vogt-Kölln Str. 30, D-22527 Hamburg
   (Apr 2010), http://www.sub.uni-hamburg.de/opus/volltexte/2010/4666/
2. Kummer, O., Wienberg, F., Duvigneau, M., Cabac, L.: Renew – the Reference Net
   Workshop (Aug 2009), http://www.renew.de/, release 2.2
3. Open      Handset    Alliance:    Android    developers.    Website      (2012),
   http://developer.android.com