Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agent Oriented Software Development

Similar presentations


Presentation on theme: "Agent Oriented Software Development"— Presentation transcript:

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

17

18 © Eric Yu 2001

19 https://youtu.be/ve63xdzc3hg
© Eric Yu 2001

20

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


Download ppt "Agent Oriented Software Development"

Similar presentations


Ads by Google