SlideShare una empresa de Scribd logo
1 de 95
Descargar para leer sin conexión
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
Stolen from Wikipedia
Stolen from Wikipedia
Stolen from Wikipedia
Multi-view
Function




            System

Structure              Behavior
UCs




            System

Structure            Behavior
UCs




      System

CDs            Behavior
UCs




      System

CDs            STDs
UCs

SDs

      System

CDs            STDs
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?
Manual is hard




                 Photo by TB2011
Generating models from others
Problem?
Manual is hard




                 Photo by TB2011
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
Stolen from Eiffel
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
Initial State
S0        S1     S2   …   G
States
S0   S1   S2     …      G
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        Formal
                              …
Requirements   Requirements
Informal        Formal
                              …
Requirements   Requirements
Planning Messages in Sequence Diagrams
and Analyzing the Consistency of Use Cases
  and Class Diagrams Automatically using
            Design by Contract
…</presentation>
  <questions>…

Más contenido relacionado

La actualidad más candente

Master Thesis, Preliminary Defense
Master Thesis, Preliminary DefenseMaster Thesis, Preliminary Defense
Master Thesis, Preliminary Defense
Jenkins Macedo
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense Presentation
Christian Glahn
 
Engineering design process
Engineering design processEngineering design process
Engineering design process
Kawaldeep Singh
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
Tech_MX
 
160155061 project-monitoring-control
160155061 project-monitoring-control160155061 project-monitoring-control
160155061 project-monitoring-control
eidalin95
 

La actualidad más candente (20)

ESL 17.3.2-17.4: Graphical Lasso and Boltzmann Machines
ESL 17.3.2-17.4: Graphical Lasso and Boltzmann MachinesESL 17.3.2-17.4: Graphical Lasso and Boltzmann Machines
ESL 17.3.2-17.4: Graphical Lasso and Boltzmann Machines
 
Master Thesis, Preliminary Defense
Master Thesis, Preliminary DefenseMaster Thesis, Preliminary Defense
Master Thesis, Preliminary Defense
 
Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?
 
Prepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense PresentationPrepare your Ph.D. Defense Presentation
Prepare your Ph.D. Defense Presentation
 
Engineering design process
Engineering design processEngineering design process
Engineering design process
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Lecture 1. general introduction to project management
Lecture 1. general introduction to project management Lecture 1. general introduction to project management
Lecture 1. general introduction to project management
 
Project Scope Statement
Project Scope StatementProject Scope Statement
Project Scope Statement
 
4 a. Project management - network analysis
4 a. Project management - network analysis4 a. Project management - network analysis
4 a. Project management - network analysis
 
Introduction to Engineering Design
Introduction to Engineering DesignIntroduction to Engineering Design
Introduction to Engineering Design
 
Collaboration in design
Collaboration in designCollaboration in design
Collaboration in design
 
Second semester (pokhara university)
Second semester (pokhara university)Second semester (pokhara university)
Second semester (pokhara university)
 
Primavera EPPM case study - Oracle Primavera P6 Collaborate 14
Primavera EPPM case study - Oracle Primavera P6 Collaborate 14Primavera EPPM case study - Oracle Primavera P6 Collaborate 14
Primavera EPPM case study - Oracle Primavera P6 Collaborate 14
 
01 pmp introduct to project management exam
01 pmp introduct to project management exam01 pmp introduct to project management exam
01 pmp introduct to project management exam
 
PhD Qualifying Exam Slides
PhD Qualifying Exam SlidesPhD Qualifying Exam Slides
PhD Qualifying Exam Slides
 
Engineering design process
Engineering design processEngineering design process
Engineering design process
 
160155061 project-monitoring-control
160155061 project-monitoring-control160155061 project-monitoring-control
160155061 project-monitoring-control
 
01 02&03 introduction to pmp-mao
01 02&03 introduction to pmp-mao01 02&03 introduction to pmp-mao
01 02&03 introduction to pmp-mao
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overview
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 

Similar a My M.S. Thesis Proposal

TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
Motaz El-Saban
 

Similar a My M.S. Thesis Proposal (20)

Planning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram GenerationPlanning-Based Approach for Automating Sequence Diagram Generation
Planning-Based Approach for Automating Sequence Diagram Generation
 
The secret life of rules in Software Engineering
The secret life of rules in Software EngineeringThe secret life of rules in Software Engineering
The secret life of rules in Software Engineering
 
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
Towards_Blended_Modeling_and_Simulation_of_DevOps_Processes_The_Keptn_Case_St...
 
AUTODESK 2017
AUTODESK 2017 AUTODESK 2017
AUTODESK 2017
 
Senjuti Kundu - Resume
Senjuti Kundu - ResumeSenjuti Kundu - Resume
Senjuti Kundu - Resume
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge Graph
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
UML Generator (NCC18)
UML Generator (NCC18)UML Generator (NCC18)
UML Generator (NCC18)
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
Object Oriented Programming Implementation of Scalar, Vector, and Tensor Vari...
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
 
Software Systems as Cities: a Controlled Experiment
Software Systems as Cities: a Controlled ExperimentSoftware Systems as Cities: a Controlled Experiment
Software Systems as Cities: a Controlled Experiment
 
TechnicalBackgroundOverview
TechnicalBackgroundOverviewTechnicalBackgroundOverview
TechnicalBackgroundOverview
 
The Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- ReduxThe Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- Redux
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Approaches to software model inconsistency management
Approaches to software model inconsistency managementApproaches to software model inconsistency management
Approaches to software model inconsistency management
 
Resume
ResumeResume
Resume
 

Último

Último (20)

Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

My M.S. Thesis Proposal