Goal-oriented Requirements Language

Goal-oriented Requirements Language (GRL), 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

Concepts
Goal-oriented Requirements Language (GRL) allows to express conflict between goals and helps to make decisions that resolve conflicts. There are three main categories of concepts in GRL: They are called for intentional because they are used in models that primarily concerned with answering "why" question of requirements (for ex. why certain choices for behavior or structure were made, what alternatives exist and what is the reason for choosing of certain alternative.)
 * intentional elements,
 * intentional relationships and
 * actors.

Intentional elements
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
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 (Organization Modeling Environment). OME provides support to various modelling frameworks by loading the framework and its functional modules dynamically.