Finding Solutions in Goal Models: An Interactive Backward Reasoning Approach Jennifer Horkoff 1 Eric Yu 2 Department of Computer Science 1 Faculty of Information.

Slides:



Advertisements
Similar presentations
The 20th International Conference on Software Engineering and Knowledge Engineering (SEKE2008) Department of Electrical and Computer Engineering
Advertisements

Interactive Configuration
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Date:2011/06/08 吳昕澧 BOA: The Bayesian Optimization Algorithm.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
Relational Data Mining in Finance Haonan Zhang CFWin /04/2003.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Constraint Satisfaction Problems
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت.
Program Verification using Templates over Predicate Abstraction Saurabh Srivastava University of Maryland, College Park Sumit Gulwani Microsoft Research,
Chapter 5 Outline Formal definition of CSP CSP Examples
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Towards.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
A Framework for Iterative, Interactive Analysis of Agent-Goal Models in Early Requirements Engineering (Research Proposal) Jennifer Horkoff 1 Eric Yu 2.
Evaluation and Scalability of Goal Models URN Meeting Ottawa, January 16-18, 2008 Jennifer Horkoff PhD Candidate, Department of Computer Science, U of.
Analyzing Goal Models – Different Approaches and How to Choose Among Them Jennifer Horkoff 1 Eric Yu 2 1 Department of Computer Science 2 Faculty of Information.
Evaluating Goal Achievement in Enterprise Modeling – An Interactive Procedure and Experiences Jennifer Horkoff 1 Eric Yu 2 1 Department of Computer Science,
R EFLECTIVE A NALYSIS OF THE S YNTAX AND S EMANTICS OF THE i* F RAMEWORK Jennifer Horkoff, Golnaz Elahi, Samer Abdulhadi, Eric Yu Department of Computer.
Visualizations to Support Interactive Goal Model Analysis Jennifer Horkoff 1 Eric Yu 2 Department of Computer Science 1 Faculty of Information 2
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
Motivation & Goal SAT and Constraint Processing (CP) are fundamental areas of Computer Science that address the same computational questions. Compare SAT.
Goal and Requirement Change Management in Enterprise Architecture Abelneh Teka 13, June 2012.
Constraint Propagation as the Core of Local Search Nikolaos Pothitos, George Kastrinis, Panagiotis Stamatopoulos Department of Informatics and Telecommunications.
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
Uncertainty Management in Rule-based Expert Systems
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Interactive Goal Model Analysis Applied - Systematic Procedures versus Ad hoc Analysis Jennifer Horkoff 1 Eric Yu 2 Arup Ghose 1 Department of Computer.
Boolean Satisfiability Present and Future
CSE 303 – Software Design and Architecture
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Accelerating Random Walks Wei Wei and Bart Selman.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Inference in Propositional Logic (and Intro to SAT) CSE 473.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Faster Symmetry Discovery using Sparsity of Symmetries Paul T. Darga Karem A. Sakallah Igor L. Markov The University of Michigan.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
The Value of USAP in Software Architecture Design Presentation by: David Grizzanti.
Tommy Messelis * Stefaan Haspeslagh Burak Bilgin Patrick De Causmaecker Greet Vanden Berghe *
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
21st Mediterranean Conference on Control and Automation
Automatic Test Generation
Algorithms and Problem Solving
Inference and search for the propositional satisfiability problem
Ontology Evolution: A Methodological Overview
Simple Circuit-Based SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
SAT-Based Area Recovery in Technology Mapping
Canonical Computation without Canonical Data Structure
Canonical Computation Without Canonical Data Structure
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

Finding Solutions in Goal Models: An Interactive Backward Reasoning Approach Jennifer Horkoff 1 Eric Yu 2 Department of Computer Science 1 Faculty of Information 2 University of Toronto November 1, 2010 ER’10

Outline  Early RE  A Framework for Iterative, Interactive Analysis of Agent- Goal Models in Early RE  Background: Goal Models  Background: Interactive Forward Satisfaction Analysis  Need for Backward Analysis  Interactive, Iterative Backward Analysis Example Implementation  Qualitative Studies  Conclusions and Future Work Finding Solutions in Goal Models - Horkoff, Yu 2

Early Requirements Engineering  Domain understanding in the early stages of a project is crucial for the success of a system  Characterized by incomplete and imprecise information  Many non-functional, hard to quantify success criteria: customer happiness, privacy, job satisfaction, security,…  (Ideally) a high degree of stakeholder participation  Goal models can be a useful conceptual tool for Early RE Represent imprecise concepts (softgoals) and relationships (contribution links) Relatively simple syntax Amenable for high-level analysis and decision making Finding Solutions in Goal Models - Horkoff, Yu 3

