118
G. Berry, ADA 2007 - 1 © Esterel Technologies 2007 Synchronous Design and Verification of Critical Embedded Systems using SCADE and Esterel Chief Scientist www.esterel-technologies.com [email protected] Gérard Berry

Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 1© Esterel Technologies 2007

Synchronous Design and Verification of Critical Embedded Systems using SCADE and Esterel

Chief Scientist

www.esterel-technologies.comGerard.Berry@esterel-technologies.com

Gérard Berry

Page 2: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 2© Esterel Technologies 2007

Esterel Technologies - Industries Served

SCADE Drive™

Safety-critical automotive

embedded software

• code generator certified by TUV - IEC 61508 standard

Esterel Studio™

Specification-to-RTL ofhardware IP designs

• rigorous & unambiguousexecutable specifications

• automatically-generated efficient RTL / C code

SCADE Suite™

De-facto Standard forSafety-critical avionics embedded software

• DO-178B Level Acertified systems

• automatically-generated C code

Page 3: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 3© Esterel Technologies 2007

flight-control, engines, brakes, fuel, power, climatesafety-critical => certification

trajectory, attitude, image, telecommission-critical => very high quality

telephone, audio, TV, DVD, gamesbusiness critical => time-to market + quality

pacemakers, diabet control, robot surgeonslife-critical => TBD (!)

Applications and Constraints

Page 4: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 4© Esterel Technologies 2007

SCADE Suite in Aerospace & Defense Applications

• More than 50 companies using SCADE for

• Flight control systems

• Power management

• Reconfiguration management

• Autopilots

• Engine control systems

• Braking systems

• Fuel management

• Cockpit display and alarm

management

AIRBUS – A340-600 & A380

Dassault Aviation – Falcon 7X

US Air Force - F16

EUROCOPTER – EC145

Aeroengines by Snecma©Snecma/Studio Pons

Dassault Aviation - Rafale

Page 5: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 5© Esterel Technologies 2007

SCADE Suite in the A380

• SCADE = Airbus corporate standard for all new airplanes developments

– Flight Control system

– Flight Warning system

– Electrical Load Management system

– Anti Icing system

– Braking and Steering system

– Cockpit Display system

– Part of ATSU (Board / Ground comms)

– FADEC (Engine Control)

– EIS2 : Specification GUI Cockpit:

– PFD : Primary Flight Display

– ND : Navigation Display

– EWD : Engine Warning Display

– SD : System Display

Flight ControlPrimary & Secondary

Commands

Anti IceControl Unit

FlightWarningSystem

Braking & SteeringControl Unit

Page 6: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 6© Esterel Technologies 2007

SCADE Suite in the 787

• SCADE is present in the following Boeing 787 systems:

–– Landing Gear SystemLanding Gear System (Smiths Aerospace)

–– Braking SystemBraking System (Messier Bugatti)

BrakingBraking

SystemSystem

LandingLanding GearGear

SystemSystem

Page 7: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 7© Esterel Technologies 2007

SCADE in Automotive & Land Systems Applications

• Automotive & 2-Wheelers:– Airbags

– Braking Systems, ABS & ESP

– Steering

– Chassis & Suspension Systems

– Restraining systems

– Engine regulation

– X-By-Wire applications

• Heavy Duty Land systems:– Cranes

– Tractors

– Tanks

– Earth Moving Machines

– Trucks

– Construction equipment

– Mining machines, etc…

BMW motorcycles

AUDI - A8

Mercedes – Class S

Page 8: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 8© Esterel Technologies 2007

SCADE in Rail Transportation Applications

• Interlocking systems control

• Signaling

• Ground stations

• Automatic Train Operations

• Train Control Systems

• Critical Graphics Displays

• Level Crossings

• Safe Platforms

RATP - Paris Subway (Meteor line)

Ansaldo - EUROSTAR

Interlockings andoperation control systems

Automatic train control systems

Page 9: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 9© Esterel Technologies 2007

SCADE Nuclear I&C Applications

• Reactor Protection Systems:– Reactor limitation system (1E)

– Trip processing & Emergency shutdown (1E)

– Safety actuation (1E)

• Nuclear Instrumentation Systems:– Power measurement system

– Neutron detectors (1E)

– Pressurizer heating controllers

– Neutron instrumentation systems (1E)

– Boron meters

• Other Safety Systems– Safety valve control system

– Rod control systems

– Diesel sequencing system (1E)

– Rod position instrumentation systems

Page 10: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 10© Esterel Technologies 2007

The Esterel Consortium

� In 2001 Esterel Technologies formed a consortium of leading Semiconductor companies

� Early adopters of Esterel Studio™

� Best practice sharing about project use and design flow integration

� Collaborative specification of the main product features and roadmap

� Attended by academic partners for scientific advise

� Attended by Esterel Studio offer partners

� Support to the IEEE standardization process of the Esterel language

Page 11: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 11© Esterel Technologies 2007

