actor networks edward a. lee robert s. pepper distinguished professor chair of eecs uc berkeley...
TRANSCRIPT
![Page 1: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/1.jpg)
Actor Networks
Edward A. LeeRobert S. Pepper Distinguished Professor
Chair of EECS
UC Berkeley
Invited Talk
Workshop Foundations and Applications of Component-based Design
Seoul, Korea, Oct. 26, 2006
![Page 2: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/2.jpg)
Lee, Berkeley 2
Key Concepts in Model-Based Design
Specifications are executable models. Models are composed to form designs. Models evolve during design. Deployed code is generated from models. Modeling languages have formal semantics. Modeling languages themselves are modeled.
For general-purpose software, this is about Object-oriented design
For embedded systems, this is about Time Concurrency
![Page 3: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/3.jpg)
Lee, Berkeley 3
What We Have Learned
Embedded systems demand a different approach to computation.
![Page 4: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/4.jpg)
Lee, Berkeley 4
Instead of a Program Specifying…
f : {0,1} {0,1}
… a (partial) function from bit sequences to bit sequences …
![Page 5: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/5.jpg)
Lee, Berkeley 5
… A Program Should Specify
f : [T {0,1}]P [T {0,1}]P
…where T is a (partially) ordered set representing time, precedence ordering, causality, synchronization, etc.
“signal” “signal”“actor”
![Page 6: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/6.jpg)
Lee, Berkeley 6
This Leads to What We CallActor-Oriented Component Composition
Cascade connections Parallel connections Feedback connections
If actors are functions on signals, then the nontrivial part of this is feedback.
Some of the PossibleModels of Computation:
• Time-Triggered• Discrete Events• Dataflow• Rendezvous• Synchronous/Reactive• Continuous Time• Mixtures of the above• …
x [T {0,1}*]
![Page 7: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/7.jpg)
Lee, Berkeley 7
Examples of Actor-Oriented “Languages”
CORBA event service (distributed push-pull) LabVIEW (dataflow, National Instruments) Modelica (continuous-time, Linkoping) OPNET (discrete events, Opnet Technologies) Occam (rendezvous) ROOM and UML-2 (dataflow, Rational, IBM) SCADE and synchronous languages (synchronous/reactive) SDL (process networks) Simulink (Continuous-time, The MathWorks) SPW (synchronous dataflow, Cadence, CoWare) VHDL, Verilog (discrete events, Cadence, Synopsys, ...) …
Many of these are domain specific.
Many of these have visual syntaxes.
The semantics of these differ considerably, but all can be modeled as f : [T {0,1}]P [T {0,1}]P
with appropriate choices of the set T.
![Page 8: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/8.jpg)
Lee, Berkeley 8
The Catch…
f : [T {0,1}]P [T {0,1}]P
This is not what (mainstream) programming languages do.
This is not what (mainstream) software component technologies do.
This is not what (most) semantic theories do.
Let’s deal with this one first…
![Page 9: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/9.jpg)
Lee, Berkeley 9
How much Theory is Based on f : {0,1} {0,1}?
Effectively computable functions [Turing, Church]
Operational semantics as sequences of transformations of state [Various]
Denotational semantics as functions mapping a syntax into a function that maps state into state [Winskel]
Equivalence as bisimulation [Milner]
Verification as model checking [Various]
…
See [Lee, FORMATS 2006] for further discussion of this.
![Page 10: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/10.jpg)
Lee, Berkeley 10
Our Approach to a More Suitable Theory: The Tagged Signal Model
[Lee & Sangiovanni-Vincentelli, 1998]
A set of values V and a set of tags T An event is e T V A signal s is a set of events. I.e. s T V A functional signal is a (partial) function s: T V The set of all signals S = 2T V
Related models: Interaction Categories [Abramsky, 1995] Interaction Semantics [Talcott, 1996] Abstract Behavioral Types [Arbab, 2005]
![Page 11: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/11.jpg)
Lee, Berkeley 11
Actors, Ports, and Behaviors
An actor has N ports P
A behavior is a tuple of signals = S N
An actor is a set of behaviors A S N
1p
2p
3p
4pA
![Page 12: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/12.jpg)
Lee, Berkeley 12
Actor Composition
Composition is simple intersection
21 AAA
1p 2p
3p 4p1A A1 S 4
2A A2 S 4
![Page 13: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/13.jpg)
Lee, Berkeley 13
Connectors
Connectors are (typically) trivial actors.
cAAA 21
1p 2p 3p 4p1A 2A
324 , sss cSc
c
A
![Page 14: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/14.jpg)
Lee, Berkeley 14
Functional Actors
Ports become inputs or outputs. Actors become functions from inputs to outputs.
2211 '',', ssssss A
1p 2pA A S 4
![Page 15: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/15.jpg)
Lee, Berkeley 15
For Functional Actors, Arbitrary Composition has a Fixed-Point Semantics
![Page 16: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/16.jpg)
Lee, Berkeley 16
Structure of the Tag Set
The algebraic properties of the tag set T are determined by the concurrency model, e.g.: Process Networks Synchronous/Reactive Time-Triggered Discrete Events Dataflow Rendezvous Continuous Time Hybrid Systems …
Associated with these may be a richer model of the connectors between actors.
![Page 17: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/17.jpg)
Lee, Berkeley 17
Example of a Partially Ordered Tag Set T for Kahn Process Networks
Each signal maps a totally ordered subset of T into values.
signal actor
Ordering constraints on tags imposed by communication:
Example from Xiaojun Liu, Ph.D. Thesis, 2005.
u
v
x
y
z
s: T V
![Page 18: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/18.jpg)
Lee, Berkeley 18
Example: Tag Set T for Kahn Process Networks
Ordering constraints on tags imposed by computation:
Example from Xiaojun Liu, Ph.D. Thesis, 2005.
u
z
v
y
x
Composition of these constraints with the previous reveals deadlock.
Actor F1(in z, u; out v){ repeat { t1 = receive(z) t2 = receive(u) send(v, t1 + t2) }}
Actor F2(in x; out y){ repeat { t = receive(x) send(v, t) }}
![Page 19: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/19.jpg)
Lee, Berkeley 19
Totally Ordered Tag Sets
Example: T = (synchronous languages)
Example: T = , with lexicographic order (“super dense time”). Used to model
• hardware,• continuous dynamics,• hybrid systems,• embedded software
See [Liu, Matsikoudis, Lee, CONCUR 2006].
![Page 20: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/20.jpg)
Lee, Berkeley 20
Recall The Catch…
f : [T {0,1}]P [T {0,1}]P
This is not what (mainstream) programming languages do.
This is not what (mainstream) software component technologies do.
This is not what (most) semantic theories do.
Let’s look at the second problem next…
![Page 21: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/21.jpg)
Lee, Berkeley 21
Actor-Oriented Design
The alternative: “Actor oriented:”
actor name
data (state)
ports
Input data
parameters
Output data
What flows through an object is
evolving data
class name
data
methods
call return
What flows through an object is
sequential control
Established component interactions:
Things happen to objects
Actors make things happen
![Page 22: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/22.jpg)
Lee, Berkeley 22
The Key To Success:Separation of Concerns
Abstract Syntax Concrete Syntax Syntax-Based Static Analysis: e.g. Type Systems Abstract Semantics Concrete Semantics Semantics-Based Static Analysis: e.g. Verification
![Page 23: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/23.jpg)
Lee, Berkeley 23
An Abstract Syntax
P ortP ort
E ntity E ntity
L inkRelation
E ntity
P ort
connection
connection
conn
ectio
n
L inkLi
nk
A ttributes A ttributes
A ttributes
• Entities• Attributes on entities (parameters)• Ports in entities• Links between ports• Width on links (channels)• Hierarchy
Abstract syntaxes can be formalized.See [Jackson and Sztipanovits, EMSOFT 2006]
![Page 24: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/24.jpg)
Lee, Berkeley 24
Meta-Modeling of an Abstract Syntax
OutputPort<<Atom>>
InputPort<<Atom>>
Port<<Atom>>
Relation<<Atom>>
IndirectLink<<Connection>>
CompositeEntity<<Model>>
ComponentEntity<<Model>>
Computation<<Set>>
inputs : fieldoutputs : fieldcomputation : field
DirectLink<<Connection>>
0..*
0..*
0..*
0..*
0..*
0..* 0..*0..*
0..*
0,1 0,1
0..*
Using GME (from Vanderbilt) an abstract syntax is specified as an object model (in UML) with constraints (in OCL), or alternatively, with MOF.
Such a spec can be used to synthesize visual editors and models transformers.
Meta-model of Ptolemy II abstract syntax, constructed in GME by H. Y. Zheng.
![Page 25: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/25.jpg)
Lee, Berkeley 25
The Key To Success:Separation of Concerns
Abstract Syntax Concrete Syntax Syntax-Based Static Analysis: e.g. Type Systems Abstract Semantics Concrete Semantics Semantics-Based Static Analysis: e.g. Verification
![Page 26: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/26.jpg)
Lee, Berkeley 26
Concrete Syntax
Example concrete syntax in XML: ... <entity name="FFT" class="ptolemy.domains.sdf.lib.FFT"> <property name="order" class="ptolemy.data.expr.Parameter" value="order"> </property> <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort"> ... </port> ... </entity> ... <link port="FFT.input" relation="relation"/> <link port="AbsoluteValue2.output" relation="relation"/> ...
XML and XSLT have made concrete syntax even less important than it used to be. Going a step further, GReAT (from Vanderbilt) works with GME to synthesize model transformers from meta models.
![Page 27: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/27.jpg)
Lee, Berkeley 27
The Key To Success:Separation of Concerns
Abstract Syntax Concrete Syntax Syntax-Based Static Analysis: e.g. Type Systems Abstract Semantics Concrete Semantics Semantics-Based Static Analysis: e.g. Verification
See [Lee and Neuendorffer, MEMOCODE 2004] and [Xiong, PhD Thesis, 2002] for actor-oriented type systems.
![Page 28: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/28.jpg)
Lee, Berkeley 28
The Key To Success:Separation of Concerns
Abstract Syntax Concrete Syntax Syntax-Based Static Analysis: e.g. Type Systems Abstract Semantics Concrete Semantics Semantics-Based Static Analysis: e.g. Verification
![Page 29: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/29.jpg)
Lee, Berkeley 29
Where We Are Headed
An Abstract Semantics
A Finer Abstract Semantics
A Concrete Semantics(or Model of Computation)
![Page 30: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/30.jpg)
Lee, Berkeley 30
Tagged Signal Abstract Semantics
Tagged Signal Abstract Semantics:
port may be an input or an output,or neither or both. It is irrelevant.
signal is a set of events.
11 Ss 22 Ss
an actor is a subset of the signals with which it interacts.
21 SSP
This outlines a general abstract semantics that gets specialized. When it becomes concrete you have amodel of computation.
![Page 31: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/31.jpg)
Lee, Berkeley 31
A Finer Abstraction Semantics
Functional Abstract Semantics:
port is now either aninput or an output (or both).
11 Ss 22 Ss
An actor is now a function from input signals to output signals.
21: SSF
This outlines an abstract semantics for deterministic producer/consumer actors.
![Page 32: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/32.jpg)
Lee, Berkeley 32
Another Finer Abstract Semantics
Process Networks Abstract Semantics:
port is either aninput or an output or both.
sets of signals are monoids, which allows us to incrementally construct them. E.g.• stream• event sequence• rendezvous points …
11 Ss 22 Ss
An actor is a sequence of operations on its signals where the operations are the associative operation of a monoid
This outlines an abstract semantics for actors constructed as processes that incrementally read and write port data.
21 SSP
Actor is not necessarily functional (can be nondeterministic).
![Page 33: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/33.jpg)
Lee, Berkeley 33
Concrete Semantics that Conform with the Process Networks Abstract Semantics
Communicating Sequential Processes (CSP) [Hoare] Calculus of Concurrent Systems (CCS) [Milner] Kahn Process Networks (KPN) [Kahn] Nondeterministic extensions of KPN [Various] Actors [Hewitt]
Some Implementations: Occam, Lucid, and Ada languages Ptolemy Classic and Ptolemy II (PN and CSP domains) System C Metropolis
![Page 34: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/34.jpg)
Lee, Berkeley 34
Process Network Abstract Semantics has a Natural Software Implementation
Actor
IOPort
IORelation
P2P1
E1
E2
send(0,t) receiver.put(t) get(0)
token tR 1
Basic Transport:
Receiver(inside port)
execution control data transport
init()fire()
![Page 35: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/35.jpg)
Lee, Berkeley 35
Process Network Abstract Semantics in Ptolemy II
ptolemy.actor.Director
« In te rfa c e »R e c e ive r
+g e t() : T o ke n+g e tC o n ta in e r() : IO P o rt+h a s R o o m () : bo o le a n+h a s T o ke n () : b o o le a n+p u t(t : T o ke n )+s e tC o n ta in e r(po rt : IO P o rt)
« In te rfa c e »A c to r
+g e tD ire c to r() : D ire c to r
IO P o rt
+g e t(c ha n ne lIn de x : in t) : T o ke n+h a s R o o m (c h a n n e lIn d e x : in t) : b o o le a n+h a s T o ke n (c ha n n e lIn d e x : in t) : b o o le a n+is Inp u t() : b o o le a n+is O u tp u t() : b o o le a n+s e nd (c h a n n e lIn d e x : in t, to ke n : T o ke n )
creates
actor contains ports
port contains receivers
director creates receivers
receiver implements communication
monoid operation to incrementally construct signals
![Page 36: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/36.jpg)
Lee, Berkeley 36
Several Concrete Semantics Refine this Abstract Semantics
IOPort
FIFOQueue
1..1
1..1
«Interface»Receiver
+get() : Token+getContainer() : IOPort+hasRoom() : boolean+hasToken() : boolean+put(t : Token)+setContainer(port : IOPort)
0..1 0..n
QueueReceiver
NoRoomException
throws
NoTokenExceptionthrows
PNReceiver
«Interface»ProcessReceiver
CSPReceiver
SDFReceiver
ArrayFIFOQueue
1..11..1
DEReceiverMailbox
CTReceiver
communicating sequential processes
Kahn process networks
![Page 37: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/37.jpg)
Lee, Berkeley 37
A Still Finer Abstract Semantics
Firing Abstract Semantics:
port is still either aninput or an output.
signals are in monoids (can be incrementally constructed) (e.g. streams, discrete-event signals).
11 Ss 22 Ss
An actor is still a function from input signals to output signals, but that function now is defined in terms of a firing function.
21: SSF
The process function F is the least fixed point of a functional defined in terms of f.
![Page 38: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/38.jpg)
Lee, Berkeley 38
Models of Computation that Conform to the Firing Abstract Semantics
Dataflow models (all variations) Discrete-event models Time-driven models (Giotto)
In Ptolemy II, actors written to the firing abstract semantics can be used with directors that conform only to the process network abstract semantics.
Such actors are said to be behaviorally polymorphic.
![Page 39: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/39.jpg)
Lee, Berkeley 39
Actor Language for the Firing Abstract Semantics: Cal
Cal is an actor language designed to provide statically inferable actor properties w.r.t. the firing abstract semantics. E.g.:
Inferable firing rules and firing functions:
actor Select () S, A, B ==> Output:
action S: [sel], A: [v] ==> [v] guard sel end
action S: [sel], B: [v] ==> [v] guard not sel endend
)()(,),false(:,:)(,),false(
)(),(),true(:,:),(),true(
22
11
vvfvvU
vvfvvU
Z
Z
Thanks to Jorn Janneck, Xilinx
![Page 40: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/40.jpg)
Lee, Berkeley 40
A Still Finer Abstract Semantics
Stateful Firing Abstract Semantics:
port is still either aninput or an output.
11 Ss 22 Ss
An actor is still a function from input signals to output signals, but that function now is defined in terms of two functions.
21: SSF
The function f gives outputs in terms of inputs and the current state. The function g updates the state.
21: SSf 1: Sg
state space
signals are monoids (can be incrementally constructed) (e.g. streams, discrete-event signals).
![Page 41: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/41.jpg)
Lee, Berkeley 41
Models of Computation that Conform to the Stateful Firing Abstract Semantics
Synchronous reactive Continuous time Hybrid systems
Stateful firing supports iteration to a fixed point, which is required for hybrid systems modeling.
In Ptolemy II, actors written to the stateful firing abstract semantics can be used with directors that conform only to the firing abstract semantics or to the process network abstract semantics.
Such actors are said to be behaviorally polymorphic.
![Page 42: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/42.jpg)
Lee, Berkeley 42
Where We Are
Tagged Signal Semantics
Process Networks Semantics
Firing Semantics
Stateful Firing Semantics
![Page 43: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/43.jpg)
Lee, Berkeley 43
Where We Are
Tagged Signal Semantics
Process Networks Semantics
Firing Semantics
Stateful Firing SemanticsKahn processnetworks
Giotto
discreteevents
synchronous/reactive
hybrid systems
continuoustime
![Page 44: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/44.jpg)
Lee, Berkeley 44
Meta Frameworks: Ptolemy II
Tagged Signal Semantics
Process Networks Semantics
Firing Semantics
Stateful Firing SemanticsKahn processnetworks
dataflow
discreteevents
synchronous/reactive
hybrid systems
continuoustime
Ptolemy II emphasizes construction of “behaviorally polymorphic” actors with stateful firing semantics (the “Ptolemy II actor semantics”), but also provides support for broader abstract semantic models via its abstract syntax and type system.
![Page 45: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/45.jpg)
Lee, Berkeley 45
A Consequence: Heterogeneous Composition Semantics
Models of computation can be systematically composed.
![Page 46: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/46.jpg)
Lee, Berkeley 46
The Key To Success:Separation of Concerns
Abstract Syntax Concrete Syntax Syntax-Based Static Analysis: e.g. Type Systems Abstract Semantics Concrete Semantics Semantics-Based Static Analysis: e.g. Verification
![Page 47: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/47.jpg)
Lee, Berkeley 47
Interface Algebra for Causality Analysis
An algebra of interfaces provides operators for cascade and parallel composition and necessary and sufficient conditions for causality loops, zero-delay loops, and deadlock.
See [Zhou and Lee, EMSOFT 2006]
![Page 48: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/48.jpg)
Lee, Berkeley 48
Recall The Catch…
f : [T {0,1}]P [T {0,1}]P
This is not what (mainstream) programming languages do.
This is not what (mainstream) software component technologies do.
This is not what (most) semantic theories do.
Let’s look at the first problem last…
![Page 49: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/49.jpg)
Lee, Berkeley 49
Programming Languages
Imperative reasoning is simple and useful Keep it!
The problem is that timing is unpredictable.
Fix this at the architecture level: Replace cache memories with scratchpads Replace dynamic dispatch with pipeline interleaving Define decidable subsets of standard language Deliver rigorous, precise, and tight WCET bounds.
![Page 50: Actor Networks Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley Invited Talk Workshop Foundations and Applications of Component-based](https://reader035.vdocument.in/reader035/viewer/2022062305/5697bf821a28abf838c85eff/html5/thumbnails/50.jpg)
Lee, Berkeley 50
Conclusion
The time is right to create the 21-st century theory of (embedded) computing.