1
An Agent-Oriented Methodology for Requirements Elicitation
Luiz Marcio CysneirosLuiz Marcio CysneirosDept. of Math and StatDept. of Math and Stat
Information Technology ProgramInformation Technology ProgramYork UniversityYork University
Eric YuEric YuDepartment of Computer Science Department of Computer Science
– University of Toronto– University of Toronto
2
Users and Basic Functionality
The users of the hotel are hotel managers, hotel administrator, hotel housekeeping staff, restaurant/bar staff, and food and beverage inventory staff.
Hotel managers
Extend/restrict access rights to different employees Retrieve from and store information in the database View administrative reports Update price list
Hotel customers Browse the hotel website View hotel rooms availability and their prices Create account Check and update their personal information Book reservation online
Hotel Administrators View administrative reports
Housekeeping staff Retrieve the room status and schedule the cleaning based on the room
occupancy. Order the cleaning supplies and room products
Restaurant/Bar staff Bill customers Add charges to the hotel guest accounts (using their electronic keys)
Food/Beverage inventory staff Order supplies when they reach critical point
3
Economic Feasibility
1. Development Costs
Supporting Detail For Salaries and Wages Team Member Salary/Wage for Project
Project leader $90,000 Senior systems analyst $83,000 Systems analyst $72,500 Programming analyst $100,000 Programmers $61,000 Systems programmers $49,000 Total salaries and wages $455,500 Supporting Detail For Equipment and Installation
Equipment/Installation Equipment Cost 2 Servers $20,000 5 Desktop computers $9,500 10 Routers $1,500 2 Laser printers $1,200 Ethernet cable $600 600 Electronic door locks $60,000 Website domain name + hosting $100 Total equipment costs $92,900
4
Supporting Detail For Facilities Hotel Facilities Facilities Cost
Use of 10 hotel rooms for the duration of the project (6 months)
$27,000
Use of restaurant (3 meals a day) for the duration of the project (6 months)
$60,000
Use of hotel meeting room for the duration of the project (6 months)
$1,000
Total facilities costs $88,000
Supporting Detail For Support Staff Supporting Detail For Support Staff
Support Staff Support Staff Cost
Network wiring staff $10,000
Electrician $5,000
Contractor (for lock installation) $12,500
Total support staff costs $27,500
Supporting Detail For Licenses Supporting Detail For Licenses
Licenses Licenses Cost
5 Windows XP licenses $2,100
2 Oracle licenses $4,000
Total licenses costs $6,100
5
Summary Of Development Costs For York Hotel Summary Of Development Costs For York Hotel
Expenses Category Amount
Salaries and wages $455,500
Equipment/installation $92,900
Training $85,500
Facilities $88,000
Utilities $1,000
Support Staff $27,500
Licenses $6,100
Total $756,500
6
Supporting Detail For Connectivity Supporting Detail For Connectivity
Service Annual Cost
Internet connectivity $720
VPN connectivity $2,500
Total connectivity costs $3,220
Supporting Detail For Equipment Maintenance Supporting Detail For Equipment Maintenance
Equipment Annual Cost
2 Servers $10,000
5 Desktop computers $12,000
2 Laser printers $1,000
Network $12,500
Hotel website $7,200
Total maintenance costs $42,700
7
1.Benefits Benefits For York Hotel 1.Benefits Benefits For York Hotel
Benefit/cost saving Amount
Increased efficiency in booking hotel reservations
$150,000
Increased earnings due to web presence (increasing at 40% per year)
$510,000
Increased efficiency in inventory management
$80,000
Increased earnings due to more efficient reservation system
$125,000
Increased earnings due to more efficient room management
$140,000
Increased earnings due to introduction of self checkout process
$115,000
Total annual benefits $1,120,000
8
1.Financial Calculations 1.Financial Calculations Cost
benefit analysis
Year 0 Year 1 Year 2 Year 3 Year 4 Year 5 Total
Value of benefits
- $1,120,000 $1,324,000 $1,609,600 $2,009,440 $2,569,216
Discount factor (10%)
1 0.9091 0.8264 0.7513 0.6830 0.6209
Present value of benefits
- $1,018,192 $1,094,153.60
$1,209,292.48
$1,372,447.52
$1,595,226.21
$6,289,311.81
Development cost
$756,500
$756,500
Recurring cost
$146,620 $146,620 $146,620 $146,620 $146,620
Discount factor (10%)
1 0.9091 0.8264 0.7513 0.6830 0.6209
Present value of
costs
- $133,292.24
$121,166.77 $110,155.61 $100,141.46 $91,036.36 $555,792.44
PV of net benefits and
costs
$756,500
$884,899.76
$972,986.83 $1,099,136.87
$1,272,306.06
$1,504,189.85
Cumulative NPV
$756,500
$128,399.76
$216,486.83 $342,636.87 $515,806.06 $747,689.85
Payback period
0 year + $756,500 / ($756,500 + $216,486.83) = 0 year + 0.77 = 281 days = 9.5 months
5 Year return on
investment
($6,289,311.81 – ($756,500 + $555,792.44)) / ($756,500 + $555,792.44) = 379.26%
10
• Guest Reservation Subsystem:– Goal: Accept and process room reservations
• Functional Requirements List: 1) The system must accept reservations from clients, agencies and clerks of the
Hotel
2) The system must provide information regarding room availability to clients and hotel staff
3) The system must distinguish between different types of clients
4) The system must distinguish between different types of rooms
5) The system must support flexible rates and cancellation policies
6) The system must ensure that a credit card is provided for all reservations
7) The system must provide the hotel staff with information regarding reservations and customer profiles in order for them to organize and prioritize their work
11
• Non-Functional Requirements List:8. Reservations must be Web-based
9. Availability information must be accurate and up-to-date
10. All Web-based transactions must be secure
11. Information provided to the hotel staff must be accurate and up-to-date in order to be reliable
12. The system must facilitate communication with external agencies
12
Motivation
• Take for example the health care domain• Healthcare professionals, patients, and even
family members would be supported in their interactions and decision making by various kinds of software agents personalized to meet
• Each actor would be able to personalize their systems eventually implicating in refusing to provide some services
• Agent-orientation has been emerging as a new paradigm to deal with these kinds of systems.
13
Motivation
focus has been on:• Analysis• Design
very little coverage of:• Requirements
– what does it mean to do RE, given the AO characteristics?
We need to prevent
history from
repeating itself:
Requirements
modelling concepts
being driven from
programming!!
•Structured Analysis
from Structured
Programming
•OOA from OOD, OOP
•AOA from AOP ??
14
How to elicit, specify, validate requirements for AO systems?
• behavioral requirements– NB: autonomy, pro-activeness, …
– human-computer cooperation
– agent-agent cooperation
– …
• non-functional requirements– Privacy
– usability
– security
– reliability
– survivability
– scalability
– …
•AO systems may require
new RE techniques
•Could lead to
fundamental questions
about RE itself, e.g., due
to autonomy, openness,
…
15
What we Aim • Define an Agent-Oriented Methodology for
Requirements elicitation • This methodology
– Is based on the i* Framework
– Provide methods and tools for understanding and modelling the current state of the domain (Non-Intentional Dimension)
– Provide methods and tools for understanding and modelling the goals that underlies the current process (Intentional Dimension)
– Provide methods and tools to introduce new alternatives and systematically evaluate them.
• This methodology intends to be well defined so it can be repeatedly used in a consistent manner
16
The Methodology at a glance
• Identify the common terms used in the domain (Using the Language Extended Lexicon)
• Identify the main Agents involved in the process and how they relate to each other
• Identify Main Dependencies• Identify The Main Tasks
• Identify the Main Goals• Identify the Softgoals • Look For alternative Ways
Current Process (Basically Non-Intentional)
Current Process (Basically Non-Intentional)
System-to-be System-to-be
17
The i* Framework
• Supports goal-orientation & agent-orientation• Deals with non-functional requirements• Concepts in i* graphical notation:
– intentional elements• goal, task, resource, softgoal, belief
– intentional links• dependency, means-ends, decomposition, contribution,
correlation
– Actors• Agent, role and Position
– 2 Models:• Strategic Dependencies
• Strategic Rationales
20
What is the LEL ?
• Aims to register the vocabulary used in the UofD
• It is based on a system of symbols composed of Notions and Behavioral Responses
• Notions specify the meaning of the symbol (denotation)
• Behavioral Responses register the results driven from the symbol utilization (connotation)
• Its construction is based on the minimum vocabulary and circularity principles
22
• Basically, we use Semi-Structured interviews
with the identified actors and Document
Reading
• Validate the Lexicon with Stakeholders !!
• Do it frequently !
23
Build a First Approach for the Social Context
• Can and Must happen in parallel with the LEL construction
• Starting Picking up all the Symbols of the LEL classified as subject. They are all strong candidates to be agents
• For each one of the symbols that you picked up to be an agent, look if any other agent is present in the notions of this symbol
• Symbols Classified as verbs can be either a task/goal or a role. Be careful.
• Ex:
26
Building a First-Cut Dependency Model
• Identify Main Dependencies – Identify Main Tasks
– Identify Main Resources
• Do it using a mix of semi-structured interviews, document reading, observation and protocol analysis.
• Always check to be sure that you are using LEL symbols in SD models
• Eventually use non-intentional process models as Workflow, DFD or UML diagrams
• Some Hard and Soft goal may eventually be elicited during this process but we will not be targeting it
CurrentProcessCurrentProcess
27
Identify Main Dependencies
• Whenever two symbols appear in the same sentence and both are subjects you may be facing a relationship among actors
• This kind of sentences may also hide tasks, goals and resources
• For each actor already found ask :On whom you depend on to do your job ?
What other people / devices do you interact with ?
28
B
A
Claim
Softgoal
Resource
Goal
Task
Correlation LinkContribution LinkDependency Link
Decomposition LinkMeans-End Link
Position
Agent
Role
Finding Main Tasks/Goals and Resources Dependencies
29
Elaborating on Processes and Rationales
• Find the main tasks for each Actor – Use SR Models
• Tasks are frequently easier to elicit then goals
• In many of the projects where KAOS was used the goals underlying the process were implicit and not really visible in the first place [Van Lamsweerde 98]
• Findings in the SD model can help building SR model and vice-versa
30
Elaborating on Processes and Rationales
• Symbols classified as verbs are candidates to be tasks in both SD and SR models
• Behavioral Responses in symbols that represent actors frequently hide a goal or a task
• Tasks can later become goals once one finds out that the depender does not care on how the dependee will perform this task
31
Elaborating on Processes and Rationales
• Common Questions :– For each actor found :
• What is this person responsible for ?
• What are the processes in which this person is involved ?
• Note that although we are focused on getting the current process and not the reasons behind it, sometimes these reason will become quite clear and hence should be modeled.
32
Elaborating on Processes and Rationales
• Use scenarios to refine tasks and to expand an actor.
For example :– In What possible scenarios could Nurse be involved ?
• Assess Patient
• Start discharging
• Coordinate discharging Process
– Describe the scenarios that are pertinent to the problem , validate them with the stakeholders and model them into SR models
34
Elaboration on the Intentional Dimension
• Once the current process is modelled (“what”) it is time to find out the “whys”.
• Try to determine not only agents goals but most of all organizational goals. What underlies the current process
• What are the reasons that led the stakeholder to establish them ?
• Why people do certain tasks ?
35
Identify Main Goals• Check all the existing tasks to see if they don’t hide any goals
• To each activity or cluster of activities ask: – Why this agent need to perform this task ?– Why it has to be performed this way ?– Are there alternative ways of doing that ?– Keep asking why so you can get to high-level goals
– What is wrong with the process ?– What should be changed ?– What could be better ?– Which goals are not satisfied ? Why ?
36
Identify Main Goals• Use mainly semi-structured interviews and document readings.
Eventually, protocol analysis and JAD Sections can be useful
• Check out for the need of privacy !
• This is not a top-down activity and neither bottom-up !
37
Intentional Dimension - Modeling Softgoals
• For each goal try to ask yourself and the stakeholder what NFR would be desirable.– Do we need Safety ?
– Do we need Accuracy ?
– Do we need Performance ? ……
• Whenever the answer is yes, represent it in the model and refine it as in NFR Framework– Refinement can be either top-down or bottom-up,
most likely to be a mix of both
• Answers from the previous step could bring up some softgoals
38
• Evaluate models for interdependencies (both positive and negative)– Evaluate different graphs for the same type of NFR– Evaluate graphs involving NFR that are frequently
conflicting (e.g. Usability and Security)– If the number of graphs is not too large pair wise
different graphs (excluding those previously compared)
• Negotiate with the stakeholders the different designs that could result from different ways of satisfying these NFR
• Agent-Oriented process naturally deals with different viewpoints
40
Exploring Further Alternatives
• Find all the goals not yet satisfied and decide how this goal will be achieved (choose among different way)
• At the end, all top goals (hard and soft) must be satisfied
• If we introduce new actors (both human or software agents) can we improve the process ?
• If we relocate responsibilities can we improve the process ?
• Eventually, turn the SR models into SD models or even into non-intentional models as WF so stakeholder can better visualize the final solution
43
The Case Study
• We conducted a case study involving 3 major hospital in Toronto
• Specifically, we studied the discharging process and the different ways it can be improved
• We got to a different solution involving the introduction of a new human agent supported by a new software agent.
• One of the hospitals is using the new process with good results