17
LabVIEW ni.com A Vision for Verification in LabVIEW Jeff Kodosky Co-founder & Fellow National Instruments

A Vision for Verification in LabVIEW

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Vision for Verification in LabVIEW

LabVIEW ni.com

A Vision for Verificationin LabVIEW

Jeff Kodosky

Co-founder & FellowNational Instruments

Page 2: A Vision for Verification in LabVIEW

LabVIEW ni.com

Background

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

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

• National Instruments (‘76-present)

• LabVIEW (‘86-present)

Page 3: A Vision for Verification in LabVIEW

LabVIEW ni.com

Current Practice

• No formal verification in use

• Validation through testing

• Run-time “sanity” checking

• Complex tools, insufficient training

Page 4: A Vision for Verification in LabVIEW

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

Page 5: A Vision for Verification in LabVIEW

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

Page 6: A Vision for Verification in LabVIEW

LabVIEW ni.com

LabVIEW Basics• Graphical structured dataflow (G)

• Shift register memory element

• Virtual Instruments (VIs) with integral user interface

• Demo...

Page 7: A Vision for Verification in LabVIEW

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

Page 8: A Vision for Verification in LabVIEW

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

Page 9: A Vision for Verification in LabVIEW

LabVIEW ni.com

LEGO MINDSTORMS NXT

Page 10: A Vision for Verification in LabVIEW

LabVIEW ni.com

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

• Isolated side-effects

• Simple control structures

• Graphical notation

• Extensible

Page 11: A Vision for Verification in LabVIEW

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

Page 12: A Vision for Verification in LabVIEW

LabVIEW ni.com

ExampleBubble Sort with Breakout

Page 13: A Vision for Verification in LabVIEW

LabVIEW ni.com

Bubble Sortwith Assertions Added

Page 14: A Vision for Verification in LabVIEW

LabVIEW ni.com

User Experience

Page 15: A Vision for Verification in LabVIEW

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

Page 16: A Vision for Verification in LabVIEW

LabVIEW ni.com

Expectations

• Proofs of pure functions straightforward

• Floating point headache is the same

• Stateful SubVIs more challenging

• Fairness, Progress, Real-time?

Page 17: A Vision for Verification in LabVIEW

LabVIEW ni.com

Summary

• Make Verification More Accessible

• Implement Verification Incrementally

• Early Release for Experimentation

• Dataflow MoC Reduces Complexity