My M.S. Thesis Proposal

Post on 24-Jan-2015

983 views 3 download

description

This is the slideshow I used to present my M.S. thesis proposal, which is tentatively titled "Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases and Class Diagrams Automatically using Design by Contract."

transcript

M.S. Thesis Proposal

Yaser Sulaiman

Road map

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

!

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

Unified Modeling Language

Multi-view

System

Function

Behavior Structure

System

UCs

Behavior Structure

System

UCs

Behavior CDs

System

UCs

STDs CDs

System

UCs

STDs CDs

SDs

Developed independently

Detecting inconsistencies

Cross-referencing

Do it AEAP

“The longer the defect stays in the software food chain, the more damage it causes further down the chain.”

—Steve McConnell

Photo by catface3

Problem?

Generating models from others

Problem?

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

Automate!

Photo by mkudel

How?

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

Combine AI planning & DbC

Objectives

Investigate, formulate, & instantiate

Investigate, formulate, & instantiate

Investigate, formulate, & instantiate

Investigate, formulate, & instantiate

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

Correctness formulae

aka Hoare triples

𝑃 𝐴 {𝑄}

From a mathematical notation to a programming construct

Preconditions, postconditions, & invariants

The C in DbC

Photo by Pioneer Library System

Obligations & benefits for suppliers & their clients

Separation of responsibilities

Photo by Metro Transportation Library and Archive

Examples

sqrt(x:REAL): REAL require x >= 0 do .. end

pop(): T require not empty do .. ensure not full count = old count - 1 end

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

Planning

Photo by Jeff the Trojan

S0 S1 S2 … G

S0 S1 S2 … G

Initial State

S0 S1 S2 … G

States

S0 S1 S2 … G

Actions

S0 S1 S2 … G

Goal

Planning languages

Stanford Research Institute Problem Solver

Action Description Language

Preconditions & effects

Striking similarity

A method in a SD*

↔ An action in a plan

* DbC’ed

State-space search

S0 … G

S0 … G

“Are we there yet?”

Photo by Der Bettle

Heuristics

Literature Survey

Photo by cj&erson

2 groups

Consistency analysis

Automatic model generation

Consistency analysis

Automatic model generation

Consistency Checking of UML Requirements

Li, Liu, and He (2005)

J. He coauthored Unifying Theories of Programming with C. Hoare

Photo by glingl

Consistency analysis

Automatic model generation

A Systematic Review of Transformation Approaches

between User Requirements and Analysis Models

Yue, Briand, and Labiche (2010)

Automatically Deriving UML Sequence Diagrams from Use Cases

Yue, Briand, and Labiche (2010)

Research Questions

1

How can SDs be automatically generate from UCs and a CD that

were DbC’ed?

2

How can that process be used to analyze the consistency between

UCs and the CD?

3

Which contract language should be used to enable those automated

processes?

4

How do the automatically-generated SDs compare to the

manually-generated ones?

Object Constrain Language

UML DbC OCL

XML Metadata Interchange

Limitations

Photo by Rice and D

DbC

Planning techniques & languages

Formal methods & specs

Informal Requirements

Formal Requirements

Informal Requirements

Formal Requirements

Planning Messages in Sequence Diagrams and Analyzing the Consistency of Use Cases

and Class Diagrams Automatically using Design by Contract

…</presentation> <questions>…