Esterel Application Targets

• Bus interfaces and peripheral controllers

– Bus bridges

– Serial ATA

– Flash cards

– Video controllers

• Processor modeling and synthesis

– Instruction Set Architecture– Complex instruction and data cache– Arbiters– On-chip power management– DMA– Interrupt control

• Communication IPs

– Radio– Fast serial links (UART, Aurora)– Bluetooth / Ethernet Controller

System bus

MemoryController

Arbitration

DSPCore

Processors

Bridge

SDCardI/F

UART

DMA

Peripheral bus

SRAM

Video IP

PowerMgt

GlueLogic

Page 12: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 12© Esterel Technologies 2007

Messages to Users

1. Specification of dynamics cannot be accurate when

written on static paper

2. Animated executable specifications key to reuse,

inter-teams communication, what-if studies, etc

3. Once such specs are available, why recoding?

4. Any safe model-based spec-to-implementation path

must be based on formal methods and tools- hierarchical behavior description

- languages with formal semantics

- formal compiling algorithms

- formal verification techniques

5. Formal verification is a design tool usable at all design

steps, not only in validation phase

Page 13: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 13© Esterel Technologies 2007

A short history of synchrony

Page 14: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 13© Esterel Technologies 2007

A short history of synchrony

• 1982-1985 : first ideas, languages, and semantics

Esterel : Berry – Marmorat - Rigault, Sophia-Antipolis

Lustre : Caspi – Halbwachs, Grenoble

Signal : Benveniste – Le Guernic, Rennes

Page 15: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 13© Esterel Technologies 2007

A short history of synchrony

• 1982-1985 : first ideas, languages, and semantics

Esterel : Berry – Marmorat - Rigault, Sophia-Antipolis

Lustre : Caspi – Halbwachs, Grenoble

Signal : Benveniste – Le Guernic, Rennes

Computer ScienceControl Theory

Page 16: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 13© Esterel Technologies 2007

A short history of synchrony

• 1982-1985 : first ideas, languages, and semantics

Esterel : Berry – Marmorat - Rigault, Sophia-Antipolis

Lustre : Caspi – Halbwachs, Grenoble

Signal : Benveniste – Le Guernic, Rennes

Computer ScienceControl Theory

•1985-1998 : more languages, semantics, compiling & verification

SyncCharts (André), Reactive C (Boussinot), TCC (Saraswat), etc.

causality analysis (Berry, Gonthier, Shiple)

links to dataflow (Ptolemy), to hardware (Vuillemin), etc.

formal optimization & verification techniques (Madre & Coudert, Touati)

First industrialization of Esterel by ILOG for Dassault Aviation / Thales

Formal verification (BDDs) on landing gear, Displays, etc in 1991

Creation of SCADE by Verilog for Schneider and Airbus

Page 17: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 14© Esterel Technologies 2007

• 1998 –2001 : more research, maturation, industrial projectsS. Edwards, Synopsys

Shyamasundar, TIFR, Ramesh, IIT Mumbai

Saraswat, Xerox

K. Schneider, Karlsruhe / KaisersLautern

...

applications: avionics, nuclear plant safety, telecom, robotics, etc.

• 2001-2007 : industrial expansion

Development of Esterel v7 for hardware circuit design

Creation of the Esterel Consortium

Massive usage of SCADE in certified avionics embedded systems

Growing usage of SCADE in railways and automotive industries

Page 18: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 14© Esterel Technologies 2007

• 1998 –2001 : more research, maturation, industrial projectsS. Edwards, Synopsys

Shyamasundar, TIFR, Ramesh, IIT Mumbai

Saraswat, Xerox

K. Schneider, Karlsruhe / KaisersLautern

...

applications: avionics, nuclear plant safety, telecom, robotics, etc.

• 2001-2007 : industrial expansion

Development of Esterel v7 for hardware circuit design

Creation of the Esterel Consortium

Massive usage of SCADE in certified avionics embedded systems

Growing usage of SCADE in railways and automotive industries

Still few researchers working on this key subject!

Page 19: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 15© Esterel Technologies 2007

Global Coordination

Page 20: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 15© Esterel Technologies 2007

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

Global Coordination

Page 21: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 15© Esterel Technologies 2007

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

Global Coordination

Page 22: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 16© Esterel Technologies 2007

How to avoid or control bugs?

• Traditional : better verification by fancier simulation

• Next step : better design

better and more reusable specifications

simpler computation models, formalisms, semantics

reduce architect / designer distance

reduce hardware / software distance

• Mandatory: better tooling

synthesis from high-level descriptions

formal property verification / program equivalence

certified libraries

Page 23: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 17© Esterel Technologies 2007

Embedded Modules Anatomy

• CC : continuous control, signal processingdifferential equations, digital filtering

specs and simulation with Matlab / Scilab

• FSM : finite state machines (automata)

discrete control, protocols, security, displays, etc.

flat or hierarchical FSMs

