Presentation is loading. Please wait.

Presentation is loading. Please wait.

Graphical editor for the Metropolis meta-model Jiagen Ding and Hongjing Zou Fall 2001.

Similar presentations


Presentation on theme: "Graphical editor for the Metropolis meta-model Jiagen Ding and Hongjing Zou Fall 2001."— Presentation transcript:

1 Graphical editor for the Metropolis meta-model Jiagen Ding and Hongjing Zou Fall 2001

2 Overview of the project Metropolis meta-model Graphical editor User Mouse click, keyboard input Immediate and relevant feedback about properties of the system In our presentation Review the Metropolis meta-model Present the structure of the graphical editor Demo the editor

3 Design methodology High level abstraction of a system Functional decomposition – into a set of processes P1P1 P2P2 P3P3 Behavior adaptation – modeled as processes Communication – by defining media node Communication refinement – refine media node P1P1 P2P2 P3P3 P’ P’’ P1P1 P2P2 P3P3 P’ P’’ M2M2 M1M1 M3M3 M4M4 refine Mi M M’ Mi P P’ Computation and communication are separated!

4 Design methodology System Function System Architecture Mapping Mapping – Function and architecture are separated. Refine Implementation of systems Optimization – get better implementation

5 Infrastructure coordination constraints on concurrent actions algorithms to enforce the constraints scheduler computation f: X Z firing rule process process P1{ port pX, pZ; thread(){ // condition to read X // an algorithm for f(X) // condition to write Z } communication state methods to - store data - retrieve data medium medium M{ int[] storage; int space; void write(int[] z){... } int[] read(){... } } P1.pZ.write()  P2.pX.read() P1 P2 M S pX pZpXpZ M’

6 Graphical editor Functions of the editor: Manipulation on three kinds of nodes (process, media, and scheduler) Create, modify, and delete Connection and netlist generation Refinement Requirement for the editor: Dynamic and interactive P1 P2 M S pX pZpXpZ M’

7 Structure of the editor User View Controller Model Renderers Mouse clicks Display Figure Mouse Clicks Add Modify Delete Notify with Events Create figures

8 Java programming Key classes BasicGraphModel, GraphEvent, GraphListener ProcessRenderer, MediumRenderer, SchedulerRenderer JGraph, GraphPane, SchematicGraphController, BasicNodeController, EdgeController

9 How it works User View Controller Model Renderers Click on a node Display figure been selected Send the click to the controller Create figures

10 How it works User View Controller Model Renderers Press ‘P’ for property Display a dialog showing the property for corresponding node Send the press to the controller Create figures Send command to Model Send the property information of the selected node

11 How it works User View Controller Model Renderers Change the code for the node Display modified code Send the changes to the controller Create figures Modify the code stored in the model database OK

12 Netlist generation Objects of process, medium, scheduler, and their derived types belong to netlist. Create node – addcomponent(NodeObject, NetlistOblect); A connection between two objects is always through a port. Port specification for node – connect(SrcObject, SrcPortName, DestObject); P1 P2 M S M’ for each process node and scheduler node{ for each port{ connect(SrcObject, SrcPortName, DestObject); }

13 Acknowledgment Thanks to our mentors Yosinori Watanabe and Luciano Lavagno And thanks to Stephen Andrew Neuendorffer for help on Diva.


Download ppt "Graphical editor for the Metropolis meta-model Jiagen Ding and Hongjing Zou Fall 2001."

Similar presentations


Ads by Google