the fondue toolset
play

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:


  1. The Fondue Toolset Thomas Baar 3 rd International KeY-Workshop Königswinter near Bonn June 8, 2004

  2. Thomas Baar: The Fondue Toolset 2 Outline ● What is Fondue? ● Toolset – Architecture – Current State – Current Problems

  3. Thomas Baar: The Fondue Toolset 3 Fondue -- Overview ● Software development methodology inspired by FUSION ● Notation is similar to UML ● Advocates formal specification in Analysis phase ● Applied by students in projects ● Tested by developers of commercial software Toolset: Concentrates on Analysis phase

  4. Thomas Baar: The Fondue Toolset 4 Fondue -- Models Requirements Models Domain Model Use Case Model Analysis Environment Model Models Behavior Model Protocol Model Concept Model Operation Model Design Design A B A depends on B: a change in B induces a change in A

  5. Thomas Baar: The Fondue Toolset 5 Example - DrinkVendingMachine 2 . 9 0 1 2 2 3

  6. Thomas Baar: The Fondue Toolset 6 DVM – Environment Model takeMoney giveDrink * returnMoney releaseMoney isEmpty PhysicalShelf isReplenished insertMoney MoneyBox boxIsFull selectDrink boxIsNotFull * ejectMoney ShelfSelectBtn DVM (Controller) EjectBtn displayMoney insufficientFunds drinkNotAvailable outOfService setPriceOfShelf InformationPanel PricePanel

  7. Thomas Baar: The Fondue Toolset 7 DVM – Concept Model * <<system>> 1 1 DVM (Controller) 1 outOfOrder: Boolean 1 PhysicalShelf «id» MoneyBox collectingMoney: Boolean amountRegistered: Money = 0 * 1 1 1 Shelf * 1 «id» 1 1 isEmpty: Boolean ShelfSelectBtn EjectBtn drinkPrice: Money 1 1 1 1 1 1 PricePanel InformationPanel

  8. Thomas Baar: The Fondue Toolset 8 DVM -- ProtocolModel DVM isEmpty isReplenished setPriceOfShelf Ready insertMoney ejectMoney boxIsNotFull selectDrink CollectingMoney boxIsFull isEmpty insertMoney isReplenished selectDrink setPriceOfShelf OutOfOrder insertMoney

  9. Thomas Baar: The Fondue Toolset 9 DVM -- OperationModel

  10. Thomas Baar: The Fondue Toolset Fondue Toolset -- Overview ● Support for Fondue-Notation – Editors for Concept-, Environment-, Protocol-Model (ensure strict compliance to Fondue-MM) – Cross-check for syntactical correctness (Certifier) – Editor for Operation-Model (OCL) ● Animation of Specification – Display of system state (object diagram) ● (Test Case Generation)

  11. Thomas Baar: The Fondue Toolset Fondue Toolset -- Architecture CaseTool (Together) FondueToolset FondueToolset Editors Editors Editors Editors Editors Editors Editors Editors Certifier Animator TestManager - Concept - Concept - Concept - Concept - Concept - Concept - Concept - Concept - Environment - Environment - Environment - Environment - Environment - Environment - Environment - Environment - Protocol - Protocol - Protocol - Protocol - Protocol - Protocol - Protocol - Protocol - Operation - Operation - Operation - Operation - Operation - Operation - Operation - Operation - Object - Object - Object - Object - Object - Object - Object - Object Fondue-specific Repository (MDR)

  12. Thomas Baar: The Fondue Toolset Notation – Defined by Metamodel WFRs: context Actor inv: ... context Class inv: ...

  13. Thomas Baar: The Fondue Toolset Notation – Implemented by Editor

  14. Thomas Baar: The Fondue Toolset Animator Pre/Post-Spec Purpose: Ini-State ● Satisfiability-Check Control-Info ● Reality-Check ● Implementation of UML as Animator High-level Programming Language (Executable UML) Sequence of States

  15. Thomas Baar: The Fondue Toolset Animator – Non-Determinism a:A att = 1 a:A att = 2 ? a:A a:A att = 3 a:A att = 20 att = 4

  16. Thomas Baar: The Fondue Toolset Non-Deterministic Animation-- Solution I Forbid non-deterministic specifications – 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 ✔

  17. Thomas Baar: The Fondue Toolset Non-Deterministic Animation-- Solution II Choose post-state among current possibilities 1) Compute all solutions for post-state spec 2) Next state is chosen (by user or automatically) i. Choose-operation is backtrackable Approach of B.Legeard in BZTT: UML SetOfPostStates PROLOG Constraint- UML2PROLOG Solver

  18. Thomas Baar: The Fondue Toolset Summary Results ● Concept-,Environment-Editor compliant to MM ● Fondue-specific version of OCL-Editor ● Fondue-specific repository ● Check of well-formedness rules with certifier ● Stand-alone object editor

  19. Thomas Baar: The Fondue Toolset Summary Future work ● Integration (ObjectEditor, import, OCLE, ...) ● Refined Metamodel (including layout information) ● Parsing of OCL (requires Fondue2UML preprocessing) ● Animation ● Translation into format for constraint solver ● Adaptation of standard-solver ??? ● Synchronization with Protocol model ● Front-end for refactoring application

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend