Download presentation
Presentation is loading. Please wait.
1
Agent Oriented Software Development
References © Eric Yu 2001
2
Agent-Oriented Software
Situated / Pro-active sense the environment and perform actions that change the environment Autonomous have control over their own actions and internal states can act without direct intervention from humans Flexible responsive to changes in environment, goal-oriented, opportunistic, take initiatives Social interact with other artificial agents and humans to complete their tasks and help others Jennings, Sycara, Wooldridge (1998) A Roadmap of Agent Research & Development. Autonomous Agents & Multi-Agent Systems journal. © Eric Yu 2001
3
© Eric Yu 2001
4
But why Agent Orientation?
The “world” (application environment) has become more distributed, autonomous, networked… I.e. the agent properties are being found in the world. E.g. E-commerce, e-health, e-learning, groupwork, kn mgt Question is: how to make the software systems meet these desired properties (in the world) That’s the job of RE (and SE). But previously, no way of expressing these properties. RE languages need to be social, intentional. Most AOSE methodologies focus the system, not on relationship to the world © Eric Yu 2001
5
Ubiquity The continual reduction in cost of computing capability has made it possible to introduce processing power into places and devices that would have once been uneconomic As processing capability spreads, sophistication (and intelligence of a sort) becomes ubiquitous What could benefit from having a processor embedded in it…? © Eric Yu 2001
6
Interconnection Computer systems today no longer stand alone, but are networked into large distributed systems The internet is an obvious example, but networking is spreading its ever-growing tentacles… Since distributed and concurrent systems have become the norm, some researchers are putting forward theoretical models that portray computing as primarily a process of interaction © Eric Yu 2001
7
Intelligence The complexity of tasks that we are capable of automating and delegating to computers has grown steadily If you don’t feel comfortable with this definition of “intelligence”, it’s probably because you are a human © Eric Yu 2001
8
Computers are doing more for us – without our intervention
Delegation Computers are doing more for us – without our intervention We are giving control to computers, even in safety critical tasks One example: fly-by-wire aircraft, where the machine’s judgment may be trusted more than an experienced pilot Next on the agenda: fly-by-wire cars, intelligent braking systems, cruise control that maintains distance from car in front… © Eric Yu 2001
9
Human Orientation The movement away from machine-oriented views of programming toward concepts and metaphors that more closely reflect the way we ourselves understand the world Programmers (and users!) relate to the machine differently Programmers conceptualize and implement software in terms of higher-level – more human-oriented – abstractions © Eric Yu 2001
10
Global Computing What techniques might be needed to deal with systems composed of 1010 processors? Don’t be deterred by its seeming to be “science fiction” Hundreds of millions of people connected by / Social Networks even over the phone once seemed to be “science fiction”… Let’s assume that current software development models can’t handle this… © Eric Yu 2001
11
Where does it bring us? Delegation and Intelligence imply the need to build computer systems that can act effectively on our behalf This implies: The ability of computer systems to act independently The ability of computer systems to act in a way that represents our best interests while interacting with other humans or systems © Eric Yu 2001
12
Interconnection and Distribution
Interconnection and Distribution have become core motifs in IT But Interconnection and Distribution, coupled with the need for systems to represent our best interests, implies systems that can cooperate and reach agreements (or even compete) with other systems that have different interests (much as we do with other people) © Eric Yu 2001
13
Agents, a Definition An agent is a computer system that is capable of independent action on behalf of its user or owner (figuring out what needs to be done to satisfy design objectives, rather than constantly being told) An Agent can be Software, Hardware and People working together to achieve a goal © Eric Yu 2001
14
Multiagent Systems, a Definition
A multiagent system is one that consists of a number of agents, which interact with one-another In the most general case, agents will be acting on behalf of users with different goals and motivations To successfully interact, they will require the ability to cooperate, coordinate, and negotiate with each other, much as people do © Eric Yu 2001
15
Spacecraft Control When a space probe makes its long flight from Earth to the outer planets, a ground crew is usually required to continually track its progress, and decide how to deal with unexpected eventualities. This is costly and, if decisions are required quickly, it is simply not practicable. For these reasons, organizations like NASA are seriously investigating the possibility of making probes more autonomous — giving them richer decision making capabilities and responsibilities. This is not fiction: NASA’s DS1 has done it! © Eric Yu 2001
16
Air Traffic Control “A key air-traffic control system…suddenly fails, leaving flights in the vicinity of the airport with no air-traffic control support. Fortunately, autonomous air-traffic control systems in nearby airports recognize the failure of their peer, and cooperate to track and deal with all affected flights.” Systems taking the initiative when necessary Agents cooperating to solve problems beyond the capabilities of any individual agent © Eric Yu 2001
18
© Eric Yu 2001
19
https://youtu.be/ve63xdzc3hg
© Eric Yu 2001
21
The i* Actor and Social Modeling Framework
Portions based on the slides by Eric Yu.
22
i* Framework Developed at U of T (Dept. of Computer Science) – 1990’s
Creator: Eric Yu – now a professor at the iSchool Used in Requirements Engineering (Business Analysis) Strategic/intentional perspective on organizations Models strategic actor relationships and rationales Applications to BP modeling, security, value modeling, etc. Focuses on Strategic Actors What do I want? How can I achieve what I want? Who do I depend on to achieve what I want?
23
Strategic Actors Strategic Actors – concerned about opportunities and vulnerabilities, and seek rearrangement of their environments that would better serve their interests Have goals, abilities, commitments, beliefs Semi-autonomous Freedom of action, constrained by relationships with others Not fully knowable or controllable Have knowledge to guide action, but only partially explicit Depend on each other For goals to be achieved, tasks to be performed, resources to be furnished
24
i*: Two Levels of Analysis
Strategic Dependency (SD) model - analyzes relationships among actors with strategic intent Includes humans and machines Strategic Rationale (SR) model – exposes the intentionality of each actor What it wants and options for achieving that Means-ends analysis
25
Strategic Actors Actor – active entity that carries out actions to achieve goals by executing its know-how Role – abstract characterization of the behaviour of a social actor within some specialized context or domain of endeavour Agent – Actor with concrete, physical manifestations, such as a human individual. Agents can play roles. Position - Intermediate abstraction that can be used between a role and an agent. It is a set of roles typically played by one agent (e.g., assigned jointly to that one agent) We say that an agent occupies a position. A position is said to cover a role.
26
Strategic Dependency Relationship
I want … Actor B I can … Actor A D Car Be Repaired © Eric Yu 2001
27
Actor Association Links – 1
Actor association links – describe relationships b/w actors Used in both SD and SR models Is-Part-Of Association Applies to roles, positions, and agents Each actor, regardless of whether it has parts, or is part of a larger whole, is taken to be intentional There can be intentional dependencies between the whole and its parts, e.g., a dependency by the hole on its parts Can be applied between any two instances of the same type of actor
28
Actor Association Links – 2
ISA (Is-A) Association – generalization One actor being a specialized case of another Can be applied between any two instances of the same type of actor Plays Association – used between an agent and a role to indicate that the agent plays the role
29
Actor Association Links – 3
Covers Association – describes the relationship between a position and the roles that it covers Occupies Association – shows that an agent occupies a position, meaning that it plays all of the roles that are covered by the position
30
Actor Association Links – 4
INS Association – represents instantiation Used to represent a specific instance of a more general entity E.g., an agent is an instantiation of another agent
31
Intentional Elements – 1
Goal (Hard/Functional Goal) – represents and intentional desire of an actor (desired state of the world) Focus on WHAT is to be achieved Specifics of how the goal is to be satisfied – not described This can be described through task decomposition Softgoal – objective with no clear-cut satisfaction condition Frequently – quality objective (HOW) The means to satisfy such goals are described via contribution links from other elements Needs to be sufficiently satisfied – from the p.o.v. of particular actor
32
Intentional Elements – 2
Task – The actor wants to accomplish some specific task, performed in a particular way Details of the task may be described by decomposing the task into further sub-elements Resource – The actor desires the provision of some entity, physical or informational This type of elements assumes there are no open issues or questions concerning how the entity will be achieved
33
Strategic Dependencies - Components
Dependee – Actor who is depended upon on a dependency relationship Depender – The depending actor on a dependency relationship Dependum – Element around which a dependency relationship centers
34
Strategic Dependencies – Types
Dependum
35
Goal Dependency Goal dependency – the depender depends on the dependee to bring about a certain state of affairs in the world The dependee is free to (and is expected to) make whatever decisions are necessary to achieve the goal The depender does not care how the dependee goes about achieving the goal
36
Task Dependency Task dependency – the depender depends on the dependee to carry out an activity. The dependum names a task which specifies how the task is to be performed, but not why. The depender has already made decisions about how the task is to be performed A task description in i* is not meant to be a complete specification of the steps required to execute the task. It is a constraint imposed by the depender on the dependee. The dependee still has freedom of action within these constraints
37
Resource Dependency Resource dependency – the depender depends on the dependee for the availability of an entity (physical or informational) By establishing this dependency, the depender gains the ability to use this entity as a resource. A resource is the finished product of some deliberation-action process In a resource dependency, it is assumed that there are no open issues to be addressed or decisions to be made
38
Softgoal Dependency Softgoal dependency – a depender depends on the dependee to perform some task that meets a softgoal The meaning of the softgoal is elaborated in terms of the methods that are chosen in the course of pursuing the goal. The depender decides what constitutes satisfactory attainment of the goal, but does so with the benefit of the dependee's know how.
39
Vulnerability By depending on other actors, an actor
Can achieve goals (execute tasks, obtain resources) that it couldn’t before or not as quickly/cheaply/etc. At the same time, the actor becomes vulnerable in case the dependee fails to deliver the dependum
40
Dependency Strengths The level of vulnerability can be represented using dependency strength
41
SD Diagram Example
42
Example: Car Insurance – As Is
43
Example: Car Insurance – Let the Insurance Agent Handle It
44
Example: Car Insurance – Let the Body Shop Handle It
45
SR Diagrams Show the internals of actors
Shows their internal (soft)goals, tasks, and resources They are explicitly desired by the actor Shows links Means-ends Task decomposition Softgoal contribution
46
Means-Ends Links Capture relationship between an end (goal) and possibly many means for attaining it (tasks)
47
Example: Means-Ends Links
48
Decomposition Links Specify how tasks are decomposed
Tasks can be decomposed into one to many subtasks, (soft)goals, and resources
49
Example: Decomposition Links
50
Softgoal Contribution Links
Most used contribution types: Make (++) Help(+) Hurt (–) Break (--)
51
Example: Softgoal Contribution Links
52
AND/OR Softgoal Decompositions
AND decomposition – Parent is satisficed iff all children are satisficed. No other effects exist OR decomposition – Parent is satisficed iff at least one of the children is satisficed
53
Example: AND Softgoal Decomposition
CIA – A well-known refinement of (Information) Security represented using softgoals
54
Type/Topic Pattern for Softgoals
Can use Types/Topics to add details to softgoal specialization Type – Softgoal/Quality Requirement/Criterion Topic – Context for the quality requirement
55
SR Diagram Example
56
Example: Car Insurance – Means/Ends and Task Decompositions
57
Example: Car Insurance – “Functional” Alternatives
58
Example: Car Insurance – “Non-Functional” Rationales
59
Example: Car Insurance –Overall Model for Claims Handling
60
i* Analysis and Design Support
Opportunities and vulnerabilities Ability, workability, viability, believability Insurance, assurance, enforceability Node and loop analysis Design support Raising issues Exploring alternatives Evaluating, making tradeoffs Justifying Based on qualitative reasoning
61
Analyzing i* Models: Why? How? How Else?
62
Analyzing i* Models: Why? How? How Else?
63
Analyzing i* Models: Why? How? How Else?
64
Analyzing Vulnerabilities
Example of enforcement mechanism Reciprocal dependency Loop analysis
65
Analyzing Vulnerabilities
Example of assurance mechanism Goal synergy or conflict
66
Example: Meeting Scheduling SD (As-Is)
67
To-Be: Computer-Based System SD
68
Meeting Scheduling SR (As-Is)
Ask: Why? How? How Else? Meeting Scheduling SR (As-Is)
69
To-Be: Computer-Based System SR
70
Exercise: Identification and Evaluation of Alternatives
Context: Travel Actor: Traveler Goal: Be at Airport To Do: Identify alternatives to achieve the goal (take Toronto as an example) Use task decompositions to further explore the alternatives if needed Identify quality criteria (softgoals) Add softgoal contribution links
71
ITEC 4040 Requirements Management, Winter 2017
Possible Answer ITEC 4040 Requirements Management, Winter 2017
72
A Strategic Dependency Model
actor goal dependency task dependency resource dependency softgoal dependency LEGEND © Eric Yu 2001
73
Wants and Abilities I want ... I can provide ... © Eric Yu 2001
74
Some strategic dependencies between IKEA and its customers
© Eric Yu 2001
75
Roles, Positions, Agents
LEGEND agent position role A Strategic Dependency model showing reward structure for improving performance, based on an example in [Majchrzak96] © Eric Yu 2001
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.