"Tabular Representation of Relations" and "Predicate Logic for Software Engineering" Presented by: Grant Birchmeier and Jesse Sowell Tech. Rep. 260, McMaster.

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Alternate Software Development Methodologies
ISBN Chapter 3 Describing Syntax and Semantics.
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
© Betty HC Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Acknowledge: S.
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
Requirements Analysis Concepts & Principles
Fundamentals of Information Systems, Second Edition
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Overview of Software Requirements
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Testing an individual module
1 Software Requirements Specification Lecture 14.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Test Design Techniques
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec17 1 Lecture 17: Formal Modeling Methods Formal Modeling Techniques.
Reduction and Slicing of Hierarchical State Machines Mats Heimdahl et al. University of Minnesota Presented by Tom McMullen For CISC836 1.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Chapter 8: Problem Solving
Managing Software Quality
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Invariant Based Programming in Education Tutorial, FM’08 Linda Mannila
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
Fundamentals of Information Systems, Second Edition 1 Systems Development.
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 ++
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
1 Quality Attributes of Requirements Documents Lecture # 25.
Formal Methods.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Requirements Validation
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Some Thoughts to Consider 8 How difficult is it to get a group of people, or a group of companies, or a group of nations to agree on a particular ontology?
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Software Requirements Specification (SRS)
Software Requirements Specification Document (SRS)
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
 Introduction  Methodology  Case Study 1 : Event-B and RODN  Case Study 2 : B-Method and Atelier B  Observations and Analysis  Conclusion.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
 Problem Analysis  Coding  Debugging  Testing.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
An Overview of Requirements Engineering Tools and Methodologies*
Formal Techniques (CS340 © John C. Knight 2004)
The Systems Engineering Context
CSc4730/6730 Scientific Visualization
IS 2935: Developing Secure Systems
Department of Computer Science Abdul Wali Khan University Mardan
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Presentation transcript:

"Tabular Representation of Relations" and "Predicate Logic for Software Engineering" Presented by: Grant Birchmeier and Jesse Sowell Tech. Rep. 260, McMaster University, 1992 IEEE Transactions on Software Engineering, September 1993

Overview  Motivation  Limited Domain relations (LD-relations)  What happens for out of domain arguments?  Difficulty parsing complex mathematical specifications  What does that do, again?  Objective  Clear, formal representation of requirements specifications in a tabular format  Mathematic foundation  Possible for both human and machine parsing  Better partitioned specifications  Techniques Used  Modified predicate logic  Provided formal description of tabular relations  Origin  A-7 aircraft specifications

Techniques  Predicate Logic  Logic Definition  Provides intro to naïve set theory  Mathematical presentation of components of an expression  Requirements  Either true or false (no "maybes")  Simple notation  Avoid nesting  Avoid explicit quantification  Retain standard interpretation of logical expressions  Solution: Out of domain arguments result in entire expression evaluating to false  Tabular Representations  Mathematical presentation of tables  Defined for some whole number of dimensions  Usually only two dimensions used  Tables allow for partitioning of the domain, behavior, state, and range of an expression  Range from simple single variable domain and range specifications to vector relations

Example  A program that searches an array for a value x

Impact  Predicate Logic  Began the dissection of mathematical notations  Impact of LD-relations  Foundation for mathematical based logics with computational context  Tabular Representations  Provided first specification of tabular notation  Formed the foundation of a number of requirements based specification languages  SCR  RSML  SpecTRM-RL  Applications  A-7 specification, robots, nuclear power plants,flight management, etc.

Shortest Path Algorithm Formal Program Documentation Dennis K. Peters Technical Report 280, McMaster University, February 1996

Parnas' Display Method  Peters demonstrates program documentation using the display method  Display method  Presented in a different Parnas paper  A method for program documentation  A program is presented as a set of displays that can be independently verified  Displays use Parnas' tabular notation  Peters discusses display method  Aspects of describing C program/procedure specifications  Demonstrates use in specifying a procedure from the greatest common denominator algorithm  Demonstrates use in specifying Dijkstra's shortest path algorithm

A Procedure in Greatest Common Denominator  Compares 2 ints and replaces largest with their difference  Watch out for aliasing!

