Goal-oriented Requirements Language
Goal-oriented Requirements Language, an i*-based modeling language used in systems development, is designed to support goal-oriented modeling and reasoning about requirements especially the non-functional requirements
GRL topics
Concepts
Goal-oriented Requirements Language allows to express conflict between goals and helps to make decisions that resolve conflicts. There are three main categories of concepts in GRL:- intentional elements,
- intentional relationships and
- actors.
Intentional elements
[Image:GRL legend.gif|thumb|320px|GRL Notation]Intentional elements are: goal, soft goal, task, belief and resource.
- Goal is condition or situation that can be achieved or not. Goal is used to define the functional requirements of the system. In GRL notation goal is represented by a rounded rectangle with the goal name inside.
- Task is used to represent different ways of how to accomplish goal. In GRL notation task is represented by hexagon with the task name inside.
- Softgoal is used to define non-functional requirements. It’s usually a quality attribute of one of the intentional elements. In GRL notation softgoal is represented by irregular curvilinear shape with the softgoal name inside.
- Resource is a physical or informational object that is available for use in the task. Resource is represented in GRL as a rectangle.
- Belief is used to represent assumptions and relevant conditions. This construct is represented as ellipse in GRL notation.
Relationships
[Image:GRL relationships.GIF|thumb|320px|GRL relationships]Intentional relationships are: means-ends, decomposition, contribution, correlation and dependency.
- Means-ends relationship shows how the goal can be achieved. For example, it can be used to connect task to a goal.
- Decomposition relationship is used to show the sub-components of a task.
- Contribution relationship describes how one element influence another one. Often a weighted means-ends relationship for brevity. +ve and -ve contribution allows for defeasible reasoning by way of Defenders and Defeaters.
- Correlation relationship describes side effects of existence of one element to others.
- Dependency relationship describe interdependences between agents.
Actors
- Actor is an active object that carries out actions to achieve the goal. In GRL notation actor is represented as a circle with the actor name inside.
- Agent is a concrete actor, such as a human individual or machine.
- Role can be taken to be an behavioral aspect assigned to either an Actor or an Agent.