1 / 42

QPE

QPE. A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz. Agenda. Motivation XML Format Approaches to Java GUI development QPE Design & Architecture Demo Conclusion Future Work. Motivation. Benefits of QPNs over ordinary PNs Problems analyzing QPNs

monte
Download Presentation

QPE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz

  2. Agenda • Motivation • XML Format • Approaches to Java GUI development • QPE Design & Architecture • Demo • Conclusion • Future Work

  3. Motivation • Benefits of QPNs over ordinary PNs • Problems analyzing QPNs • How SimQPN solves these problems • HiQPN as editor and its disadvantages • QPE closing the gap

  4. Motivation Benefits of QPNs over ordinary PNs

  5. Motivation Problems analyzing QPNs • State space explosion problems • Analysis techniques not scalable

  6. Motivation SimQPN simulator • Scales much better • Allows simulation of far more complex nets • Unfortunately no GUI

  7. Motivation HiQPN • currently only GUI tool for QPNs • Not portable (Solaris) • Problematic integration with SimQPN • C  Java • Screenshots

  8. Motivation HiQPN net editor

  9. Motivation HiQPN incidence functioneditor

  10. Motivation QPE • Pure Java • Developed directly for QPN support • Available on all major platforms • Integrates perfectly with SimQPN • Screenshots

  11. Motivation QPE net editor

  12. Motivation QPE incidence function editor

  13. XML Format • Why XML • Format extension vs. new definition • Demo • Schema definition

  14. XML Format Why XML? • Portable • Human readable • Transformable

  15. XML Format Format extension vs. new definition • PNML • Filled with unnecessary features • Unable to integrate global color definitions • QPE format • Lightweight • Optimized for QPNs • Conversion PNML  QPE using XSL

  16. XML Format Format Demo • ..\test-data\test2.xml

  17. XML Format Schema definition • Schema • Good tool support widely spread • No support for type definition based on name and attribute • RelaxNG • Easy format • Able to define QPE format

  18. XML Format Schema Demo • ..\qpn.rng

  19. Approaches to Java GUI development • SWING & AWT • Extending existing tools • PIPE • Graphic frameworks and libraries • Touchgraph • Eclipse & GEF

  20. Approaches to Java GUI development SWING & AWT • AWT fast but little features • SWING slow but many features • Implement Framework for QPN visualization by myself • Reinventing the wheel is no solution  dropped

  21. Approaches to Java GUI development PIPE • High level code object oriented • Low level code procedural • Class names had nothing to do with their function • Hacking against my understanding of software quality • Reimplementation more time-consuming than reimplementing from scratch using visualization framework  dropped

  22. Approaches to Java GUI development PIPE based QPN editor

  23. Approaches to Java GUI development Touchgraph • Library for visualizing net structures • Amazing visualization • Homogeneous elements • No constraints • No attribute types bound to certain node types  dropped because of GEF

  24. Approaches to Java GUI development Touchgraph application

  25. Approaches to Java GUI development Eclipse & GEF • RCP (Rich Client Platform) • Minimal Eclipse • Usage of all Eclipse plug-ins • Application generally usable as standalone application or plug-in • GEF = Graphical Editing Framework • Visualization framework for building graphical editors

  26. QPE Design & Architecture • RCP Perspective • Problems • Main patterns • Model • Controller • View

  27. QPE Design & Architecture RCP Perspective

  28. QPE Design & Architecture Problems • Change from 3.0 to 3.1 • Major changes in plug-in mechanism • Samples and how-to's for 3.1 hard to find • Google not yet indexed a lot of 3.1 content • No Architecture Map • How-to's mainly show samples without explanation

  29. QPE Design & Architecture Main patterns • MVC • Model Model • View Controller • Observer • PropertyChangeListener • Reflection • Parameters of type Object • Implementing additional interface results in entirely different behavior

  30. QPE Design & Architecture Model • XML (Dom4J and XPath for navigation) • Write access wrapped to enable event-listeners • General structure of read and write operations • Screenshots of sample actions • Registering a new document • Registering as event listener for an element • Modify an element

  31. QPE Design & Architecture General structure

  32. QPE Design & Architecture Registering a new document

  33. QPE Design & Architecture Registering as event listener

  34. QPE Design & Architecture Modify an element

  35. QPE Design & Architecture Controller • EditParts • interacting with Platform • Keeping model and view in sync • Register as event listeners to platform and model events • Screenshot of EditPart structure

  36. QPE Design & Architecture EditPart stucture

  37. QPE Design & Architecture View • Figures = Visual components • Problem • Lists in Java only allow one reference to a single Object • How to distinguish between input and output place? • Solution: Wrapping in wrapper objects • Screenshot of I.F. editor figures

  38. Incidence function view structure

  39. QPE Design & Architecture Demo • QPE • Show everything • SimQPN plug-in • Show wizard

  40. Conclusion • Multiplatform QPN editor • Integration of SimQPN simulator • Together form QPME: • Queueing Petri Net Modeling Environment • Able to be widely spread • Because of simulator performance will be highly accepted by users

  41. Future work • Implementation of subnet editor • QPN  HQPN editor • Final adjustments in simulator integration. • Validation of simulator integration • Implementation of custom problem view for RuleEngine • Branding to make executable binary package for each supported platform

  42. Fin

More Related