Refining UML specifications. - the STAIRS method. Ragnhild Kobro Runde. Joint work with Ketil Stølen and Øystein Haugen. Ragnhild Kobro Runde
|
|
- Alaina Norris
- 5 years ago
- Views:
Transcription
1 Refining UML specifications - the STAIRS method Joint work with Ketil Stølen and Øystein Haugen SARDAS-seminar / Refining UML specifications / Slide 1
2 Outline Introduction to sequence diagrams. What is refinement? The pragmatics of creating sequence diagrams. The pragmatics of refining sequence diagrams. Summary. SARDAS-seminar / Refining UML specifications / Slide 2
3 Example: Appointment system MakeAppointment CancelAppointment DecideAppTime SARDAS-seminar / Refining UML specifications / Slide 3
4 UML sequence diagrams sd CancelAppointment Message Send-event :Client :AppSystem cancel(appointment) appointmentcancelled() appointmentsuggestion(time) yes() appointmentmade() Lifeline (instance) Receive-event Partial ordering of events: - The send event is ordered before the corresponding receive event. - Events on the same lifeline are ordered from the top and downwards. CancelAppointment specifies two traces. SARDAS-seminar / Refining UML specifications / Slide 4
5 Referencing sd DecideAppTime :Client :AppSystem appointmentsuggestion(time) yes() appointmentmade() SARDAS-seminar / Refining UML specifications / Slide 5
6 UML 2.x operators sd D2 :L1 :L2 a loop {0...4} b SARDAS-seminar / Refining UML specifications / Slide 6
7 Sequence diagrams as example runs sd CancelAppointment :Client :AppSystem cancel(appointment) appointmentcancelled() appointmentsuggestion(time) yes() appointmentmade() A sequence diagram is a partial description! Positive traces represent valid system behaviour. Negative traces represent invalid system behaviour. All remaining traces are called inconclusive. Positive Inconclusive Negative SARDAS-seminar / Refining UML specifications / Slide 7
8 Outline Introduction to sequence diagrams. What is refinement? The pragmatics of creating sequence diagrams. The pragmatics of refining sequence diagrams. Summary. SARDAS-seminar / Refining UML specifications / Slide 8
9 Refinement Refinement is a development step, adding more information to the model. Step-wise refinement. Compositional refinement. SARDAS-seminar / Refining UML specifications / Slide 9
10 Other changes Not all changes are refinements! - Correcting errors. - Handling changed requirements. - Describing the system addressing a different concern, i.e. from a different viewpoint. SARDAS-seminar / Refining UML specifications / Slide 10
11 Outline Introduction to sequence diagrams. What is refinement? The pragmatics of creating sequence diagrams. - The pragmatics of alternative behaviour - The pragmatics of guards - The pragmatics of negative behaviour The pragmatics of refining sequence diagrams. Summary. SARDAS-seminar / Refining UML specifications / Slide 11
12 Alternative behaviour sd DecideAppTime :Client :AppSystem appointmentsuggestion(time) xalt yes() appointmentmade() no() noappointment() alt similar traces, giving implementation freedom xalt traces that must all be present in the system SARDAS-seminar / Refining UML specifications / Slide 12
13 Alternative behaviour (2) SARDAS-seminar / Refining UML specifications / Slide 13
14 Guards sd CancelAppointment :Client :AppSystem cancel(appointment) xalt [ appointment < now + 24h ] errormessage() [ else ] appointmentcancelled() ref DecideAppTime Use guards to constrain the situations in which the different alternatives are positive. Traces with a false guard are negative. Always make sure that for each alternative, the guard is sufficiently general to capture all possible situations in which the described traces are positive. SARDAS-seminar / Refining UML specifications / Slide 14
15 Guards (2) sd MakeAppointment :Client :AppSystem alt [ true ] needapp() [ date today ] needapp(date) [ 7 hour 17 ] needapp(hour) ref DecideAppTime In an alt-construct, make sure that the guards are exhaustive. If doing nothing is valid, specify this by using the empty diagram, skip. SARDAS-seminar / Refining UML specifications / Slide 15
16 Negative behaviour To effectively constrain the implementation, the specification should include a reasonable set of negative traces. Use veto when the empty trace (i.e. doing nothing) should be positive, as when specifying a negative message in an otherwise positive scenario. Use refuse when specifying that one of the alternatives in an altconstruct represents negative traces. Use assert on an interaction fragment when all possible positive traces for that fragment have been described. SARDAS-seminar / Refining UML specifications / Slide 16
17 Outline Introduction to sequence diagrams. What is refinement? The pragmatics of creating sequence diagrams. The pragmatics of refining sequence diagrams. Summary. SARDAS-seminar / Refining UML specifications / Slide 17
18 Refinement in STAIRS Positive Supplementing Inconclusive Negative Narrowing SARDAS-seminar / Refining UML specifications / Slide 18
19 Supplementing sd DecideAppTime :Client :AppSystem appointmentsuggestion(time) xalt yes() appointmentmade() no() noappointment() Use supplementing to add positive or negative traces to the model. All of the original positive traces must remain positive and all of the original negative traces must remain negative. Do not use supplementing on the operand of an assert. SARDAS-seminar / Refining UML specifications / Slide 19
20 Narrowing sd MakeAppointment sd MakeAppointment :Client :AppSystem :Client :AppSystem alt [ true ] needapp() [ date today ] needapp(date) [ 7 hour 17 ] needapp(hour) alt [ true ] needapp() [ date today ] needapp(date) refuse needapp(hour) ref DecideAppTime ref DecideAppTime Use narrowing to remove underspecification by redefining positive traces as negative. All original negative traces must remain negative. SARDAS-seminar / Refining UML specifications / Slide 20
21 Narrowing (2) sd CancelAppointment :Client :AppSystem cancel(appointment) xalt [ appointment < now + 24h ] errormessage() [ else ] appointmentcancelled() ref DecideAppTime Guards may be added to an alt/xalt-construct as a legal narrowing step. Guards may be narrowed, i.e. the refined condition must imply the original one. SARDAS-seminar / Refining UML specifications / Slide 21
22 Outline Introduction to sequence diagrams. What is refinement? The pragmatics of creating sequence diagrams. The pragmatics of refining sequence diagrams. Summary. SARDAS-seminar / Refining UML specifications / Slide 22
23 Summary Take special care when specifying - alternative behaviours - negative behaviours Refinement means adding more information - supplementing: new positive/negative traces - narrowing: positive traces redefined as negative These refinement notions enable - step-wise refinement - compositional refinement SARDAS-seminar / Refining UML specifications / Slide 23
24 Evaluation Formal proofs - Transitivity. - Monotonicity. Other examples/cases - Automatic teller machine. - Vending machine with tea/coffee. - Network communication. - Games: tic-tac-toe, flipping a coin, throwing a dice. - Gambling machine. - BuddySync: automatically matching service providers with users of those services. SARDAS-seminar / Refining UML specifications / Slide 24
25 Thank you! SARDAS-seminar / Refining UML specifications / Slide 25
STAIRS Understanding and Developing Specifications Expressed as UML Interaction Diagrams
STAIRS Understanding and Developing Specifications Expressed as UML Interaction Diagrams Doctoral Dissertation by Ragnhild Kobro Runde Submitted to the Faculty of Mathematics and Natural Sciences at the
More informationTime Exceptions in Sequence Diagrams
in Sequence Diagrams Oddleif Halvorsen, Ragnhild Kobro Runde, Øystein Haugen 02-Oct-2006 MARTES 2006 at MoDELS 2006 1 Summary Introducing time exceptions improve the completeness of sequence diagram descriptions
More informationSemantics Preservation of Sequence
Semantics Preservation of Sequence Diagram Aspects Jon Oldevik, Øystein Haugen Department of Informatics, University of Oslo, Norway SINTEF Information and Communication Technology, Norway jonold at ifi.uio.no
More informationUnified Modeling Language
Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,
More informationObject-Interaction Diagrams: Sequence Diagrams UML
Object-Interaction Diagrams: Sequence Diagrams UML Communication and Time In communication diagrams, ordering of messages is achieved by labelling them with sequence numbers This does not make temporal
More informationUML Essentials Dynamic Modeling
UML Essentials Dynamic Modeling Excerpts from: Object Oriented Software Engineering by Lethbridge/Laganière and Applying UML and Patterns by Larman, C. Dynamic model (diagram) elements (model run-time)
More informationThe learning objectives of this chapter are the followings. At the end of this chapter, you shall
Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More informationAssert and negate revisited: Modal semantics for UML sequence diagrams
Softw Syst Model (2008) 7:237 252 DOI 10.1007/s10270-007-0054-z REGULAR PAPER Assert and negate revisited: Modal semantics for UML sequence diagrams David Harel Shahar Maoz Received: 26 August 2006 / Revised:
More information3: Modeling Behavior with UML Sequence Diagrams
Outline UML Design Supplement 3: Modeling Behavior with UML Sequence Diagrams Introduction Basic notation Alternating paths Modularity Slide adapted from Eran Toch s lecture series Specification and Analysis
More informationSoftware Specification 2IX20
Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik) Lecture 05: Interaction diagrams / Sequence diagrams This week sources Slides by Site by David Meredith, Aalborg University, DK
More informationSpecifying Precise Use Cases with Use Case Charts
Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use
More informationObject-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0
Object-Oriented Modeling Sequence Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology
More informationChapter 2, Modeling with UML: UML 2 Hightlights
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML: UML 2 Hightlights Outline for this class ü Overview of important changes in UML 2 Ø Deployment diagrams
More informationIntroduction to Unified Modelling Language (UML)
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified
More informationConsistency Checking UML Interactions and State Machines. Master thesis. UNIVERSITY OF OSLO Department of Informatics. 60 credits
UNIVERSITY OF OSLO Department of Informatics Consistency Checking UML Interactions and State Machines Master thesis 60 credits Bjørn Brændshøi (bjornbra@ifi.uio.no) 01.11.2008 Abstract As changes are made
More informationUML Behavioral Models
UML Behavioral Models Dept. of Computer Science Baylor University Some slides adapted from materials in the following sources: UMLTutorial by Dr. R. France, Lecture slides by Dr. C. Constantinides Specifying
More informationIn this case, the behavior of a single scenario
CPSC 491 UML Sequence s UML Sequence s One of many UML notations for modeling behavior A specific type of interaction diagram In this case, the behavior of a single scenario Usually a single call on an
More informationCombining Sequence Diagrams and OCL for Liveness
Electronic Notes in Theoretical Computer Science 115 (2005) 19 38 www.elsevier.com/locate/entcs Combining Sequence Diagrams and OCL for Liveness Alessandra Cavarra 1 Computing Laboratory, University of
More informationAssert and Negate Revisited: Modal Semantics for UML Sequence Diagrams
Assert and Negate Revisited: Modal Semantics for UML Sequence Diagrams David Harel dharel@weizmann.ac.il (preliminary version) The Weizmann Institute of Science, Rehovot, Israel Shahar Maoz shahar.maoz@weizmann.ac.il
More informationBehavior Modeling with UML 2.0
Behavior Modeling with UML 2.0 28-Apr-04 Haugen / Møller-Pedersen 1 UML standardization within OMG for Ericsson better tools Requirements from improved developers world-wide Ericsson UML standardization
More informationObject Interaction Sequence Diagrams
Object Interaction Sequence Diagrams Based on Chapter 9 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using UML 4 th Edition, McGraw Hill, 2010 2010 Bennett, McRobb and Farmer
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationRequirements Checking for Object-Oriented Software Design with different Unified Modelling Language (UML) notations
Requirements Checking for Object-Oriented Software Design with different Unified Modelling Language (UML) notations Use Case Notation, Sequence Diagrams, Regular Expressions and State Automata Bart Meyers
More informationSequence Diagram. r: Register s: Sale
ACS-3913 1 Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving
More informationSequence Diagram. A UML diagram used to show how objects interact. Example:
Sequence Diagram A UML diagram used to show how objects interact. Example: r: Register s: Sale makepayment() makepayment() new() : Payment The above starts with a Register object, r, receiving a makepayment
More informationCS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L
CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML
More informationOutline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants
CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions
More informationOverview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL
Overview Lecture #4: Probabilistic GCL 1 Joost-Pieter Katoen 2 3 Recursion RWTH Lecture Series on 2018 Joost-Pieter Katoen 1/31 Joost-Pieter Katoen 2/31 Dijkstra s guarded command language: Syntax Elementary
More informationMeltem Özturan
Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.
More informationCSE 403. UML Sequence Diagrams. Reading: UML Distilled Ch. 4, by M. Fowler
CSE 403 UML Sequence Diagrams Reading: UML Distilled Ch. 4, by M. Fowler These lecture slides are copyright (C) Marty Stepp, 2007. They may not be rehosted, sold, or modified without expressed permission
More informationETCS requirements specification and validation: the methodology
CONTRACT ERA/2007/ERTMS/02 Revision Date Issued/reviewed Verified Date Approved Date 1.2 16-07-08 A. Cimatti, M. Roveri, A. Susi - - - - ETCS_methodology_v_1_2.doc Page 2 of 48 Introduction...4 1. Overview
More informationUsing Choice and Junction Points in RSARTE vs RoseRT
Using Choice and Junction Points in RSARTE vs RoseRT CHOICE POINTS IN ROSE RT AND RSARTE...2 CHOICE POINTS VS JUNCTION POINTS...5 HOW CHOICE POINTS ARE IMPORTED FROM ROSERT...8 This document discusses
More informationBehaviour Diagrams UML
Behaviour Diagrams UML Behaviour Diagrams Structure Diagrams are used to describe the static composition of components (i.e., constraints on what intstances may exist at run-time). Interaction Diagrams
More informationSpecifying Precise Use Cases
Specifying Precise Use Cases Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Despite attempts to formalize
More informationObject Behaviours UML Statecharts
Object Behaviours UML Statecharts Software Requirements and Design CITS 4401 Lecture 5 Based on Ch 5 Lecture Notes by Bruegge & Dutoit Finite state machine flip switch on light off light on flip switch
More informationBOREDGAMES Language for Board Games
BOREDGAMES Language for Board Games I. Team: Rujuta Karkhanis (rnk2112) Brandon Kessler (bpk2107) Kristen Wise (kew2132) II. Language Description: BoredGames is a language designed for easy implementation
More informationModel-Based Requirements Engineering. Tutorial by Kristian Sandahl
Model-Based Requirements Engineering Tutorial 2010-02-09 by Kristian Sandahl Planned topics What are requirements? Modelling requirements in UML Requirement model traceability Non-functional software requirements
More informationTERMOS: a Formal Language for Scenarios in Mobile Computing Systems
TERMOS: a Formal Language for Scenarios in Mobile Computing Systems Hélène Waeselynck 1,2, Zoltán Micskei 3, Nicolas Rivière 1,2, Áron Hamvas 3, Irina Nitu 1,2 1 CNRS; LAAS 7 av. Colonel Roche F-31077
More informationWeek 9 Implementation
Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is
More informationSequence Diagrams. Sequence Diagrams. Version Sequence Diagrams are. History. simple powerful readable used to describe interaction sequences
Sequence Diagrams Version 020913 INF-UIT 2002 / Basic Sequence Diagrams / Slide 1 Sequence Diagrams Sequence Diagrams are simple powerful readable used to describe interaction sequences History Has been
More informationModel-Based Requirements. Engineering. Planned topics. Introduction. Process. developer. time. modelling formalisation. fuzziness.
Model-Based Requirements Engineering Tutorial 2007-02-06 by Kristian Sandahl Andreas Borg Planned topics Overview of Requirements Engineering Requirements as model entity Domain models and system models
More informationINF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines
INF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines, ØUC Arne J. Berre, UiO/SINTEF 1 Overview of lecture Sequence Diagrams What are they intended for? Where
More informationHoare Logic and Model Checking
Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Pointers Pointers and
More informationUML Sequence Diagrams
UML Sequence Diagrams Prof. Dr. Eric Dubuis Berner Fachhochschule, @ Biel Course "UML and Design Patterns" of module "Software Engineering and Design", version October 2008 BFH/TI/Software Engineering
More informationModel-based Behavioural Fuzzing. Martin Schneider (Fraunhofer FOKUS)
Model-based Behavioural Fuzzing Martin Schneider (Fraunhofer FOKUS) Outline Introduction to fuzzing Behavioural fuzzing of UML sequence diagrams Test case selection by augmenting the model Conclusions
More information6. Hoare Logic and Weakest Preconditions
6. Hoare Logic and Weakest Preconditions Program Verification ETH Zurich, Spring Semester 07 Alexander J. Summers 30 Program Correctness There are many notions of correctness properties for a given program
More informationTemporal Higher-Order Contracts
Temporal Higher-Order Contracts Tim Disney Jay McCarthy Cormac Flanagan ICFP 11 sort SortContract = sort : (List Int) (cmp : Int Int Bool) (List Int) where // sort is not re-entrant not call(sort,_)!ret-sort(,_)*
More informationBoredGames Language Reference Manual A Language for Board Games. Brandon Kessler (bpk2107) and Kristen Wise (kew2132)
BoredGames Language Reference Manual A Language for Board Games Brandon Kessler (bpk2107) and Kristen Wise (kew2132) 1 Table of Contents 1. Introduction... 4 2. Lexical Conventions... 4 2.A Comments...
More informationAlgorithm Design Techniques. Hwansoo Han
Algorithm Design Techniques Hwansoo Han Algorithm Design General techniques to yield effective algorithms Divide-and-Conquer Dynamic programming Greedy techniques Backtracking Local search 2 Divide-and-Conquer
More informationUML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus
UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting
More informationCS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML
CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence
More informationAspect oriented Software Development. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 32 Slide 1
Aspect oriented Software Development Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 32 Slide 1 Objectives To explain the principle of separation of concerns in software development To
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationComputer Programming
Computer Programming Dr. Deepak B Phatak Dr. Supratik Chakraborty Department of Computer Science and Engineering Session: Recap of Function Calls and Parameter Passing Dr. Deepak B. Phatak & Dr. Supratik
More informationUML part I. UML part I 1/41
UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure
More informationTranslating C programs using POSIX thread into CSP for refinement checking
Translating C programs using POSIX thread into CSP for refinement checking Hisabumi HATSUGAI hatsugai@principia-m.com PRINCIPIA Limited http://www.principia-m.com/ 2017 PRINCIPIA Limited 1 Pthread Model
More informationCS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML
CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence Diagrams 3. To show
More informationCS 31: Introduction to Computer Systems. 03: Binary Arithmetic January 29
CS 31: Introduction to Computer Systems 03: Binary Arithmetic January 29 WiCS! Swarthmore Women in Computer Science Slide 2 Today Binary Arithmetic Unsigned addition Subtraction Representation Signed magnitude
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationWhat's New in UML 2.0
What's New in UML 2.0 M.W.Richardson Lead Applications Engineer I-Logix UK mrichardson@ilogix.com What is UML? Unified Modeling Language Comprehensive full life-cycle 3 rd Generation modeling language
More informationUNIT 3
UNIT 3 Presentation Outline Sequence control with expressions Conditional Statements, Loops Exception Handling Subprogram definition and activation Simple and Recursive Subprogram Subprogram Environment
More informationChapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring
Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has
More informationLanguage and Tool Support for Class and State Machine Refinement in UML-B
Language and Tool Support for Class and State Machine Refinement in UML-B Mar Yah Said, Michael Butler and Colin Snook (mys05r,mjb,cfs)@ecs.soton.ac.uk School of Electronic and Computer Science Outline
More informationCombining Declarative and Procedural Views in the Specification and Analysis of Product Families FMSPLE 2013
Combining Declarative and Procedural Views in the Specification and Analysis of Product Families Maurice H. ter Beek ISTI CNR, Pisa, Italy joint work with Alberto Lluch Lafuente Marinella Petrocchi IMT,
More informationThe Sun s Java Certification and its Possible Role in the Joint Teaching Material
The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified
More informationFormal Verification and Validation of UML 2.0 Sequence Diagrams using Source and Destination of Messages
SSV 2009 Formal Verification and Validation of UML 2.0 Sequence Diagrams using Source and Destination of Messages V.Lima, C. Talhi, D. Mouheb, M. Debbabi, and L. Wang 1 Computer Security Laboratory Concordia
More information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationCS 4700: Artificial Intelligence
CS 4700: Foundations of Artificial Intelligence Fall 2017 Instructor: Prof. Haym Hirsh Lecture 8 Today Informed Search (R&N Ch 3,4) Adversarial search (R&N Ch 5) Adversarial Search (R&N Ch 5) Homework
More informationVerification Finite-state process modeling and reachability analysis
Verification Finite-state process modeling and reachability analysis Topics: Finite-state process modeling Verification through interactive simulation Concurrent composition of processes Verification through
More informationSoftware Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals
Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification
More informationSenet. Language Reference Manual. 26 th October Lilia Nikolova Maxim Sigalov Dhruvkumar Motwani Srihari Sridhar Richard Muñoz
Senet Language Reference Manual 26 th October 2015 Lilia Nikolova Maxim Sigalov Dhruvkumar Motwani Srihari Sridhar Richard Muñoz 1. Overview Past projects for Programming Languages and Translators have
More informationLecture 21 Detailed Design Dynamic Modeling with UML
Lecture 21 Detailed Design Dynamic Modeling with UML Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte November 18, 2008
More informationComputer Lab 1: Model Checking and Logic Synthesis using Spin (lab)
Computer Lab 1: Model Checking and Logic Synthesis using Spin (lab) Richard M. Murray Nok Wongpiromsarn Ufuk Topcu Calornia Institute of Technology AFRL, 25 April 2012 Outline Spin model checker: modeling
More informationIntroduction. Easy to get started, based on description of the inputs
Introduction Testing is about choosing elements from input domain. The input domain of a program consists of all possible inputs that could be taken by the program. Easy to get started, based on description
More informationUML behavior models. Kristian Sandahl
UML behavior models Kristian Sandahl 2016-09-13 2 Maintenance Validate Requirements, Verify Specification Requirements System Design (Architecture, High-level Design) Verify System Design Acceptance Test
More informationRecap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development.
L5-1 Recap : UML artefacts Actors Use Cases Use Case Diagrams Storyboards Black Box Requirements System Validation Test Cases System Test Functional Specification System Development Notes Details Signatures
More informationPROGRAM ANALYSIS & SYNTHESIS
Lecture 02 Structural Operational Semantics (SOS) PROGRAM ANALYSIS & SYNTHESIS EranYahav 1 Previously static analysis over-approximation of program behavior abstract interpretation abstraction, transformers,
More informationDistributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter
Distributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview
More informationHEURISTIC SEARCH. 4.3 Using Heuristics in Games 4.4 Complexity Issues 4.5 Epilogue and References 4.6 Exercises
4 HEURISTIC SEARCH Slide 4.1 4.0 Introduction 4.1 An Algorithm for Heuristic Search 4.2 Admissibility, Monotonicity, and Informedness 4.3 Using Heuristics in Games 4.4 Complexity Issues 4.5 Epilogue and
More informationClass Modality. Modality Types. Modality Types. Class Scope Test Design Patterns
Class Scope Test Design Patterns Testing methods in isolation is not enough Instance variables act like global variables within a class Need to test intraclass interactions Message sequences Class Modality
More informationi219 Software Design Methodology 8. Dynamic modeling 1 Kazuhiro Ogata (JAIST) Outline of lecture
i219 Software Design Methodology 8. Dynamic modeling 1 Kazuhiro Ogata (JAIST) Outline of lecture 2 Use case Use case diagram State (machine) diagram Sequence diagram Class diagram of vending machine Vending
More informationCS12020 for CGVG. Practical 2. Jim Finnis
CS12020 for CGVG Practical 2 Jim Finnis (jcf1@aber.ac.uk) This week Solution to last week and discussion Global variables and the model The Main Loop pattern States and the State Machine pattern Random
More informationAdvanced Access Control. Role-Based Access Control. Common Concepts. General RBAC Rules RBAC96
Advanced Access Control In many cases, identity is a bad criteria for authorization. We examine two modern paradigms for access control, which overcome this limitation: 1. Role-Based Access Control 2.
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour 8.1 Interaction Diagrams Interaction diagrams are used to model the
More informationIntroduction to Model Checking
Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal
More informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview
More informationBags. Chapter 1. Copyright 2012 by Pearson Education, Inc. All rights reserved
Bags Chapter 1 Copyright 2012 by Pearson Education, Inc. All rights reserved A little more about Lab 1 to take us into today's topics Carrano, Data Structures and Abstractions with Java, Second Edition,
More informationObject Oriented Software Design - I
Object Oriented Software Design - I Unit Testing Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa November 28, 2011 G. Lipari (Scuola Superiore Sant Anna) Unit Testing November
More informationCOMP30112: Concurrency Topics 5.2: Properties
COMP30112: Concurrency Topics 5.2: Properties Howard Barringer Room KB2.20: email: Howard.Barringer@manchester.ac.uk April 2008 Outline Topic 5.2: Properties Properties in general Specifying Safety Properties
More information3.0 Object-Oriented Modeling Using UML
3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:
More informationChapter Overview. More Flow of Control. Flow Of Control. Using Boolean Expressions. Using Boolean Expressions. Evaluating Boolean Expressions
Chapter 3 More Flow of Control Overview 3.1 Using Boolean Expressions 3.2 Multiway Branches 3.3 More about C++ Loop Statements 3.4 Designing Loops Copyright 2011 Pearson Addison-Wesley. All rights reserved.
More informationSTRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH
Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate
More informationHoare Logic and Model Checking
Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Introduction In the
More informationFormal Verification and Validation of UML 2.0 Sequence Diagrams using Source and Destination of Messages
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Formal Verification and Validation of UML 2.0 Sequence
More informationHardware versus software
Logic 1 Hardware versus software 2 In hardware such as chip design or architecture, designs are usually proven to be correct using proof tools In software, a program is very rarely proved correct Why?
More informationTwo Dimensional Arrays
+ Two Dimensional Arrays + Two Dimensional Arrays So far we have studied how to store linear collections of data using a single dimensional array. However, the data associated with certain systems (a digital
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationMaterial: Specification and Reasoning. Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University Press. Lectures mondays here,
Material: Specification and Reasoning Lectures mondays here, Lecturer Pasquale Malacaria CS/428 Labs thursdays with Dino DiStefano Book: Logic in Computer Science, M.Huth, M.Ryan, Cambridge University
More informationAn Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests
ICSOFT-EA 205 An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests by Thorsten Haendler, Stefan Sobernig, and Mark Strembeck Institute for Information
More information