algebraic trace theory ee249.2 - donald pederson · algebraic trace theory ee249 roberto passerone...

59
October 21, 2002 ee249 1 Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic Verification of Real-Time Concurrent Systems”, PhD thesis, CMU, August 1992

Upload: duongminh

Post on 28-Sep-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 1

Algebraic Trace Theory

EE249Roberto Passerone

Material from: Jerry R. Burch, “Trace Theory for Automatic Verification of Real-Time Concurrent Systems”, PhD thesis, CMU, August 1992

Page 2: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 2

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 3: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 3

Abstract Algebra

x + 3 = 5( x + 3 ) + ( -3 ) = 5 + ( -3 )x + ( 3 + ( -3 ) ) = 2x + 0 = 2x = 2

When is it that the solution of a linear equation is unique?

Page 4: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 4

Uniqueness of Solution

“Addition” is associativeThere is an identity elementThere is an inverse for each elementNo need for commutativity!Axiomatic approach: don’t define the objects, define their properties

Group = (D, f, id, inv) with the properties above

Many possible examples:Integers under addition (Z, +, 0, -)Positive reals under multiplication (R+, x, 1, -1)Permutations under functional composition (F, °, Id, -1)

Page 5: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 5

Algebraic Approach

The properties of the functions must be true in any implementation of the algebra

Hence they allow you to prove general facts that are independent of the particular implementation of the algebra

For example, uniqueness of solutions for linear equations

We will represent models of computation as instances of an algebra and prove general facts

The algebra gives as a tradeoff between generality and structure

Page 6: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 6

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 7: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 7

Objective

Create models for agent behaviorsStudy the relationships between different models

Page 8: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 8

A Concrete Model

Define a domain of agentsThe set of finite state automata

Defines an interface for each agentA set of signal names

Defines a mechanism for instantiating agentsA signal renaming function

Defines a mechanism for combining agentse.g. product machine

Defines a mechanism for encapsulating agentsHide local signal names from the interface

Page 9: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 9

An Abstract Algebraic Model

Concurrency Algebra = (D, ||, proj, rename)Domain of agent (carrier set)Operation of parallel composition on agentsOperation of projection on agents

encapsulation, scopingOperation of renaming on agents

instantiation

Note: we don’t say what the carrier and the operations are, just that they must exist!But we must provide some properties that we want satisfied

Page 10: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 10

Concurrency Algebra

Let W be a set of signal names

A signature γ = ( I, O ) is a pair where I and O are subsets of W

We call the set A = I ∪ Ο the alphabet of a signature γEach agent in D has an associated signature γ

Page 11: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 11

Definition of the functions

If O and O’ are disjoint, then E || E’ is defined and the signature is

( ( I ∪ I’ ) – ( O ∪ O’ ), O ∪ O’ )

If I ⊆ B ⊆ A, then proj( B )( E ) is defined and its signature is ( I, O ∩ B )

If r is a renaming function with domain A, then rename( r )( E ) is defined and its signature is ( r( I ), r( O ) ) (where r is naturally extended to sets)

Page 12: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 12

Axioms

C1. Associativity of composition( E || E’ ) || E’’ = E || ( E’ || E’’ )

C2. Commutativity of compositionE || E’ = E’ || E

C3. Application of renaming functionsrename( r )( rename( r’ )( E ) ) = rename( r ° r’ )( E )

Page 13: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 13

Axioms

C4. Renaming and parallel composition commute

rename( r )( E || E’ ) = rename( r|A )( E ) || rename( r|A’ )( E’ )

C5. Identity of renamingrename( idA )( E ) = E

C6. Application of projectionsproj( B )( proj( B’ )( E ) ) = proj( B )( E )

Page 14: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 14

Axioms

C7. Identity of projectionproj( A )( E ) = E

C8. Projection and parallel composition commute

proj( B )( E || E’ ) = proj( B ∩ A )( E ) || proj( B ∩ A’ )( E’ )

C9. Projection and renaming commuteproj( r( B ) )( rename( r )( E ) ) = rename( r|B )( proj( B )( E ) )

Page 15: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 15

Concurrency Algebra• Set of agents• Parallel composition of agents• Projection of agents• Renaming of agents

Algebra of Agents

Concurrency AlgebraA

Model of agents

Page 16: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 16

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 17: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 17

Objective of Trace Theory

Start from models of individual behaviorsConstruct models of agents that form a concurrency algebraConstruct relationships between models of agents from relationships between individual behaviorsAgain we use an algebra to define a model of individual behaviors

Page 18: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 18

Concurrency Algebra• Set of agents• Parallel composition of agents• Projection of agents• Renaming of agents

Trace and Trace Structure Algebras