Example: inflo Case Study Finding Solutions in Goal Models - Horkoff, Yu 4

Framework for Iterative, Interactive Analysis of Agent-Goal Models in Early RE  We develop a framework to support iteration and stakeholder participation in early goal model analysis Survey and analysis of existing analysis procedures (SAC’11) Interactive forward evaluation (CAiSE’09 Forum, PoEM’09, IJISMD) Interactive backward evaluation (this work!) Visualizations for backward evaluation (REV’10) User testing (PoEM’10) Suggested methodology (CAiSE’09, PoEM’09, IJISMD,…) More… Finding Solutions in Goal Models - Horkoff, Yu 5

Background: Goal Models  We use i* as an example goal modeling framework Finding Solutions in Goal Models - Horkoff, Yu 6

Interactive Forward Satisfaction Analysis  A question/scenario/alternative is placed on the model and its affects are propagated “forward” through model links Dependency links propagate values as is AND/OR (Decomposition/Means-Ends) links take the min/max Contribution links propagated as follows:  Interactive: user input (human judgment) is used to decide on partial or conflicting evidence “What is the resulting value?” Finding Solutions in Goal Models - Horkoff, Yu 7

Example: Interactive Forward Satisfaction Analysis Finding Solutions in Goal Models - Horkoff, Yu 8 Human Judgment What if… the application asked for secret question and did not restrict the structure of password?

Need for Backward Analysis  We can ask “what if…?” questions, but what about “Is this possible?” “How?” “If not, why?” Finding Solutions in Goal Models - Horkoff, Yu 9 Is it possible for Attract Users to be Satisfied? Partially Satisfied? If so how? If not, why not?

Background: SAT and UNSAT Core  SAT Solver: Algorithms which solve Boolean Satisfiability Problem  Accept a Boolean formula in conjunctive normal form (CNF), composed of a conjunction of clauses.  Searches for an assignment of the formula’s clauses in which it makes the formula true.  Although the SAT problem is NP-Complete, algorithms and tools which can solve many SAT problems in a reasonable amount of time have been developed.  When a SAT problem does not have a solution, we can find the UNSAT core  UNSAT core: an unsatisfiable subset of clauses in a CNF  We use the zChaff and zMinimal implementations in our tool Finding Solutions in Goal Models - Horkoff, Yu 10

Interactive, Iterative Backward Analysis

 Procedure overview: i* model and target values are encoded into CNF Iteratively call a SAT solver on the CNF representation:  After each iteration, prompt for human judgment for intentions with conflicting or multiple sources of partial evidence  Re-encode CNF formula If SAT solver finds an answer and no human judgment is needed:  Success: answer provided If SAT solver cannot find an answer  Display UNSAT core  Backtrack over last round of human judgment  If no more human judgment to backtrack over:  Failure: no answer Finding Solutions in Goal Models - Horkoff, Yu 12

Formally Expressing i*  i* model: a tuple M = I is a set of intentions R is a set of relations between intentions A is a set of actors  Intention type: each intention maps to one type in IntentionType = {Softgoal, Goal, Task, Resource}  Relation type: Each relation maps to one type in RelationType = {R me, R dec, R dep, R c } R c can be broken down into {R m, R hlp, R u, R hrt, R b }  Relation behavior: R dep and R c are binary (one intention relates to one intention), R me and R dec are (n+1)-ary (one to many intentions relate to one intention) Finding Solutions in Goal Models - Horkoff, Yu 13

Analysis Predicates  Formal expression of analysis predicates  Similar to predicates used in Tropos Framework (Sebastiani et al. CAiSE’04)  For i ∈ I: Example: PS(Attract Users), D(Ask for Secret Question)  Conflict label: C(i),  Conflict situation: for i ∈ I a predicate from more than one of the following sets hold: {S(i), PS(i)}, {U(i)}, {C(i)}, {PD(i), D(i)} Finding Solutions in Goal Models - Horkoff, Yu 14 S(i)PS(i)C(i)U(i)PD(i)D(i) SatisfiedPartially Satisfied ConflictUnknownPartially Denied Denied

Propagation in CNF  We use the SAT formula from the Tropos Framework: Φ = ΦTarget ∧ (the target values representing the question) ΦForward ∧ (axioms describing forward propagation) ΦBackward ∧ (axioms describing backward propagation) ΦInvariants ∧ (axioms describing invariant properties) ΦConstraints (constraints on propagation) ΦInvariants: S(i) → PS(i)D(i) → PD(i) ΦConstraints: ∀ i ∈ I s.t. i is a leaf: PS(i) ⋁ C(i) ⋁ U(i) ⋁ PD(i) ∀ i ∈ I s.t. i is a non-softgoal leaf: i must not have conflicting predicates (?) Finding Solutions in Goal Models - Horkoff, Yu 15

