MINI PROJECTS
General rules
- deadline (strict): 30 September 2016
- you can work in groups of up to two students
- please submit a short report (3-5 p.) summarising:
- Task (a paragraph describing the task)
- Material (any input you started from, such as Petri nets, tools, etc.)
- Methods (any methods you applied to obtain the results)
- Results (summary of the main findings)
- References
- Appendix (List of any complementary sources and a description how to use them)
- provide any complementary sources, required to reproduce your results, e.g.
- Petri nets developed
- source code/scripts developed
- movies produced
- Project allocation can be changed, but only once.
Project proposals, overview
- DNA walker
- Converting an ODE model into a discrete model, 1
- Converting an ODE model into a discrete model, 2
- Snoopy mini clips
- Charlie mini clips
- Comparing the tool suite Snoopy/Charlie/Marcie with Monalisa
- Charlie regression testing
- Parameter scanning /sensitivity analysis over Marcie traces
- Debug Snoopy's web-based Petri net animation NEW
- ANDL <-> Prolog converter NEW
- If you have an own idea of a potentially suitable project, please contact me so we can discuss it. NEW
Project allocation
Hint: Please contact me immediately, if you should encounter major problems while working on the project. If required, project allocation can be changed, but only once.
Project proposals, more details
(1) DNA walker
For a summary see MCC modell form which also provides two references with more background info for the model (let me know when you don't get access to the papers).
The model itself is available here in PNML, a format which can be read by snoopy (via Marcie's stand-alone format converter).
The task is
- to understand the model,
- to apply all analysis techniques introduced in the course (as far as possible), and
- to represent it in a more condense way using coloured pn (which will be introduced in the last week), see Section 7.7.
(2) Converting an ODE model into a discrete model, 1
The paper xyz comes with an ODE model provided in the SBML exchange format. The task consists in converting this model into a sound discrete model (qpn, spn). You can check if you got it right by comparing the averaged stochastic behaviour with the continuous behaviour.
(3) Converting an ODE model into a discrete model, 2
As the previous task, but for the paper:
(4) Snoopy mini clips
The textbook chapter [BHM15] contains a couple of exercises enumerating in detail the steps required for certain Snoopy scenarios, see, e.g., 7.1-7.3, 7.8, 7.11/7.17/7.24, 7.12. Additionally, the answers for some other exercises are best given by showing how it has to be done with the Snoopy tool, see e.g., 7.4, 7.13, 7.15, 7.18, 7.25, 7.27, 7.28.
See also [BHM11] for some basic use cases.
There are simple public tools around which allow you to record what happens within a window on your machine, even combined with voice recording (requires good english), and by this way to produce tiny video clips making up together a kind of tutorial how to operate a tool, compare
demo1
demo2
demo3 ,
or without voice recording, as done in demo4 .
Finally, the clips to be produced should be uploaded to youtube, and a website summarising the links could be the final product, to be added to the Snoopy website (if quality permits).
Having done this, you might come up with a list of further scenarios which should be provided (in the future) to assist an advanced user.
(5) Charlie mini clips
See previous task, but for Charlie.
Hints:
- [BHM11] provides some basic use cases and explains quite detailed Charlie's interface.
- See also [Fran09] for additional background information.
(6) Comparing the tool suite Snoopy/Charlie/Marcie with Monalisa
The task is to compare the tool suite Snoopy/Charlie/Marcie with Monalisa with respect to
- functionality (net classes supported, tool features)
- performance
Test cases: all examples used during the course may serve, additional more expensive ones are provided.
references
(7) Charlie regression testing
The task is to develop a user test framework, which supports regression testing. Such a test framework can take advantage of Charlie's command line interface, which seems not to be mentioned on Charlie's website, but is explained in all details in [Fran09]. Some example calls:
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=props > siphon_trap_test2.log
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=pinv --exportFile=siphon_trap_test_p2.inv
tCharlie.sh --netfile=siphon_trap_test2.andl --analyze=siphon --computeBadSiphons=1 --exportFile=siphon_trap_test_badSiphon2.res
but, the exportFile is not generated, the result is given on stdout; ie, has to be called as:
tCharlie.sh --netfile=siphon_trap_test.andl --analyze=siphon --computeBadSiphons=1 --exportFile=siphon_trap_test_badSiphon.res > bs-log.txt
Likewise for all analysis engines. This obviously allows the integration of such a call in a test framework to iterate over a test suite (collection of test pn's), and to compare the obtained results with the expected results.
(8) Parameter scanning /sensitivity analysis over Marcie traces
requires scripting and some programming to analyse the generated traces.
(9) Debug Snoopy's web-based Petri net animation NEW
Snoopy supports the animation of Petri nets within a standard web browser (for some examples see above), which however is buggy. Further obstacles are caused by the constantly evolving web browser technology.
The task consists in testing the animation with a set of standard web browsers, which are currently in use over different platforms, and in correcting at least one of the bugs known related to:
- animation of logical transitions
- visualisation of inhibitory arcs
- dealing with hierarchies
Requires skills in Javascript.
(10) ANDL <-> Prolog converter NEW
Snoopy files can be stored in ANDL format (see Marcie manual for syntax), which is a compact form and can be read and processed by Marcie.
These files effectively describe graphs, and it can be useful to edit them automatically; Prolog is an effective
language to achieve this, due to its logical basis and database capabilities.
The task consists in creating a program to convert between ANDL files and Prolog. The Prolog to be used is gprolog (gnuprolog), available from http://www.gprolog.org.
The definition of the pProlog format to be used is illustrated by the file prolog demo file.
Hints:
- requires skills in state-of-the art compiler techniques;
- an ANDL syntax checker can be provided when C++ is chosen as implementation language. Then the direction ANDL -> Prolog becomes very easy.
Allocated mini projects
- (1) - Giorgia Minello and Bruno Quintavalle (DNA walker)
- (4) - Heider Wahsheh and Mohsin Raza Jafri (Snoopy miniclips)
- (6) - Mauro Tempesta and Marco Fiorucci (Monalisa)
- (8) - Francesco Palmarini and Gianpietro Basei (parameter scanning/sensitivity)
Interest indicated