Multi-view Consistency Checking of BON Software Description Diagrams - PowerPoint PPT Presentation

About This Presentation
Title:

Multi-view Consistency Checking of BON Software Description Diagrams

Description:

Title: PowerPoint Presentation Author: ygao Last modified by: JSO Created Date: 2/16/2003 4:56:51 PM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 27
Provided by: ygao8
Category:

less

Transcript and Presenter's Notes

Title: Multi-view Consistency Checking of BON Software Description Diagrams


1
Multi-view Consistency Checking of BON Software
Description Diagrams
Presented By Yan Gao July 19, 2004
2
Outline
  • Introduction
  • BON BON metamodel
  • Constraints for multi-view consistency checking
  • The BCCT tool
  • New Design Method CDD
  • Conclusion Future work

3
Introduction
4
Introduction
Model Consistency
A
5
Introduction
Model Consistency
Single-view Consistency
6
Approaches to multi-view consistency
  • Mainly Informal e.g. Glintz 2000
  • Minimize overlap
  • Systematically cross-reference corresponding
    information
  • Formal
  • Paige and Ostroff
  • Includes syntactic and contractual consistency
  • Based on a metamodel
  • ROOM42002 UKTEST 2003

7
Approaches to multi-view consistency
  • Krishnan 2000 extends ROOM4 to UML and OCL
  • Our work
  • Based on ROOM4 UKTEST
  • Modify the metamodel
  • Develop prototype tool
  • First tool to formally check multi-view
    consistency with contracts

8
BON BON Metamodel
Model Language
Notation
Metamodel
9
BON
ROOT_CLASS (root)
CUSTOMER (customer)
1
ROOT_CLASS
CUSTOMER
c1
3
2,4
account
customer
2.2
a1
ACCOUNT (account)
t
DEPOSIT_TRANSACTION (deposit_transaction)
TRANSACTION
ACCOUNT
2.1
3.1
transactionList..
TRANSACTION (transaction)
DEPOSIT_TRANSACTION
Dynamic Diagram (DD)
Static Diagram (SD)
10
BON Metamodel
11
Constraints for multi-view consistency checking
  • consistency(v1,v2)
  • object-class
  • message-feature
  • messages-invokable
  • contractual-consistency

12
Object-Class
a
b
A
B
Each object in the Dynamic Diagram (e.g. a) has a
corresponding class in the Static Diagram (e.g. A)
13
Message-Feature
m
A (a)
B (b)
A f1 is do b.f2 end
B f2 is do end
b
f1
f2
Each message, such as m in the DD, has to be
invoked by a routine f1 in the source class A in
the SD which makes a call to feature f2 in the
target class B.
14
Contractual-consistency
B (b)
m1, m2
A (a)
  • Check that there is at least one execution of the
    message sequence m1 m2 in the DD that can be
    executed without the contracts in the SD being
    violated, e.g. r1.post implies r2.pre.
  • Generate code automatically and run TestDriver
  • Consistent if TestDriver runs without contract
    violations.

15
Messages-invokable
Specified depth algorithm
16
Algorithms for multi-view consistency checking
Algorithm 4-1
Algorithm 4-2
Algorithm 5-4 (Specified Depth)
The BON Consistency Checking Tool
Algorithm 4-3 (generate code)
17
The BCCT Tool
  • A BON Diagram Editor.
  • A BON Diagram Parser.
  • A Consistency Checker.
  • A Code Generator.

18
The BCCT tool
19
The BCCT Tool
20
The BCCT Tool
21
The BCCT Tool
22
The BCCT Tool
23
Consistency Driven Development
  • Construct some small part of the model
  • Run the consistency checks (which will usually
    fail as the model is incomplete or inconsistent)
  • Refactor the model to get the consistency check
    to pass, and re-run the checks.

24
Conclusion
  • Formalized the notion consistency(v1,v2)
  • Developed algorithms to check consistency
  • Incorporated these algorithms into BCCT
  • A graphical editor
  • Check Syntactic consistency automatically
  • Translate the model to executable Eiffel Code
  • A new design method CDD

25
Future Work
  • Automatic generation of testdrivers
  • Specified Depth Algorithm
  • BCCT tool

26
Thanks
Write a Comment
User Comments (0)
About PowerShow.com