Skip to content

How to create a Goal Model

Lidia edited this page Apr 20, 2015 · 14 revisions

Goal models are represented using the modelling language i*, that allows representing, modelling and reasoning about socio-technical systems. #i* Language The i* language is composed basically of a set of graphic constructs which can be used in two diagrams. Firstly, the Strategic Dependency (SD) diagram, which allows the representation of organizational Actors, specialized on Roles, **Positions **and Agents. Actors can be related by is-a, is-part-of, covers, instance-of, plays and occupies relationships. Actors can also have social dependencies. A Dependency is a relationship between two actors, one of them, named Depender, who depends for the accomplishment of some internal intention from a second actor, named Dependee. The dependency is characterized by an intentional element (Dependum) which represents the dependency’s element. The primary intentional elements are: Resource, Task, Goal and Softgoal. A softgoal represents a goal that can be partially satisfied, or a goal that requires additional agreement about how it is satisfied. Softgoals are usually used for representing non-functional requirements and quality concerns. Secondly, the Strategic Rationale (SR) diagram represents the internal actors’ rationale. The separation between the external and internal actor’s worlds is represented by the actor’s boundary. Inside this boundary the rationality of each actor is represented using the same types of intentional elements described above. Additionally these intentional elements can be interrelated by using relationships such as Means-end (e.g., a task can be a mean to achieve a goal), Contributions (e.g., some resource could contribute to reach a quality concern or softgoal) and Decompositions (e.g., a task can be divided into subtasks).

Detailed information about the language can be found in:

  • Yu, E.:Modeling strategic relationships for process reengineering. Ph.D. dissertation, Univ. Toronto, 1995.
  • Yu, E.: Social Modeling for Requirements Engineering. Cambridge, Mass.: The MIT Press, 2011. Cooperative Information Systems Series.
  • i* Quick Guide provided by the i* Wiki
  • i* Guide provided by the i* Wiki

#i* Metamodel This metamodel is based in the seminal Yu’s definition [Ph.D dissertation 1995] although the different types of contributions proposed in its wiki evolution have been incorporated into the definition since they provide more expressive power to the models with several types of positive and negative contributions and also the ability to decompose softgoals using And and Or.

  • Actors. We include the concept of generic actor and three specializations, which different relationships among them. Also, we consider the typical modeling constructs of aggregation (part-of) and inheritance (is-a).
  • Actor boundaries. Defined by a set of Strategic Rationale elements, which can be of the four typical types of intentional elements: goals, softgoals, tasks and resources. These elements may be linked through three types of links: means-end (OR-decomposition), task decomposition (AND-decomposition) and contribution to softgoal (with 9 types of contributions).
  • Dependencies. In our work, we just need dependencies among pairs of elements, either actors or intentional elements inside actors’ boundaries. Dependums may be of the same types than intentional elements.
  • Other classes appear for modeling support (e.g., DependableNode).

#i* Persistency i* models are stored using the XML format named iStarML, the i* mark-up language. This formatting language allows saving models textually, using XML specific tags and attributes to describe the different element in the model. Although the primary focus of iStarML is model interchange, i.e. the provision of an interoperability standard, in the current state of the platform it is also used for implementing model persistence.

The following table describes the tags used by iStarML to represent the different model elements and

Tag Goal model element
<diagram> Contains the entire model (root element)
<actor> Contains all the elements related to this actor (i.e., defines its boundary). It must be inside a <diagram> element
<actorLink> Contains the information about a link. It must be inside an <actor> element
<boundary> Contains all the internal intentional elements inside an actor. It must be inside an <actor> element
<ielement> Contains the information about an intentional element (IE). This element can be found inside a <boundary> element (internal IE) or inside the <diagram> element (dependum)
<ielementLink> Contains the information regarding an IE decomposition (means-end, decomposition or contribution). It must be inside an <ielement> element included in a <boundary> element
<dependency> Contains the information regarding a dependency. It must be inside a <ielement> element not included in the <diagram> elmement (dependum)
<depender> Contains the information regarding the depender in a dependency. It must be inside a <dependency> element
<dependee> Contains the information regarding the dependee in a dependency. It must be inside a <dependency> element

The following table describe the attributes associated to the previous tags to give some information about these elements.

Attribute Description Tag Possible Values
id Identifies the model element All
name Gives a name for the element <diagram><actor><ielement>
type Gives information regarding the element type <actor> agent, role, position
<actorLink> is_part_of, is_a, covers, occupies
<ielement> goal, softgoal, task, resource
<ielementLink> means-end, decomposition, contribution
aref Identifies an <actor> element. It is used to reference an actor that is already defined in the model <depender><dependee>
iref Identifies a <ielement> element. It is used to reference an intentional elementthat is already defined in the model <ielement><depender><dependee>
output (1) specifies that this element should be shown in the RISCOSS risk analysis session results All true

(1) attribute not defined in the iStarML specifiction, RISCOSS specific attribute

Detailed information about the iStarML can be found in the iStarML website.

RISCOSS Models

###Tutorials/Guides [How to contribute](How to contribute)
[How to create a Risk Model](How to create a Risk Model)
[How to create a Goal Model](How to create a Goal Model)
[How to set up the BN tool](How to set up the BN tool)

Models

[Goal Models](Goal Models)
[Risk Models](Risk Models)

###Others RISCOSS Corporate
RISCOSS GithubAnalizer
Risk Data Colletors

Clone this wiki locally