Www.wileyeurope.com/college/van lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons Building System Models for RE Chapter 11 Modeling.

Slides:



Advertisements
Similar presentations
Chapter 7 Goal Orientation in RE
Advertisements

lamsweerde Chap.12: Modeling System Operations © 2009 John Wiley and Sons Building System Models for RE Chapter 12 Modeling.
Building System Models for RE Chapter 12 Modeling System Operations.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
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.
Building System Models for RE Chapter 11 Modeling System Agents and Responsibilities.
OASIS Reference Model for Service Oriented Architecture 1.0
All Rights Reserved: JusticeExperts.com Enterprise? What Enterprise? Enterprise Development.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology, Intelligent.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
lamsweerde Chap.8: Modeling System Objectives © 2009 John Wiley and Sons Building System Models for RE Chapter 8 Modeling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
System behaviors: state machine diagrams
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 10: Architectural Design
Chapter 2 Accountants as Business Analysts
Chapter 19 OPERATIONS AND VALUE CHAIN MANAGEMENT © 2003 Pearson Education Canada Inc.19.1.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
The Unified Modeling Language (UML) Class Diagrams.
Architectural Design.
Chapter 10 Architectural Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
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.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Applying Tropos to Socio-Technical System Design and Runtime Configuration Fabiano Dalpiaz, Raian Ali, Yudistira Asnar, Volha Bryl, Paolo Giorgini Dipartimento.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Chapter 13 Architectural Design
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Lecture 7: Requirements Engineering
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
© 2005 Prentice Hall10-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Specification and Testing An introduction TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
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.
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
lamsweerde Chap.7: Goal Orientation in RE © 2009 John Wiley and Sons 1 Fundamentals of RE Chapter 7 Goal Orientation in.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Chapter : 9 Architectural Design
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
1 Requirements Elicitation – 2 Lecture # Requirements Engineering Process Requirements Elicitation Requirements Analysis and Negotiation Requirements.
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
UML Diagrams: Class Diagrams The Static Analysis Model
Chapter 20 Object-Oriented Analysis and Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Chapter 9 Architectural Design.
TDT4252 Modelling of Information Systems Advanced Course
Design Yaodong Bi.
Use Case Analysis – continued
Chapter 7 Goal Orientation in RE
Design.
Presentation transcript:

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons Building System Models for RE Chapter 11 Modeling System Agents and Responsibilities

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 2 Building models for RE Chap.8: Goals Chap.9: Risks Chap.10: Conceptual objects Chap.11: Agents on what? why ? how ? who ?

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 3 The agent model  Responsibility  Responsibility view of the system being modeled –who –who is doing what, and why  Different perspectives, different diagrams –agent capabilities, responsibilities, interfaces –dependencies among agents  Multiple uses... –showing distribution of responsibilities within system –load analysis –system scope & configuration, boundary software/environment –heuristics for responsibility assignment –vulnerability analysis –input to architectural design

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 4 Modeling system agents: outline  What we know about agents so far  Characterizing system agents –capabilities –responsibilities –operation performers –wishes & beliefs –dependencies  Representing agent models –agent diagram, context diagram, dependency diagram  Refinement of abstract agents  Building agent models: heuristics & derivation rules

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 5 What we know about agents so far  Active objects: control behaviors in system as-is or to-be –“processors” of operations  Responsible for goal satisfaction –role rather than individual –assigned to leaf goals (requirements, expectations) –must restrict system behaviors accordingly  May run concurrently with others  Different categories –software-to-be –environment: people, devices, legacy/foreign software

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 6 Characterizing system agents  Def:  Def: condition for individual to be currently instance of this agent  Attributes/associations, DomInvar/Init: in object model  Category  Category: software or environment agent  Capabilities:  Capabilities: what the agent can monitor and control –monitoring/control links to object model, cf next slides  Responsibility  Responsibility: links to goal model  Performance  Performance: links to operation model  Dependency  Dependency links to other agents for goal satisfaction  Wishes  Wishes (for responsibility assignment heuristics)  Knowledgebeliefs  Knowledge and beliefs (for obstacle analysis, security analysis)

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 7 Agent capabilities  Ability to monitor or control items declared in object model state variables –attributes/associations get instantiated as state variables monitorable/controllable by agent instances (cf. 4-var model) instance declaration –which agent instance monitors/controls attrib/assoc of which object instance: specified in instance declaration annotating link monitorscontrols  An agent monitors ( resp. controls) an object attribute if its instances can get ( resp. set) values of this attribute monitorscontrols –it monitors ( resp. controls) an association if its instances can get ( resp. create or delete) association instances monitorscontrols –it monitors ( resp. controls) an object if it monitors ( resp. controls) all object’s attributes & associations

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 8 Agent capabilities (2)  Capabilities define agent interfaces –an agent monitors a state variable controlled by another  Higher-level capabilities sometimes convenient monitorscontrols –an agent monitors ( resp. controls) a condition if its instances can evaluate it ( resp. make it true/false)  A variable may be controlled by at most one agent –to avoid interferences among concurrent agents

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 9 Agent responsibilities responsible  An agent is responsible for a goal if its instances are the only ones required to restrict behaviors to satisfy the goal –through setting of their controlled variables instance declaration –which agent instance is responsible for the goal on which object instance: specified in instance declaration annotating link measuredSpeed  0   doorState = ‘closed’ TrainControler The train controller on board of a train this is responsible for the goal on this train responsibility responsibility instance declaration Maintain [DoorStateClosedWhileNonZeroMeasuredSpeed]

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 10 Agent capabilities & goal realizability  Responsibility assignment is subject to agent capabilities –the goal must be realizable by the agent in view of what the agent can monitor and control –roughly: we can define a set of sequences of state transitions on the agent’s monitored/controlled variables that coincides with the set of behaviors prescribed by the goal controlled monitored

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 11 Causes of goal unrealizability by agents  Lack of monitorability  Lack of monitorability of state variables to be evaluated in assigned goals  Lack of controllability  Lack of controllability of state variables to be constrained in assigned goals  State variables to be evaluated in future states  Goal unsatisfiability under certain conditions  Unbounded achievement of assigned Achieve goals –target can be indefinitely postponed

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 12 Agent capabilities & goal realizability: examples Ex 1: Realizable by TrainController measuredSpeed  0  doorState = ‘closed’ Moving  DoorsClosed Not Ex 2: Not realizable by TrainController TrainController monitored variable measuredSpeed controlled variable doorState agent capabilities TrainControler

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 13 Agents as operation performers performs  An agent performs an operation if the applications of this operation are activated by instances of this agent –means for getting/setting the agent’s monitored/controlled variables –under restricted conditions so as to satisfy assigned goals: permissions, obligations specified in operation model (cf. Chap.12) instance declaration –which agent instance activates which operation application: specified in instance declaration annotating Performance link

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 14 Agent wishes wishes  A human agent wishes a goal if its instances would like the goal to be satisfied e.g. Wish link between... Patron and LongLoanPeriods Participant and MinimumInteraction  Optional agent feature used for... –Goal elicitation: goals wished by this human agent ? –Responsibility assignment: Avoid assignments of goals conflicting with wished goals e.g. no assignment of ReturnEncoded to Patron Favor assignments of security goals to trustworthy agents: wishing them

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 15 Agent belief and knowledge local memory  Agents may be equipped with a local memory maintaining facts about their environment –domain properties should state how facts get in and out believes  An agent believes a fact F if F is in its local memory knows  An agent knows a fact F if it believes F and F actually holds  Optional agent feature used for... wrong belief –obstacle analysis: wrong belief obstacles are common ag believes F and F does not hold e.g. Belief Participant (m.Date = d) and m.Date  d for some meeting m not –security analysis: goals on what agents may not know no knowledge of sensitive facts

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 16 Agent dependencies dependsonfor if  An agent ag1 depends on another agent ag2 for a goal G under responsibility of ag2 if ag2’s failure to get G satisfied can result in ag1’s failure to get one of its assigned goals satisfied –dependee ag2 is not responsible for ag1’s goals & their failure –goal failure propagates... up up in refinement trees backwards backwards through dependency chains  Optional agent feature used for... –vulnerability analysis along dependency chains => agent model restructuring, countermeasures –capturing strategic dependencies among organizational agents

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 17 Dependencies may propagate along chains  If  If ag1 depends on ag2 for G2, ag2 depends on ag3 for G3, G2 is among ag2’s failing goals when G3 fails; then then ag1 depends on ag3 for G3  Critical dependency chains should be detected and broken –alternative goal refinements or assignments with fewer, less critical dependencies –dependency mitigation goals

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 18 A common dependency pattern: milestone-based dependency If Target If ag2 can fail to establish TargetCondition Milestone when ag1 fails to establish MilestoneCondition then then ag2 depends on ag1 for G1 ag1 ag2 G1 G2

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 19 Modeling system agents: outline  What we know about agents so far  Characterizing system agents –capabilities –responsibilities –operation performers –wishes & beliefs –dependencies  Representing agent models –agent diagram, context diagram, dependency diagram  Refinement of abstract agents  Building agent models: heuristics and derivation rules

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 20 agent diagram An agent diagram shows agents with their capabilities, responsibilities & operations Monitoring Speed & Accel Controller Train CurrentSpeed CurrentLoc MeasuredSpeed MeasuredLoc MeasuredSpeed MeasuredLoc Command CommandedSpeed CommandedAccel SafeCommand Message CommandSent InTime AccurateEstimate OfSpeed&Position Send Command Tracking System Control Performance Responsibility environment agent InstanceResponsibility A train controller at a station is responsible for computing safe accelarations of all trains between this station and the next one

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 21 Alternative agent assignments define alternative software-environment boundaries Train Controller Train Driver Passenger OR-assignment While DoorsStateClosedWhile NonZeroMeasuredSpeed  OR-assignment => alternative options => alternative system proposals – more or less automation  Captured in goal model; selected assignment shown in agent model

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 22 Load analysis from query on agent model for air traffic control responsibility

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 23 context diagram A context diagram shows agents and their interfaces  Partial view: focus on capabilities & interfaces monitoredcontrolled –interface = monitored/controlled state variables (attrib/assoc from object model) –link (ag1, ag2)var –link (ag1, ag2) with label var generated from agent diagram iff var var is controlled by ag1, monitored by ag2 var var is monitored by ag1, controlled by ag2  Cf. context diagrams & problem diagrams in Chap.4 variables monitored by ag1 & controlled by ag2 ag1 ag2 variables controlled by ag1 & monitored by ag2

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 24 Context diagram: example Train Actuator Command. CommandedAcceleration Train.ActuatedAcceleration Train.CurrentSpeed, Train.CurrentLoc Tracking System Speed & Accel Controller OnBoard Controller Train.MeasuredSpeed, Train.MeasuredLoc

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 25 dependency diagram A dependency diagram shows agents and their dependencies  Dependencies among agent pairs for goals to be satisfied –including dependency chains  Complementary view to agent/context diagrams –for vulnerability analysis: goal failure propagation –for modeling organizational components of the system  Cf. i* diagrams [Yu’97]

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 26 Modeling system agents: outline  What we know about agents so far  Characterizing system agents –capabilities –responsibilities –operation performers –wishes & beliefs –dependencies  Representing agent models –agent diagram, context diagram, dependency diagram  Refinement of abstract agents  Building agent models: heuristics and derivation rules

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 27 Agent refinement  Agents may be defined as aggregations of finer-grained agents –like any object in object model, cf. Chap. 10  Supports incremental refinement of responsibilities –coarse-grained goal assigned to coarse-grained agent, then subgoals assigned to finer-grained agents  Coarse-grained agent may be... –environment agent e.g. organizational department -> units -> operators –hybrid: environment agent + software-to-be –for software-to-be agents: deferred to architectural design

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 28 Goal-agent co-refinement: example

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 29 A goal-agent co-refinement pattern in process control Cf. 4-variable model (Chap.1), problem frame for control systems (Chap.4)

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 30 Modeling system agents: outline  What we know about agents so far  Characterizing system agents –capabilities –responsibilities –operation performers –wishes & beliefs –dependencies  Representing agent models –agent diagram, context diagram, dependency diagram  Refinement of abstract agents  Building agent models: heuristics and derivation rules

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 31 Heuristics for building agent diagrams  For agent identification... Concerned by –active objects Concerned by this goal ? their monitoring & control capabilities in object model ? e.g. Achieve [ResourceRequestSatisfied] => ResourceUser –possible enforcers of this goal ? their capabilities ? e.g. Avoid [CopiesStolen] => Staff or AntiTheftDevice Wishing –human system agents Wishing this goal ? their capabilities ? e.g. Maintain [AccurateBookClassification] => ResearchStaff MonitoringControl –possible source (resp. target) of this Monitoring (resp. Control) link in this context diagram ? why ? e.g. Scheduler Controls Meeting.RequiredEquipment => LocalOrganizer as monitoring agent  Don’t confuse product-level agents & process-level stakeholders

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 32 Heuristics for building agent diagrams (2)  For goal responsibility assignment... –Consider agents whose monitoring/control capabilities match quantities to be evaluated/constrained in the goal spec –Consider software assignment as alternative to human assignment + pros/cons as soft goals e.g. AccurateBookClassification => Staff vs. AutoClassifier ? –Identify finer-grained assignments by goal-agent co-refinement –Select assignments that best contribute to high-priority soft goals –Favor human assignments to agents wishing the goal or a parent goal e.g. AccurateBookClassification to ResearchStaff rather than AdministrativeStaff  Avoid assignments resulting in critical agent dependencies e.g. BiblioSearchEngine depending on AdministrativeStaff for AccurateBookClassification

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 33 Deriving context diagrams from goals  Behavioral goal specs are of form: Currentmonitored G: CurrentCondition [monitoredVariables] Targetcontrolled  [sooner-or-later/always] TargetCondition [controlledVariables]  Cf. goal-capability matching for goal realizability measuredSpeedDoorsState tr.measuredSpeed  0  tr.DoorsState = ‘closed’ DoorsState Train.DoorsState measuredSpeed Train.measuredSpeed OnBoard Controller Tracking System DoorsClosedWhile NonZeroSpeed OnBoard Controller Train Actuator

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 34 Deriving context diagrams from goals, more generally  Agent interfaces are derived from goal specs   Context diagram is derived piecewise by iteration on leaf goals –var var –agent with outgoing arrow labelled var is connected to all agents with incoming arrow labelled var

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 35 Deriving context diagrams from goals: another example

lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons 36 Modeling system agents: summary  What we know about agents so far  Characterizing system agents –capabilities –responsibilities –operation performers –wishes & beliefs –dependencies  Representing agent models –agent diagram, context diagram, dependency diagram  Refinement of abstract agents  Building agent models: heuristics & derivation rules