• Calc : heavy calculations

navigation, encryption, image processing

C + libraries

• Web : HMI, audio / video

user interaction / audio / vidéo

data flow networks, Java

Page 24: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 18© Esterel Technologies 2007

Global Coordination

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

ABS

Panel

Engine control

Radio

Light control

Supension

Gearbox

Clutch

Airbags

Direction

Air Con

Sleepdetector

Radar

Alarm detectionAutomatictoll

GPS

Page 25: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 19© Esterel Technologies 2007

Global Coordination : Calc+CC+FSM

FSM

CC+Calc+FSM

CC + FSM

FSM

CC+FSM

CC+Calc+FSM

CC+FSM

CC+FSM

CC+FSM

CC+FSM

Calc+FSM

Calc

CC+FSMFSM

Calc+FSM

CC+FSM

Page 26: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 20© Esterel Technologies 2007

Key Computation Principles

• Concurrency is fundamentalimplicit in CC, audio / video, protocols, etc.

also mandatory for Web and Calc

• Determinism is fundamentalimplicit for CC and FSM

who would drive a non-deterministic car?

can be relaxed for Web, infotainment, etc.

• Physical distribution becomes fundamentalseparation of functions, links between them

redundancy for fault-tolerance

global time needed for distributed control

Page 27: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

Page 28: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

Page 29: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

Page 30: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

Page 31: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

P||Q

Page 32: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 21© Esterel Technologies 2007

Concurrency : the compositionality principle

P

Q

R

P||Q

Page 33: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 22© Esterel Technologies 2007

P

Q

R

P||Q

t

d

t’

t’’

Page 34: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 22© Esterel Technologies 2007

P

Q

R

P||Q

t’’ = t + d + t’

t

d

t’

t’’

Page 35: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 22© Esterel Technologies 2007

P

Q

R

P||Q

t’’ = t + d + t’

t’’ ~ t ~ d ~ t’

t

d

t’

t’’

Page 36: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 22© Esterel Technologies 2007

P

Q

R

P||Q

t’’ = t + d + t’

t’’ ~ t ~ d ~ t’

t ~ t + t

t’’ ~ t ~ d ~ t’

t

d

t’

t’’

Page 37: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 23© Esterel Technologies 2007

Only 3 solutions :

• t arbitrary asynchrony

• t = 0 synchrony

• t predictable vibration

Page 38: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 24© Esterel Technologies 2007

Arbitrary Delay : Brownian Motion

Chemical reaction

H+

H+

Cl_ H+

Cl_

Cl_

HCL

HCL

HCL

H+

Internet routingH+ Cl

_HCL+

Page 39: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 24© Esterel Technologies 2007

Arbitrary Delay : Brownian Motion

Chemical reaction

H+

H+

Cl_ H+

Cl_

Cl_

HCL

HCL

HCL

H+

Internet routingH+ Cl

_HCL+

Models : Kahn networks, CSP / ADA,..., π-calculus, CHAM, Join-Calculus, Ambients,

Page 40: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 25© Esterel Technologies 2007

Kahn Networks

nodes = deterministic programsarrows = infinite fifos

• result-deterministic (independent of computation order)

• easy semantics by flow equations

• heavily used in streaming applications (audio, TV)

Page 41: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 26© Esterel Technologies 2007

Concurrency + DeterminismCalculations are feasible

Zero delay example:

Newtonian Mechanics

Page 42: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

Page 43: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

Page 44: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

run FullSpeed

Page 45: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

run FullSpeed

loop

each Lap

abort run

run FullSpeed

Page 46: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

run FullSpeed

loop

each Lap

abort run

run FullSpeed

abort

when 4 Lap

run FullSpeed

Page 47: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

run FullSpeed

loop

each Lap

abort run

run FullSpeed

abort

when 4 Lap

run FullSpeed

every Morning do

end every

abortevery Steprun Jump

end everywhen 15 Second

loop

each Lap

abort run Slowly

abort

when 4 Lap

run FullSpeed

Page 48: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 27© Esterel Technologies 2007

abort run Slowly when 100 Meter ;

The Esterel Runner

abortevery Step do run Jump || run Breathe

end everywhen 15 Second ;

abort run Slowly when 100 Meter

run FullSpeed

loop

each Lap

abort run

run FullSpeed

abort

when 4 Lap

run FullSpeed

every Morning do

end every

abortevery Steprun Jump

end everywhen 15 Second

loop

each Lap

abort run Slowly

abort

when 4 Lap

run FullSpeed

trap HeartAttack in

|| run CheckHeart

exit HeartAttack

handle HeartAttack forun RushToHospital

end trap

abort

when 4 Lap

The Esterel Runner

run FullSpeed

Page 49: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 28© Esterel Technologies 2007

Nothing can illustrate vibration better thanBianca Castafiore, Hergé's famous primadonna. See [1] for details. The power of her voice forcibly shakes the microphone and the ears of the poor spectators.

