Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.

Slides:



Advertisements
Similar presentations
1 Logic Logic in general is a subfield of philosophy and its development is credited to ancient Greeks. Symbolic or mathematical logic is used in AI. In.
Advertisements

Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Agents That Reason Logically Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2004.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Propositional Logic Reading: C , C Logic: Outline Propositional Logic Inference in Propositional Logic First-order logic.
Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm.
lamsweerde Part 1: Introduction © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models to.
lamsweerde Part 2: Building System Models for RE © 2009 John Wiley and Sons 1 Part 2: Building System Models for RE Introduction.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
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,
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Logic in general Logics are formal languages for representing information such that conclusions can be drawn Syntax defines the sentences in the language.
CS 561, Sessions Knowledge and reasoning – second part Knowledge representation Logic and representation Propositional (Boolean) logic Normal forms.
Models -1 Scientists often describe what they do as constructing models. Understanding scientific reasoning requires understanding something about models.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 9 Jim Martin.
Knowledge Representation using First-Order Logic (Part II) Reading: Chapter 8, First lecture slides read: Second lecture slides read:
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 8 Jim Martin.
Methods of Proof Chapter 7, second half.
Chapter 3 Propositional Logic
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Witness and Counterexample Li Tan Oct. 15, 2002.
Requirements artifacts – Goals
Describing Syntax and Semantics
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
APPLICATIONS OF CONTEXT FREE GRAMMARS BY, BRAMARA MANJEERA THOGARCHETI.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Knowledge Representation Use of logic. Artificial agents need Knowledge and reasoning power Can combine GK with current percepts Build up KB incrementally.
Pattern-directed inference systems
Logical Agents Logic Propositional Logic Summary
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Propositional Logic Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma Guadalajara
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
CS6133 Software Specification and Verification
Chapter 17. Assertions State Assertion – predicate intended to express that a descriptive or prescriptive property holds in an arbitrarily chose current.
lamsweerde Chap.4: Formal Requirements Specification © 2009 John Wiley and Sons Fundamentals of RE Chapter 4 Requirements.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
11 Artificial Intelligence CS 165A Thursday, October 25, 2007  Knowledge and reasoning (Ch 7) Propositional logic 1.
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Requirements Analysis
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
First-Order Logic Semantics Reading: Chapter 8, , FOL Syntax and Semantics read: FOL Knowledge Engineering read: FOL.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 CS121 – Winter 2003.
Propositional Logic. Assignment Write any five rules each from two games which you like by using propositional logic notations.
Artificial Intelligence Logical Agents Chapter 7.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Propositional Logic Russell and Norvig: Chapter 6 Chapter 7, Sections 7.1—7.4 CS121 – Winter 2003.
CSCE 548 Secure Software Development Use Cases Misuse Cases
EA C461 – Artificial Intelligence Logical Agent
CSE 4705 Artificial Intelligence
CS 416 Artificial Intelligence
Knowledge Representation I (Propositional Logic)
Presentation transcript:

Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde

Semi-Formal Reasoning for Model Analysis and Exploitation Chapter 16 Semi-Formal Reasoning for Model Analysis and Exploitation

Query-based analysis of the model database Meta-concepts (goal, refinement, requirement, expectation, obstacle, agent, etc.) Meta-relationships (responsibility, monitoring/control, performance, input/output, coverage0 Meta-attributes (priority of Goal, fit criterion of SoftGoal, domPost of Operation, multiplicity of Link, etc.)

Checking the structural consistency and completeness of the model Structural rules – Examples? (p. 538) pre-cooked queries/rules intra-view rules

Generation of other views for dedicated analyses Load analysis (I.e. GET all Responsibility Assignment for Agent Y)

Traceability management Derivation links: OR-Ref, AND-Ref (between goals) Resolution (between goals, obstacles or boundary conditions) Operationalization (between goals and operations) Coverage (between goals, scenarios, and state machines)

Traceability management Use Links Concern (between goals and objects) Responsibility ( between goals and agents) Dependency (among agents for goals) Monitoring/Control (between agents and objects) Input/Output (between operations and objects)  

Analogical reuse “mapping well-defined elements of the source model to partially-defined elements of the target model so additional specifications of the target model can be obtained by source-target transposition”

Semi-formal analysis of goal-oriented models Conflict analysis: Identification of overlapping assertions Detection of conflicts among them Generation of resolutions for the detected conflicts Selection of the best resolution(s)

Semi-formal analysis of goal-oriented models Conflict Types: Potential conflict – a boundary condition could make a set of goals unsatisfiable. Minimal conflict – potential conflicts that, when removed, no longer result in conflict. Feasible conflict – a conflict that holds when a trivial boundary condition is met. Non-trivial conflict – a strong conflict (where the boundary conflict always holds) or obstacle

Semi-formal analysis of goal-oriented models Threat Analysis Goals Anti-goals – intentional obstacle; malicious

Semi-formal analysis of goal-oriented models Security Threats Unintentional threat – potential inadvertent violation of a security goal. Intentional threat – possibility of proactive violation y exploitation of unprotected data, system knowledge through malicious behavior. Countermeasure: know attacker capabilities.

Semi-formal analysis of goal-oriented models Analyzing Intentional Threats 1. Build threat graphs from anit-goals: Get initial anti-goals to be refined or abstracted Identify classes of attackers wishing these, together w/ capabilities For each initial anti-goal and attacker class: build an anti-goal refinement/abstraction graph as an argument showing how anti-goal can be satisfied; refinement terminates when leaf conditions are reached that meet attacker's capabilities 2. Derive new security goals as countermeasures to counter the leaf anti-goals from the threat graphs.

Reasoning about alternative options Qualitative reasoning assess positive or negative influence on each leaf goal in a model. Propagate influences from bottom up. Quantitative reasoning Model-based score matrices alternative refinements, assignments, resolutions are taken as options leaf soft goals are taken as evaluation criteria

Determining option scores quantity the soft goal prescribes to improve, increase, reduce, maximize or minmize estimated cost of satisfying the goal estimated time required to satisfy the goal

Chapters 5 & 17

Formal Methods Background Three Components of Logic: Syntax Semantics Proof Theory

Propositional Logic Logical Connectors: ^ (and) v (or)  (not)  (implies)  (equivalent to)

Syntax of Propositional Logic <atomicProposition> ::= true | false | <propositionalSymbol> <statement> ::= < atomicProposition> | (<statement>) | (<statement> ^ <statement> ) | (<statement> v <statement> ) | (<statement>  <statement> ) | (<statement>  <statement> )

Rules of Inference Modus Ponens: PQ,P Q Chaining: P  Q, Q R P R Resolution: PvQ, PvR Q v R

Propositional Logic Example trainMoving v doorsClosed, trainStopped v trainMoving What can be derived?

First-Order Predicate Logic More expressive than propositional logic Syntax: <term> ::= <constant> | <variable> | <functionSymbol> (<term>*) <atomicPredicate> ::= true | false | <predicateSymbol> (<term>*) <statement> ::= <atomicPredicate> | (<statement>) | (<statement> ^ <statement> ) | (<statement> v <statement> ) | (<statement>  <statement> ) | (<statement>  <statement> ) | (A<variable>)(<statement>) | (Ǝ<variable>) (<statement> )

Formal Methods … will be covered in greater detail with Chapters 17 and 18.

Exercises Chapter 16

Chapter 16