a vision for verification in labview

Post on 01-Oct-2021

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LabVIEW ni.com

A Vision for Verificationin LabVIEW

Jeff Kodosky

Co-founder & FellowNational Instruments

LabVIEW ni.com

Background

• Physics, LISP, Computer Science (‘70-’76)

• UT Applied Research Labs (‘73-’80)

• National Instruments (‘76-present)

• LabVIEW (‘86-present)

LabVIEW ni.com

Current Practice

• No formal verification in use

• Validation through testing

• Run-time “sanity” checking

• Complex tools, insufficient training

LabVIEW ni.com

Trends

• NI expanding from test to design

• More complex embedded systems

• Multicore and multithreading

• Notorious failures in the past (Therac-25)

• Tools + Practice + Complexity= Problem

LabVIEW ni.com

Needs

• Languages for designing embedded systems

• I/O and Time as first class elements

• Natural representation of parallelism

• Seamless incorporation of formal verification

LabVIEW ni.com

LabVIEW Basics• Graphical structured dataflow (G)

• Shift register memory element

• Virtual Instruments (VIs) with integral user interface

• Demo...

LabVIEW ni.com

LabVIEW Today

• Compile to machine code (inplace algorithm)

• Targets: desktop, multicore, real-time, FPGA

• Real-time: timed loop, single-cycle loop

• MoCs: simulation, state-chart, mathscript

• 10x Productivity

LabVIEW ni.com

Some ApplicationsBoeing

Phased Array Flyover Noise Test

Nexans

Remotely-OperatedUndersea Vehicle Control

MicroNova

12-cylinder EngineFuel-Injector Simulator

Drivven

Engine Control Unit

Microsoft

Xbox 360 Production Test

Coleman

Crystal Identification

Tristan

Brain Imaging

LabVIEW ni.com

LEGO MINDSTORMS NXT

LabVIEW ni.com

Advantages for Verification• Mostly functional, by-value, no pointers

• Isolated side-effects

• Simple control structures

• Graphical notation

• Extensible

LabVIEW ni.com

Vision for Verificationin LabVIEW

• Use the same language to specify assertions and invariants

• Compile assertions to execute at run time, or

• Verify assertions at compile time

LabVIEW ni.com

ExampleBubble Sort with Breakout

LabVIEW ni.com

Bubble Sortwith Assertions Added

LabVIEW ni.com

User Experience

LabVIEW ni.com

Current Research• Connect LabVIEW to ACL2

• Diagrams to S-expressions

• S-expressions to ACL2 function definitions

• Exploring approaches for handling loops

• Exploring approaches for modeling concurrency

LabVIEW ni.com

Expectations

• Proofs of pure functions straightforward

• Floating point headache is the same

• Stateful SubVIs more challenging

• Fairness, Progress, Real-time?

LabVIEW ni.com

Summary

• Make Verification More Accessible

• Implement Verification Incrementally

• Early Release for Experimentation

• Dataflow MoC Reduces Complexity

top related