[1] King's Ottokar Sceptre, Hergé, page 29,last drawing.

predictable time = vibration

propagation of light, sound, electrons, program counter...

Page 50: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 29© Esterel Technologies 2007

Bianca Castafiore singing for the KingMuskar XII in Klow, Syldavia. King's Ottokar Sceptre, page 38, first drawing.

Although the speed of sounds is finite, it is fast enough to look infinite. Full abstraction!

Full Abstraction

Specify with zero-delayImplement with predictable delay

Control room size

If room is small enough, predictable delay implements zero-delay

Page 51: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 30© Esterel Technologies 2007

Software Synchronous Systems

Cycle basedread inputs

compute reaction

produce outputs

Synchronous = 0-delay = within the same cyclepropagate control

propagate signals

No interference between I/O and computationRoom size control = Worst Case Execution Time (AbsInt)

Page 52: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 31© Esterel Technologies 2007

Concurrency = Cycle Fusion

input X, Z;output Y, T;Y = X+1;T=Z /2

input Y;output Z;Z = Y*3;

Page 53: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 31© Esterel Technologies 2007

Concurrency = Cycle Fusion

input X, Z;output Y, T;Y = X+1;T=Z /2

input Y;output Z;Z = Y*3;

Y

Z

Page 54: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 31© Esterel Technologies 2007

Concurrency = Cycle Fusion

input X, Z;output Y, T;Y = X+1;T=Z /2

input Y;output Z;Z = Y*3;

Y

Z

input X;output T;local Y, Z;Y = X+1;Z = Y*3;T=Z /2;

Page 55: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 31© Esterel Technologies 2007

Concurrency = Cycle Fusion

input X, Z;output Y, T;Y = X+1;T=Z /2

input Y;output Z;Z = Y*3;

Y

Z

input X;output T;local Y, Z;Y = X+1;Z = Y*3;T=Z /2;

Safe deterministic global variable sharingNo context-switching cost, makes WCET easier

Page 56: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 32© Esterel Technologies 2007

Lustre = Synchronous Kahn Networks

truet

otherwisetCount

EventiftCounttCountt

Count

=

+−=>∀