Concurrency AlgebraA

Model of individual behaviors

Model of agents

Trace algebraC

Trace Algebra• Set of traces• Projection of traces• Renaming of traces

Page 19: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 19

What Is a Trace?

An element of a set of objects with the following two operations

projectionrenaming

Satisfying a set of axiomsYou must see a pattern here

Don’t define the objects, define their properties!

A trace algebra is a mathematical structure (a set plus the operations) that satisfies the axiomsExamples of traces?

Page 20: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 20

Trace Algebra

A trace algebra Cc over W is a triple ( BC, proj, rename ) where

For every A ⊆ W, BC( A ) is the set of traces over AAlso use BC to denote all tracesproj( B ) and rename( r ) are partial functions from BC to BC

Page 21: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 21

Axioms of Trace Algebra

T1. Definition of projectionproj( B )( x ) is defined if there is A such that x ∈ BC( A ) and B ⊆ A. When defined proj( B )( x ) is an element of BC( B )

T2. Application of projectionproj( B )( proj( B’ )( x ) ) = proj( B )( x )

T3. Identity of projectionIf x ∈ BC( A ) then proj( A )( x ) = x

Page 22: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 22

Axioms of Trace Algebra

T5. Definition of renamingrename( r )( x ) is defined iff x ∈ BC( dom( r ) ). When define, rename( R )( x ) is an element of BC( codom( r ) )

T6. Application of renamingrename( r )( rename( r’ )( x ) ) = rename( r ° r’ )( x )

T7. Identity of renamingIf x ∈ BC( A ) then rename( idA )( x ) = x

Page 23: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 23

Axioms of Trace Algebra

T9. Projection and renaming commuteproj( r( B ) )( rename( r )( x ) ) = rename( r|B )( proj( B )( x ) )

T4. Diamond propertyLet x ∈ BC( A ) and x’∈BC( A’ ) be such that

proj( A ∩ A’ )( x ) = proj( A ∩ A’ )( x’ ).For all A’’ ⊇ A ∪ A’ there is x’’ ∈ BC( A’’ )

such that x = proj( A )( x’’ ) and x’ = proj( A’ )( x’’ )

Page 24: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 24

Examples of trace algebras

CI = ( BCI, projI, renameI )

For every A, the set of traces BCI( A ) of

traces over A is A∞ (finite and infinite sequences over A)projI( B )( x ) is the sequence formed by removing every symbol a not in B (the sequence shrinks)renameI( r )( x ) is the sequence formed by applying r to each element of the sequence

Page 25: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 25

Examples of Trace Algebras

The singleton { xo }Here all behaviors are the same. It conveys no information

BC( A ) = 2A

proj( B )( x ) = x ∩ Brename( r )( x ) is the natural extension to setsAbstracts time and retains only occurrence information

Page 26: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 26

Examples of Trace Algebras

BC( A ) = ( 2A )ω

proj( B )( x ) is intersection with BEvents carry a time stamp (Tagged Signal Model)

BC( A ) = { x( t ) | x : R+ → 2A }Real-valued time stampsProjection is the restriction of the image

Page 27: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 27

Examples of Trace Algebras

Interpret the set of signals A as a set of state variables

A state is an assignment σ : A → V where V is the set of possible values of the state variablesBC( A ) = ( A → V )ω

Sequence of assignment functionsProjection is a restriction of the domain of the assignment function

Page 28: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 28

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 29: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 29

Concurrency Algebra• Set of agents• Parallel composition of agents• Projection of agents• Renaming of agents

Trace and Trace Structure Algebras

Trace structure algebraA

Model of individual behaviors

Model of agents

Trace algebraC

Trace Algebra• Set of traces• Projection of traces• Renaming of traces

A trace structurecontains a set

of traces

Page 30: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 30

Constructing agents

We want to go from individual behaviors to models of agentsWe want the model of agents to be a concurrency algebra

Set of agents, with parallel composition, projection and renaming satisfying the axioms

Naturally if a trace is an individual behavior, and agent is a set of those behaviors

Page 31: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 31

Trace Structures

A trace structure (or agent) over a trace algebra C is the set of ordered pairs ( γ, P ) where

γ is a signature over W (reminder: γ = ( I, O ) )A is the alphabet of γP is a subset of BC( A )

In other words, P is a set of traces over the alphabet AEach trace in P represents a possible behavior of the agent

Page 32: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 32

Let Τ be a set of trace structures (agents)A Trace Structure Algebra is the 4-tuple ( Τ, ||, projTS, renameTS ) where

