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.