Formal Analysis
Running CPN Tools Simulator on a Remote Host
Submitted by Steve on Wed, 27/01/2010 - 11:37amCPN Tools is a popular software application for creating, simulating and analysing Coloured Petri Nets. I've used it occasionally over the past 3 or 4 years, and also used its predecessor, Design/CPN, extensively during my PhD. There has always been a Linux and Windows version of CPN Tools, however the GUI in the Linux version has some bugs, and the developers have decided to concentrate only on the Windows GUI for future releases. Thats annoying for me, however all is not lost as the simulator process of CPN Tools (for simulations and state space analysis) will still run in Linux. That is, the GUI can run on one host, and it communicates via TCP/IP sockets to the simulator on another host.
With the current external version (2.2.0) I had trouble setting up the remote simulator, but after trying with the latest internal version (2.3.5) I worked it out. There are some instructions spread across different posts in the Support Maillist, but for reference I give the precise commands I used here. The instructions are for running both the GUI and simulator under Linux, but can be modified for any combination of Windows and Linux. It turns out the version of CPN Tools didn't make any difference - these instructions will work for both versions 2.2.0 and 2.3.5. (2.3.5 also provides an option in the GUI to set the remote simulator, but I didn't use that).
Install CPN Tools on both hosts, in the directory /home/user/CPNTools/. On the host that will run the simulator with example IP address 10.10.10.1, change into the install directory and run:
./cpnsim/cpnmld 7001 cpnsim/run.x86-linux
7001 is the example port number the simulator will listen on. You may choose another value (so long as it is not in use by another application. If you wanted to run the simulator under Windows, then replace run.x86-linux with run.x86-win32.exe (and of course use backslash instead of forward slash).
On the host that will run the GUI with example IP address 10.10.10.2, change into the install directory and run:
./cpntools -remote -image cpnsim/cpn.ML.x86-linux -port 7001 -host 10.10.10.1
Of course set the host IP address to the actual IP address of your simulator host and use the appropriate port number.
On the GUI host you should see output such as:
INFO: Using remote simulator (UNIX)
and the CPN Tools Gui should start. You can now open a CPN file. Once opened, on the simulator host you should see output such as:
Accepted connection from 10.10.10.2 login = cpn2000 path = ./ User login Starting new session for user cpnsim/cpn.ML.x86-linux in ./ Starting new session Child spawned with pid = 24935 Changing current path to ./ Executing: cpnsim/run.x86-linux @SMLload=cpnsim/cpn.ML.x86-linux @SMLcmdname=cpnsim/cpn.ML.x86-linux GC #0.0.0.0.1.6: (0 ms) GC ...
and the GC output will continue as the simulator checks the syntax.
This looks, and is easy. However it took me several hours to get it working. When opening a net I would get an error in the GUI: a red popup box saying something like "Could not start the simulator. You will not be able to simulate the net". It turned out my most significant problem was the permissions of my install of CPNTools on the simulator. All files were owned by the normal user except cpn.ML.x86-linux which was owned by, and only had read permissions for root. After changing the ownership/permissions of this file to be the same as all others, everything worked. I'm not sure what lead to this situation, but hopefully now others will not make the same time-wasting mistake as me.
CPNTools
The most popular software package for Coloured Petri Nets. CPNTools replaced Design/CPN. Free software.
PhD Thesis
Submitted by Steve on Wed, 18/01/2006 - 1:14pmTeaching
Submitted by Steve on Sun, 15/01/2006 - 9:00amAt the University of South Australia I have lectured on various telecommunications topics, and have been involved in planning and developing courses, preparing and marking assignments and exams and presenting tutorials and practicals.
Courses
I have taught the following subjects (courses) at UniSA:
Telecommunication Networks. Arek Dadej, Aruna Jayasuriya and Steven Gordon. 1 Mar - 1 Jul 2005.
Telecommunication Networks. Arek Dadej, Aruna Jayasuriya and Steven Gordon. 1 Mar - 1 Jul 2004.
Telecommunication Networks. Arek Dadej, Aruna Jayasuriya and Steven Gordon. 1 Mar - 1 Jul 2003.
Specialist Lectures
On various occasions I have been invited to give lectures in University courses on specific topics:
Mobile Data Services. Advanced Internet Technology. Steven Gordon. 25 Oct 2005.
Mobile and Wireless Technology - Networking. Mobile Applications. Steven Gordon and Luigi Iuliano. 17 Aug 2005.
Mobile Communication Networks. Wireless Networking and Security. Steven Gordon. 10 Mar 2005.
Mobile Data. Advanced Internet Technology. Steven Gordon. 13 Oct 2004.
Mobile Communication Systems. Wireless Networking and Security. Weiquan Zhao and Steven Gordon. 29 Apr 2004.
Mobile and Wireless Technology - Networking. Mobile Applications. Luigi Iuliano and Steven Gordon. 4 Aug 2004.
Mobile Data. Advanced Internet Technology. Steven Gordon. 21 Oct 2003.
Wireless Application Protocol. Advanced Internet Technology. Steven Gordon. 21 Oct 2002.
Short Courses
Communication Networks and Protocols. Wedgetail Short Course. Arek Dadej and Steven Gordon. 12-14 May 2004.
Design of High Capacity 802.11 Wireless LANs with QoS Guarantees. The 8th International Conference on Communication Systems. Arek Dadej and Steven Gordon. 25 Nov 2002.
An Introduction to TCP/IP and Satellite Related Issues. Auspace Short Course. Paul Grosser, Tanja Lang and Steven Gordon. 5 Mar 2001.
Tutorials
No current presentations.


