Unformatted text preview:

Overview of Ptolemy II Principal Investigator Edward A Lee Technical Staff Christopher Hylands Joern Janneck John Reekie Mary P Stewart Kees Vissers Graduate Students J Adam Cataldo Chris Chang Elaine Cheong Xiaojun Liu Stephen Neuendorffer James Yeh Yang Zhao Haiyang Zheng Rachel Zhou Embedded Systems Systems that tightly integrate information processing with physical processes such as Aircraft Factory robots Cars Trains Appliances The fate of computers lacking interaction with physical processes Only 2 of computers today are first and foremost computers EE249 Fall 2002 2 Example Automotive Engine Control System engine Hybrid Automata Differential Equations cylinder cylinder cylinder cylinder power train Continuous Time actuator sensor Timed Multitasking Discrete Event embedded controller EE249 Fall 2002 3 Components Composition controller car model engine I H power train C E EE249 Fall 2002 4 Actor Oriented Design Components are actors which are concurrent parameterized objects Actors are composed according to a model of computation MoC such as Communicating sequential processes Continuous time Discrete event Discrete time Process networks Synchronous dataflow Synchronous reactive EE249 Fall 2002 5 Object Oriented and Actor Oriented Design Object orientation strong typing inheritance procedural interfaces Interface Actor Interface Executable ComponentEntity fire initialize postfire boolean prefire boolean preinitialize stopFire terminate wrapup getDirector Director getExecutiveDirector Director getManager Manager inputPortList List newReceiver Receiver outputPortList List Actor orientation concurrency communication real time These are complementary CompositeEntity 0 n 0 1 CompositeActor Director AtomicActor UML object model emphasizes inheritance and procedural interfaces Actor orientation offers modeling the continuous environment and hybrid systems understandable concurrency vs RPC semaphores and mutexes specifications of temporal behavior vs prioritize and pray EE249 Fall 2002 6 Ptolemy II A Software Laboratory continuous environment modal model Ptolemy II A framework supporting experimentation with z actor oriented design z concurrent semantics z visual syntaxes discrete controller http ptolemy eecs berkeley edu example Ptolemy model hybrid control system EE249 Fall 2002 7 Ptolemy II Infrastructure kernel package hierarchical component architecture actor package executable interface message passing interface basic message passing and execution sequencing functionalities that are not specific to a particular model of computation support packages data tokens type system expression language graph graph algorithms math math algorithms media audio video moml persistence plot signal plotters vergil visual editor EE249 Fall 2002 8 Basic Kernel Classes Attribute 0 1 0 n NamedObj CrossRefList 1 1 Port Entity container 0 1 portList NamedList connectedPortList List connectionsChanged port Port getPort name String Port linkedRelationList List newPort name String Port portList List removeAllPorts addPort port Port removePort port Port 0 n containee container Entity relationsList CrossRefList connectedPortList List insertLink int index relation Relation isLinked r Relation boolean linkedRelationList List link relation Relation numLinks int unlink index int unlink relation Relation unlinkAll checkContainer container Entity checkLink relation Relation 1 1 1 1 1 1 link 0 n Relation 0 n link portList CrossRefList linkedPortList List linkedPortList except Port List numLinks int unlinkAll EE249 Fall 2002 9 Abstract Syntax connection Entity Link ne cti o o cti ne n co n n co Port Entity Port n Link Link Port Entity Relation The Ptolemy II kernel defines an abstract syntax clustered graphs that is well suited to a wide variety of component based modeling strategies ranging from state machines to process networks EE249 Fall 2002 10 Clustered Graph Relation AtomicEntity opaque Port dangling transparent Port Composite entities and ports in Ptolemy II provide a simple and general abstraction mechanism transparent Port transparent CompositeEntity toplevel CompositeEntity The ports deeply connected to the red port are the blue ones EE249 Fall 2002 11 Mutations The NamedObj class provides support for Processing requests for topology changes Delegating change requests to containers Registering listeners Notifying listeners of topology changes Thus models with dynamically changing topologies are cleanly supported For each model of computation mutations can be performed in a controlled way EE249 Fall 2002 12 Actor Package Object Model for Executable Components Interface Actor Interface Executable ComponentEntity fire initialize postfire boolean prefire boolean preinitialize stopFire terminate wrapup getDirector Director getExecutiveDirector Director getManager Manager inputPortList List newReceiver Receiver outputPortList List CompositeEntity 0 n 0 1 CompositeActor Director AtomicActor EE249 Fall 2002 13 The Executable Interface preinitialize initialize prefire execution iterate fire wrapup postfire EE249 Fall 2002 14 Manager and Directors Hierarchical Heterogeneity M Manager E0 D1 local director E2 E1 Transparent Composite Actor Opaque Composite Actor P1 P2 D2 local director P5 E4 P6 E3 P3 P4 P7 E5 Each director implements a model of computation A composite actor with a director becomes opaque The manager provides support for interactive simulation EE249 Fall 2002 15 Hierarchical vs Amorphous Heterogeneity Amorphous Color is a communication protocol only which interacts in unpredictable ways with the flow of control Hierarchical Color is a domain which defines both the flow of control and the communication protocol EE249 Fall 2002 16 Execution Sequencing Execution Sequence Manager run initialization execution Manager initialize top level top level Composite Actor no initialize director process mutations check types prefire top level Director initialize actors no ready yes prefire director not ready prefire select an actor prefire actor wrapup fire top level postfire top level fire director postfire director done wrapup top level yes wrapup director no fire actor postfire actor done transfer outputs postfire wrapup actors opaque Composite Actor no more actors initialize director prefire director request transfer inputs fire director request transfer outputs postfire director wrapup director Director no initialize actors prefire transfer inputs prefire actor fire actor postfire actor done postfire wrapup


View Full Document

Berkeley ELENG C249A - Overview of Ptolemy II

Documents in this Course
Load more
Loading Unlocking...
Login

Join to view Overview of Ptolemy II and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Overview of Ptolemy II and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?