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.
They are called for intentional because they are used in models that primarily concerned with answering "why" question of requirements

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.

GRL Tool Support

At present, GRL is supported by a general-purpose organization modelling tool - OME. OME provides support to various modelling frameworks by loading the framework and its functional modules dynamically.