Minutes of meeting 22 Jan 2002
Meeting opened 1.00pm
Present: Raphael Goldberg, Peter Howarth, Daniel Justice,
Michelle Osmond, Zhu Tan, Aleksandar Trifunovic
What we've done since the last meeting
- Michelle: Implemented a Petri nets prototype editor
using Swing and JDOM, with a MDI. It reads in a pnml file and
can, so far, draw and move places, updating the DOM in
memory. Implements places on screen as a subclass of JLabel,
with the real data stored in a JDOM Document object. (See Links for download).
- Daniel: Done the DOM and JDOM summary.
- Tan: Worked out OMT/UML diagrams for the
conventional object approach.
Discussion
Continued discussing reasons for and against using the
JDOM-based model over the usual object model. No unanimous
conclusion, though most in favour of JDOM due to the potential
flexibility (a new feature compared to most Petri Net
projects). Decide on Friday (discussion with Will). Points raised
include:
- JDOM-based:
- extensibility. all data automatically
extracted from the input xml file, regardless of whether it's part
of the pnml definition we're working with now (or even
might not be PNML).
- editor could
be built to be dynamic to an extent, so it could extend its own
capabilities without any extra coding/compiling. (pnml
may/will be extended to support different types of nets.)
- JDOM well-supported and respected; robust code written
already to deal with parsing - saves us effort, and we can trust
it.
- the more in-depth details of XML could be taken advantage of
(namespaces, validation).
- modules could also modify the JDOM if they're passed
a reference to the Document.
- BUT: need to have a separate holder
(class hierarchy) to store the functionality (like drawing
objects), the data is not protected, and it doesn't follow the
'conventional' methods/models we're familiar with already. How to
do animation?
- Object model:
- tried and tested (as in previous projects), the way of doing
things that we've been taught - can store data and functionality
together.
- full control over the data access.
- easier to see how to program things like the animation.
- BUT: extending the program to support new types of net,
and elements of XML, is much harder (needs coding/compiling,
probably modification of large parts of the program). also would
probably be passing the JDOM Document to modules anyway (no need
for data protection, but modification of the active data by the
modules wouldn't be possible).
To investigate:
- Daniel: Code up a (non-active) GUI to show what we
discussed in the previous meeting, and use as a basis later.
- Michelle: Continue with the Petri net editor prototype.
- Tan: Try implementing the Object based idea.
Next meeting: Friday (25th), 12:30pm with wjk and then
continue meeting afterwards.
Meeting closed 1:55pm