Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

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

3 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”

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

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

6 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],[  ]) …

7 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 +

8 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 !!!!!!!

9 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

10 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:

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

12 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

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

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

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

16 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)

17 Buffer Constraint Gen Buf1 Buf2 AddSub Two possible traces of AddSub T=Gen||Buf1||Buf2||AddSub Bufferlength =2 Bufferlength =1

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

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

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

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

22 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)

23 Applications of the Approximation  Verification Problem  Design Problem

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

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

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

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

28 Example 2  One possible execution Bufferlength=n

29 Example 3 h(x) id

30 Example 4  One possible execution

31 Example 4  Design problem

32 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


Ads by Google