Post on 18-Dec-2015
Goal-Oriented Requirements Engineering
(GORE)“Goal-oriented requirements engineering is
concerned with the use of goals for eliciting, elaborating, structuring, specifying, analyzing, negotiating, documenting, and modifying requirements.” (van Lamsweerde 2001)
• Goals can be viewed as the earliest/highest-level requirements artefacts
• Can form the organizing locus for all subsequent RE activities
GORE: Key issues
• Goal modeling• Obtaining downstream artefacts from goal models
• Maintaining consistency of goal models
• Incorporating NFRs into goal models
• Using goals as requirements rationale
A goal graph
KAOS: Outline
• KAOS: Knowledge Acquisition in autOmated Specification
• A comprehensive GORE framework• Four models:
– Goal model– Object model– Agent model– Operation model
• Constructs:– Graphical and a textual syntax– Defined using the real-time temporal logic
KAOS Ontology (1/3)• Objects: Can be: entity (autonomous object), relationship (subordinate object), event (instantaneous object)
• Actions/Operations: – Input/output relations over objects– Operation application defines a state transition– Have pre-conditions, post-conditions and trigger conditions
– Distinguish between:• Domain pre-, post-conditions (domain specific, defined by the domain)
• Required pre-, post-condition (application-specific, required to achieve goals)
KAOS Ontology (2/3)
• Agents: Processors of operations – An agent performs an operation allocated to it
– Monitors an object whose states can be observed by it
– Controls an object whose states can be controlled by it
• Goals: Related to other goals via AND-refinement or OR-refinement links
KAOS Ontology (3/3)• Requisite: A goal that can be formulated in terms of states controllable by an agent– Goals end up via a sequence of AND/OR refinements as requisites assigned to agents
– Requisites are AND/OR operationalized by operations and objects (may require strengthening of pre-, post- and trigger conditions)
– Alternative means of assignment of requisites to agents captured by responsibility links
– Actual assignment of a requisite to an agent captured by performance link
• Requirement: Requisite assigned to a software agent• Assumption: Requisite assigned to an environment agent
• Scenario: Sequence of operation applications by relevant agent (additional details ommitted)
KAOS: Operation/Agent Model
KAOS: Real-time Temporal Logic
• Assumes linear time
KAOS: Real-time Temporal Logic
As opposed to branching time
Now
KAOS: Real-time Temporal Logic
(H, i) |= Pdenotes that a history H (a linear time structure, assumed to be discrete), satisfies assertion P at time point i
KAOS: Real-time Temporal Logic
• Temporal operators
KAOS: Real-time Temporal Logic
KAOS: Real-time Temporal Logic
KAOS: Goal Representation
KAOS: Goal Representation
KAOS: Agent/Relationship Representation
KAOS: Agent/Relationship Representation