A denotational framework for comparing models of computation Daniele Gasperini.
-
date post
19-Dec-2015 -
Category
Documents
-
view
216 -
download
0
Transcript of A denotational framework for comparing models of computation Daniele Gasperini.
A denotational framework for comparing models of computation
Daniele Gasperini
Abstract
Aim: compare different model of computation and their certain essential features
How: use a denotational framework
Main characteristics
Denotational rather than operational Mathematical approach Main actors:
– Processes– Signals– Events
Tagged signal model
SIGNALS 1
Event e = tag : value– Set of values V– Set of tags T
Tags: model time, precedence relationships, synchronization points
Values: represent operands and result of computation
Signal s = set of events = subset of T x V
e є T x V
SIGNALS 2: Characteristics & notations
Functional signals– e1= (t, v1) є s and e2= (t, v2) є s then v1 = v2
S = the set of all signals SN = collection/tuple of N signals λ = empty signal (no events) Λ = collection/tuple of N empty signals
– λ є S and Λ є SN
= bottom : absence of value
PROCESSES
P = process : subset of SN for some N s = behavior of a process
– s є SN and s є P
→ P = set of behaviors
• Composing processes
• Inputs and outputs
• Determinacy
Given M processes in SN a process Q composed of these processesis given by:
Where P is the collection of processes
Composing processes 1
P = set of behaviors s Composing = P1 x P2 x … Pn
PP
ii
PQ
MiSP Ni 1,
Composing processes 2: projections
)s,,(s )(by
S ontoS )s,,(s s of )( projection thedefine and
Ni1 range in the indices ofset orderedanbe)i,,(iILet
m1 iiI
mNN1I
m1
s
s
Process P = set of behaviors s
s' (s) π whereP s exists theresuch that s'set (P)π II
Inputs and outputs
)(S B is inputs possible all ofSet
behaviors acceptable ofset total theis P A such that
S A constraint imposed externallyan is S process a Input to
N
NN
).'()( that followsit
)'()( whereP s' and P severy for if
O) (I, respect to with functional is P processA
ss
ss
OO
II
PI (size m) O (size n)
))(()(
P,s allfor
such that SS :F mapping valuedsingle a is There
o
nm
sFs I
Determinacy
A process is determinate if for any input A є B it has exactly one behavioror exactly no behaviors. Otherwise is nondeterminate.
functional + functional = functional → preserve
Functional +
source processes with exacly one behavior = functional → preserve
Depends on the tag system and the process
Tags systems
The central role of a tag system is to establish ordering among events.
specification
implementation
s1 s2 s3 …
s1 s2 s3 …
i.e. time
Ordering relation among events properties:
reflective transitive antisymmetricOrdering of tags Ordering of events
Timed models of computation
The set of tags T is a totally ordered set Tag = timestamp
Flavors of timed models
Metric time Continuous time Discrete event Discrete event simulators Synchronous and discrete-time systems Sequential systems
Metric time
T totally ordered T Abelian group
– closed to addition– zero– for every t є T there is another element -t є T such that t + (-t)
= 0– T has a metric
Directly modeling physical systems
Continuous time
T totally ordered T is a continuum T(s) = T for each signal s in any tuple s that
satisfies the system
Discrete event
T totally ordered The set of tags must be a discrete subset of
T The set of tags must be order isomorphic
The timestamps that appear in any behavior can be enumerated inchronological order.
Many simulators (most digital circuit simulators)
Discrete events simulators
Same characteristics of discrete event Events explicitly include timestamp The simulator operates by keeping a list of
events sorted by timestamp Delta time (affects semantic and ensure strict
causality)
Synchronous and discrete-time systems
Two events are synchronous if they have the same tag
Two signals are synchronous if all events in one signal are synchronous with an event in the other signal and vice versa
A process is synchronous if every signal in any behavior of the process is synchronous with every other signal in the behavior
Sequential systems
Single signal s The set of tags in the signal are totally
ordered
Untimed models of computation
Tags are partially ordered Partial order is present in many models of
computations because denotes– Causality– Synchronization
Rendezvous of sequential processes
Sequential processes reach a particular point at which they must verify that another process has reached a corresponding point before proceeding
Communicating sequential processes andthe calculus of communicating systems
T(e1) = T(e2) = T(e3)
s1
s3
s2
Kahn process networks
Processes communicate via channels, which are one-way unbounded FIFO queues with a single reader and a single writer.
FIFO T(s) is totally ordered for each signal s
Imposes an ordering on the events
Be Σ(s) denote the sequence of values in s
Two signals s and s’ sequence equivalent Σ(s) = Σ(s’)
A process is sequence functional if given a set of equivalent tuples of inputsignals all possible outputs are sequence equivalent
Sequence determinacy
Dataflow
Special case of Kahn process networks A dataflow process is a Kahn process that is also
sequential Self loop signal is called firing signal
s’ s’’
s
P
e’consumed by ei + 1 ei ≤ e’ ≤ ei + 1
e’’produced by ei ei ≤ e’’ ≤ ei + 1
Petri Nets
Similar to dataflow Events within signals need not be ordered
s2
s1
f: s2 → s1 such that f(e) < e for all e є s2
A firing (an event in s2) has a corresponding token(an event in s1) with a smaller tag
Heterogeneous systems
V divided into subsets → carry the notion of data types
T divided → separately model parts of heterogeneous system (continuous time, discrete event and dataflow subsystems)
The Role of Tags in composition of processes
Aim: connect tagged signal model to well-known results in semantics
Two cases:– Discrete event systems– Kahn process networks
Discrete event systems
Causality• Synchronous events
• Feedback loops
Cantor metric
The n-tuples of signals → metric spaceDistanceof signals
Three form of causality:
Casual: two possible outputs differ no earlier than the inputs that produced them
Strictly casual: two possible outputs differ later than the inputs that produced them (or not at all)
Delta casual: there is a delay of at least Δ before anyoutput of a process can be produced in reaction to aninput eventIf a process is functional and delta casual then
the feedback loop has exactly one behavior
Simulators (VHDL, Verilog)
F(W) )WF( boundupper least a has F(W)
(S) chain W every for and (S)(S) :Ffunction
withfunctional sequence a isit if continuous is P processA
UU
mnm
Monotonicity and continuity in Kahn process networks
s' s
)(s' (s) )F( )F( and F,function with
functional sequence a isit if monotonic is P processA ''
Monotonicity Continuity
Determinacy of feedback compositions
Constructive procedure for finding one unique behavior
Causality
Prefix order a natural partial ordering for signals that contains a totally ordered set of events
Σ(s) sequence of values in the signal s
A continuous process is monotonic, not all monotonic functions are continuous
The feedback loops have an alternative interpretation of the composition Q thatbrings the sequence to be determinate (fixed point theorem)