Download presentation

Presentation is loading. Please wait.

Published byJarrod Holling Modified about 1 year 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

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google