1 / 26

Multi-view Consistency Checking of BON Software Description Diagrams

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

anila
Télécharger la présentation

Multi-view Consistency Checking of BON Software Description Diagrams

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. Multi-view Consistency Checking of BON Software Description Diagrams Presented By: Yan Gao July 19, 2004

  2. Outline • Introduction • Conclusion & Future work • BON & BON metamodel • Constraints for multi-view consistency checking • The BCCT tool • New Design Method: CDD

  3. Introduction

  4. Single-view Consistency B X C Introduction Model Consistency A

  5. Multi-view Consistency Contractual Consistency Syntactic Consistency 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 • ROOM4[2002] 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 c1 CUSTOMER 3 2,4 account customer 2.2 a1 ACCOUNT (account) t DEPOSIT_TRANSACTION (deposit_transaction) TRANSACTION ACCOUNT 2.1 3.1 transaction:List[..] TRANSACTION (transaction) DEPOSIT_TRANSACTION Dynamic Diagram (DD) Static Diagram (SD)

  10. BON Metamodel

  11. SyntacticConsistency Constraints for multi-view consistency checking • consistency(v1,v2) • messages-invokable • object-class • message-feature • 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 B (b) A (a) 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. A B 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.postimpliesr2.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; • Refactor the model to get the consistency check to pass, and re-run the checks. • Run the consistency checks (which will usually fail as the model is incomplete or inconsistent);

  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

More Related