1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Design by Contract.
Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
Semantics Static semantics Dynamic semantics attribute grammars
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
Formal Specification of Topological Relations Erika Asnina, Janis Osis and Asnate Jansone Riga Technical University The 10th International Baltic Conference.
David Evans CS655: Programming Languages University of Virginia Computer Science Lecture 19: Minding Ps & Qs: Axiomatic.
Partial correctness © Marcelo d’Amorim 2010.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Software Testing and Quality Assurance
1 COMP 144 Programming Language Concepts Felix Hernandez-Campos Lecture 12: Semantic Analysis COMP 144 Programming Language Concepts Spring 2002 Felix.
1 Advanced Material The following slides contain advanced material and are optional.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 4: The Interface of a Class.
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 4: The Interface of a Class.
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
 2003 CSLI Publications Ling 566 Oct 16, 2007 How the Grammar Works.
1 Advanced Material The following slides contain advanced material and are optional.
Software Testing and Quality Assurance
Well-cooked Spaghetti: Weakest-Precondition of Unstructured Programs Mike Barnett and Rustan Leino Microsoft Research Redmond, WA, USA.
Chair of Software Engineering Automatic Verification of Computer Programs.
Describing Syntax and Semantics
1 Case Study: Starting the Student Registration System Chapter 3.
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Tammy Dahlgren with Tom Epperly, Scott Kohn, and Gary Kumfert Center for Applied Scientific Computing Common Component Architecture Working Group October.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Extended Static Checking for Java  ESC/Java finds common errors in Java programs: null dereferences, array index bounds errors, type cast errors, race.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
A language to describe software texture in abstract design models and implementation.
CS 363 Comparative Programming Languages Semantics.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Lab 5 CPIT 250 System Analysis and Design.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke Presented by: Xia Cheng.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 ESC/Java2 Extended Static Checker for Java Dat ă primire laborator: Lab 1 Dat ă predare laborator:
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
Faithful mapping of model classes to mathematical structures Ádám Darvas ETH Zürich Switzerland Peter Müller Microsoft Research Redmond, WA, USA SAVCBS.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Analysis Classes Unit 5.
Design by Contract Jim Fawcett CSE784 – Software Studio
Design by Contract Jim Fawcett CSE784 – Software Studio
SysML v2 Formalism: Requirements & Benefits
Unified Modeling Language
Arab Open University 2nd Semester, M301 Unit 5
TIM 58 Chapter 8: Class and Method Design
INFS 6225 – Object-Oriented Systems Analysis & Design
AdaCore Technologies for Cyber Security
Multi-view Consistency Checking of BON Software Description Diagrams
Ling 566 Oct 14, 2008 How the Grammar Works.
Java Modeling Language (JML)
Presentation transcript:

1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004

2 Overview Model-Driven Development & Models Contractual Consistency – The Problem Previous Work Current Work – Semantics of Dynamic Diagrams BON Development Tool – BDT Contribution and Future Work

3 MDD & Models Model-Driven Development proposes development based on models Several views can be used to describe system Models must be executable, and views consistent Contributions  Automated consistency checking  Symbolic model execution

4 Contractual Consistency – Example SD contains contracts only – No implementation Want to create account and withdraw $200 make sets (balance = 0), but precondition of withdraw requires (balance >= 200)  Contract Violation

5 Contractual Consistency SD and DD are the two views involved SD contains contracts only – no implementation Contracts are pre, postconditions and class invariants Views contractually consistent if messages in DD corresponding to routines in SD can be executed without contract violations

6 Previous Work Problem of consistency with contracts not extensively discussed –informal approaches only [Paige 2002] first to formalize problem Cites 4 criteria for checking consistency Last criteria is contractual consistency We add additional constraints for implementation

7 Semantics of Dynamic Diagram Message m i in DD is mapped to a feature r i in the target class in SD Routine takes system from one system state constraint (SSC i ) to the next (SSC i+1 ) SSC represents a constraint on the attributes in the system SSC i+1 constructed using SSC i and contracts of r i

8 Current Contribution - 1 Check Contractual Consistency using Symbolic Model Execution Define Symbolic Execution Step as execution of one message in DD successful iff Precondition of routine is satisfied SSC is not a contradiction

9 Current Contribution - 2 Views contractually consistent iff No implementation provided Require use of Theorem Prover Use Simplify from ESC/Java Automatic and Fast Returns counter example

10 BON Development Tool - BDT Static Diagramming Tool Construct Class diagrams Include contracts

11 BON Development Tool - BDT Dynamic Diagramming Tool Draw objects and messages Assign messages to routines from SD

12 BON Development Tool - BDT Consistency Tool Specify an initial state constraint Contract violation results in counter example User can use counter example to make changes to contracts, messages

13 Comparison to Tool of [Gao2004] Gao’s Tool  Test drivers and implementation required  Checks one or a few execution paths  Complete (for that execution) BDT  Automatic and no implementation required  All execution paths starting in a state constraint are checked  Incomplete since working with a theorem prover

14 Contribution First contractual consistency tool without the need to specify implementation Early symbolic execution of partial models Can use dynamic (collaboration) diagrams Use contracts only – higher level than MDD State Chart Action Languages Tool is user friendly  Simplify works automatically under the hood  Simplify works quickly

15 Future Work Work out theory for sub-messages in DD BDT  Add invariants and inheritance  Support quantifications  Combine BDT with EDT for complete code generation  Add support for program verification – using ERC

16 Thank You