For T’’ = T || T’: γ’’ = (( I∪I’ ) – (O ∪ O’), O ∪ O’)P’’ = { x ∈ BC( A’’ ) : projT( A )( x ) ∈ P and projT( A’ )( x ) ∈ P’ }projTS( B )( T ) = ( ( I, O ∩ B ), projT( B )( P ) )renameTS( r )( T ) = ( ( r( I ), r( O ) ), renameT( r )( P ) )

An Algebra of Trace StructuresNote: ||, projTS and renameTS denote operations on trace structures, which are derived from the corresponding operations on individual traces projT and renameTNote: the operations on individual traces projT

and renameT are naturally extended to sets of traces

Page 33: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 33

Example

BC( A ) = A∞

T = ( ( { a, b }, ∅ ), { abab } )T’ = ( ( { b, c }, ∅ ), { bcb } )

T’’ = T || T’P’’ = { x ∈ BC( A’’ ) : proj( A )( x ) ∈ P and proj( A’ )( x ) ∈ P’ }P’’ = { abacb, abcab }

Note: P’’ is maximal such that its projections correspond to the agents that are being composed

Page 34: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 34

Example

BC( A ) = ( 2A )ω

T = ( ( { a, b }, ∅ ), { <{ a, b }, { a }, { b } > } )T’ = ( ( { b, c }, ∅ ), { < { b }, { c }, { b } > } )

T’’ = T || T’P’’ = { < { a, b }, { a, c }, { b } > }

Note that under this trace algebra (with time stamps) we don’t get non-determinism due to interleaving semantics

Page 35: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 35

Example

BC( A ) = ( 2A )ω (also = N → 2A )T = ( ( { a, b }, ∅ ), { < { a }, { a }, { b } > } )T’ = ( ( { a, b }, ∅ ), { < { b }, { a }, { b } > } )

T’’ = T || T’Need P’’ ⊆ BC( A ) such that

proj( A )( P’’1 ) = { a } andproj( A )( P’’1 ) = { b }

Obviously this isn’t possible when projection is defined as set intersection

In other words, T and T’ are “incompatible”

Page 36: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 36

Theorem

If C is a Trace Algebra, then the Trace Structure Algebra derived from C is a Concurrency Algebra

I.e. the operations of parallel composition, projection and renaming satisfy the axioms of concurrency algebra

Note: the result is independent of the particular Trace Algebra (models of behaviors) that we start from

Page 37: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 37

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 38: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 38

Trace structure algebraA’

Trace algebraC’

“Abstract” Domain

Trace structure algebraA

Trace algebraC

“Detailed” Domain

Trace and Trace Structure Algebras

ΨΨΨΨu ΨΨΨΨlΨΨΨΨinv

Goal: Study the problem of heterogeneous interactionFormalize the concepts of abstraction and refinement

Page 39: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 39

Relationships between modelsEach semantic domain has a refinement order

Based on trace containment

T1 ⊆ T2 means T1 is a refinement of T2

Guiding intuition: T1 ⊆ T2 means T1 can be substituted for T2

Abstraction mappingIf a function H between agent domains is monotonic, detailed implies abstract: If T1 ⊆ T2 then H(T1) ⊆ H(T2)

Analogy for real numbers r and s: If r ≤ s then r ≤ s

Conservative approximationsA pair of functions Ψ = (Ψl, Ψu) is a conservative approximation if Ψu(T1) ⊆ Ψl(T2) implies T1 ⊆ T2

Analogy: r ≤ s implies r ≤ s

Abstract implies detailed

Page 40: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 40

Conservative Approximations

if Ψu( Timpl ) ⊆ Ψl( Tspec ) then Timpl ⊆ Tspec

Intuitively Ψu( Timpl ) is an upper bound of the implementation (has more behaviors)Intuitively Ψl( Tspec ) is a lower bound of the specification (has less behaviors)Hence we are being conservativeFalse negatives are possible. False positives are ruled outThe verification at the more abstract level should be easier

Page 41: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 41

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphisms

Page 42: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 42

Constructing Approximations

How do we build a conservative approximation?As before, we prefer to work at the level of the individual behavior

Page 43: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 43

Trace and Trace Structure Algebras

Trace structure algebraA’

Trace structure algebraA

Trace algebraC

Trace algebraC’

Homomorphismh ΨΨΨΨu ΨΨΨΨl

ΨΨΨΨinv

“Abstract” Domain

“Detailed” Domain

Let Tspec and Timpl be trace structures in A. Then

if ΨΨΨΨu( Timpl ) ⊆⊆⊆⊆ ΨΨΨΨl( Tspec ) then Timpl ⊆⊆⊆⊆ Tspec

Derive

Page 44: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 44

Homomorphisms on Traces

Let C and C’ be two Trace AlgebrasA homomorphism h is a function from the traces in C (BC) to the traces in C’ (BC’) such that h commutes with the operations of projection and renaming

