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. MesserschmittT o p i c sC o n c e p tSlide 4Slide 5Internal StructureSlide 7Slide 8Slide 9Slide 10Slide 11Slide 12W o r m h o l eThe EventHorizonSlide 15Slide 16The EventHorizonCode GenerationPractical DetailsA p p l i c a t i o n sSlide 21A p p l i c a t i o n sA p p l i c a t i o n sCurrent ResearchP t o l e m y A Framework For Simulating and Prototyping Heterogeneous Systemsby Joseph Buck , Soonhoi Ha, Edward A. Lee & David G. MesserschmittP r e s e n t e r sA r u n T M& S u l e n T h o m a sT o p i c sConcept of PtolemyInternal Structure of PtolemyWormholeEventHorizonCode GenerationPractical DetailsApplicationsCurrent ResearchC o n c e p tprovides an environment for simulation and rapid prototyping of heterogeneous systemsuse of modern OO technology to model subsystemscore :: uses OO class definitions to make assumptionsprovides generic interfacesexamples of applications :: network and transport, call processing and signaling software etc.C o n c e p talternative to heterogeneity is generalitydisadvantages :: - analysis is difficult to perform - compilers are difficult to implement - increase in complexity of designkey :: non dogmatic kernel which combines descriptions to ensure heterogeneitycoordination frameworkC o n c e p tuses OO concepts to achieve the following goalsagility :: support distinctiveness in model design heterogeneity :: allows co existence of different systemsextensibility :: allows integration of old and new modelsfriendliness :: friendly GUIInternal StructureBlocks & Particlesblock :: module of code invoked at runtime porthole :: standard interfacesparticle :: base message typegeodesic :: connection frameworkplasma :: reclamation of used particlesInternal Structure Stars, Galaxies and Universeprovides hierarchy for the systemstar :: - derived from block - performs computationgalaxy :: - contains other blocks - contains other galaxies & starsuniverse :: - complete Ptolemy applicationadvantages of hierarchyInternal StructureTargets & Schedulerstarget :: - controls the execution - features vary based on applicationscheduler :: - defines the operational semantics of the domain - manages the order of execution of star methodsInternal StructureDomaindefinition :: - set of blocks, targets and associated schedulers - computational modelSub Domain implements a more specialized computational modelstars and targets can be used with an outer onescheduler cannot be used with outside domainInternal StructureInternal StructureExamples of Domaindynamic data flow (DDF) :: - data driven model of computationsynchronous data flow (SDF) :: - sub domain of DDF - advantages :: - ease of programming - syntax checking - runtime efficiency - automatic parallel schedulingInternal StructureExamples of Domainboolean data flow ( BDF) :: - intermediate between SDF and DDFdiscrete event ( DE ) :: - models only changes in a system state - differences :: - incorporates global time - orders block invocations properlymessage queue ( MQ ) :: - dynamically creates and destroys blocks - eg software control applicationsW o r m h o l ecritical design elementblock which externally looks like a starcontains of a private universe ( separate scheduler and stars )can be introduced into any domainobjects contain target pointersused to run simulations in different environmentsThe EventHorizonThe EventHorizonProvides the interface between Wormhole and external environment.Two types of interactionsConversion of particles passing through EventHorizonAccomplished by ToEventHorizon and FromEventHorizon derived from EventHorizonParticles are read from XXXtoUniversal to YYYFromUniversal and sent to YYY domainResponsibilities of EventHorizonDEWormhole is executed when input has data.The EventHorizonScheduler CoordinationScheduler has a set of polymorphic methods (setup(), run(), setStopTime() and resetStopTime()) for coordination of Schedulers on both sides of EventHorizonsetup() method takes place before execution of blocks.run() method executes the blocksStopTime specifies the time upto which run() executessetStopTime() allows StopTime to be set externallyThese methods make multiple Schedulers behave logically as a single Scheduler.Schedulers divided into timed and untimedThe 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 XXXWormholeCode Generationgo() method of Star adds ASCII text to data structure in TargetScheduler controls sequence of codeTarget collects code and supervised compilation and executionPractical DetailsThe Graphical User InterfacePtolemy Interactive Graphical Interface (pigi) is the design editorInterpGalaxy is used to dynamically construct simulationsRuns as Vem graphic editor and pigiRpc, the Ptolemy kernelStatesUsed to monitor and control the simulationStar Preprocessor LanguageGenerates documentation for Star and Galaxy class.A p p l i c a t i o n sBroadband NetworkingCell relay network connects a set of terminalsDE domain used to model non-empty cellsSignalingATM SwitchesDE Modeling DomainTerminalsCRNA p p l i c a t i o n sBroadband NetworksNetwork consists of signaling entity & a set of switchesCall processing entity present within the switchSignalingSignaling (MQ)ATMATMATMATMA p p l i c a t i o n sSignal ProcessingAlgorithms 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 codeHardware-Software Co-DesignThor domain can be combined with code generation domain to design boards with programmable DSPHardware 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
View Full Document