1 / 8

Extending Java PathFinder with Behavior Protocols

Extending Java PathFinder with Behavior Protocols. Master Thesis. Advisor: Jiří Adámek. Candidate: Aleš Plšek. Charles University in Prague Faculty of Mathematics and Physics. Context: Component Based Programming. Software Components Composition components Primitive components

mihaly
Download Presentation

Extending Java PathFinder with Behavior Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extending Java PathFinder with Behavior Protocols Master Thesis Advisor: Jiří Adámek Candidate: Aleš Plšek Charles University in Prague Faculty of Mathematics and Physics

  2. Context: Component Based Programming • Software Components • Composition components • Primitive components • Environment • Behavior Protocols • Formal specification of a component’s behavior • System Correctness Verification Component Application: Behavior Protocol: ?db.start {!lg.log} ; ( ?db.get{!lg.log} + ?db.put{!lg.log} )*; ?db.stop{!lg.log}

  3. Goal • Behavior Protocol vs. Primitive Component Implementation • Comprises • Source code analysis • Code vs. Behavior Protocol comparison • Solution requirements • Full support of Behavior Protocols (operators, nondeterminism, …) • Environment-independent verification • Exhaustive verification • Prototype Implementation • Performance • Comparison with the DSRG Checker

  4. Solution • Existing model checking tools integration : • Java PathFinder • BPChecker • Component environment simulation • Advanced issues • State spaces mapping • Parallelism • Alternative operator problem • Repetition operator problem

  5. Evaluation: Features Comparison

  6. Evaluation: Performance Test 1 • Performance statistics • #States – number of states visited during the verification • Time – elapsed time • States/Second – number of visited states per 1 second • Tests run on Pentium 4 3.0 GHz, 2.0 GB RAM, Windows Server 2003 OS Test 2

  7. Demo Component Architecture Component Behavior Protocol ( ?IFlyTicketAuth.CreateToken:0{ ( !IAfFlyTicketDb.GetFlyTicketValidity:0 ; (!IAfFlyTicketDb.IsEconomyFlyTicket:0 + NULL) ) + ( !ICsaFlyTicketDb.GetFlyTicketValidity:0 ; (!ICsaFlyTicketDb.IsEconomyFlyTicket:0 + NULL) ) + NULL } + ?IFlyTicketDb.GetFlyTicketsByFrequentFlyerId:0{ ( !IAfFlyTicketDb.GetFlyTicketsByFrequentFlyerId:0 ; !ICsaFlyTicketDb.GetFlyTicketsByFrequentFlyerId:0 ) + NULL } + … )* • Sample component verification • Detecting behavior protocol violation

  8. Conclusion • Software Component Model Checker • Successfully verifies compliance of a primitive component with its behavior protocol • Full support of Behavior Protocols • Environment-independent verification • Implementation • Reasonable performance • Checking time: ~ hours • Contributions • Exhaustive verification (no behavior protocol reductions) • Issues solved (Alternative and Repetition operator problems, …)

More Related