# Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch.

## Presentation on theme: "Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch."— Presentation transcript:

Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch

Outline  References  Introduction to YAPI  Implication of select  Introduction to Trace Algebra  Traces to model YAPI  Buffer model  Conservative Approximation  Example  Conclusion

References  K.A. Vissers et. al. “YAPI: Application Modeling for Signal Processing System”, DAC00  J. Burch, R. Passerone, ASV “Overcoming Heterophobia: Modeling Concurrency in Heterogeneous Systems”  J. Burch, R. Passerone, ASV “Modeling Techniques in Design-by-Refinement Methodologies”  E.A. Lee, T.M. Parks “Dataflow Process Networks”  G. Kahn, “The Semantics of a Simple Language for Parallel Programming”  G. Kahn, D.B. MacQueen, “Corutines and Networks of Parallel Processes”

The YAPI Model 1  KPN (blocking read, non-blocking write)  Non-determinism

The YAPI Model 2  Selection can be done on input and output Read,Write on unbounded FIFOs Read,Write on bounded FIFOs YAPI TTL

Implication of select  continuity  monotonicity  determinacy i1=[1], i2=[  ] F(i1,i2) = [1] i1=[1,1], i2=[2] F(i1,i2) = [2,1] i=[1] F(i) = ([1],[  ]) i=[1,3] F(i) = ([1],[3]), ([3],[1]), ([1,3],[  ]) …

Trace Algebra 1 Concurrency Algebra Set of agents Parallel composition of agents Projection of agents Renaming of agents Trace structure algebra A Model of individual behaviors Model of agents Trace algebra C Trace Algebra Set of traces Projection of traces Renaming of traces Source: R. Passerone I1=[1,3,4,-1] I2=[0,3,5,2] O=[1,6,9,1] i1 o i2 +

Trace Algebra 2  Alphabet  Set of traces over alphabet A  Renaming y = rename(r) (x) where x is a trace and r is a renaming function  Projection y = proj(B)(x) where x is a trace and B  A  Trace structure T=( ,P) where  is the signature and P  B(A)  A set of axioms must be verified !!!!!!!

Trace Algebra 3 Trace structure algebra A’ Trace structure algebra A Trace algebra C Trace algebra C’ Homomorphism h uu ll  inv “Abstract” Domain “Detailed” Domain Let T spec and T impl be trace structures in A. Then if  u ( T impl )   l ( T spec ) then T impl  T spec Derive Source: R. Passerone

Implication of select: Trace Algebra View  Monotonicity is captured by projection  proj(I)(x) ⊑ proj(I)(y)  proj(O)(x) ⊑ proj(O)(y)  For the previous example two traces belongs to the same process:

First step: Set of Traces  Which set of traces should we choose?  Streams  Synchronous  DE

Streams 1  No timing information  KPN can be expressed on the same set of traces  Continuity is a constraint on the trace structures  In this sense YAPI processes can form more trace structures then KPN KPN YAPI

Streams 2  Operation on traces  Renaming  Projection  Operation on trace structures

A more detailed domain 1  We want to capture two important things  Relative arrival time  Bounded FIFOs  Synchronous Domain

A more detailed domain 2  Renaming  Projection Two possible traces

Buffers  Buffers are modeled as processes  The strict version of a sequence a is  We indicate with a k the sequence up to instant k  Definition of a buffer  Trace structure T B =((I,O),P)

Conservative Approximation 1 Synch Nondet KPN Approximation Homomorphism h(x)

Conservative Approximation 2 h(P) P h is in general many to one so this is an upper bound Detailed Domain Abstract Domain

Conservative Approximation 2 h(P) P B(A) - P h(B(A) – P) h(P) - h(B(A) – P) Detailed Domain Abstract Domain

From Synch to ND-KPN 1  Definition of the homomorphism h(x)

From Synch to ND-KPN 2   Let’s consider a process:  If p is true add the inputs, if p is false subtract them h(x)

Applications of the Approximation  Verification Problem  Design Problem

Example 1  Norm  =(I,O) Bufferlength=n

Example 1  =(I,O) Bufferlength=n

Example 1  =(I,O) Bufferlength=n

Example 1  =(I,O) Bufferlength=n

Example 2  One possible execution Bufferlength=n

Example 3 h(x) id

Example 4  One possible execution

Example 4  Design problem

Conclusion  The YAPI model was a good motivation for this project  Trace algebra has been applied to describe the denotational semantics of the model at different level of abstraction  A Conservative approximation between Synchronous model and ND-KPN allows abstraction from one model to another for verification and design

Download ppt "Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch."

Similar presentations