Rule-Based Denotational Semantics 

  Assignment Goal

The goal of this assignment is to build a rule-based transformation for the denotational semantics of RPGGame in the form of a mapping to an existing Petri net formalism. You can complete this assignment in groups of two students. The following tasks need to be completed:
  1. Implement a rule-based transformation that transforms RPGGame models into Petri net models.
    • Make sure this transformation is complete, i.e., every well-formed RPGGame model produces a well-formed Petri net (in the PN formalisms).
    • Do not remove your RPGGame model during transformation. Instead, keep it and create traceability links (using the GenericGraph formalism) between created Places and Transitions and the RPGGame element they correspond to. Use the GenericGraph formalism for traceability links. These links will greatly help in implementing your transformation.
    • Petri nets are used to analyse safety properties of a system, such as deadlock. In the next assignment, you'll use the models generated in this assignment to perform analysis. Needless to say, the Petri nets resuling from your RPG game models will be abstractions. Make sure these abstractions are meaningful.
  2. (Optional) Create an extension of the Petri net simulator, so that during simulation, the related RPGGame model is updated as well. The behaviour in your RPGGame model must be the same as your rule-based operational semantics.
  3. Create test cases that test your RPGGame-to-PetriNet mapping.
  4. Write a report that:
    • explains the particularities of your solution and the difficulties you encountered;
    • sums up the desirable results for all your test cases (in the form of text/image).
The deadline for this assigment is November 15, 2013, 14:00 November 22, 2013, 23:59. You will have to submit your solution (AToMPM files and report) to Blackboard.

  Useful Links

  • AToMPM main page: http://syriani.cs.ua.edu/atompm/atompm.htm
  • AToMPM Download Link (v 0.5): atompm.zip. To install AToMPM, follow the instructions at the bottom of the 'Projects' page on the main website. THIS IS A DIFFERENT VERSION. Install this version next to your original AToMPM installation, and copy your user directory over.
  • Useful tutorials can be found on the 'Tutorials & Demos' page on the main website.
  • Download this zip file and unzip it in your main AToMPM directory: csworker.zip
  • If you want to simulate your PN model, download and unzip this folder in your PN directory: operationalSemantics.zip. This will create a folder called "operationalSemantics". Inside, the transformation "T_simulate.model" simulates a PN model.