System Specification

advertisement
System Specification
•
•
•
•
Specify system goals
Develop scenarios
Define functionalities
Describe interface between the agent
system and the environment
Goal Specification
• Identify Initial Goals
Start with system description, e.g., from:
• We wish to develop a student enrollment system
that allows students to enrol in subjects, add and
delete subjects in accordance to rules and view
their enrolment. Enrolment rules should be editable
by authorized staff
• We would like to develop a fully online system for
world wide sale of books. This system will offer a
broad range of books to customers, and a
personalized, friendly user interface. The system
must facilitate fast and reliable service at all
stages, from locating a desired book, to deliver of
the purchase. The store should have competitive
prices.
Goal Specification
• Goal Refinement
• By asking “how”, e.g., for goal
– fully online system:
Sub-goals: find books online, pay online and order online
– purchase books:
Sub-goals: find books, place order, make payment, and arrange
delivery
• Analyze all sub-goals to:
– eliminate duplicates,
» pay online and make payment
– coalesce similar ones
» deliver internationally, arrange courier delivery, and
arrange delivery into arrange delivery
– elaborate goals
» Add to Profile Monitor the sub-goals register and update
the customer profile
Goal Refinement (cont.)
– rearrange them
» Goals with no sub-goals left will disappear, e.g.,
World-wide Sale of Books
» Replace a sub-goal with a more detailed one, e.g.,
have books available in stock with reorder stock, with
sub-goals to log outgoing and arriving books
» Some original goals may expand, e.g., Delivery of
Books expands to Arranging Delivery and Delivery
Problems
• Goal Overview Diagram (e.g., page 140)
Functionalities
• Def: Chunk of behavior, which includes a
grouping of related goals, as well as
percepts, actions, and data relevant to the
behavior
– Use functionality descriptors (e.g., page 141)
– Draw functionality diagram (e.g., page 42)
• Scenario Development
Complementary to goals, in that they show the
sequence of steps that take place within the
system
Scenario Development
– Core scenario steps: achieving goal, performing
action, receiving a percept, referring to another
scenario, waiting for something to happen
– May lead to new goals/subgoals/percepts/actions
Query Late Books Scenario leads to new goal Update
delivery problem. We had Log delivery problem, but
discovered the need to update the information once the
information from the tracking request had been
received. Also, two percepts (original user query from
the web interface and the response to the tracking
initiated) and an action (request for tracking of the
delivery) are recognized.
– Fully developed steps for Query Late Books
Scenario (see page 45)
Capturing Alternative Scenarios
• With each scenario (for a complete list see page
47) include a description of possible alternatives
(e.g., other than normal, and exceptions) - see
page 46
• Use a collection of scenarios that all relate to a
single underlying process (e.g., order book:
normal, and other where book may not be
ordered)
• Issues:
– When do we stop defining scenarios
– What is the right level of detail for describing
scenarios and alternative/exceptional scenarios
Interface Description
• To answer: how is the agent system going to
interact with the environment? Specifically,
– What input about the environment will be
available to the agent system while it is running
(i.e., percepts)
– What will the agent system do to interact with and
affect the environment (i.e., actions)
Percepts
• Often require some processing in order to
extract the information that is of value to
agent
• Important to understand nature and use of
precepts in design of agent
• Investigate and experiment with potential
sources of percepts. Account for noise
• For list of percepts for E-Bookstore (see
page 49)
Actions
• If applicable study the physical effectors
resulting from percepts, e.g.,:
– A system may be designed to have an action
move, with parameters giving distance and
speed. This action will require complex
feedback loops within the effector system to
enable this action to be carried out.
– If applicable, ensure correctness of interfaces
used by identified actions
• For list of actions for E-Bookstore (see
page 49-50)
Data
• Produced and/or accessed e.g.,:
– Stock management functionality produces
Stock database
– Customer order data used in the first step of
the Query Late Books scenario by the Goal
step “Determine delivery status”
• Identify any external sources of required
data (see page 50-51)
Checking for Completeness and
Consistency
• Names should be consistent
• All goals must be covered by scenarios, as a
– step or trigger
– by mentioning all it’s sub-goals
– By mentioning parent goal
• All percepts and actions must covered by
scenarios
• This preferably automated check should also
draw attention to developer to things that might
have been overlooked
Download