Requirements Expression and Modelling

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Software system modeling
CS 355 – Programming Languages
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CS 425/625 Software Engineering System Models
1 / 28 Harmony: An Approach and Tool for Combining Semi-formal and Formal Notations in Software Specification CS 791z Topics on Software Engineering Instructor’s.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
Lecture 3: Requirements Modeling Intro Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of Wollongong.
Overview of RE techniques RE Techniques Basic Introduction.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Computing Fundamentals 2 Overview Lecturer: Patrick Browne Room [KA] , Lab [KA] Based on Chapter 19. A Logical approach to Discrete Math.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Describing Syntax and Semantics
COMP6015 An Introduction to Computer Programming
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec17 1 Lecture 17: Formal Modeling Methods Formal Modeling Techniques.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Ch. 51 Specification. Ch. 52 Outline Discussion of the term "specification" Types of specifications –operational Data Flow Diagrams (Some) UML diagrams.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Formal Methods.
Safety-Critical Systems 4 Formal Methods / Modelling
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Daniel Amyot, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of Waterloo);
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Miguel Garzón, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: Jo Atlee, Dan Berry (both University of.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VII. System Specification (I)
Formal Techniques (CS340 © John C. Knight 2004)
Software Design Methodology
UML profiles.
Department of Computer Science Abdul Wali Khan University Mardan
Software system modeling
Presentation transcript:

Requirements Expression and Modelling Exchanging Requirements Requirements Expression Modelling

RE According To Dilbert

Requirement expression and Modelling System engineering Projects Requirement Engineering Basic introduction Case Studies Standards RE Techniques Software systems Reactive systems Req. Elicitation Req. Validation Req. Management Req. Expression & Modelling Req. Traceability Exchanging Req.

Most confused notion in requirement engineering : Introduction Most confused notion in requirement engineering : It concerns the notation in view for exchange, communication and validation for further development

The natural way Use natural language : many systems were developped and still being developped using natural language Everyday life and social activity is made through natural language BUT ..... No precise semantics No structuring No abstraction No Validation ... Except some exceptions

Content Requirements for a requirements notation Classes of languages, models, tools, methods, techniques Review of basic related aspects (seen in other courses) Main methods used in industry Formal notations and associated methods Case study and lab : Statecharts

Requirements for a requirements notation Let‘s recall the main processes Elicitation Expression Validation Generation of specification Hardware Software requirements Others systems specification

Requirements for such notation Express Behaviour Data specification Functions (data transformation) Supports abstraction Executable (ideally) Associated method/methodology

What to express Requirements that can be understood That can have a single meaning That can be refined when needed That can strcturerd for managing inconsistencies and changes

The modelling Issue Modelling can guide elicitation Modelling can provide a measure of progess Modelling can help to uncover problems (Inconsistencies) Central concepts Abstraction Process modelling Data Modelling Data Flow Behaviour Etc ...

Example The system must be reliable 1. Not precise 2. Qualitative attribute 3. Add a quantitative attribute Context in which le system must be reliable (the context means system internal context and environment) Writing good requirements : syntax and semantics as any statement

Classes of languages, models, tools, methodes, techniques Consider Software systems Any language can be a requirement language A programming language is a requirement language for the computer to execute what is required Example : While {..} do .... It is well specified and no ambiguity However in RE There many stakeholders Different cultures (not necessarily computer scientists or familiar with programming languages) Requirements are of many types

Classes Programming languages Specific notation General purpose Methods Informal Semi-formal : Used in industry Formal : Developped by academia Abstract : limited to specific issues (pure academia work) Paradigms Function oriented Object

Review of basic related aspects (seen in other courses) Control structure (behaviour) : seq; //, if .. Else Communication (shared data, synch, async, ..) Abstraction Encapsulation Properties Invariants

CRITERIA (CMU-DoD_SEI Taxonomy) Representation  Concepts and techniques described using the technique Derivation  Methods to produce a specification from another Validation-Verification  Properties that can be determined using the specification technique

Style Concurrency Communication Non-Determinism Fairness Modularity REPRESENTATION Style Concurrency Communication Non-Determinism Fairness Modularity Time Data

 Same as above with a refinement process Composition DERIVATION Transformation  Transformation rules from a specification technique to another (e.g multiformalism approach) Elaboration  Same as above with a refinement process Composition  Combination of various methods for a complex system

VERIFICATION-VALIDATION Equivalence Consistency Safety and liveness

Methods Criteria Rigor Data modeling Function modeling Control structures TC expression Exception handling Verifiability Validability Modularity Level of abstraction Reusability Implementability Friendliness Tool maturity VDM RDP Statemate OMT SDL Z B 3 3 2 1 1 3 2 3 3 3 3 1 2 3 2 3 2 3 2 2 3 0 2 2 2 1 2 3 3 3 2 3 3 2 2 3 2 0 2 3 0 2 2 0 1 2 2 0 0 1 2 1 3 0 0 3 2 0 0 0 2 3 1 0 0 3 2 0 0 1 3 3 3 0 2 3 2 1 2 2 2 1 3 3 2 2 2 2 2 1 3 1 3 2 2 2 2 3 3 1 2 1 3 2 1 2 2 1 3 1 2 2 2 2 1 2 3 1 2 3 1 2 3 3 3 1 3 2 1 2 3 3 3 2 3 2 3 1 1 2 0 3 3 2 1 3 3 1 1 2 Criteria Methods SART LOTOS Estelle

Specific Notation Most are in house methods Often not available tools Do correspond to the needs Difficulty to interface witth other notations

Informal Mostly based on natural language Template Simple to use by everybody Problem with validation Example : Volere template (Natural language)

Main methods used in industry Semi-formal General purpose and dedicated (example : SDL for communication) Validation By Simulation Inspection Often Graphical notation A semantic (very rarely formal, but precise)

Formal methods Formal semantics (still polemics on the issue mathematical equation and formal notation) Two types Model oriented : VDM, Z, B, SCR, OBJ Behaviour : Petri nets, ‘‘statecharts“, Lotos, .. Formal validation Automated tool Not well established in industry

Abstract oriented modelling These are based on agebra, logic Logic Temporal logic and extensions for reactive systems Process algebra

Semi-formal methods SADT SA-RT Statemate OOA OMT UML

Formal notations and associated methods See lectures Petri nets Statecharts and statemate (the statemate method) VDM Formal methods

Case study and lab : Statecharts Consider the case study on aeronautic application Manufacturing Communication protocols Transportation

Conclusions Many methods and tools A need for taxonomy for such methods A need for a methdology (as UML) for using a number of methods to covers all needs for requirement specification.

Requirements Expression Requirements Validation Next lecture Requirements Expression and Modelling Requirements Validation

Paper Reading and assignments Each student read at least one paper in section 8 and paper 8.D   M. Glinz : An integrated formal model of scenarios based on statecharts. ESEC conf., 1995 M. Glinz : Improving the quality of requirements with scenarios. World cong on quality, sept 2000 M. Glinz : Problems and deficiencies of UML as a requirements specification language. Proceedings of the 10th workshop on software spec and design, Nov 2000. C. Heitmeyer : SCR , a practical method for requirements specification. NRL report. C. Heitmeyer et al : Applying SCR requirement method to a weapons control panel : an experience report.