Minutes of meeting 18 Jan 2002
Meeting opened 1.05pm
Present: Raphael Goldberg, Peter Howarth, Daniel Justice,
Michelle Osmond, Zhu Tan, Aleksandar Trifunovic, Nicholas Dingle
Discussion with Nick Dingle about Medusa
- Room 332 opposite 308 & 311 ("Antonio Garcez" on the
door)
- Runtime.exec() to run external programs (like
Dnamaca) from the command line: worked without problems.
- Borland JBuilder is good (can get on magazines)
- Simulation module would be useful for comparison
with analytical results from Dnamaca
- Graph theory module: was difficult to construct the
coverability graph
- PNML: an existing tool that uses it is the PNK
(Petri Net Kernel), which can deal with different types of
nets, and has modules that communicate back to the main
program.
- SAX was easy to use, but other ways may be better
(didn't investigate early on). Similarly with the method he
used for transferring data to modules.
- Swing is thread-safe - ie don't want multiple
threads accessing Swing components. Had problems with it's
circles!
Further discussion - what we've done since the last meeting
- Daniel: XML: what it is. DTD's,
SAX, DOM, JDOM. (Word document)
- Peter: Reflection, GUI - probably not too hard, but it's
worth putting effort into making it intuitive and
elegant.
- Alex: Dnamaca, Runtime.exe. Threads - seem to be relevant
for animation. Invariant analysis, looked at the matrices
needed and algorithms.
- Raphael: read the two MSc reports from last year, looked
at invariance analysis, Markov and graph theory.
- Tan: looked at subnets in Renew (graphical
handling), and Java.
- Michelle: the new module (subnet) implementation in PNML
and method used in last year's project. Summary of XML and PNML.
Discussion with William Knottenbelt
Key functionality and possible extensions for the
projects are described below.
- Display and graphical editor for petri nets. Could write a
class for one 'pane', then could open multiple instances (eg
edit multiple nets, or subnets).
- Animator: click on a transition to see it
fire. Automatic animated simulator
- Subnets
- Modules:
- Invariant Analysis
- Graph Theory. Also for nets with immediate
transitions
- Simulator. Also with inhibitor arcs, which
enable a transition when the input place is empty (not
expect to support them for the other modules, it's
hard!)
- Interface to Markov chain analyser (Dnamaca) -
takes text files as inputs and outputs
- General interface - communication between
modules and main program, eg for animation. Maybe
return special object, or call functions?
- Coloured petri nets
- Threads - for editing different nets?
To decide in the next week or 2:
- write requirements
- high level OMT diagram
- GUI: what should it look like
- module interface: parameters and return types
Weekly meetings with wjk: 12:30 on Fridays
Further discussion
Very likely to use JDOM for main internal data
representation. Could be wrapped in a custom class with useful
access functions that we determine could be useful to modules (eg
a function to return a particular matrix of the net). If we pass
this class to modules, they will have access to both the
'convenience' functions and the entire JDOM, allowing them to
extract anything they like, including future elements that may be
defined in PNML later. They can also modify the net if necessary
(eg putting it into a particular marking) - may or may not be a
good thing.
Need to determine interface for modules. People will look at
modules and see what they require, how to do them (broadly) and
what they'll return (what sort of results, and how they could be
presented to the user).
We'd like a clearer view of how JDOM actually works. Also if it
will work on the college machines ok.
We haven't investigated the simulation aspect properly yet.
Need to think about possible features/layouts of the
GUI. Inspiration from the concurrency program? (tabs, one pane has
the code and another has the graph) Would be nice to be able to
view the PNML from within the program - most users will not want to
deal with it (the editor is meant to make it unnecessary), but it
would be nice to provide the option. Subnets: opening a new window
to edit a subnet seems necessary. The subnet may be within the same
pnml file as the main net, or it may be in an external file or even
on the internet (the pnml allows for this: theoretically, this
means there could be a library of publically available subnets on
websites which could be accessed and used).
To investigate:
- Aleksandar: Invariance analysis module
- Raphael: Graph Theory module
- Peter: Simulation module
- Daniel: Details of the JDOM
- Michelle: Swing, JDOM in practice
- Tan: GUI (also other tools' GUIs) and overall design
Next meeting:Monday (21st), 1pm in the common room.
Meeting closed 3.30pm