Download presentation

Presentation is loading. Please wait.

Published byJarrod Holling Modified over 9 years ago

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 uu ll 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

Similar presentations

© 2024 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google