Agent Oriented Software Development

Slides:



Advertisements
Similar presentations
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
Advertisements

1-1 LECTURE 1: INTRODUCTION Multiagent Systems Based on “An Introduction to MultiAgent Systems” by Michael Wooldridge, John Wiley & Sons, 2002.
Strategic Modelling for Enterprise Integration Eric Yu University of Toronto 14th World Congress International Federation of Automatic Control July 5-9,
© Eric Yu Agenda Session 1 – Introduction December 13, 14:30-16:30 Motivations Basic concepts –The Strategic Dependency Model –The Strategic Rationale.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering Vahid Jalali Amirkabir university of technology, Department of computer.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
The Architecture Design Process
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Towards.
Course Instructor: Aisha Azeem
Architectural Design.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Evaluating Goal Achievement in Enterprise Modeling – An Interactive Procedure and Experiences Jennifer Horkoff 1 Eric Yu 2 1 Department of Computer Science,
Agent architectures Smarter software for astronomers Alasdair Allan University of Exeter, Exeter, U.K.
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course Lecture 5: i*modelling.
1 From GORE (not the US presidential candidate) to AORE (Agent-Oriented Requirements Engineering) Eric Yu University of Toronto November 2000.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
© Eric Yu Agent Oriented Software Development References
The Next Generation Science Standards: 4. Science and Engineering Practices Professor Michael Wysession Department of Earth and Planetary Sciences Washington.
Using Meta-Model-Driven Views to Address Scalability in i* Models Jane You Department of Computer Science University of Toronto.
Agent Oriented Software Development
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
© Eric Yu Business Processes (from Steve Easterbrook RE slides)  Business Process Automation  Leave existing business processes as they are 
Human Computer Interaction
Multiagent System Katia P. Sycara 일반대학원 GE 랩 성연식.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Structuring Knowledge for a Security Trade-offs Knowledge Base Golnaz Elahi Department of Computer Science Eric Yu Faculty of Information Study University.
Chapter : 9 Architectural Design
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Requirement Elicitation Nisa’ul Hafidhoh Teknik Informatika
Strategic Information Systems Planning
Design Patterns: MORE Examples
CREATED BY T.ALAA AL AMOUDI
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Performance Achievement a quick reference guide to
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 1- Introduction
System Design and Modeling
Introduction to System Analysis and Design
Distribution and components
Software Engineering (CSI 321)
LECTURE 1: INTRODUCTION
Foundations of Planning
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Objective of This Course
Agents & Agent-Based Programming
Objectives 1. A definition of planning and an understanding of the purposes of planning 2. Insights into how the major steps of the planning process are.
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Systems Engineering for Mission-Driven Modeling
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
CREATED BY T.ALAA AL AMOUDI
LECTURE 1: INTRODUCTION
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
TDT4252 Modelling of Information Systems Advanced Course
Foundations for making smart decisions
Object-Oriented Software Engineering
LECTURE 1: INTRODUCTION
Chapter 5 Architectural Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
LECTURE 1: INTRODUCTION
Requirements I Peter Dolog dolog [at] cs [dot] aau [dot] dk
Chapter 11 Management Skills.
An Introduction to Multiagent Systems
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
System architecture, Def.
and Negotiating Skills
Presentation transcript:

Agent Oriented Software Development References http://www.cs.toronto.edu/km/istar http://www.cs.toronto.edu/km/OME http://www.fis.utoronto.ca/~yu © Eric Yu 2001

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

© Eric Yu 2001

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

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

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

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

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

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

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 email / 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

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

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

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

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

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

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

https://www.youtube.com/watch?feature=player_embedded&v=Kyk1VLTSH_U

https://www.thestar.com/business/2016/09/14/uber-trials-driverless-cars-in-pittsburgh.html © Eric Yu 2001

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

The i* Actor and Social Modeling Framework Portions based on the slides by Eric Yu.

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?

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

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

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.

Strategic Dependency Relationship I want … Actor B I can … Actor A D Car Be Repaired © Eric Yu 2001

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

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

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

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

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

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

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

Strategic Dependencies – Types Dependum

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

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

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

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.

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

Dependency Strengths The level of vulnerability can be represented using dependency strength

SD Diagram Example

Example: Car Insurance – As Is

Example: Car Insurance – Let the Insurance Agent Handle It

Example: Car Insurance – Let the Body Shop Handle It

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

Means-Ends Links Capture relationship between an end (goal) and possibly many means for attaining it (tasks)

Example: Means-Ends Links

Decomposition Links Specify how tasks are decomposed Tasks can be decomposed into one to many subtasks, (soft)goals, and resources

Example: Decomposition Links

Softgoal Contribution Links Most used contribution types: Make (++) Help(+) Hurt (–) Break (--)

Example: Softgoal Contribution Links

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

Example: AND Softgoal Decomposition CIA – A well-known refinement of (Information) Security represented using softgoals

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

SR Diagram Example

Example: Car Insurance – Means/Ends and Task Decompositions

Example: Car Insurance – “Functional” Alternatives

Example: Car Insurance – “Non-Functional” Rationales

Example: Car Insurance –Overall Model for Claims Handling

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

Analyzing i* Models: Why? How? How Else?

Analyzing i* Models: Why? How? How Else?

Analyzing i* Models: Why? How? How Else?

Analyzing Vulnerabilities Example of enforcement mechanism Reciprocal dependency Loop analysis

Analyzing Vulnerabilities Example of assurance mechanism Goal synergy or conflict

Example: Meeting Scheduling SD (As-Is)

To-Be: Computer-Based System SD

Meeting Scheduling SR (As-Is) Ask: Why? How? How Else? Meeting Scheduling SR (As-Is)

To-Be: Computer-Based System SR

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

ITEC 4040 Requirements Management, Winter 2017 Possible Answer ITEC 4040 Requirements Management, Winter 2017

A Strategic Dependency Model actor goal dependency task dependency resource dependency softgoal dependency LEGEND © Eric Yu 2001

Wants and Abilities I want ... I can provide ... © Eric Yu 2001

Some strategic dependencies between IKEA and its customers © Eric Yu 2001

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