© Colin Potts C6-1 Some future trends in requirements engineering Colin Potts Georgia Tech.

Slides:



Advertisements
Similar presentations
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Advertisements

© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall]
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
The Z Specification Language
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.
CS 425/625 Software Engineering System Models
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Describing Syntax and Semantics
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
MCA –Software Engineering Kantipur City College. Topics include  Formal Methods Concept  Formal Specification Language Test plan creation Test-case.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Requirements Expression and Modelling
ECSE Software Engineering 1I HO 3 © HY 2012 Lecture 3 Formal Methods through an Introduction to Z Formal Methods A notation for formal specification.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
©Ian Sommerville 2000Software Engineering, Chapter 10 Slide 1 Chapter 10 Formal Specification.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Information Systems: Databases Define the role of general information systems Describe the elements of a database management system (DBMS) Describe the.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
© Colin Potts C1-1 Requirements Documentation Colin Potts Georgia Tech.
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Chapter 9 Formal Specifications.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Modelling Class T16: Conceptual Modelling – Architecture Image from
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
School of Computing and Mathematics, University of Huddersfield CIA2326: Week 11 LECTURE: Formal Specification TUTORIAL/PRACTICAL: Finish off last weeks.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
Requirements Engineering Methods for Requirements Engineering Lecture-30.
© Andrew IrelandDependable Systems Group Static Analysis and Program Proof Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
© Colin Potts C4-1 Information-oriented approaches Colin Potts Georgia Tech.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Formal Methods.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Notes on: Is Proof More Cost- Effective Than Testing? by Steve King, Jonathan Hammond, Rob Chapman, Andy Pryor Prepared by Stephen M. Thebaut, Ph.D. University.
Software Engineering 2 -Prakash Shrestha.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
©Ian Sommerville 2000Software Engineering, Chapter 10 Slide 1 Chapter 10 Formal Specification.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Formal Methods. What Are Formal Methods Formal methods refers to a variety of mathematical modeling techniques that are applicable to computer system.
Formal Specification.
Formal Techniques (CS340 © John C. Knight 2004)
State-Space and Behavior
(State) Model-Based Approaches II Software Specification Lecture 36
Chapter 12 Information Systems.
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
B (The language of B-Method )
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Creating and Using Classes
Object-Oriented Analysis
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Data Model.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
ISpec: A Compositional Approach to Interface Specification
Department of Computer Science Abdul Wali Khan University Mardan
Software system modeling
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

© Colin Potts C6-1 Some future trends in requirements engineering Colin Potts Georgia Tech

© Colin Potts C6-2 Domain modeling & formal specs. l Domain modeling »Model a generic system or system template, not a specific system »Specify new systems by customizing the template l Formal specification »Use mathematically formal language to specify parts of a system »Prove properties of the specification to guarantee quality

© Colin Potts C6-3 Domain modeling l Use any engineering technique to specify a generic system »Typically use OOA, because it supports generalization directly l When specifying a system, refine the template »i.e. instantiate, specialize or modify

© Colin Potts C6-4 Domain modeling: Evaluation l Little experience »Several DARPA evaluation projects (C3I, etc.) l Domain modeling in practice has been confused with reuse of OO code »because domain modeling is a kind of reuse of analysis model fragments »and OO representations lend themselves to more abstract descriptions

© Colin Potts C6-5 Formal requirements specification l Mathematically rigorous specification »Rationale: critical systems failures will eventually lead to enforcement of engineering stds. l Several flavors of formal specification »Model-based specification is the most likely to achieve practical value »cf. Information modeling with richer constraints

© Colin Potts C6-6 Model-oriented formal specifications l Extension of ER modeling »ER diagrams are like type and function declarations »Cardinality constraints are logical rules »Other rules that cannot be shown in an ER diagram can be specified l Behavior is specified in operations »Preconditions and postconditions for each operation l Languages »Z, VDM, Fusion (OOA) method

© Colin Potts C6-7 Admissibility System states are legal configurations of attribute/relationship values What are the rules that specify these legal states? »And only these states »Need to specify these succinctly –Not as a transition diagram Conceivable states Admissible states

© Colin Potts C6-8 Model-based specification of behavior System behavior is modeled as a collection of state-changing operations »The preconditions of an operation state when it can occur –Not when it is triggered »Postconditions define the effects Permitted operation illegal operation

© Colin Potts C6-9 Simple Z example Container contents: Nat capacity: Nat contents < capacity schema declarations predicate/ invariant

© Colin Potts C6-10 Z operation schema Fill changes Container amount? : Nat contents + amount? < capacity contents' = contents + amount? precondition postcondition

© Colin Potts C6-11 Class exercise: Z modifications l As a class »Specify a new operation –Write the operation schema for dispense, an operation that dispenses fluid from the container »Add a new rule –Let the container have a warning light that goes on when the container becomes more than 80% full »What kinds of proof obligations arise in the two cases? »How does using model-based specification clarify your understanding of the (very trivial) problem domain?

© Colin Potts C6-12 Formal specification: evaluation l Maturity »Encouraging experiences in industrial projects, incl. –IBM (CICS) –Tektronix (oscilloscope embedded software) –Inmos (transputer FP microcode) l Advantages »Precision helps understand reqts and design implications l Limitations »Requires retraining (but not advanced math) l Trend »Increasing investment with need for dependable software & accountability for effects