The Fondue Toolset Thomas Baar 3 rd International KeY-Workshop - - PowerPoint PPT Presentation

the fondue toolset
SMART_READER_LITE
LIVE PREVIEW

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:


slide-1
SLIDE 1

Thomas Baar

The Fondue Toolset

3rd International KeY-Workshop Königswinter near Bonn June 8, 2004

slide-2
SLIDE 2

Thomas Baar: The Fondue Toolset 2

Outline

  • What is Fondue?
  • Toolset

– Architecture – Current State – Current Problems

slide-3
SLIDE 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

slide-4
SLIDE 4

Thomas Baar: The Fondue Toolset 4

Fondue -- Models

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

slide-5
SLIDE 5

Thomas Baar: The Fondue Toolset 5

Example - DrinkVendingMachine

2 . 9 0

1 2 2 3

slide-6
SLIDE 6

Thomas Baar: The Fondue Toolset 6

DVM – Environment Model

PhysicalShelf ShelfSelectBtn InformationPanel MoneyBox giveDrink selectDrink displayMoney insufficientFunds drinkNotAvailable

  • utOfService

takeMoney returnMoney releaseMoney insertMoney boxIsFull boxIsNotFull EjectBtn ejectMoney setPriceOfShelf PricePanel DVM (Controller) isEmpty isReplenished

* *

slide-7
SLIDE 7

Thomas Baar: The Fondue Toolset 7

DVM – Concept Model

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)

  • utOfOrder: Boolean

collectingMoney: Boolean amountRegistered: Money = 0

slide-8
SLIDE 8

Thomas Baar: The Fondue Toolset 8

DVM -- ProtocolModel

DVM

Ready CollectingMoney OutOfOrder

isEmpty isReplenished setPriceOfShelf insertMoney insertMoney selectDrink ejectMoney selectDrink boxIsFull boxIsNotFull isEmpty isReplenished setPriceOfShelf insertMoney

slide-9
SLIDE 9

Thomas Baar: The Fondue Toolset 9

DVM -- OperationModel

slide-10
SLIDE 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)
slide-11
SLIDE 11

Thomas Baar: The Fondue Toolset

Fondue Toolset -- Architecture

CaseTool (Together) FondueToolset Fondue-specific Repository (MDR) FondueToolset Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Animator TestManager Certifier Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object

Editors

  • Concept
  • Environment
  • Protocol
  • Operation
  • Object
slide-12
SLIDE 12

Thomas Baar: The Fondue Toolset

Notation – Defined by Metamodel

WFRs:

context Actor inv: ... context Class inv: ...

slide-13
SLIDE 13

Thomas Baar: The Fondue Toolset

Notation – Implemented by Editor

slide-14
SLIDE 14

Thomas Baar: The Fondue Toolset

Animator

Pre/Post-Spec

Animator Sequence

  • f States

Ini-State Control-Info

Purpose:

  • Satisfiability-Check
  • Reality-Check
  • Implementation of UML as

High-level Programming Language (Executable UML)

slide-15
SLIDE 15

Thomas Baar: The Fondue Toolset

Animator – Non-Determinism

a:A

att = 20

a:A

att = 1

a:A

att = 2

a:A

att = 3

a:A

att = 4

?

slide-16
SLIDE 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

slide-17
SLIDE 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 PROLOG Constraint- Solver UML2PROLOG SetOfPostStates

slide-18
SLIDE 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
slide-19
SLIDE 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