80 likes | 193 Vues
Extracting models from design documents with Mapster. David James, Tim Leonard, John O’Leary, Murali Talupur, Mark R. Tuttle Intel We build formal models from industrial design artifacts. PODC has a problem.
E N D
Extracting models from design documents with Mapster David James, Tim Leonard, John O’Leary, Murali Talupur, Mark R. Tuttle Intel We build formal models from industrial design artifacts.
PODC has a problem Industry will not adopt our techniques for protocol analysis until we solve the modeling problem. • PODC is the top conference for protocols • We are experts in protocol design and analysis • We have sophisticated methodologies and tools • But • Everything we do depends on a precise protocol model • Industry won’t build the models we need (and it’s been 20 years)
Industrial approach: The Superhero • A modeling expert joins a group (usually late) • Learns the protocol • Builds the model • Maintains the model as protocol evolves • Eventually gets to do the analysis and verification • This is the wrong approach • It doesn’t scale well (very few superheroes) • It burns out the superhero (leaving even fewer superheroes) • It never gets past “technology demonstration” (“That was great, ya wanna do that for me again?”)
Industrial dilemma: Motivation • High-tech companies are • Goal-oriented: To replace an established method, a new method must get the job done faster (or better without being slower) • Results-oriented: Short-term evaluation/reward/promotion cycles mean a new method must satisfy some short-term goal • Model building fails on both counts: • Modeling is not fast • Modeling benefits are almost exclusively long-term • Organizational motivations work against modeling • Even when a designer knows modeling is the right thing to do…
Our solution • This is the dream: • A front end: extract formal models from design artifacts • A back end: extracts verification artifacts from the formal model • This is the current state: Murphi models from design tables Design documents Transition tables Block diagrams Pipeline diagrams Timing diagrams Design documents Transition tables Analysis tools Murphi, MC/BMC SMT Theorem prover Analysis toolsMurphi, MC/BMC Protocol state machine Protocol state machine Executable models System Verilog SystemC Reference models Hand-coded modeling
Our solution: Mapster • Mapster is a tool that • Extracts tabular information from protocol design documents • Provides a method of assigning semantics to these tables • Produces a Murphi model for model checking the protocol • With some hand-coded modeling for nontabular aspects • Mapster is not just another tabular specification project • It’s one thing to analyze tables written for analysis • Much harder to analyze tables written by designers for designers • Let designers use the style most appropriate for a project • We impose no language or GUI on the designer for table building • We impose no philosophy on how protocols should be described • Application: Mapster used on Intel coherence protocol
Conclusion PODC must address the industrial modeling problem. Our approach: Build models directly from industrial design documents. Questions?