Download presentation
Presentation is loading. Please wait.
Published byBetty Greene Modified over 9 years ago
1
CS 5991 Presentation Ptolemy: A Framework For Simulating and Prototyping Heterogeneous Systems
2
CS 5992 Agenda Overview of Ptolemy Internal Structure of Ptolemy Blocks and particles Stars, Galaxies and the Universe Targets and Schedulers The Wormhole The EventHorizon Code Generation Practical Applications
3
CS 5993 Overview of Ptolemy – Ptolemy/Ptolemy II – C++/Java – Many domains implemented – Multi-domain modeling – Block-diagram GUI – Extensible type system – Code generator – Ptolemy uses object- oriented software principles to achieve: Agility Heterogeneity Extensibility Friendliness
4
CS 5994 Domain Classes Domain - A realization of a framework Derived from kernel class inheritance data abstraction polymorphism Booch notation Multiple domains can be mixed hierarchically in the same model
5
CS 5995 Multiple Domains
6
CS 5996 Amorphous vs. Hierarchical Heterogeneity Color is a domain, which defines both the flow of control and interaction protocols. Hierarchical Amorphous Color is a communication protocol only, which interacts in unpredictable ways with the flow of control.
7
CS 5997 Domain Issues Ontology: What is a component? States? Processes? Threads? Differential equations? Constraints? Objects? Epistemology: What knowledge do components have? Time? Name spaces? Signals? State? Protocols: How do components communicate? Rendezvous? Message passing? Continuous-time signals? Streams? Method calls? Lexicon: What do components communicate? Objects? Transfer of control? Data Structures? ASCII text?
8
CS 5998 Blocks and Particles Blocks depend on the model of computation C++ base classes Block Porthole Geodesic Plasma Non-dogmatic kernel
9
CS 5999 Stars, Galaxies and the Universe Star lowest level of the hierarchy (atomic) Galaxy hierarchical block (composite) Universe top-level system representation (application)
10
CS 59910 Targets and Schedulers Base class mechanisms Target top-level manager of execution Scheduler defines the operational semantics of the domain by controlling the order of execution
11
CS 59911 Domains in Ptolemy
12
CS 59912 The Wormhole A new domain YYY is introduced by adding a Wormhole to the XXXUniverse. What’s EventHorizon?
13
CS 59913 The EventHorizon Supports interoperability of different domains at runtime(key for heterogeneity in Ptolemy). The interface between the internal structure of a Wormhole and its external environment. two types of interactions the conversion of Particles passing through it the coordination of the Schedulers associated with the inside and outside domains
14
CS 59914 Particle Conversion at the EventHorizon Accomplished by objects of class ToEventHorizon and FromEventHorizon, derived from EventHorizon. Particles are read from the XXXtoUniversal, transferred to the YYYfromUniversal, and sent to the inside YYY domain. For built-in types, the type conversion is performed automatically, otherwise should be managed explicitly. EventHorizons may have other domain-specific responsibilities(following example).
15
CS 59915 Particle Conversion at the EventHorizon(cont.) Specific responsibilities The DEWormhole is executed when any input has new data. The inner SDF domain requires that all input data be available The DEWormhole checks all SDFfromUniversal EventHorizons to see if they have enough data before turning control over to the inner SDFScheduler.
16
CS 59916 Scheduler Coordination Across the EventHorizon Schedulers on both sides of an EventHorizon need to coordinate.
17
CS 59917 Code Generation The go() method of a code generation Star adds ASCII text to a data structure in the Target. The Scheduler controls the sequence of generated code. The Target collects the code and supervises the compilation and execution. While a domain is specific to the computational model used, the code is also specific to the type of language generated.
18
CS 59918 Broadband Networking Example Message Queues Untimed “Before and After” timing style Discrete Event Model (DE) TimeStamped (Global Time) Asynchronously “When” timing style Synchronous Dataflow (SDF) Repeatable Schedule “How Often” timing style
19
CS 59919 Terminals & the CRN Terminals Internally Complex Cell Relay Network (CRN) DE Modeling Domain Non-Empty Cells traveling between Terminals and CRN Terminals Signaling ATM Switches DE Modeling Domain CRN
20
CS 59920 Signaling ATM Switches CRN CRN to Signaling & Switching Signaling MQ Domain (Untimed) ATM Internal Sim. – SDF All Cells Modeled Including Empty Cells TimeStamped to fit DE (timed asynchronous) Signaling (MQ) ATM DE
21
CS 59921 ATM to Call Processing & Internal Switching Call Processing Entity Control of the Switch MQ - Instantaneous Processing Internal Switches Shuffle Exchange DE (asynchronous) Cells augmented with Empty Cells to fit SDF (isochronous) at the EventHorizon Signaling(MQ) ATM Call Processing (MQ) Shuffle-Exchange (SDF)
22
CS 59922 Internal Switching to Routing & 2X2 Switches Routing Tables Updated from Call Processing Messages Instantaneous Message Receipt 2X2 Switching Matrix Interconnected Switches Shuffle-Exchange (SDF) Routing Tables 2X2 Switch
23
CS 59923 Ptolemy & the Broadband Networking Model Ptolemy uses a Wormhole to deal with the inter-domain heterogeneity in this example Ptolemy does not solve all the problems relating to interconnecting domains. Often additional user modeling work is required. Functional requirements of the system should reflect these inter-domain issues
24
CS 59924 More Ptolemy Examples Signal Processing Little Heterogeneity Auto-generation of DSP Assembly code Hardware Software Code Design Support domains for modeling Custom hardware design Programmable Commodity Parts Single model can be developed to simulate the system Source Linking Modeling OOP Abstraction Covert to/from Bits to Abstract from Source/Link Specifics
25
CS 59925 Other Interesting Ptolemy Topics Interoperation of Heterogeneous CAD Tools in Ptolemy II Ptolemy II is a Java Version of Ptolemy Computationally Efficient Version of the Decision Feedback Equalizer This and other Ptolemy information may be found at: http://ptolemy.eecs.berkeley.edu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.