=

)(

),1(

,1)1()(,0

0)0(

Count = 0 ->

(if Event

then pre(Count)+1

else pre(Count))

A simple counter

Page 57: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 33© Esterel Technologies 2007

CC

FSM

SCADE

Page 58: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 33© Esterel Technologies 2007

CC

FSM

SCADE

Certified compiler to CFormal verification engine

Page 59: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 34© Esterel Technologies 2007

Existing CapabilitiesExisting Capabilities

Data flow

Page 60: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 34© Esterel Technologies 2007

Existing CapabilitiesExisting Capabilities

Data flow

Hierarchical

State Machines

Page 61: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 34© Esterel Technologies 2007

Existing CapabilitiesExisting Capabilities

Data flow

Hierarchical

State Machines

SCADE Display

Modeler

Page 62: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 35© Esterel Technologies 2007

Scade 6 : Data - Control Flow Unification

SCADE 5SCADE 5

Pure Control Flow into Pure Control Flow into

Pure Data FlowPure Data Flow

Page 63: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 35© Esterel Technologies 2007

Scade 6 : Data - Control Flow Unification

SCADE 5SCADE 5

Pure Control Flow into Pure Control Flow into

Pure Data FlowPure Data Flow

SCADE 6SCADE 6

Unified Data Flow & Unified Data Flow &

Control FlowControl Flow

�Freely mixable in hierarchy

Page 64: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 36© Esterel Technologies 2007

A Typical Application: Cockpit Display

IA4C_SYSTEM_OFF

THIRDCM_DISPLAY_CONTROLLER

TD

L_Display _Format

IgnoreCount

HUD_DISPLAY_CONTROLLEROUTER_DISPLAY_CONTROLLER

L_Display _Format

SUR

INNER_DISPLAY_CONTROLLER

SomeFormat

L_Display _Format L_Display _Format

1

SidedInnerDisplay

Right

Lef t

DisplaySide

1

grabSide

LOWER_DISPLAY_CONTROLLER

2

grabSide

L_Display _FormatL_Display _Format

HUDR_OK

HUDL_OKSomeFormat

2

SidedLowerDisplay

DisplaySide

CENTER_DISPLAY_CONTROLLER

init

LR_OK

LL_OK

OR_FORMAT

OL_FORMAT

Right

Lef t

SideStruct

HUDL_OK

HUDR_OK

SideStruct

IL_Format

OL_OK

OR_OK

IR_Format

2

PFDMaxFrom

IA4C_SYSTEM_OUT

L_Display _Format

2

grabFirst

SUR

CENTER

HUD

Default

LOG

A

DisplayPosition

<2> (

DisplayPosition

= CENTER)

<3> (

DisplayPosition

= LOWER)

<4> (

DisplayPosition

= INNER)

<5> (

DisplayPosition

= OUTER)

<1> (

DisplayPosition

= HUD)

<6> (

DisplayPosition

= THIRD)

<1> (

not

(IA4C))

<1> (

IA4C)

Page 65: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 37© Esterel Technologies 2007

Synchronous Semantics

• Ensures every data is produced exactly once

• Additional checks

– no access to undefined data

– no race condition (combinational cycle)

=> deterministic scheduling-independent result

– no recursion in node calls

=> static memory allocation, bounded stack

Checked by the qualified code generator

as a prerequisite to code generation

Page 66: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 38© Esterel Technologies 2007

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Prover Plug-In is a trademark of Prover Technology AB in Sweden, the United States and other countries

Architecture Design Capture

Textual Requirements

AlgorithmDesign Capture

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Debugging & Simulation Verification

Formal Verification

Validation

Model Coverage Analysis

Debugging & Simulation

Model Coverage Analysis

Formal Verification

AlgorithmDesign Capture

Verification

Validation

Certified Software Certified Software

FactoryFactory

SimulinkGateway

Simulator

Design Verifier

Editor

KCG

SCADE RM Gateway

Model Test Coverage

Configuration Management

Automatic Design

Documentation

Management

Configuration Management

Automatic Design

Documentation

Architecture Design Capture

Project

Management

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

Model Reporter

Editor

KCG

SCADE RM Gateway

SCCI Gateway

DO-178B Qualified

IEC 61508 & EN 50128 Certified

Object Code Verification

Compiler Verification Kit

Pre-qualified for

compilers

Prover Plug

RTOSWrapper

IntegrationOn Target

INTEGRITY-178B

Technology AB in Sweden, the United States and other countries

Debugging & Simulation

Configuration Management

Model Coverage Analysis

Formal Verification

Automatic Design

Documentation

Architecture Design Capture

AlgorithmDesign Capture

Project

Management

Verification

Validation

Code Generation

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Pre-qualified for

compilers DO-178B QualifiedINTEGRITY-178B

Page 67: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 38© Esterel Technologies 2007

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Prover Plug-In is a trademark of Prover Technology AB in Sweden, the United States and other countries

System Requirements

Architecture Design Capture

Textual Requirements

AlgorithmDesign Capture

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Debugging & Simulation Verification

Formal Verification

Validation

Model Coverage Analysis

Debugging & Simulation

Model Coverage Analysis

Formal Verification

AlgorithmDesign Capture

Verification

Validation

Certified Software Certified Software

FactoryFactory

SimulinkGateway

Simulator

Design Verifier

Editor

KCG

SCADE RM Gateway

Model Test Coverage

Configuration Management

Automatic Design

Documentation

Management

Configuration Management

Automatic Design

Documentation

Architecture Design Capture

Project

Management

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

Model Reporter

Editor

KCG

SCADE RM Gateway

SCCI Gateway

DO-178B Qualified

IEC 61508 & EN 50128 Certified

Object Code Verification

Compiler Verification Kit

Pre-qualified for

compilers

Prover Plug

RTOSWrapper

IntegrationOn Target

INTEGRITY-178B

Technology AB in Sweden, the United States and other countries

Debugging & Simulation

Configuration Management

Model Coverage Analysis

Formal Verification

Automatic Design

Documentation

Architecture Design Capture

AlgorithmDesign Capture

Project

Management

Verification

Validation

Code Generation

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Pre-qualified for

compilers DO-178B QualifiedINTEGRITY-178B

Page 68: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 38© Esterel Technologies 2007

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Prover Plug-In is a trademark of Prover Technology AB in Sweden, the United States and other countries

System Requirements

Verification

&

Validation

Architecture Design Capture

Textual Requirements

AlgorithmDesign Capture

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Debugging & Simulation Verification

Formal Verification

Validation

Model Coverage Analysis

Debugging & Simulation

Model Coverage Analysis

Formal Verification

AlgorithmDesign Capture

Verification

Validation

Certified Software Certified Software

FactoryFactory

SimulinkGateway

Simulator

Design Verifier

Editor

KCG

SCADE RM Gateway

Model Test Coverage

Configuration Management

Automatic Design

Documentation

Management

Configuration Management

Automatic Design

Documentation

Architecture Design Capture

Project

Management

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

Model Reporter

Editor

KCG

SCADE RM Gateway

SCCI Gateway

DO-178B Qualified

IEC 61508 & EN 50128 Certified

Object Code Verification

Compiler Verification Kit

Pre-qualified for

compilers

Prover Plug

RTOSWrapper

IntegrationOn Target

INTEGRITY-178B

Technology AB in Sweden, the United States and other countries

Debugging & Simulation

Configuration Management

Model Coverage Analysis

Formal Verification

Automatic Design

Documentation

Architecture Design Capture

AlgorithmDesign Capture

Project

Management

Verification

Validation

Code Generation

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Pre-qualified for

compilers DO-178B QualifiedINTEGRITY-178B

Page 69: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 38© Esterel Technologies 2007

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Prover Plug-In is a trademark of Prover Technology AB in Sweden, the United States and other countries

System Requirements

Verification

&

Validation

Project

Management

Architecture Design Capture

Textual Requirements

AlgorithmDesign Capture

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Debugging & Simulation Verification

Formal Verification

Validation

Model Coverage Analysis

Debugging & Simulation

Model Coverage Analysis

Formal Verification

AlgorithmDesign Capture

Verification

Validation

Certified Software Certified Software

FactoryFactory

SimulinkGateway

Simulator

Design Verifier

Editor

KCG

SCADE RM Gateway

Model Test Coverage

Configuration Management

Automatic Design

Documentation

Management

Configuration Management

Automatic Design

Documentation

Architecture Design Capture

Project

Management

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

Model Reporter

Editor

KCG

SCADE RM Gateway

SCCI Gateway

DO-178B Qualified

IEC 61508 & EN 50128 Certified

Object Code Verification

Compiler Verification Kit

Pre-qualified for

compilers

Prover Plug

RTOSWrapper

IntegrationOn Target

INTEGRITY-178B

Technology AB in Sweden, the United States and other countries

Debugging & Simulation

Configuration Management

Model Coverage Analysis

Formal Verification

Automatic Design

Documentation

Architecture Design Capture

AlgorithmDesign Capture

Project

Management

Verification

Validation

Code Generation

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Pre-qualified for

compilers DO-178B QualifiedINTEGRITY-178B

Page 70: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 38© Esterel Technologies 2007

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Prover Plug-In is a trademark of Prover Technology AB in Sweden, the United States and other countries

System Requirements

Verification

&

Validation

Project

Management

Code Generation

KCG

Architecture Design Capture

Textual Requirements

AlgorithmDesign Capture

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Debugging & Simulation Verification

Formal Verification

Validation

Model Coverage Analysis

Debugging & Simulation

Model Coverage Analysis

Formal Verification

AlgorithmDesign Capture

Verification

Validation

Certified Software Certified Software

FactoryFactory

SimulinkGateway

Simulator

Design Verifier

Editor

KCG

SCADE RM Gateway

Model Test Coverage

Configuration Management

Automatic Design

Documentation

Management

Configuration Management

Automatic Design

Documentation

Architecture Design Capture

Project

Management

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

Model Reporter

Editor

KCG

SCADE RM Gateway

SCCI Gateway

DO-178B Qualified

IEC 61508 & EN 50128 Certified

Object Code Verification

Compiler Verification Kit

Pre-qualified for

compilers

Prover Plug

RTOSWrapper

IntegrationOn Target

INTEGRITY-178B

Technology AB in Sweden, the United States and other countries

Debugging & Simulation

Configuration Management

Model Coverage Analysis

Formal Verification

Automatic Design

Documentation

Architecture Design Capture

AlgorithmDesign Capture

Project

Management

Verification

Validation

Code Generation

Certified Software Certified Software

FactoryFactory

SCADE Gateway for

SimulinkGateway

Simulator

Design Verifier

Model Reporter

Editor

KCG

SCADE RM Gateway

Model Test Coverage

SCCI Gateway

Pre-qualified for

compilers DO-178B QualifiedINTEGRITY-178B

Page 71: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 39© Esterel Technologies 2007

Code Generation with KCG

• KCG is the qualifiable C code generator

– developed with a DO-178B Level A process

– certification authorities certified that “KCG can fly” and qualified it as a development tool

=> no need to unit-test the generated C code

• Evidences provided to users

– qualification kit

– verifiable, traceable, and safe code

– C compiler verification kit

Page 72: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 40© Esterel Technologies 2007

Generated Code Properties

– Small C subset

– Portable (compiler, target and OS independent)

– Structured (by function or by blocks)

– Readable, traceable (names/annotations propagation )

– Safe static memory allocation

– No pointer arithmetic

– No recursion, no loop

– Bounded execution time

– Size and / or speed optimizations

Easy static analysis (Astrée)

Page 73: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 41© Esterel Technologies 2007

Hardware Synchrony: the RTL model

TRY PASS

REQ OK

GET_TOKEN PASS_TOKEN

OK = REQ and GOPASS = not REQ and GOGO = TRY or GET_TOKENPASS_TOKEN = reg(GET_TOKEN)

GO

Room size control = timing closure

Page 74: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 42© Esterel Technologies 2007

Esterel v7 (Berry – Kishinevsky)

text + graphics, concurrency + sequencingclear semantics

Page 75: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 43© Esterel Technologies 2007

The Esterel Studio Usage Model

formal, readable,animated specs

Page 76: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 43© Esterel Technologies 2007

The Esterel Studio Usage Model

formal, readable,animated specs

visualization-basedvirtual prototypes

simulation

Page 77: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 43© Esterel Technologies 2007

The Esterel Studio Usage Model

formal, readable,animated specs

visualization-basedvirtual prototypes

simulation

formal verification

Page 78: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 43© Esterel Technologies 2007

The Esterel Studio Usage Model

formal, readable,animated specs

visualization-basedvirtual prototypes

simulation

formal verification

certifiedsoftware code / hardware circuit

full and faithfuldoumentation

Page 79: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 43© Esterel Technologies 2007

The Esterel Studio Usage Model

formal, readable,animated specs

visualization-basedvirtual prototypes

simulation

formal verification

certifiedsoftware code / hardware circuit

full and faithfuldoumentation

Page 80: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 44© Esterel Technologies 2007

Project Structure

Automatic Documentation

ProjectManagement

Executable Specification

Exporter

Debugging & Simulation

Formal Verification

DesignVerification

Sequential Equivalence

check

DUT

����

Optimized for synthesis

DFT-ready

SystemC & RTL flow integrationSystemC RTL Synthesis

.sc .vhd

Architecture

Design Specification Capture

Design Functional

Spec Verification Requirements

ArchitectureDiagram (2007)

Editor

Simulator

DesignVerifier

ModelReporter

Code & TestbenchGenerators

Editor

SequentialEquivalence

Checker

IDE

PlayerIDE

Esterel Studio at a glance

Page 81: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

Page 82: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

Page 83: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

Page 84: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

Page 85: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

Page 86: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Page 87: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 88: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 89: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 90: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 91: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 92: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 93: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 45© Esterel Technologies 2007

Architecture

Micro-Architecture

RTL design

DFT (test)

Place&Route

Masks

Chips

componentsdimensioningcommunication

concurrencypipelineresource sharing

Word, Excel, VisioSystem C

Word, Visio

VHDL, Veriloggates, clocksregisters, RAMscritical path

circuitscells, clock treesarea, speed

Verilog + ...

testabilityscan insertion

$ 1,000,000

Esterel

Page 94: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 46© Esterel Technologies 2007

Computer Science at Work

Page 95: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 46© Esterel Technologies 2007

Computer Science at Work

1. Language design & mathematical semanticsEsterel: imperative, SOS semantics (residuals)

constructive logic, proof networks

Lustre/SCADE: declarative, functional, denotational semantics

clock calculus = static type-check of dynamics

Page 96: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 46© Esterel Technologies 2007

Computer Science at Work

1. Language design & mathematical semanticsEsterel: imperative, SOS semantics (residuals)

constructive logic, proof networks

Lustre/SCADE: declarative, functional, denotational semantics

clock calculus = static type-check of dynamics

2. CompilingEsterel: translation to circuits (hardware)

translation to concurrent flow graphs (software)

Lustre/SCADE: clock calculus to drive expression execution

All: static scheduling of elementary actions

Page 97: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 46© Esterel Technologies 2007

Computer Science at Work

1. Language design & mathematical semanticsEsterel: imperative, SOS semantics (residuals)

constructive logic, proof networks

Lustre/SCADE: declarative, functional, denotational semantics

clock calculus = static type-check of dynamics

2. CompilingEsterel: translation to circuits (hardware)

translation to concurrent flow graphs (software)

Lustre/SCADE: clock calculus to drive expression execution

All: static scheduling of elementary actions

3. Formal Verification: properties and equivalenceforward / backward reachable state space analysis (BDDs)

SAT + numerical solving

Abstract Interpretation (Astrée, Cousot)

Page 98: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 47© Esterel Technologies 2007

nothingpauseemit Spresent S then p else q endsuspend p when Sp; qloop p endp || qtrap T in p endexit Tsignal S in p end

The Pure Esterel Kernel

Page 99: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 47© Esterel Technologies 2007

nothingpauseemit Spresent S then p else q endsuspend p when Sp; qloop p endp || qtrap T in p endexit Tsignal S in p end

The Pure Esterel Kernel

01! ss ? p, qs pp; qpp | q{p} pk, k > 1p \ s

U

*

Page 100: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 48© Esterel Technologies 2007

pE

E’ kp’

received signals

emitted signals completion code

Broadcasting : E’ EU

0 : termination1 : waiting2 : exiting one trap level3 : exiting two trap levels

k

The Behavioral Semantics

Page 101: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 49© Esterel Technologies 2007

pE

E’ kp’ k = 0

p ; qE’ k

p ’ ; qE

Page 102: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 49© Esterel Technologies 2007

pE

E’ kp’ k = 0

p ; qE’ k

p ’ ; qE

pE

E’ 0p’ q

E

F’ lq’

p ; qE’ U F’ l

q’E

Page 103: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 50© Esterel Technologies 2007

pE

E’ kp’ k = 0

pE’ k

p’ ; pE* *

Page 104: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 50© Esterel Technologies 2007

pE

E’ kp’ k = 0

pE’ k

p’ ; pE* *

pE

E’ kp’ q

E

F’ lq’

p | qE

E’ U F’ max(k,l) p’ | q’

Page 105: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 51© Esterel Technologies 2007

Basic syntax directed translation scheme

Each statement p corresponds to a box:

GO

RES

SUSP

KILL

SEL

K0

K1

K2...

E E'

p

Exclusive relation:GO # RES # SUSP

– E and E’: signals received and emitted

– GO: start p (first cycle)

– RES: continue from the previous state

– SUSP: freeze for a cycle (keep registers)

– KILL : reset registers

– SEL: at least one register set = statement alive

– Ki : 1-hot encoded completion code

• K0: normal terminate

• K1: pause for a cycle

• K2,K3,… - exit enclosing traps

Page 106: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 52© Esterel Technologies 2007

Basic syntax directed translation scheme

GO

RES

SUSP

KILL

SEL

K0

K1

K2...

E E'

p

– E and E’: signals received and emitted

– GO: start p (first cycle)

– RES: continue from the previous state

– SUSP: freeze for a cycle (keep registers)

– KILL : reset registers

– SEL: at least one register set = statement alive

– Ki : 1-hot encoded completion code

• K0: terminate

• K1: pause for a cycle

• K2,K3,… - exit enclosing traps

Page 107: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 53© Esterel Technologies 2007

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

P

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

Q

E'

SEL

K1

K2

GO

RES

SUSP

KILL

K0

E

Circuit for sequencing P; Q

Page 108: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 54© Esterel Technologies 2007

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

K3

...

P

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

K3

...

Q

LEM

L0

L1

L2

L3

IN_KILL

REM

R0

R1

R2

R3

KILL

K0

K1

K2

K3

S

Y

N

C

H

R

O

N

I

Z

E

R

E'

K0

K1

K2

K3

SEL

GO

GO

GO

RES

SUSP

E

KILL

Circuit for P||Q

Page 109: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 55© Esterel Technologies 2007

LEM

REM

L0

R0 R1

L1 L2

R2

L3

R3

K0 K1 K2 K3

IN_KILLKILL

The parallel synchronizer(a 2-adic arithmetic operator)

Page 110: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 56© Esterel Technologies 2007

Optimization: exploit hierarchy

1. Start with structural encoding implicit in design2. carefully remove register redundancies (only if cheap)⇒ good balance between logic and registers

(with Touati, Toma, Sentovich)

Page 111: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 57© Esterel Technologies 2007

Conclusion

• Synchrony is much simpler than asynchrony– manageable large-scale concurrency + sequencing

– equally good for software and hardware

• Synchronous formal methods are used in industry

– formal languages

– formal compilation schemes

– formal verification

• Computing on formal programs is the future

– automatic / semi-manual property verification

– compiler correctness proof

Page 112: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 57© Esterel Technologies 2007

Conclusion

• Synchrony is much simpler than asynchrony– manageable large-scale concurrency + sequencing

– equally good for software and hardware

• Synchronous formal methods are used in industry

– formal languages

– formal compilation schemes

– formal verification

• Computing on formal programs is the future

– automatic / semi-manual property verification

– compiler correctness proof

Get Esterel Studio and SCADEthey are free

for teaching and academic usage

Page 113: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 58© Esterel Technologies 2007

Research Directions

Page 114: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 58© Esterel Technologies 2007

Research Directions

• Scale verification techniques

- improve SAT / numerical / Abstract interpretation engines

- develop assume / guarantee verification

- prove compilers correct: Schneider (HOL), Leroy (Coq)

Page 115: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 58© Esterel Technologies 2007

Research Directions

• Scale verification techniques

- improve SAT / numerical / Abstract interpretation engines

- develop assume / guarantee verification

- prove compilers correct: Schneider (HOL), Leroy (Coq)

• Extend model to distributed systems (castles instead of rooms)

Page 116: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 58© Esterel Technologies 2007

Research Directions

• Scale verification techniques

- improve SAT / numerical / Abstract interpretation engines

- develop assume / guarantee verification

- prove compilers correct: Schneider (HOL), Leroy (Coq)

• Extend model to distributed systems (castles instead of rooms)

=>Add a controllable amount of asynchrony

- timed-triggered networks (Kopetz, TTP, FlexRay)

- distributed sampling / Nyquist theorem (Caspi)

- N-synchronous Kahn Networks (Cohen, Duranton, Pouzet, etc.)

- elastic circuits (Cortadella & Kishinevsky)

- ...

Page 117: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 59© Esterel Technologies 2007

Distribution by Mutual Sampling

Page 118: Synchronous Design and Verification of Critical Embedded … · 2007. 7. 2. · applications : avionics, nuclear plant safety, telecom, robotics, etc. • 2001-2007 : industrial expansion

G. Berry, ADA 2007 - 59© Esterel Technologies 2007

Distribution by Mutual Sampling

• Works because of control theory stability results,not because of computer science ones (Caspi & al.)

• Similar to multiclock hardware, but much simpler

(no metastability issues)