Correct-by-construction asynchronous implementation of modular synchronous specifications Jacky Potop Benoît Caillaud Albert Benveniste IRISA, France.

Slides:



Advertisements
Similar presentations
S4 S4 System Synthesis and Supervision, Scenarios Benoît Caillaud 20 March 2012.
Advertisements

Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch.
Distributed Markov Chains P S Thiagarajan School of Computing, National University of Singapore Joint work with Madhavan Mukund, Sumit K Jha and Ratul.
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
Timed Automata.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Weakly endochronous systems Dumitru Potop-Butucaru IRISA, France Joint work with A. Benveniste and B. Caillaud.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Heterogeneous Reactive System Modeling and Correct-by-Construction Deployment nov Luca Carloni UC Berkeley Alberto Sangiovanni-Vincentelli UC Berkeley.
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Formal Verification of Safety Properties in Timed Circuits Marco A. Peña (Univ. Politècnica de Catalunya) Jordi Cortadella (Univ. Politècnica de Catalunya)
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
Core-based SoCs Testing Julien Pouget Embedded Systems Laboratory (ESLAB) Linköping University Julien Pouget Embedded Systems Laboratory (ESLAB) Linköping.
Traversal techniques for concurrent systems Marc Solé & Enric Pastor Departament of Computer Architecture UPC
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
1 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari From Graph Rewriting to Logic Programming joint work with.
Partial Order Reduction for Scalable Testing of SystemC TLM Designs Sudipta Kundu, University of California, San Diego Malay Ganai, NEC Laboratories America.
Models of Computation for Embedded System Design Alvise Bonivento.
Lab for Reliable Computing Generalized Latency-Insensitive Systems for Single-Clock and Multi-Clock Architectures Singh, M.; Theobald, M.; Design, Automation.
A. A. Jerraya Mark B. Josephs South Bank University, London System Timing.
1 An Exploration of the MPEG Algorithm Using Latency Insensitive Design EE249 Presentation (12/04/1999) Trevor Meyerowitz Mentored by: Luca Carloni.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Comparing Models of Computation for Real-time, Distributed Control Systems Shawn Schaffert Bruno Sinopoli.
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
A Mystery Esterel –small no type inference, subtyping, … no recursion, functions, … no pointers, malloc, GC, … no complex data structures, libraries,
1 Correct and efficient implementations of synchronous models on asynchronous execution platforms Stavros Tripakis UC Berkeley and Verimag EC^2 Workshop,
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
Synthesis for Concurrent Models Anca Muscholl LIAFA, Univ. Paris 7 Dagstuhl, June 2005 joint work with Blaise Genest (Warwick, UK)
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
Network-on-Chip Energy-Efficient Design Techniques for Interconnects Suhail Basit.
An introduction to Esterel and its compilation
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 Compositional Approach for System Design: Semantics of SystemC R.K. Shyamasundar IBM Research, India Research Lab. and Tata Institute of Fundamental.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Design & Co-design of Embedded Systems Next Step: Transaction-Level Modeling Maziar Goudarzi.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
1 Undecidable Problems of Decentralized Observation and Control Stavros Tripakis VERIMAG (based on [Puri,Tripakis,Varaiya-SCODES’01], [Tripakis-CDC’01],
Page 1 Analysis of Asynchronous Systems Steven P. Miller Michael W. Whalen {spmiller, Advanced Computing Systems Rockwell.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Desynchronization and distributed deployment of synchronous systems Albert Benveniste – Inria 2002.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles Zhiyi Yu, Bevan Baas VLSI Computation Lab, ECE Department University of California,
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
Communicating Timed Automata Pavel Krčál Wang Yi Uppsala University [CAV’06]
Asynchronous Interface Specification, Analysis and Synthesis
Validating Reconfigurations of Reo Circuits
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
Transaction Level Modeling: An Overview
Presentation transcript:

Correct-by-construction asynchronous implementation of modular synchronous specifications Jacky Potop Benoît Caillaud Albert Benveniste IRISA, France

Outline Motivation: Asynchronous implementation of synchronous specifications –GALS architectures –Desired implementation Formal model –Correctness Correctness criteria –Microstep weak endochrony –Microstep weak isochrony Conclusion

Synchrony, asynchrony, GALS Synchronous specification –Global clock  specification, verification –Popular, efficient tools for system design (digital circuits, safety-critical systems) Distributed implementation –Distributed software, complex digital circuits (SoC), heterogenous systems –Loosely-connected components (asynchronous FIFOs...) GALS architectures = good implementation model –Synchronous components, asynchronous communication –Problem: preserve the semantic coherency between a synchronous specification and its GALS implementation

What we want 1.Take a modular synchronous specification IP1IP2 clock

What we want 1.Take a modular synchronous specification 2.Replace comm. with asynchronous FIFOs, wrappers 3.Preserve: Functionality Correctness No “extra” traces No deadlocks (Kahn processes) IP1IP2 Delay-insensitive component IP1 AFSM

Previous work Latency-insensitive systems –Carloni & Sangiovanni-Vincentelli (1999) –Goal: independence from communication delays –Global synchrony: system speed = slowest component speed Endo/isochronous systems –Benveniste, Caillaud, Le Guernic (1999) Version: Generalized latency-insensitive circuits (Singh, Theobald, 2003) –Goals: minimize communication maximize concurrency, independence between system components –Results work only for 2 components!

Previous work Weakly endo/isochronous systems –Potop, Caillaud, Benveniste (2004) –Goals: further minimize communication by exploiting intra-component concurrency Compositionality –Synchronous Mazurkiewicz traces –Does not handle causality and communication deadlocks This work: microstep weakly endo/iso systems –Goal: take into account causality and composition through read/write mechanisms.

Our approach Define a model and criteria insuring that: –Creating delay-insensitive wrappers that preserve the semantics is possible without adding new signals –Connecting through FIFOs the resulting components produces a semantics-preserving, deadlock-free GALS implementation Make given components satisfy the criteria: –Possible solutions Encode (part of) the “absent” events (Carloni et al.) Add new signals Decide that none is necessary due to environment constraints Efficient sw/hw implementation –Sync./async. synthesis techniques, GALS-specific communication schemes, etc.

The model: basic definitions The basics: (incomplete) automata –  = (S,s 0,V,  ),  S  L(V)  S, L(V)=  –Composition by synchronized product: –Renaming operator: Labels Finite traces:  01 A=1 B=  D=  0 1 A=1 B=  C=3 2 A=1 B=7 C=3 = 0,0 A=1 B=  C=3 D=  1,2  1 [D/C] : 01 A=1 B=  C=  A=1 B=  C=3   A=1 C=3 A=1 C=3  A=1 B=7 C=3 A=1 C=3 ; B=2 ; ; A=1 C=3 – A=1 = C=3 A=1 C=3 ; B=2 ; ;  A=1 C=3 ; B=2 ; ; A=2;

The model: basic definitions Generalized concurrent transition systems(GCTS) –Void transitions: –Prefix closure: Example: ss  ss’s’ r q   r  ss ’’ q s’s’ r-q 01 A=1 B=7 3 2 A=1 B=7A=1 B=7

The model: I/O transition systems Point-to-point communication: –Broad/Multicast can be simulated… –Communication channels: c = (!c,?c) D !c =D ?c =D c –Dissociate emission from reception! Clocks:   1 … of domain D clk ={ T } I/O transition system: –GCTS where all variables are channels or clocks –Example: 0 1 !A=1 !A=2 ?R=3 1212  4 ?B ?R=4

The model: synchronous systems Synchronous system:  = (S,s 0,V, ,  ) I/O transition system, one clock, and satisfying: 1.Clock transitions: 2.Stuttering invariance: 3.Synchrony hypothesis: Example: s0s0 s0s0 r(  )= T   r equals  over V ss’ r s    s0s0 s1s1 r1r1 r2r2 snsn rnrn … riri supp(r i )  supp(r j ) =  for all i  j 0 1 !A ?B ?R 11 11

The model : composition Synchronous 1-place FIFO: Synchronous composition (on clock  ) : Asynchronous FIFO: Asynchronous composition:  !c=x?c=x SFIFO(c,  ): for all x  D c  1 |  2 =  1 [  1 /  ]   2 [  2 /  ]  SFIFO(c 1,  )  …  SFIFO(c n,  )  1 ||  2 =  1   2  AFIFO(c 1 )  …  AFIFO(c n ) !c=x n+1 ?c=x 1 AFIFO(c): for all x 1,…,x n,x n+1  D c c0c0 cxcx c1c1 x1…xnx1…xn x 1 …x n+1 x2…xnx2…xn

The model : composition 11 22 11 22  1 ||  2 !A !B !C   ?C ?B ?A !A ?A !C x 11 11 11 22 22 !A !B !C ?C ?B ?A !A ?A !C 1|21|2

Example 0 1 !A ?B ?R 11 11 0 22 231 ?A!B 22 22 22 1:1: 2:2:  0,01,01,1 3,03,13,33,2  1 |  2 : !A?A ?R ?A ?R   !B  !A?A a0a0  !B?B b0b0 22 0,01,01,1 3,03,13,33,2  1 ||  2 : 2,31,21,3 !A?A ?R ?A ?R !B 22 22 ?R !B?B 11 22 22  1,  2,  1  2  A ?A !A  B ?B !B

Example 0 1 !A ?B ?R 11 11 0 22 231 ?A!B 22 22 22 3:3: 2:2: 0,01,01,1 3,03,13,33,2  3 |  2 : 0,01,01,1 3,03,13,33,2  3 ||  2 : 2,31,21,3 !A ?A ?R ?A ?R    !B 22 22 ?R !B?B 11 22 22 22  1,  2,  1  2 4 ?R ?B 11 4,3 ?B 4,3 ?R ?B  1,  2,  1  2 

Correctness Some notations: Formal correctness criterion  1 ||…||  n is correct w.r.t.  1 |…|  n if for all s  RSS(  1 |…|  n ) and all   Traces  1||…||  n (s) there exist   Traces  1||…||  n (s) and   Traces  1|…|  n (s) such that   and    Intuition: every trace of  1 ||…||  n can be completed to one that is equivalent to a synchronous trace !A=1 ;  1 ; ?A=1 ;  2 ; !C=3 ;  !A=1 ?A=1 ;  1  2 ; !C=3 ;  2 ; !A=1 ;  1 ;  2 ; !C=3 ;  !A=1 ?A=1 ;  1  2 ; !C=3 ;  2 ;

Microstep weak endochrony Compositional delay-insensitivity criterion (signal absence information is not needed) Axioms (part 1): A1: Determinism A2: In every state, non-clock transitions sharing no common variable are independent. ?A!B !A=1 !A=2 ?B ?R?B ?R ?B?R

Microstep weak endochrony Axioms (continued): A1: Determinism A2: In every state, non-clock transitions sharing no common variable are independent A3: Non-contradictory reactions can be united A4: Choice does not change with time. ?B ?R   ?B ?R?B ?R   ?B     s0s0 snsn … r1r1 rnrn ?V=x V  supp(r i )  s0s0 snsn ?V=y s0s0 snsn ?V=x

Example 0 1 !A ?B ?R 11 11 1:1:

Example 0 3’ 2’ 1 !A ?D=0 ?D=1 11  1 ’: 11 3 2 11 ?B ?R

Example 0 3’ 2’ 1 !A ?D=0 ?D=1 11  1 ’: 11 3 2 11 ?B ?R 0 1 !A ?B ?R 11 11 3:3: 4 ?B 11

Microstep weak isochrony Semantics preservation criterion  1,…,  n are microstep weakly isochronous if for all s  RSS(  1 |…|  n ) and all   Traces  1|…|  n (s) maximal and containing no clock transition, there exists   Traces  1|…|  n (s) non-void such that   and  ;   Traces  1|…|  n (s)

Example ?A !B 22 22 4:4: 0 3’ 2’ 1 !A ?D=0 ?D=1 11  1 ’: 11 3 2 11 ?B ?R 3 22 !Y

Example 0 2’ 1 ?A !B 22  4 ’: 0 3’ 2’ 1 !A ?D=0 ?D=1 11  1 ’: 11 3 2 11 ?B ?R 3’ !Y 2 22 3 22 !D=0 !D=1

Conclusion Decidable criteria for GALS implementation of synchronous specifications –Covers causality and read/write communication –Compositionality, concurrency Future: Synthesis –Make synchronous automata weakly endo/isochronous. Optimality issues. –Heuristics for actual synchronous languages and specifications. Scaling issues (large specifications). –GALS circuits using asynchronous logic –Deal with mode changing latency