Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
lamsweerde Part 2: Building System Models for RE © 2009 John Wiley and Sons 1 Part 2: Building System Models for RE Introduction.
ISBN Chapter 3 Describing Syntax and Semantics.
Goal-Oriented Requirements Engineering (GORE) “Goal-oriented requirements engineering is concerned with the use of goals for eliciting, elaborating, structuring,
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Software Testing and Quality Assurance
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Copyright W. Howden1 Lecture 13: Programming by Contract.
Software Testing and Quality Assurance
Describing Syntax and Semantics
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Methodology Conceptual Database Design
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Chapter 10 Architectural Design
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Requirements Expression and Modelling
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
SOFTWARE DESIGN.
UML Profile to Support Requirements Engineering with KAOS Presented by Chin-Yi Tsai.
Chapter 13 Architectural Design
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Low-Level Detailed Design SAD (Soft Arch Design) Mid-level Detailed Design Low-Level Detailed Design Design Finalization Design Document.
Conceptual Modelling – Behaviour
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 Introduction to Software Engineering Lecture 1.
Methodology - Conceptual Database Design
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.
Validating Requirements Determining Completeness and Correctness of Requirements Using the System Reference Model IV&V Workshop 16 September 2009.
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.
CSC 480 Software Engineering Design by Contract. Detail Design Road Map Begin with architectural models  Class model: domain classes  Overall state.
Formal Methods in Software Engineering “And they made their lives bitter with hard bondage … all their service … was with rigour.” Ex 1:14.
Software Design Process
Formal Methods.
Digital Libraries Lillian N. Cassel Spring A digital library An informal definition of a digital library is a managed collection of information,
Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Week 3: Requirement Analysis & specification
Chapter 17. Assertions State Assertion – predicate intended to express that a descriptive or prescriptive property holds in an arbitrarily chose current.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
Object Oriented Analysis and Design Introduction to Rational Rose.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Principles of Programming & Software Engineering
Analysis Classes Unit 5.
Design by Contract Jim Fawcett CSE784 – Software Studio
Design by Contract Jim Fawcett CSE784 – Software Studio
Principles of Programming and Software Engineering
Formal Methods in Software Engineering 1
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003

Reference Paper “ Deriving Operational Software Specification from System Goals ” November 2002, Proceedings of the tenth ACM SIGSOFT symposium on Foundations of software engineering

Content Introduction Goal-Oriented Elaboration of Requirements Semantics of Operationalization Operationalization Patterns Analysis

Introduction Lots of techniques and tools for specification analysis Algorithmic model checking, Deductive verification etc. Building formal specifications for complex software is not easy Translate natural language statements to some formal language To be elaborated, structured, interrelated and negotiated

Introduction Goal-oriented requirements engineering The use of goals for requirements elicitation, elaboration, organization, specification, analysis, negotiation, assignment, documentation and evolution.

Introduction Goals Objectives the system under consideration must achieve E.g. “ safe transportation ” and “ reverse thrust enabled when wheels pulse on ” Achieving goals require the cooperation of multiple agents (humans, devices or software)

Introduction Goal refinement To decompose a goal into subgoals so that each subgoal requires the cooperation of fewer agents Stops when goals can be assigned as responsibility of single agents

Goal-oriented elaboration of requirements An application model is composed of four submodels: Goal model Object model Agent model Operation model

The goal model The various objectives the system should meet are defined in this model

The goal model Temporal operators

The goal model

A sample

The object model Defines the domain entities, relationships and attributes A sample

The agent model Defines the responsibilities and interfaces of the various agents A sample

The operation model Defines the various services to be provided by agents Domain pre/post conditions Capture the elementary state transitions defined by operation applications in the domain Required pre/post/trigger conditions Capture additional strengthenings to ensure that the goals are met

The operation model A required preconditions Captures a permission to perform the operation when the condition is true A required trigger condition Captures an obligation to perform the operation when the condition becomes true provided the domain precondition is true A required postcondition Captures an additional condition that must hold after any application of the operation

The operation model Difference between domain and required conditions Domain conditions describe what an application of the operation means in the domain without any prescription as to when the operation must be applied and when it may not be applied.

The operation model A sample for domain conditions

The operation model A sample for required conditions

Semantics of operationalization Functional goals need to be operationalized into specifications of services the agents should provide to meet them Operationalization is a process that maps declarative property specifications to operational specifications satisfying them

Semantics of operationalization It takes the form of a set of operations specified by domain and required pre, post- and trigger conditions.

Semantics of operationalization Correctness of goal operationalization Completeness Consistency minimality

Operationalization patterns A pattern-based technique for operationalizing goals, specified in real- time linear temporal logic (RT-LTL), into operations specified by pre-, post- and trigger conditions

Operationalization patterns An operationalization pattern is an abstract AND-operationalization link between a goal specification pattern in RT-LTL and a set of required pre-, trigger and postcondition specification patterns that operationalize the root correctly.

Operationalization patterns The Immediate Achieve pattern

Operationalization patterns The Bounded Achieve pattern

Operationalization patterns The “ InBetween ” Invariance pattern

A taxonomy of goal patterns

Operationalization patterns In every but very rare cases, the goals match one of the general patterns in the previous taxonomy diagram Not complete, could be enriched with additional goal patterns

Analysis Benefits Abstraction from formal details Completeness assurance Guidance in writing operational specifications Goal mining from operational specifications

Thank you!