=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==
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