Building System Models for RE

Slides:



Advertisements
Similar presentations
Integra Consult A/S Safety Assessment. Integra Consult A/S SAFETY ASSESSMENT Objective Objective –Demonstrate that an acceptable level of safety will.
Advertisements

Chapter 7 Goal Orientation in RE
 Is extremely important  Need to use specific methods to identify and define target behavior  Also need to identify relevant factors that may inform.
Risk Modeling The Tropos Approach PhD Lunch Meeting 07/07/2005 Yudistira Asnar –
First Order Logic Resolution
lamsweerde Part 2: Building System Models for RE © 2009 John Wiley and Sons 1 Part 2: Building System Models for RE Introduction.
lamsweerde Chap.9: Risk Analysis on Goal Models © 2009 John Wiley and Sons Building System Models for RE Chapter 9 Modeling.
Software Testing and Quality Assurance
Software Quality Engineering Roadmap
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Analysing Fault-Tolerant System using KAOS/FAUST C. Ponsard, P. Massonet, J.F. Molderez (CETIC) A. van Lamsweerde (UCL/INGI) Short presentation & Demo.
lamsweerde Chap.8: Modeling System Objectives © 2009 John Wiley and Sons Building System Models for RE Chapter 8 Modeling.
1 درس مهندسي نيازمندي استاد دكتر عبداله زاده دانشجو خيرالنسا مرچانت RE in The Year 00: A Research Perspective.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Tony Gould Quality Risk Management. 2 | PQ Workshop, Abu Dhabi | October 2010 Introduction Risk management is not new – we do it informally all the time.
CIS 375 Bruce R. Maxim UM-Dearborn
Non-functional requirements
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Slide 1 Using Models Introduced in ISA-d Standard: Security of Industrial Automation and Control Systems (IACS) Rahul Bhojani ISA SP99 WG4 Meeting.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
© 2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
FAULT TREE ANALYSIS (FTA). QUANTITATIVE RISK ANALYSIS Some of the commonly used quantitative risk assessment methods are; 1.Fault tree analysis (FTA)
Lecture: Reliability & FMECA Lecturer: Dr. Dave Olwell Dr. Cliff Whitcomb, CSEP System Suitability.
Copyright © 2011 Pearson Education, Inc. All rights reserved. Planning, Applying, and Evaluating a Treatment Program Chapter 24.
Software Project Management
Session 9 & 10. Definition of risk assessment and pre condition for risk assessment Establishment of clear, consistent agency objectives. Risk assessment.
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Risk Management 2 n IEEE defines risk as: “the likelihood of an event, hazard, threat or situation occurring and its undesirable consequences” [Std.
Hands-On Threat Modeling with Trike v1. Generating Threats.
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Managing Risk CHAPTER SEVEN Student Version Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin.
SOFTWARE PROJECT MANAGEMENT
Chapter 17. Assertions State Assertion – predicate intended to express that a descriptive or prescriptive property holds in an arbitrarily chose current.
WHAT IF ANALYSIS USED TO IDENTIFY HAZARDS HAZARDOUS EVENTS
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
1 Project Management C53PM Session 4 Russell Taylor Staff Work-base – 1 st Floor
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Dr. Mark Gaynor, Dr. Feliciano Yu, Bryan Duepner.
October 22, 2005 Parvaiz Ahmed Khand An Overview of Software Safety.
Risk Assessment: A Practical Guide to Assessing Operational Risk
Dr. Gerry Firmansyah CID Business Continuity and Disaster Recovery Planning for IT (W-XIV)
1 Modeling Formalism (Modeling Language Foundations) System Modeling Assessment & Roadmap Working Group Meeting – SE DSIG Reston – March, 2016 Yves BERNARD.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Testability.
Fault Trees.
Rekayasa Perangkat Lunak
Critical systems design
Software Quality Assurance
Security SIG in MTS 05th November 2013 DEG/MTS RISK-BASED SECURITY TESTING Fraunhofer FOKUS.
Input Space Partition Testing CS 4501 / 6501 Software Testing
Elaboration & Negotiation Process
Quality Risk Management
Air Carrier Continuing Analysis and Surveillance System (CASS)
RISK ASSESSMENT TOOL PREVIEW
Binary Tree and General Tree
Software Engineering (CSI 321)
Rekayasa Perangkat Lunak
DECISION MAKING.
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Chapter 2 – Software Processes
Mumtaz Ali Rajput +92 – SOFTWARE PROJECTMANAGMENT Mumtaz Ali Rajput +92 –
Tools for Implementation
Tools for Implementation
Software Engineering for Safety: a Roadmap
Chapter 7 Goal Orientation in RE
BHOPAL Industrial Disaster Management Cycle: OECD 2004.
A New Concept for Laboratory Quality Management Systems
Presentation transcript:

Building System Models for RE Chapter 9 Modeling What Could Go Wrong: Risk Analysis on Goal Models

Building models for RE Chap.8: Goals Chap.9: Risks why ? how ? Chap.10: Conceptual objects Chap.11: Agents on what? who ?

Risk analysis as seen in Chapter 3 Risk = uncertain factor whose occurrence may result in loss of satisfaction of corresponding objective has likelihood & consequences (each having likelihood, severity) Poor risk management is a major cause of software failure Early risk analysis at RE time: checklists, component inspection, risk trees qualitative, quantitative explore countermeasures (tactics), select best as new reqs

Risk analysis can be anchored on goal models

Risk analysis on goal models: outline Goal obstruction by obstacles What are obstacles? Completeness of a set of obstacles Obstacle categories Modeling obstacles Obstacle diagrams Obstacle refinement Bottom-up propagation of obstructions in goal AND-refinements Annotating obstacle diagrams Obstacle analysis for a more robust goal model Identifying obstacles Evaluating obstacles Resolving obstacles in a modified goal model

What are obstacles ? Motivation: goals in refinement graph are often too ideal, likely to be violated under abnormal conditions (unintentional or intentional agent behaviors) Obstacle = condition on system for violation of corresponding assertion (generally a goal) {O, Dom } |= not G obstruction {O, Dom } | false domain consistency O can be satisfied by some system behavior feasibility e.g. G: TrainStoppedAtBlockSignal If StopSignal Dom: If TrainStopsAtStopSignal then DriverResponsive O: DriverUnresponsive For behavioral goal: existential property capturing unadmissible behavior (negative scenario)

Completeness of a set of obstacles Ideally, a set of obstacles to G should be complete {not O1,..., not On, Dom } |= G domain completeness e.g. If not DriverUnresponsive and not BrakeSystemDown and StopSignal then TrainStoppedAtBlockSignal ??? Completeness is highly desirable for mission-critical goals ... ... but bounded by what we know about the domain ! Obstacle analysis may help elicit relevant domain properties

Obstacle categories for heuristic identification Correspond to goal categories & their refinement ... Hazard obstacles obstruct Safety goals Threat obstacles obstruct Security goals Disclosure, Corruption, DenialOfService, ... Inaccuracy obstacles obstruct Accuracy goals Misinformation obstacles obstruct Information goals NonInformation, WrongInformation, TooLateInformation, ... Dissatisfaction obstacles obstruct Satisfaction goals NonSatisfaction, PartialSatisfaction, TooLateSatisfaction, ... Unusability obstacles obstruct Usability goals ...

Risk analysis on goal models: outline Goal obstruction by obstacles What are obstacles? Completeness of a set of obstacles Obstacle categories Modeling obstacles Obstacle diagrams Obstacle refinement Bottom-up propagation of obstructions in goal AND-refinements Annotating obstacle diagrams Obstacle analysis for a more robust goal model Identifying obstacles Evaluating obstacles Resolving obstacles in a modified goal model

Obstacle diagrams as AND/OR refinement trees Anchored on leafgoals in goal model (unlike risk trees) root = not G obstacle AND-refinement, OR-refinement: same semantics as goals leaf obstacles: feasibility, likelihood, resolution easier to determine

Obstacle diagrams as AND/OR refinement trees (2)

Obstacle refinement AND-refinement of obstacle O should be ... complete: {subO1,..., subOn, Dom } |= O consistent: {subO1,..., subOn, Dom } | false minimal: {subO1,..., subOj-1, subOj+1 , ..., subOn, Dom } |= O OR-refinement of obstacle O should be ... entailments: {subOi, Dom } |= O domain-consistent: {subOi, Dom } | false domain-complete: {not subO1,..., not subOn, Dom } |= not O disjoint: {subOi, subOj, Dom } |= false If subOi OR-refines O and O obstructs G then subOi obstructs G

Obstructions propagate bottom-up in goal AND-refinement trees Cf. De Morgan’s law: not (G1 and G2) equivalent to not G1 or not G2 => Severity of consequences of an obstacle can be assessed in terms of higher-level goals obstructed

Annotating obstacle diagrams DriverUnresponsive Obstacle DriverUnresponsive Def Situation of a train driver failing to react to a command and take appropriate action according to that command [ FormalSpec ... in temporal logic for analysis, not in this chapter ... ] [ Category Hazard ] [ Likelihood likely ] [ Criticality catastrophic] annotation precise definition features

Risk analysis on goal models: outline Goal obstruction by obstacles What are obstacles? Completeness of a set of obstacles Obstacle categories Modeling obstacles Obstacle diagrams Obstacle refinement Bottom-up propagation of obstructions in goal AND-refinements Annotating obstacle diagrams Obstacle analysis for a more robust goal model Identifying obstacles Evaluating obstacles Resolving obstacles in a modified goal model

Obstacle analysis for increased system robustness Anticipate obstacles ... Þ more realistic goals, new goals as countermeasures to abnormal conditions Þ more complete, realistic goal model Obstacle analysis: For selected goals in the goal model ... identify as many obstacles to it as possible; assess their likelihood & severity; resolve them according to likelihood & severity => new goals as countermeasures in the goal model

Obstacle analysis and goal model elaboration are intertwined Goal-obstacle analysis loop terminates when remaining obstacles can be tolerated unlikely or acceptable consequences Which goals to consider in the goal model? leafgoals (requirements or expectations): easier to refine what is wanted than what is not wanted (+ up-propagation in goal model) based on annotated Priority & Category (Hazard, Security, ...)

Identifying obstacles For obstacle to selected assertion G (goal, hypothesis, suspect dom prop) ... negate G; {=> root obstacle} find AND/OR refinements of not G in view of valid domain properties ... {according to desired extensiveness} ... until reaching obstruction preconditions whose feasibility, likelihood, severity, resolvability is easy to assess = goal-anchored construction of risk-tree

Identifying obstacles: tautology-based refinement Goal negation as root => use tautologies to drive refinements e.g. not (A and B) amounts to not A or not B not (A or B) amounts to not A and not B not (if A then B) amounts to A and not B not (A iff B) amounts to (A and not B) or (not A and B) => complete OR-refinements when or-connective gets in

Identifying obstacles by tautology-based refinement MotorReversed Iff MovingOnRunway MotorReversed Iff WheelsTurning MovingOnRunway

Identifying obstacles by tautology-based refinement MotorReversed Iff MovingOnRunway MotorReversed Iff WheelsTurning MovingOnRunway obstruction NOT MovingOnRunway Iff WheelsTurning NOT MotorReversed Iff WheelsTurning

Identifying obstacles by tautology-based refinement MotorReversed Iff MovingOnRunway MotorReversed Iff WheelsTurning MovingOnRunway obstruction NOT MovingOnRunway Iff WheelsTurning NOT MotorReversed Iff WheelsTurning OR-refinement (complete) MovingOnRunway AndNot WheelsTurning WheelsTurning AndNot MovingOnRunway MotorReversed AndNot WheelsTurning WheelsTurning AndNot MotorReversed

Identifying obstacles by tautology-based refinement MotorReversed Iff MovingOnRunway MotorReversed Iff WheelsTurning MovingOnRunway obstruction NOT MovingOnRunway IffWheelsTurning NOT MotorReversed IffWheelsTurning OR-refinement (complete) MovingOnRunway AndNot WheelsTurning WheelsTurning AndNot MovingOnRunway MotorReversed AndNot WheelsTurning WheelsTurning AndNot MotorReversed ... WheelsNotOut WheelsBroken Aquaplaning ... ... ...

Obstacle identification: another example BrakeReleased « DriverWantsToStart BrakeReleased « MotorRaising MotorRaising « AccelerPedalPressed « DriverWantsToStart

Obstacle identification: another example BrakeReleased « DriverWantsToStart BrakeReleased « MotorRaising MotorRaising « AccelerPedalPressed « DriverWantsToStart ... AccelerPedalPressed And Not DriverWantsToStart ... MotorRaising And Not AccelerPedalPressed

Obstacle identification: another example BrakeReleased « DriverWantsToStart BrakeReleased « MotorRaising MotorRaising « AccelerPedalPressed « DriverWantsToStart ... AccelerPedalPressed And Not DriverWantsToStart ... MotorRaising And Not AccelerPedalPressed ... ... ... AirConditioningRaising cf. driver killed by his luxurious car on a hot summerday

Identifying obstacles from necessary conditions for obstructed target always TrainStoppedIfStopSignal sooner-or-later not TrainStoppedIfStopSignal sooner-or-later not DriverResponsive If TrainStoppedIfStopSignal then DriverResponsive

Identifying obstacles from necessary conditions for obstructed target (2) Can also be used for eliciting relevant domain properties “what are necessary conditions for TargetCondition?”

Obstacle models as goal-anchored fault trees WorstCaseStoppingDistanceMaintained AccelerationSent InTimeToTrain SafeAcceleration Computed SentCommand ReceivedByTrain ReceivedCommand ExecutedByTrain

Obstacle models as goal-anchored fault trees WorstCaseStoppingDistanceMaintained AccelerationSent InTimeToTrain SafeAcceleration Computed SentCommand ReceivedByTrain ReceivedCommand ExecutedByTrain ... Acceleration NotSafe AccelerationCommand Not SentInTimeToTrain AccelerationCommand Not ReceivedInTimeByTrain ... NotSent SentLate SentToWrongTrain NotReceived Corrupted ReceivedLate

Evaluating obstacles Check domain-consistency & feasibility conditions satisfying scenario ? Assess Likelihood and Criticality cf. Chap. 3 with domain experts rough estimates can be obtained from propagation rules: Likelihood (O) = mini (Likelihood (sOi) if O is AND-refined to sOi Likelihood (O) = maxi (Likelihood (sOi) if O is OR-refined to sOi severity of consequences can be estimated from number & Priority of higher-level goals obstructed by up-propagation in goal trees

Resolving obstacles Resolution through countermeasures new or modified goals in goal model often to be refined For every identified obstacle ... explore alternative resolutions select “best” resolution based on ... likelihood/severity of obstacle non-functional/quality goals in goal model

Exploring alternative countermeasures By use of model transformation operators encode resolution tactics Goal substitution: consider alternative refinement of parent goal to avoid obstruction of child goal G alternative less exposed to risk e.g. MotorReversed Iff WheelsTurning ® MotorReversed Iff PlaneWeightSensed

Exploring alternative countermeasures (2) Agent substitution: consider alternative responsibilities for obstructed goal so as to make obstacle unfeasible more reliable agent e.g. Maintain [SafeAccelerationComputed] obstructed by ComputedAccelerationNotSafe OnBoardTrainController ® VitalStationComputer

Exploring alternative countermeasures (3) Goal weakening: weaken the obstructed goal ’s formulation so that it no longer gets obstructed for if-then goal specs: add conjunct in if-part or disjunct in then-part e.g. Maintain [TrafficControllerOnDutyOnSector] obstructed by NoSectorControllerOnDuty ® goal weakening: TrafficControllerOnDutyOnSector or WarningToNextSector

Exploring alternative countermeasures (4) Obstacle prevention: introduce new goal Avoid [obstacle] e.g. AccelerationCommandCorrupted ® Avoid [AccelerationCommandCorrupted] to be further refined = standard resolution tactics for security threats Goal restoration: enforce target condition as obstacle occurs => new goal: if O then sooner-or-later TargetCondition e.g. ResourceNotReturnedInTime ® ReminderSent WheelsNotOut ® WheelsAlarmGenerated

Exploring alternative countermeasures (5) Obstacle reduction: reduce obstacle likelihood by ad-hoc countermeasure

Exploring alternative countermeasures (6) Obstacle mitigation: introduce new goal to mitigate consequences of obstacle Weak mitigation: new goal ensures weaker version of goal when obstructed e.g. Achieve [AttendanceIfInformedAndMeetingConvenient] ® Achieve [ImpedimentNotified] Strong mitigation: new goal ensures parent of goal when obstructed e.g. OutdatedSpeed/PositionEstimates ® Avoid [TrainCollisionWhenOutDatedTrainInfo] Resolution goals must then be further refined in the goal model

Selecting best resolution Evaluation criteria for comparing alternative resolutions ... number of obstacles resolved by the alternative their likelihood & criticality the resolution’s contribution to soft goals its cost May be based on estimates of ... risk-reduction leverage (cf. Chap.3) qualitative/quantitative contribution to soft goals (cf. Chap.16) If obstacle not eliminated, multiple alternatives may be taken e.g. FineCharged + ReminderSent (for book copies not returned in time) Selected alternative => new/weakened goal in goal model resolution link to obstacle for traceability weakening may need to be propagated in goal model to be refined & checked for conflicts & new obstacles