Title: Slide sem ttulo
1An Agent-Oriented Methodology for Requirements
Elicitation
Luiz Marcio Cysneiros Dept. of Math and
Stat Information Technology Program York
University
Eric Yu Department of Computer Science
University of Toronto
2Motivation
- Nowadays we can frequently see new areas using
computer systems to create new or more productive
environments - a large number of players playing many different
roles interact among them trying to achieve
personal and common goals
3Motivation
- 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.
4Motivation
- 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 ??
5How 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,
6What 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
7The 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)
System-to-be
8The 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
9The i framework 1. Strategic Dependencies
- Who do I depend on for what?
10The i framework 2. Strategic Rationales
11What 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
12(No Transcript)
13- Basically, we use Semi-Structured interviews with
the identified actors and Document Reading - Validate the Lexicon with Stakeholders !!
- Do it frequently !
14Build 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
15(No Transcript)
16(No Transcript)
17Building 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
Current Process
18Identify 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
?
19Finding Main Tasks/Goals and Resources
Dependencies
B
A
20Elaborating 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
21Elaborating 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
22Elaborating 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.
23Elaborating 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
24(No Transcript)
25Elaboration 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 ?
26Identify Main Goals
- Check all the existing tasks to see if they dont
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 ?
27Identify 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 !
28Intentional 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
29- 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
30(No Transcript)
31Exploring 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
32(No Transcript)
33(No Transcript)
34The 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
35(No Transcript)
36(No Transcript)