Forward Propagation Axioms  We develop axioms to express forward and backward propagation  Forward Propagation, for i ∈ I, R:i 1 x … x i n → i: (Some combination of v(i 1 )…v(i n )) → v(i)  Samples (complete list in paper): R hlp : S(i) → PS(i)PS(i) → PS(i)U(i) → U(i) C(i) → C(i)PD(i) → PD(i)D(i) → PD(i) Finding Solutions in Goal Models - Horkoff, Yu 16

Forward Propagation Axioms  Forward Propagation, for i ∈ I, R:i 1 x … x i n → i: (Some combination of v(i 1 )…v(i n )) → v(i)  R dec : Finding Solutions in Goal Models - Horkoff, Yu 17

Backward Propagation Axioms  Decomposition, Means-Ends and Dependency backward axioms are the inverse of forward axioms  Forward Propagation, for i ∈ I, R:i 1 x … x i n → i: (Some combination of v(i 1 )…v(i n )) → v(i)  Backward Propagation, for i ∈ I, R:i 1 x … x i n → i: v(i) → (Some combination of v(i 1 )…v(i n ))  Contribution links are different – information is lost during value combination in forward direction In the backward direction, we can make limited assumptions Finding Solutions in Goal Models - Horkoff, Yu 18

Human Judgment  An intention, i ∈ I, needs human judgment if: i is the recipient of more than one contribution link, AND:  There is a conflict situation  OR, PS(i) or PD(i) holds and i has not received a human judgment in the previous iteration (allows promotion of partial evidence)  When a judgment is provided, the CNF encoding is adjusted as follows: Forward and backward axioms propagating to or from i are removed  (Any combination of v(i 1 )…v(i n )) → v(i)  v(i) → (Any combination of v(i 1 )…v(i n )) New axioms representing the judgment are added  Forward: (v(i 1 ) ⋀ … ⋀ v(i n )) → judgment(i)  Backward: judgment(i) → (v(i 1 ) ⋀ … ⋀ v(i n )) Finding Solutions in Goal Models - Horkoff, Yu 19

Example: Interactive Backward Satisfaction Analysis Finding Solutions in Goal Models - Horkoff, Yu 20 Human Judgment Conflict Backtrack Is it possible for Attract Users to be Partially Satisfied? If so how? If not, why not? Target(s) unsatisfiable The following intentions are involved in the conflict: SecurityPS Attract UsersPS UsabilityPS The following intentions are the sources of the conflict: Restrict Structure of Password PS, D, not PD, PD

Implementation  Implemented in OpenOME  Worst case run time: O(6 q (l * n 2 + n * runtime(SAT))) There are 6 evaluation labels n = number of intentions q = maximum number of sources for intentions l = number of links in the model  Procedure has been applied to several medium to large sized models  If the user does not repeat judgments, procedure will terminate Finding Solutions in Goal Models - Horkoff, Yu 21

Qualitative Studies of Interactive Goal Model Analysis  Tested the procedure with a group implementing the inflo “back-of- the-envelope” calculation modeling tool  Ten individual case studies (PoEM’10)  Qualitative analysis of results (no statistical significance)  Observations showed benefits and revealed usability issues Individuals and groups able to understand and apply backward analysis In some cases interesting discoveries were made about the model and domain (model incompleteness, meaning of intentions) Analysis may be less useful on incomplete, smaller models, or models without tradeoffs i* and evaluation training, or presence of an experienced facilitator is needed to get the full intended benefits Finding Solutions in Goal Models - Horkoff, Yu 22

Inflo Example Finding Solutions in Goal Models - Horkoff, Yu 23

Conclusions and Future Work  Expanded the analysis ability of i* models as part of an interactive, iterative framework aimed for Early RE  Future work includes: Procedure optimizations  Optionally reusing human judgment  Deriving judgments from existing judgments  Improving run time Further visualizations  Highlighting intentions involved in human judgment  Links coloring for conflicts Further applications  More realistic action research setting Finding Solutions in Goal Models - Horkoff, Yu 24

Thank you      OpenOME: Finding Solutions in Goal Models - Horkoff, Yu 25

Related Work  Giorgini et al. have introduced a formal framework for (forward and) backward reasoning with goal models (CAiSE’04)  We use the CNF formula and some of the axioms from this work; however, we make the following expansions and modifications: Incorporating interaction through human judgment – making the procedure more amenable to Early RE Accounting for additional agent-goal syntax (dependencies, unknown) and analysis values (conflict, unknown) Producing results with only one value per intention Providing information on model conflicts when a solution cannot be found Finding Solutions in Goal Models - Horkoff, Yu 26 S, PD PS PS, D PS, PD