Building Intentional Models Using the ERi*c Method

Requirements elicitation is the backbone of modeling. People around the world do not give very much attention to early requirements elicitation and more precisely to actors' goals elicitation before eliciting and modeling requirements. This fault will incur in several losses either during the development, or worse, later. Goals {flexible (softgoals) and concrete} are the foundation of GORE and consequently of i*. The ERi*c Method goal elicitation maturity was consolidated by its use in several academic projects and can support not only to the entire requirements process, but also to reengineer, to change the model of a system, in order to include the use of new technology. This paper shows the strength of the ERi*c Method using as an example a published i* SR model. It also focuses on how the ERi*c Method can split an SR model of an Information System into several comprehensible models, applying the concept of SDsituations (Strategic Dependency situations).


Introduction
The Eri*c method was proposed by Oliveira [3] and has been evolving as it has been used by students and practitioners over the years.We have published parts of the ERi*c method [2] [4] [5] and in this paper we focus on the cornerstone of ERi*c: that is the elicitation strategy and the modularization strategy in their latest versions.We have used a previous published model as an example, as a way, to help communicating our ideas.

Objectives of the research
Since the publication of Oliveira's thesis, we have concentrated on improving ERi*c to support the construction of intentional models, as basis for our software transparency effort [6].The method has been taught at two universities and it has been applied to several case studies as Zipcar (a car-sharing system), embedded systems, and also in a financial system for a very large telecom company.
In the next section we explain in a concise way the latest version of the process used in the ERi*c Method to identify goals.The aim is to show how to build comprehensible i* models departing of an SR model from another author.

Actors' goals elicitation
Using only one source of information is not the best practice, (see Figure 1) but, in our case, given the constraints and our purpose, the SR model published in [1] is sufficient1 .Our purpose is to exemplify how ERi*c can re-engineer one previous SR diagram in order to mitigate the complexity by controlling the scalability.We will show that that our choice was adequate to demonstrate how simple the ERi*c process is.Steps: (i) identify the list of relevant symbols which are words or peculiar sentences mostly used; (ii) classify symbols as: subject, object, verb, and state; (iii) describe symbols through notions and behavioral responses definitions [2].In Table 1, applying the 3 steps above; we selected actors' (teacher and student) tasks as behavioral responses and objects in order to give us more behavioral responses.

Provide exercise final results facilities group agree final results
Ask doubts facilities "Behavioral Responses" (BRs) declare actions.Two kinds of actions can be observed: concrete and flexible.A concrete action brings one concrete result, and a flexible action brings a quality attribute [2], [3].The key point of the template in Table 2 is to identify the motivation, the intentionality (why?) under the BR."Why does teacher define schedule?"-is an example.The verbs to organize, to offer, and to analyse are flexible actions examples as well as "solves doubts" and discusses.

Table 2 -Teacher's Goals from behavioral responses with concrete actions
Following the process we show (Table 3) concrete goals elicitation.Flexible goals, which are elicited form flexible actions, are manipulated by the template showed by Table 5, after the elicitation of concrete goals from objects (Table 4).

Flexible goals
After identifying concrete goals we should identify flexible goals [3].When one concrete action is found the action will define a concrete goal.When one flexible action is found the action will define a flexible goal.Eric Yu's thesis defined: "A goal is a condition or state of affairs in the world that an actor would like to achieve" and our basic idea is: "ACTIONS CHANGE STATES AND STATES ARE GOALS" [3].
The aim of the template (Table 5) is to identify the motivation under the flexible action, "Why does the teacher organize a collaborative exercise?"-is an example.
The idea is: flexible actions mean that quality attributes are the reason of each action.
Table 5 indicates the best concrete goal, which is associated to the flexible goal, and also the actor who has the goal responsibility.

Actors' goals refining
At this point, the ERi*c Method proposes two activities: merge goals (concrete and flexible) by actor and set them in a chronological order.Chronological order means: long term goals first (the most abstract before and the less abstract after).During this activity we should delete duplicated goals; they do not help the process.

SDsituation identification
Definition: "An SDsituation is a dependency construct with one situational intentionality (one common goal) which is temporarily shared by some actors " [3].The inputs of the IS are time stamped and the outputs are produced after some time slice.The outputs of the IS are the information about the "world" that the decision process needs to act on the business in order to improve business results.As such, five SDsituations were distinguished (Table 6): (1) Groups Organization, (2) Schedule Definition, (3) Exercise Proposition, (4) Exercise Solution, and (5) Exercise Evaluation.

Modeling Actors' Goals
This activity prepares one IP (Intentionality Panel) Diagram, one SD Model, and one SR Model for each SDsituation; but due to space limitation only one SDsituation is showed.Figure 3 shows the IP Diagram and Figure 4 shows the SR Model both from the same SDsituation (4) -Exercise Solution.

Scientific contributions
The main goal of the ongoing research is to improve the method and to find ways of empowering requirements engineers to use intentional requirements engineering.In this paper we have focused on: a.) Elicitation, which has been simplified consequently removing one step and one template, see Table 5; bringing more simplicity into the method.
b.) The SDsituations concept received more attention; we described more precisely the idea and therefore better results for student jobs.
c.) Instructions, heuristics, and examples were included in the whole method.

Conclusion
Intentional modeling can be the basis for software to be transparent.Expressing the desires of the social actors involved in a given context is a solid start point as to produce software artifacts that will not only perform what the client wants, but which also provides a solid ground for informing stakeholders about the software.We believe that the example discussed above does provide more detail about ERi*c, making it possible not only the publicity of the method, but also providing an opportunity for discussion over its limitations or appropriateness.It is mister to say that we are still trying to provide an environment that would automate some of its tasks.

Figure 1 -
Figure 1 -The SR model that was used as source of information [1]

Figure 2
Figure 2 illustrates the organizational components cycle.SDsituations should be identified by goals in the business part.Each frontier between two SDsituations can be discovered because a time interruption occurs during two SDsituations in the cycle.