Thomas Baar
The Fondue Toolset
3rd International KeY-Workshop Königswinter near Bonn June 8, 2004
The Fondue Toolset Thomas Baar 3 rd International KeY-Workshop - - PowerPoint PPT Presentation
The Fondue Toolset Thomas Baar 3 rd International KeY-Workshop Knigswinter near Bonn June 8, 2004 Thomas Baar: The Fondue Toolset 2 Outline What is Fondue? Toolset Architecture Current State Current Problems Thomas Baar:
Thomas Baar
3rd International KeY-Workshop Königswinter near Bonn June 8, 2004
Thomas Baar: The Fondue Toolset 2
– Architecture – Current State – Current Problems
Thomas Baar: The Fondue Toolset 3
Toolset: Concentrates on Analysis phase
Thomas Baar: The Fondue Toolset 4
Domain Model Environment Model Protocol Model Concept Model Behavior Model Operation Model Design Design Requirements Models Use Case Model Analysis Models A depends on B: a change in B induces a change in A A B
Thomas Baar: The Fondue Toolset 5
2 . 9 0
1 2 2 3
Thomas Baar: The Fondue Toolset 6
PhysicalShelf ShelfSelectBtn InformationPanel MoneyBox giveDrink selectDrink displayMoney insufficientFunds drinkNotAvailable
takeMoney returnMoney releaseMoney insertMoney boxIsFull boxIsNotFull EjectBtn ejectMoney setPriceOfShelf PricePanel DVM (Controller) isEmpty isReplenished
* *
Thomas Baar: The Fondue Toolset 7
Shelf * isEmpty: Boolean drinkPrice: Money MoneyBox EjectBtn PricePanel
1 1 1 1 1 1 1 1 1
PhysicalShelf ShelfSelectBtn InformationPanel
* * 1 «id» «id» 1 1 1 1 1 1
<<system>> DVM (Controller)
collectingMoney: Boolean amountRegistered: Money = 0
Thomas Baar: The Fondue Toolset 8
DVM
Ready CollectingMoney OutOfOrder
isEmpty isReplenished setPriceOfShelf insertMoney insertMoney selectDrink ejectMoney selectDrink boxIsFull boxIsNotFull isEmpty isReplenished setPriceOfShelf insertMoney
Thomas Baar: The Fondue Toolset 9
Thomas Baar: The Fondue Toolset
– Editors for Concept-, Environment-, Protocol-Model
(ensure strict compliance to Fondue-MM)
– Cross-check for syntactical correctness (Certifier) – Editor for Operation-Model (OCL)
– Display of system state (object diagram)
Thomas Baar: The Fondue Toolset
CaseTool (Together) FondueToolset Fondue-specific Repository (MDR) FondueToolset Editors
Animator TestManager Certifier Editors
Editors
Editors
Editors
Editors
Editors
Editors
Thomas Baar: The Fondue Toolset
WFRs:
context Actor inv: ... context Class inv: ...
Thomas Baar: The Fondue Toolset
Thomas Baar: The Fondue Toolset
Pre/Post-Spec
Animator Sequence
Ini-State Control-Info
Purpose:
High-level Programming Language (Executable UML)
Thomas Baar: The Fondue Toolset
a:A
att = 20
a:A
att = 1
a:A
att = 2
a:A
att = 3
a:A
att = 4
Thomas Baar: The Fondue Toolset
– Post-state specifications must have only one solution
for given pre-state
– Specification style is (mainly) adopted in B (mainly:
non-deterministic specification are made explicit by usage of non-deterministic constructs)
– OCL-dialect OCLScript attempts something similar
Thomas Baar: The Fondue Toolset
1) Compute all solutions for post-state spec 2) Next state is chosen (by user or automatically)
Approach of B.Legeard in BZTT: UML PROLOG Constraint- Solver UML2PROLOG SetOfPostStates
Thomas Baar: The Fondue Toolset
Results
Thomas Baar: The Fondue Toolset
Future work