- Goal-oriented Requirements Language
Goal-oriented Requirements Language (GRL) is a language that is designed to support goal-oriented modeling and reasoning about requirements, especially the non-functional requirements [1] . It 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 [2] . 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 are: goal, soft goal, task, belief and resource. Intentional relationships are: means-ends, decomposition, contribution, correlation and dependency.
Notation
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.
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.
Relationships
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.
Correlation relationship describes side effects of existence of one element to others.
Dependency relationship describe interdependences between agents.
References
[1] Lin Liu, Eric Yu, “Designing information systems in social context: a goal and scenario modelling approach”
[2] GRL web site, University of Toronto, http://www.cs.toronto.edu/km/GRL/
Wikimedia Foundation. 2010.