If you have questions about either of these proposals please email me (email@example.com) or come and see me in Room 371.
Although there are many Petri net tools available (click here for a a sample of many such tools), their functionality is limited to that which their programmers provide at the time of writing. Your task is to construct a modular Petri net editor/animator that supports the arbritary run-time extension of its analysis power by user-designed modules. Examples of modules you might like to write to illustrate the power of this framework is a module which integrates with an existing Markov chain performance analyser to produce performance statistics (such as the throughput of a data communication protocol), a corresponding module which produces the same statistics except by simulation, an invariant analysis module which deduces correctness properties from the structure of the Petri net, a response time analysis module etc. etc. Can you go even further and make components of the editor pluggable, so that the tool can be extended to support new Petri net types (e.g. semi-Markov Petri nets) with minimal effort?
So that it is portable, the tool should be written in Java using the Swing graphics library. You will also be using the latest XML Petri net standards to represent your nets. This means you should have some Java/C++/Object-oriented design experience. However, no previous knowledge of Petri nets or analytical performance analysis techniques is necessary.
Click here for background material about modelling systems with Petri nets.
The Global Vision platform will be hosted by Trayport, but remote access
to the platform will be possible through a C++ API. This is a challenging
project that will require you to be self-starting, but there is plenty of scope for
imagination and opportunities for real industry interaction.