h( proj( B )( x ) ) = proj’( B )( h( x ) )h( rename( r )( x ) ) = rename’( r )( h( x ) )

The homomorphism h is in general many-to-oneHence C’ is in general more abstract than C

Page 45: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 45

Commutative Diagram

x proj( B )( x )apply proj

x’apply proj’h( x )

apply h apply h

x’ = h( proj( B )( x ) ) = proj’( B )( h( x ) )

Page 46: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 46

Building the Upper Bound

Let P be a set of traces, and consider the natural extension to sets h( P ) of hClearly P ⊆ h-1( h( P ) )

Because h is many-to-oneThis indeed is an upper bound!Equality holds if h is on-to-one

Hence defineΨu( T ) = ( γ, h( P ) )

Page 47: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 47

Building the Upper Bound

P

h(P)

h-1( h( P ) )

Page 48: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 48

Building the Lower Bound

We want P ⊇ h-1( lb of P )If x is not in P, then h( x ) should not be in the lower bound of PHence define

Ψl( T ) = h( P ) – h( BC( A ) – P )

There is a tighter lower bound

Page 49: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 49

Building the Lower Bound

h( BC(A) – P )

BC( A ) - P

h-1( h( P ) - h( BC(A) – P ) )

h( P ) - h( BC(A) – P )

Page 50: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 50

Theorem

The pair of functions just defined forms a conservative approximation

if Ψu( Timpl ) ⊆ Ψl( Tspec ) then Timpl ⊆ Tspec

This is an example of a conservative approximation induced by a homomorphism

Page 51: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 51

Examples of homomorphisms

From BC( A ) = A∞ to BC( A ) = 2A

h( x ) = { a | a appears in x at least once }

Prove that this is a homomorphismMust show it commutes with projection and renaming

What do the upper and lower bounds look like?

Page 52: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 52

Outline

IntroductionConcurrency AlgebrasTrace AlgebrasTrace Structure AlgebrasConservative ApproximationsHomomorphismsConservative Approximations: inverses

Page 53: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 53

Approximations: Inverses

Apply Ψu

ΨΨΨΨu

Consider T such that

Ψu(T) = Ψl(T) = T’

ΨΨΨΨl

Apply Ψl

Page 54: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 54

Approximations: Inverses

Apply Ψu

ΨΨΨΨu

Then Ψinv(T’) = T

Consider T such that

Ψu(T) = Ψl(T) = T’

ΨΨΨΨl

Apply Ψl

Page 55: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 55

Can be used to embed

high-level model in low

level

Approximations: Inverses

Apply Ψu

ΨΨΨΨinv

Then Ψinv(T’) = T

Consider T such that

Ψu(T) = Ψl(T) = T’

Apply Ψl

Page 56: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 56

Combining MoCs

Want to compose T1 and T2 from different trace structure algebras

T1 T2

Construct a third, more detailed trace algebra, with homomorphisms to the other twoConstruct a third trace structure algebraConstruct cons. approximations and their inversesMap T1 and T2 to T1’ and T2’ in the third trace structure algebraCompose T1’ and T2’ΨΨΨΨinv

T1’

T2’

Page 57: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 57

Combining MoCs

Want to compose T1 and T2 from different trace structure algebras

T1 T2

Compose T1’ and T2’Get T’’Project back to T1’ and T2’Map back in the abstract domain

Find restrictions due to the interaction at the higher level (constraint application)Find greatest possible T1 and T2that still have the same interaction (don’t cares, synthesis)

ΨΨΨΨinv

T1’

T2’T’’

Page 58: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 58

Key Insight

Using this process you canFind restrictions due to the interaction at the higher level (constraint application)Find greatest possible T1 and T2 that still have the same interaction (don’t cares, synthesis)

Page 59: Algebraic Trace Theory ee249.2 - Donald Pederson · Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, “Trace Theory for Automatic ... A trace algebra

October 21, 2002 ee249 59

A Sample of Trace AlgebrasA*( (A) - {∅})*

pomsets(A)(A → V)* (sf: stutter free)(A → V)*( (A))*

→ ((AV → V) rrrr (AE))tomsets((AV --> V) rrrr (AE)) (sf)(A → V)2

→ (A → V)→ (A)→ (A*)

A → {0, 1, X}((AV --> V) rrrr ( (AC) - {∅}))* (sf)(A x V)*

Interleaving semanticsExplicit simultaneityPartial order modelsState based asynchronous timeState based synchronous timeEvent based synchronous timeMetric timeNon-metric timePre-postState based discrete timeEvent based discrete timeDiscrete time with interleavingCombinationalGALSInterleaving with values