Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 213 times |
Download: | 0 times |
P t o l e m y
A Framework For Simulating and Prototyping Heterogeneous Systems
by Joseph Buck , Soonhoi Ha, Edward A. Lee & David G.
Messerschmitt
P r e s e n t e r s
A r u n T M&
S u l e n T h o m a s
T o p i c s
Concept of Ptolemy
Internal Structure of Ptolemy
Wormhole
EventHorizon
Code Generation
Practical Details
Applications
Current Research
C o n c e p t
provides an environment for simulation and rapid prototyping of heterogeneous systems
use of modern OO technology to model subsystems
core :: uses OO class definitions to make assumptions
provides generic interfaces
examples of applications :: network and transport, call processing and signaling software etc.
C o n c e p t
alternative to heterogeneity is generality
disadvantages :: - analysis is difficult to perform - compilers are difficult to implement - increase in complexity of design
key :: non dogmatic kernel which combines descriptions to ensure heterogeneity
coordination framework
C o n c e p t
uses OO concepts to achieve the following goals
agility :: support distinctiveness in model design
heterogeneity :: allows co existence of different systems
extensibility :: allows integration of old and new models
friendliness :: friendly GUI
Internal Structure
Blocks & Particles
block :: module of code invoked at runtime porthole :: standard interfaces particle :: base message type geodesic :: connection framework plasma :: reclamation of used particles
Internal Structure
Stars, Galaxies and Universe
provides hierarchy for the system
star ::
- derived from block
- performs computation
galaxy ::
- contains other blocks
- contains other galaxies & stars
universe ::
- complete Ptolemy application
advantages of hierarchy
Internal Structure
Targets & Schedulers
target :: - controls the execution - features vary based on
application
scheduler :: - defines the operational
semantics of the domain - manages the order of
execution of star methods
Internal Structure
Domain definition ::
- set of blocks, targets and associated schedulers
- computational model
Sub Domain implements a more
specialized computational model
stars and targets can be used with an outer one
scheduler cannot be used with outside domain
Internal Structure
Examples of Domain dynamic data flow (DDF) ::
- data driven model of computation
synchronous data flow (SDF) :: - sub domain of DDF - advantages :: - ease of programming - syntax checking - runtime efficiency - automatic parallel scheduling
Internal Structure
Examples of Domain boolean data flow ( BDF) ::
- intermediate between SDF and DDF
discrete event ( DE ) :: - models only changes in a system state - differences :: - incorporates global time - orders block invocations properly
message queue ( MQ ) :: - dynamically creates and destroys blocks - eg software control applications
W o r m h o l e
critical design element
block which externally looks like a star
contains of a private universe ( separate scheduler and stars )
can be introduced into any domain
objects contain target pointers
used to run simulations in different environments
The EventHorizon
Provides the interface between Wormhole and external environment.Two types of interactions
Conversion of particles passing through EventHorizonAccomplished by ToEventHorizon and FromEventHorizon derived from EventHorizon
Particles are read from XXXtoUniversal to YYYFromUniversal and sent to YYY domain
Responsibilities of EventHorizon DEWormhole is executed when input has data.
The EventHorizon
Scheduler Coordination Scheduler has a set of polymorphic methods (setup(),
run(), setStopTime() and resetStopTime()) for coordination of Schedulers on both sides of EventHorizon
setup() method takes place before execution of blocks. run() method executes the blocks StopTime specifies the time upto which run() executes setStopTime() allows StopTime to be set externally These methods make multiple Schedulers behave
logically as a single Scheduler. Schedulers divided into timed and untimed
The EventHorizon
Inheritance Structure of Blocks
Block (initialize() Runnable ( run() and
start() and stop()) setStopTime())
Galaxy Star Wormhole (a runnable
withUniverse (includes target and XXXStar internal target & is a runnable) galaxy)
XXXUniverse XXXWormhole
Code Generation
go() method of Star adds ASCII text to data structure in Target
Scheduler controls sequence of code
Target collects code and supervised compilation and execution
Practical Details
The Graphical User Interface Ptolemy Interactive Graphical Interface (pigi) is the
design editor InterpGalaxy is used to dynamically construct
simulations Runs as Vem graphic editor and pigiRpc, the Ptolemy
kernel
States Used to monitor and control the simulation
Star Preprocessor Language Generates documentation for Star and Galaxy class.
A p p l i c a t i o n s
Broadband Networking
Cell relay network connects a set of terminals
DE domain used to model non-empty cells
Signaling
ATM Switches
DE Modeling Domain
TerminalsCRN
A p p l i c a t i o n s
Broadband Networks
Network consists of signaling entity & a set of switches
Call processing entity present within the switch
Signaling
Signaling (MQ)
ATM
ATM ATM
ATM
A p p l i c a t i o n s
Signal Processing Algorithms are defined within data flow model Ptolemy capable of partitioning, scheduling and
generating DSP assembly language. Ptolemy can generate C code, Motorola 56000 and
96000 assembly code
Hardware-Software Co-Design Thor domain can be combined with code generation
domain to design boards with programmable DSP Hardware and Software are modeled within the
same software framework. Ptolemy has the ability to mix behavioral, hardware
and software entities in a natural way.
A p p l i c a t i o n s
Source and Link modeling
Source generates data packets or speech samples, link consists of single-bit error model.
Particle has methods convertToBits() and convertFromBits Link model accepts Particles, applies the first method,
applies link model to the bit string and uses second method to convert bit string back to particles.
Particles Particles
Source Link
Current Research
Ptolemy II 2.0.1 made available in August 2002
Ptolemy II 2.0.1 is the first release that includes a limited prototype of our code generation facility that will generate class files for non-hierarchical SDF models
Other Ptolemy information may be found at: http://ptolemy.eecs.berkeley.edu