1 / 32

Use trace algebra to formalize the YAPI model

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

wilmet
Download Presentation

Use trace algebra to formalize the YAPI model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 YAPI Read,Write on unbounded FIFOs Read,Write on bounded FIFOs 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 Model of individual behaviors Model of agents Trace algebra C • Trace Algebra • Set of traces • Projection of traces • Renaming of traces • Concurrency Algebra • Set of agents • Parallel composition of agents • Projection of agents • Renaming of agents Trace structure algebra A i1 I1=[1,3,4,-1] I2=[0,3,5,2] O=[1,6,9,1] o + i2 Source: R. Passerone

  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 Homomorphism h Derive Trace algebra C’ Trace structure algebra A’ “Abstract” Domain Yinv Yu Yl Trace algebra C Trace structure algebra A “Detailed” Domain Let Tspecand Timplbe trace structures in A. Then if Yu( Timpl ) Yl( Tspec ) then Timpl  Tspec 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 YAPI KPN

  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 ak the sequence up to instant k • Definition of a buffer • Trace structure TB=((I,O),P)

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

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

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

  20. Conservative Approximation 2 h(P) P Abstract Domain h(B(A) – P) h(P) - h(B(A) – P) B(A) - P Detailed 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) h(x)

  23. Applications of the Approximation • Verification Problem • Design Problem

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

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

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

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

  28. Example 2 • One possible execution Bufferlength=n

  29. Example 3 id h(x)

  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

More Related