Shortest Path Algorithm  Shortest path algorithm is broken up into displays for programs and subprograms  Subprogram displays can be checked independently  Still substantially complex  But easier to verify  Demonstrates a practical application of display method

Automated Consistency Checking of Requirements Specifications C.L. Heitmeyer, R.D. Jeffords, and B.G. Labaw ACM Transactions on Software Engineering and Methodology vol. 5, pp , July 1996

SCR (Software Cost Reduction) method  SCR tables are derived from Parnas' tables  Motivation  SCR tabular specifications describe systems concisely and unambiguously  Analyzation takes many man-hours  Still prone to human error  Need tools to automate creation and analysis  Objectives  An automated "consistency checker" will check various system independent properties of specifications  Would be more accurate  Would allows more human effort to be used in analyzing less trivial aspects of specifications  A prototype consistency checker is tested to analyze the specification of the A-7 Operational Flight Program

Example SCR Tables  Event table: variables are set by events  Overridden as a function of Pressure, Block, Reset  Condition table: variable values depend on others  SafetyInjection as a fncn of Pressure, Overridden

Consistency Checker Details  Some properties checked:  Proper syntax  Type correctness of variables  All variables must be initialized  Reachability (all states reachable from initial configuration)  Disjointness (specifications must be deterministic)  Coverage (entire range of conditions must be covered)  Lack of circularity among dependencies  Results of prototype test on A-7 spec  The specification had been rigorously checked by two independent teams for errors  In a running time of 245 seconds, the automated checker found:  17 legitimate errors over 11 condition tables  57 legitimate errors over 3 large state transition tables

Designing Specification Languages for Process Control Systems: Lessons Learned and Steps to the Future Nancy G. Leveson, Mats P.E. Heimdahl, and Jon Damon Reese ESEC / SIGSOFT FSE, pp , 1999

SpecTRM-RL  Motivation  Lessons learned from experience with RSML  Complicated mathematical specs result in ambiguous specifications that facilitate errors in implementation  Traditional formal specifications are difficult to read and interpret  Specs are inaccessible to those not familiar with the specification language  Based on experience with FAA personnel involved with the TCAS II project  Objective Provide a formal specification of software requirements that combines state machines and tabular representations that makes the meaning more accessible to non-computer professionals

SpecTRM-RL  Technique  "Make the specification user-centered rather than easy to analyze or faithful to mathematical conventions"  Two primary concepts  Semantic distance: how closely the representation of the model matches the users mental model of the process  Distinct separation of requirements and design  Tables only show what and why, not how  State Based with Tables  The conditions for state transitions in non-trivial systems are very complex  Propositional logic statements quickly become unweildy  Solution: Use AND/OR tables to represent sets conditions and behaviors  AND/OR tables used to detail the specification of the transitions for a given state diagram

SpecTRM-RL Example

Requirements Specification for Process-Control Systems Nancy G. Leveson, Mats P.E. Heimdahl, Holly Hildreth, and Jon D. Reese IEEE Transactions on Software Engineering, vol. 20, no. 9, pp , September 1994

Requirements Specification Modeling Language (RSML)  Relationship to SpecTRM-RL  RSML is the predecessor of SpecTRM-RL  Both share the goal of making specifications more accessible to experts in the field the application is being developed for  Motivation The primary motivation of RSML was the FAA's request for a more readable specification for the TCAS II system.  RSML  Much more state diagram based than SpecTRM-RL  What's the difference?  A number of usability changes were made from RSML to SpecTRM-RL  No more internal broadcast events  More focus on state transitions represented as AND/OR tables  Leveson et. Al cite Parnas in SpecTRM-RL paper but not in the RSML paper...

Requirements Specification Modeling Language (RSML)

Conclusions  The overall goal was to make requirements specifications more readable by partitioning the domain, range, state, and behaviors of some portion of a specification into more palatable partitions.  Realizations of this goal:  Predicate logic simplifies LD-relations  Parnas' tables used to partition specification expressions  SCR tables  AND/OR tables similarly partition logical expressions  End Result: More readable requirements specifications that unambiguously handle partial functions and take advantage of two dimension representations of complex expressions.