<<

Available online at www.sciencedirect.com ScienceDirect

Procedia Computer Science 96 ( 2016 ) 791 – 800

20th International Conference on Knowledge Based and Intelligent Information and Engineering Systems Modelling Goal Dependencies and Domain Model Together Haruhiko Kaiyaa aKanagawa University, Hiratsuka 259-1293, Japan

Abstract Several actors such as human, organization, software applications and hardware units perform our daily activities such as medical care, entertainment and so on. We call each daily a socio-technical system (STS), and we also call actors except human and organizations Machines. Human and organizations in an STS become better than ever when new Machines are introduced into the STS and they are beneficial to human and organizations. Although modelling goal dependencies in such a STS contributes to identifying beneficial Machines because such a can represent an asks some Machine to achieve his own goal. It is however not easy for modelers to describe a correct dependency. We thus proposed and exemplified an extended modelling notation called Goal Dependency Model with Objects (GDMO) based on strategic dependency (SD) in i*. In GDMO, objects related to a goal in an SD are explicitly specified. Modelers can determine an actor has the right to want the goal to be achieved because relationships between the actor and the objects such as ownership clarify the right. They can also determine another actor has the ability to achieve the goal. In addition, relationships among objects, i.e. a domain model, can suggest missing SDs, and the boundary of an STS can be determined without omission. ©c 20162016 The The Authors. Authors. Published Published by Elsevier by Elsevier B.V. B.V.This is an open access article under the CC BY-NC-ND license (Peer-reviewhttp://creativecommons.org/licenses/by-nc-nd/4.0/ under responsibility of KES International.). Peer-review under responsibility of KES International Keywords: Early requirements analysis; Goal-oriented requirements engineering; Strategic dependency; istar

1. Introduction

New software applications, hardware and infrastructures have been introduced into a lot of our daily activities such as medical care, entertainment, sales and so on. Some activities then become better than ever. For example, the quality of medical care is improved when some software and hardware are introduced and they can always monitor the vital of patients. Such an activity can be regarded as a socio-technical system (STS). We regard several different actors perform an STS, and they can divided into two types: one is human or an organization, and another is a software application, a hardware unit or an infrastructure. We call the former type of actors as Human-Actors (HAs), and the latter type as Artificial-Actors (AAs) or simply Machines 1. Apparently, each Machine in an STS should be specified and developed so that the STS is beneficial to HAs. Without such consideration, some Machines eventually disturb HAs in the STS. Modelling an STS in some notation is thus important knowledge creation process to explore beneficial

a Corresponding author. Tel.: +81-463-59-4111 E-mail address: [email protected]

1877-0509 © 2016 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Peer-review under responsibility of KES International doi: 10.1016/j.procs.2016.08.242 792 Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800

Car Car be Body Owner Repaired Shop

Actor Goal Actor as Depender of Depender as Dependee

Fig. 1. Typical Goal Dependency (appeared in a slide of RE2008 Tutorial)

Machines. Procedures of actors in an STS can be changed when new Machines are introduced. It is therefore more important to model goals of actors than to model such procedures during early requirements analysis. A lot of notations and methods for goal-oriented requirements analysis have been proposed, and i* 2 and KAOS 3 are the most popular notations. The notation of i* contains an outstanding concept called strategic dependency (SD). An SD represents a dependency between two actors about a goal: an actor is called a depender who want to achieve the goal, and another is called dependee who will achieve the goal. A model in Figure 1 was used in tutorial slides in RE 2008 1, and is the typical example of an SD. Note that we added balloons in the original model to explain the meaning of each element. This SD simply state the following two issues: the owner of a car wants someone to repair the car, and a body shop can repair it. The concept of an SD enables us to explore Machines which can play a role of existing dependees 4. For example in Figure 1, the car itself can become the dependee if the car has the self-repairing ability. When Machines playing suitable roles are introduced into an STS, the STS becomes better than ever, e.g. human does not have to work a lot, and his/her goals are achieved more quickly, cheaply or accurately than ever. However, there is a problem about specifying an SD. An SD in i* simply provides its notation, and there is no guarantee that an SD is correct. As a result, activities in an STS never succeed when Machines are introduced into it according to the analysis of its incorrect model. We focus on the following two issues which cause such incorrectness. First, a depender wants a goal to be achieved even though he has no right to want it. For example, no one has the right to want a vending machine to provide a bottle of coke without payment. Second, a dependee does not have ability to achieve a goal. For example in Figure 1, a barber’s shop never becomes the dependee because repairing a car is not its job. We thus set up the following research questions (RQs).

• RQ1: How to guide a modeller of an STS so that he can specify a depender of a goal who has the right to want the goal to be achieved? We call such a property of a depender commandability. • RQ2: How to guide a modeller so that he can specify a dependee of a goal who has the ability to achieve the goal? We call such a property of a dependee controllability.

To answer these RQs, we focus on the objects related to a goal. At least a functional goal is related to the state transitions of an object. For example in Figure 1, desired state transition of “Car” is stated in the goal “Car be Re- paired”, i.e. the transition to the state “repaired”. In KAOS 3, behavioural goals are categorised into three typical pattern “Achieve”, “Maintain” and “Avoid”. These patterns can be regarded as the properties of desired state transi- tions. To explicitly specify objects related to a goal, modellers can identify both commandability and controllability more easily than ever. For example in Figure 1, a modeller can clearly confirm controllability in the dependency is suitable because an object is “Car” and the job of “Body Shop” is just repairing a car. In addition, relationships among objects also tell the modellers missing goals and actors and their dependencies. For example in Figure 1, because the depender does not pay for the car to be repaired, a dependency corresponding to the payment seems to be missing in this model. We call objects and their relationships a domain model. The rest of this paper is organized as follows. In the next section, we review related works and clarify their problems. Section 3 introduces our goal modelling notations called GDM, which is a simplified variation of i*. Section 4 explains how to introduce Objects into GDM, and how to use the extended notation called GDMO for analysing commandability and controllability. Examples of analysis are shown in Section 5, and GDMO itself and its examples are discussed in Section 6. We then summarise the current results and show the future issues.

1 Strategic Actors Modeling with i*, RE 2008 Tutorial by Eric Yu, Jasison Castro and Anna Perini, September 2008, Barcelona, Spain. Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800 793

2. Related Work

We have to model people and existing Machines in an STS as well as Machines to be introduced into the STS. Modelling languages such as i* 2 and Tropos5 satisfy this requirement. People and Machines are modelled as actors in i*, and their goals are also represented. In addition, an actor who wants to achieve a goal (called depender)and another actor who can achieve the goal (called dependee) are explicitly modelled by means of a strategic dependency (SD). SDs are very useful to clarify the benefits to dependers because the more and better goals that new actors can achieve will be more beneficial to them. The amount and extent of responsibilities by dependees to achieve goals can similarly be clarified through SDs. The first issue corresponds to the satisfaction analysis6. Several relationship-types were additionally introduced in several variations of i* to achieve satisfaction analysis. For example, trust analysis 7 is one of the specific satisfaction analyses. The second issue (dependees’ responsibility) were rarely discussed except an article 8. Few researches focus on whether a depender has the right to expect a goal to be achieved because it is obvious in many cases. For example in Figure 1, it is obvious for a depender “Car Owner” to expect “Car be Repaired” because the depender owns the car. We call this issue commandability in this paper. Few researches also focus on whether a dependee has the ability to achieve the goal because it is also obvious in many cases. We call this issue controllability in this paper. We have to explicitly specify these two issues because non-obvious or unsuitable dependencies can be described. The command and control are both basic concepts of communication in the system theory9.These concepts have not been taken into account in the field of goal oriented requirements analysis. The cause of problems about commandability and controllability is that the semantics of the goal is rarely discussed in i* and its variations. Instead, many types of goals are introduced into them. Storch et al. focused the style of textual labels in i* 10. They did not discussed the semantics of labels but only their syntax. To discuss the semantics of the goal, we have to examine what a goal is. We only focus on the functional goals and non-functional, quality and soft-goals are out of scope of this paper. In a dictionary, the meaning of a goal is as follows: “the object of person’s ambition or effort”. There are several different definitions of goals in information systems and some of them can found in articles11,12.InKAOS3, a goal is regarded as the desirable state transition of an object. To specify such transition, three pattern, “achieve”, “maintain” and “avoid”, are mainly used. For example in Figure 1, a pattern “achieve” is used. In early days KAOS 13, five patterns of goals are used, and three out of them remain 3.Three patterns in KAOS are useful in the context of an information system because the system and each in it can be regarded as a state machine. Although KAOS explicitly specifies an object related to leaf-goals in a goal hierarchy, i.e. requirements, objects related to intermediate and abstract goals are not mentioned. We think objects related to such abstract goals are also useful to decide commandability and controllability related to such goals. In this research, misunderstanding about a goal between its depender and its dependee is out of scope. Therefore, the controllability of the dependee does not depend on the depender’s decision but the dependee’s ability to change the state related to the goal. When we focus on such misunderstanding, we can utilise an idea in DEMO 14 where sharing of mental states or thoughts is focused.

3. Simple Goal Dependency Model (GDM)

We use a simplified i* model called simple goal dependency model (GDM) to illustrate our idea because of the following reasons. First, we only focus on the functional goals in this paper, but many types of goals such as soft- goals, tasks and resources are used in original i*. Second, original i* permits us unterminated delegation of a goal, i.e. a goal is neither delegated to another actor nor decomposed into sub-goals. Third, there is no clear distinction between artificial actors such as software and actors such as human or organization. We call such artificial actors Machines 1 in this paper. GDM overcomes problems above. Although original GDM has attributes of goals corresponding to quality requirements4,15, we do not use such attributes in this paper. Figure 2 shows an example model of GDM. The notation of GDM is similar to i*, but following points are different from i*. 794 Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800

<> Personal Scheduler Organizer G2: Vacant schedule reserved Secretary G2 G1 G1 and G2 G3 <> Room Manager G1: Meeting plan fixed G3: Vacant room reserved G3

Fig. 2. A model of GDM

<> <> <> G1: Meeting plan fixed G2: Vacant schedule reserved G1 Organizer Personal Schedular

means of G2 Secretary <> G1: Meeting plan fixed

<> G3: Vacant room reserved means of G3 <> <> G3: Vacant room reserved G2: Vacant schedule reserved Room Manager

Fig. 3. UML-based notation of GDM corresponding to a model in Figure 2

• The label of each goal has to consist of a noun phase and a verb in past perfect from at least. For example in Figure 2, “G1” consists of “Meeting plan” as a noun phase and “fixed” as a past perfect verb. • A stereo-type <> is put to an actor which is neither human nor organization. • All goals has a label such as “G1”, “G2” and “G3”, and two goals are identical if the labels are the same. For example in Figure 2, a goal “G1” appears in a SR model of “Organizer”, another SR model of “Secretary” and a dependency between two actors. All three occurrences of the goal indicate the same goal. • All goal should be decomposed or terminated in a SR model. For example, “G1” is decomposed into two goals in a SR model of “Secretary”. “G2” is terminated in another SR model of “Personal Scheduler” because the actor has the means to achieve the goal, i.e. means-end. The means-end is represented in a hexagon in the model. • In a SR model, a goal can be decomposed two different ways: one is and-decomposition and another is or- decomposition. An example of or-decomposition appears in Figure 5.

We use UML-based notation of GDM instead of i* like notation shown in Figure 2 because of the following reason. First, most software engineers are familiar to a UML modelling tool, and it is easy for them to describe GDM models using the tools. Second, although we can find a lot of modelling tools for i* and its variations16, it is not realistic to make engineers use one of them. Third, UML-based notation is convenient for us to introduce objects (classes). Figure 3 shows a model written in UML-based notation corresponding to a model in Figure 2. A is used for an SD model, and other class diagrams are used for individual SR models. These class diagrams are written in Figure 3 together because of their readability. Machines are colored in red in our UML-based notation. The direction of goal dependency is simply represented by the direction of navigability. In a SR model, and-decomposition is represented in composition, and or-decomposition is represented in aggregation. Means-ended goal has a prefix “means of” in its label.

4. GDM with Objects (GDMO) and Its Usage

To answer RQs mentioned in Section 1, we extend GDM in Section 3 as follows. We call the extended notation GDM with Objects (GDMO).

1. For each goal dependency, at least an object is attached to a goal in the dependency. A goal focuses on states of an object. We simply make a relationship between the goal and the object. For example in Figure 1, a goal “Car Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800 795

Commandability is middle Car Controllability is high because depender is an owner of the car because dependee has but he does not make payment for its repair. the function to repair the car

<> M Car be Repaired H Car Owner Body Shop

Fig. 4. Model of GDMO corresponding to a model in Figure 1

be repaired” focuses on an object “Car”, and the object has states such as “broken”, “repairing”, “operated” and so on. 2. To achieve a goal, some means, tools or devices are required. Objects corresponding to such things may be also related to the goal. 3. We decide whether the depender in the goal dependency has the right to command the dependee to achieve the goal. We call such right commandability. Currently, we set three levels of commandability: H (high), M (middle) and L (low). The decided level is put on the link between the depender and the goal. When the depender is an owner of the object or someone like that, its commandability is basically high. In addition, depender’s compensation for achieving the goal is also taken into account. Otherwise, we have to decide the level according to the contents of the depender and the object. 4. We decide whether the dependee in the goal dependency has the ability to control the object related to the goal. We call such ability controllability, and its level is put in the similar way of commandability. When the dependee has the means to change the state of the object, its controllability is basically high. If the SR model of the depnedee is specified, the level of controllability is decided according to the goal hierarchy in the SR model, e.g. Secretary in Figure 5 mentioned in the next section. Otherwise, we have to decide the level according to the contents of the dependee and the object. 5. To specify the reason of the level of commandability or controllability, we may put an annotation for each level. 6. If an object is provided in compensation for another, we establish a relationship “barter” between these objects. 7. If an object depends on another, we establish a relationship “depend” between these objects.

Figure 4 shows a simple model of GDMO corresponding to a model in Figure 1. A goal dependency in this figure is almost suitable because both the commandability is middle and the controllability is high. The reasons are annotated in the figure by using balloons. Complex examples are shown in the next section. On the basis of these extension, we can analyze a goal model and its domain model as follows.

1. We can analyze a goal dependency is suitable or not on the basis of levels of commandability and controllability. 2. We can choose more suitable dependency than others if there are several alternatives to achieve a goal. 3. We can confirm goal dependencies in a goal model is balanced. 4. We can find missing dependencies on the basis of the imbalance of current goal dependencies. As a result, we can fix the boundary of an STS.

For example in Figure 4, we have to add a goal dependency from “Body Shop” to “Car Owner” to improve the commandability of the “Car Owner” according to the usage above. Examples of analyses are shown in the next section.

5. Examples

We show three examples to demonstrate the utility of GDMO and analysis. 796 Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800

L Not owner, M- Supported function, No such a function <> especially reserved ones <> but authorization required. G4: Any room occupied G5: Any schedule updated

L L L M Vacant Schedule Schedule Vacant room Room Secretary Personal Scheduler Room Manager M H M M

M+ <> M <> Supported function, but G2: Vacant room reserved G3: Vacant schedule reserved grant by owner is required.

Supported function, but Could be authorized Could be asked vacant rooms could be few. M or L+ M or L+ G1 M L+ <> <> <> Owner G1: Meeting Plan Fixed with consensus without consensus H M+ M L M- Meeting plan G2 G3 G4 G5

Organizer

Fig. 5. Fixing a meeting plan according to two different ways

5.1. Fixing Meeting Schedule

Figure 5 shows a GDMO about fixing meeting plan. This is one of variation of a classic problem in the first i* paper 17. In this model, an organizer wants a secretary to fix a meeting plan. The secretary then uses two machines “Room Manager” and “Personal Scheduler” to fix the plan. As shown in the SR model of the secretary, she has two different alternative goals to fix the plan: one is achieved with consensus, and another is achieved without consensus. To fix the plan with consensus, she asks two machines to achieve goals G2 and G3. To fix the plan without consensus, she asks them to achieve G4 and G5. Apparently, the latter case is unsuitable besides special situation, e.g., urgent discussion is required to be survived. To introduce objects and to focus on commandability and controllability on them, we can explain this unsuitability systematically as follows.

• G2: “Vacant room reserved” The secretary asks the machine “Room Manager” to achieve this goal. The goal focuses on an object “Vacant room”. Although the secretary is not an owner of vacant rooms, she may ask it for playing her role. A symbol “H” is thus attached to the relationship between her and the goal according to this commandable analysis. The machine “Room Manager” has a function to reserve a vacant room, but vacant rooms are frequently unavail- able. A symbol “M” is thus attached to the relationship between the goal and the machine according to this controllable analysis. Overall, a symbol “M+” is attached to the goal G2 according to both analyses. Because the object “Vacant room” is regarded as the subclass of the object “Room”, “Vacant room” can be commanded and controlled more easily than “Room”. • G3: “Vacant schedule reserved” This goal, its depender, dependee and their relationships are analysed in the same way as G2. The summary of the analyses is given in balloons written in dashed lines in Figure 5. • G4: “Any room occupied” The secretary asks the machine “Room Manager” to achieve this goal. The goal focuses on an object “Room”. Because the secretary is not an owner of rooms especially already reserved rooms, it is unsuitable for her to ask the goal. A symbol “L” is thus attached to the relationship between her and the goal according to this commandable analysis. The machine “Room Manager” never has a function to occupy any room. A symbol “L” is thus attached to the relationship between the goal and the machine according to this controllable analysis. Overall, a symbol “L” is attached to the goal G4 according to both analyses. Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800 797

Not an owner of coke, but he made payment. <> G1: Coke provided <> Coke provided Coke

H H Customer Vendor <> Coke <> Payment G3: DebitCard shown <>

Customer Vendor DebitCard <> Payment <> H H G2: Payment made

<> Account <> Payment made

<> Not an owner of payment, G4: Account maintained but it provided coke. Bank

Fig. 6. Purchasing coke by cash Fig. 7. Purchasing coke by debit card

• G5: “Any schedule updated” This goal, its depender, dependee and their relationships are analysed in the same way as G4. The summary of the analyses is given in balloons written in dashed lines in Figure 5.

According to structure of the SR model of the secretary in Figure 5, the symbol “M” is attached to the case to fix the plan with consensus and “L+” is attached to the case to do that without consensus. In the SR model, G1 is or-decomposed into two goals according to case-driven tactics 18. Each goal is then and-decomposed into two goals respectively according to milestone-driven tactics 18. The average level of sub-goals is attached to their super-goal when the super-goal is and-decomposed. Levels of sub-goals are simply attached to their super-goal when the super- goal is or-decomposed. In this example, the case with consensus is more suitable than another with respect to the commandability and controllability analysis because controllability in the case with consensus is better than another.

5.2. Purchasing Coke at Vending Machine

Figures 6 and 7 show GDMO models about purchasing a bottle of coke (Coca-cola R ) via a vending machine (vendor). In Figure 6, a customer purchases a coke by cash. In the case of a goal “Coke provided”, its dependee “Vendor” of course has a function to provide the coke. Its depender “Customer” however is not an owner of the coke. Therefore, the dependency about this goal seems to be unsuitable with respect to commandability. To introduce a relationship between objects called “barter”, we can explain such dependency is suitable. Normally, a product is provided in compensation for his payment. For example, a coke is provided in compensation for his payment. The relationship “barter” explicitly specifies such issue. This relationship lets us know necessary goal dependencies if we forget them. In Figure 6, a goal “Payment made” and its dependency are already described. Even if we forget to describe them, the “barter” relationship lets us know some goals and dependencies are missing. In Figure 7, a customer purchases a coke by his debit card. Dependencies about goals G1 and G3 are almost the same as dependencies in Figure 6, but there is no “barter” relationship between “Coke” and “DebitCard”. An object “Payment”, its related goal G2, a dependency about G2 and a new actor “Bank” are introduced to establish the “barter” relationship. Because the object “Payment” depends on the object “DebitCard”, new type of relationship called “depend” is introduced between these objects. To achieve the goal G2, the customer has to maintain his bank account. The goal G4 and an object “Account” are also introduced, and another “depend” relationship is established between “Account” and “Payment”. To summarize, objects related to goals and relationships among objects help us to identify missing goals and their dependencies. In addition, they help us to clarify the boundary of an STS. 798 Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800

5.3. London Ambulance System (LAS)

The failure of the London Ambulance Service (LAS) is very well-known and real story on the introduction of the system in 1992, and a detailed report can be obtained from the Web site 2. The story has been used to evaluate methods of analyses19. We have only focused on a technical factor, i.e., system functionalities and qualities even though procurement, project management, technical and human factors all caused the failure. In addition, we have only focused on a resource identification functionality, i.e., a function for finding available ambulances, although the system had many other functionalities. Figure 8 outlines a part of to-be model of LAS. The model is caused by the goal G1 “Ambulance chosen” of the “Control assistant”, who is a role for despatching an ambulance. Actors in this figure are as follows.

• “Control assistant”: Answer a phone call and ask the “Despatcher” to despatch an ambulance. • “CAC staff”: Identify the incident to remove duplicate calls. CAC is an acronym of Central Ambulance Control. • “Resource allocator”: Select a suitable ambulance for the incident, and manage resources such as the location and status of all ambulances. • “Ambulance crew”: Drive the ambulance to the patient. • Machine “AVLS”: Automatic Vehicle Location System (AVLS) is a machine which gathers the status of all ambulances and manage them. • Machine “MDT”: Mobile Data Terminal (MDT) is a machine which is installed in each ambulance. MDT made ambulance crews to input the status of their ambulance via a terrible user interface (UI). The status was not reliably sent to AVLS because data communication system in 1992 was not reliable.

Unfortunately, G1 “Ambulance chosen” was not achieved reliably because of the following reasons.

• To achieve G1, “Resource allocator” had to identify status of most ambulances. However, he could not do that because “AVLS” could not manage such status without complete information of ambulances and ”AVLS” then could not give necessary information to the “Resource allocator”, i.e. there was a controllability problem in G3. • The problem above was caused by the following two problems. First, UI of “MDT” was terrible and “Ambu- lance crews” could not input the status correctly, i.e. there was a controllability problem in G9. Second, “MDT” cannot send data to “AVLS” correctly because the communication system in 1992 was incomplete, i.e. there was a controllability problem in G8.

Objects related to each goal help us to identify problems above clearly. Especially, objects corresponding to means or devices to achieve a goal emphases such problems.

6. Discussion

In original i*, a resource dependency can be represented as well as a goal dependency. According to a book 2,a depender gains the ability to use an entity as a resource. In this sense, a resource is one of concepts in solution space because it is used for performing some tasks. On the other hand, an object in GDMO is used to represent a certain state in the world. Therefore, a resource is different from an object in GDMO. Tasks and soft-goals have not been used in our previous work 4,15. Tasks are out of scope of our notation because we do not focus on how to do. Instead, we simply annotate who terminates a goal delegation with some means. Most soft-goals are quality requirements and they specify how well a function works20. We thus do not represent soft-goals as the first-class element of the notation, but them as the attribute of each goal. We then discuss threats to validity through case studies shown in the previous section. The first threat is whether we can identify objects related to a goal. Because we describe a goal according to the patterns in KAOS 3, we do not have to worry about this threat. However, identifying objects corresponding to means or devices will not be easy if there is

2 http://ifs.host.cs.st-andrews.ac.uk/Resources/CaseStudies/LondonAmbulance/LAS-failure-report.pdf Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800 799

G1 G6 G3 L Incident location G9 G2 G4 G5 G8 CAC staff L L <> G2: Incident location identified <> Incomplete function G3: All ambulances stat managed because of Incomplete function L communication because unsuitable <> problems. ambulance is chosen. G5: Stat notified AVLS L Resource allocator Incomplete function L because of incomplete information of all <> ambulances. L G1: Ambulance chosen Incomplete function because of bad UI. <> <> G4: Ambulance decided MDT All ambulances stat G6: Stat recorded UI Communication <> G8: Stat sent

Ambulance Ambulance stat <> G9: Stat inputted L Control assistant Ambulance crew

Fig. 8. Part of STS of LAS no consequence report mentioned in LAS example. The second threat is scalability about GDMO. In the same way as original i*, GDMO consists of goal dependencies, and only two adjacent dependencies are closely related to each other. In addition, each object basically belongs to a goal, and we do not have to examine all pairs of objects. We thus do not have to worry about this threat. The third threat is whether we can uniquely decide the level of controllability. The controllability depends on the ability of dependee, and the ability is related to several quality attributes such as “quickly”, “accurately” and “efficiently”. In this sense, it was not easy to uniquely decide the level. The third threat therefore remains. We will introduce a vector of controllability levels corresponding to quality attributes so that the threat is mitigated or avoided. The fourth threat is whether we can uniquely decide the level of commandability. The commandability also has the same kind of threat about controllability.

7. Conclusion

Goal dependencies between two actors in a model of an STS are useful to explore roles of new Machines in the STS. However, unsuitable dependencies could be described in a model if a modeller has not enough expertise. To avoid such unsuitable dependencies, objects related to each goal in a dependency are explicitly modelled. The objects are then analysed with respect to whether the depender of the goal has the right to make the goal be achieved, i.e. commandability analysis. They are also analysed with respect to whether the dependee has the ability to achieve the goal, i.e. controllability analysis. Objects related to a goal help us to perform both analyses. Relationships among such objects, i.e. a domain model, can improve the suitability and the completeness of goal dependencies. Some pair of goal dependencies are suitable when objects related to a goal are compensation for those related to another. Some objects depends on other objects, which are related to other goal dependencies. We can find missing goal dependencies on the basis of such characteristics. In our previous work 4,15, we quantitatively analysed whether introducing machines into a STS were beneficial to human and organizations in the STS. In this work, goals about quality requirements were not the first class element but the attributes of goals. In this analysis, we had to put two coefficients of each quality attribute to a goal dependency subjectively. For example in Figure 1, a coefficient from 1 to 10 is put on a relationship between a depender and a goal. Another is put on a relationship between the goal and a dependee. The former coefficient represents the extent the depender wants to achieve the goal with respect to a quality attribute such as “accurately”, “quickly” or “cheaply”. The latter represents the extent the dependee can achieve the goal with respect to the attribute. Commandability and 800 Haruhiko Kaiya / Procedia Computer Science 96 ( 2016 ) 791 – 800

controllability analyses in this paper will enable us to decide such coefficients more systematically than ever. We will combine this work and our previous work in the future. When we develop a model written in UML-based notation, we cannot prevent syntax errors in the model. We thus have to develop a syntax checker to prevent them. A modelling tool called astah 3 enables us to develop a program to analyse a model very easily because Java APIs for the tool are provided. We will use such APIs to develop a syntax checker.

Acknowledgements

This work was supported by JSPS KAKENHI Grant Number 15K00109, 15H02686 and 16H02804.

References

1. Jackson, M.. Problem Frames, Analyzing and structuring software development problems. Addison-Wesley; 2000. ISBN 0-201-59627-X. 2. Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J.. Social Modeling for Requirements Engineering. The MIT Press; 2010. ISBN 0262240556. 3. van Lamsweerde, A.. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley; 2009. ISBN 9780470012703. 4. Kaiya, H., Morita, S., Ogata, S., Kaijiri, K., Hayashi, S., Saeki, M.. Model transformation patterns for introducing suitable information systems. In: APSEC 2012. 2012, p. 434–439. doi:10.1109/APSEC.2012.52. 5. Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., Mylopoulos, J.. Tropos: An agent-oriented software development methodology. Autonomous Agents and Multi-Agent Systems 2004;8(3):203–236. doi:10.1023/B:AGNT.0000018806.20944.ef. 6. Horkoff, J., Yu, E.S.K.. Comparison and evaluation of goal-oriented satisfaction analysis techniques. Requir Eng 2013;18(3):199–222. doi:10.1007/s00766-011-0143-y. 7. Giorgini, P., Massacci, F., Mylopoulos, J., Zannone, N.. Requirements engineering for trust management: model, methodology, and reasoning. Int J Inf Sec 2006;5(4):257–274. doi:10.1007/s10207-006-0005-7. 8. Pavlidis, M., Islam, S., Mouratidis, H., Kearney, P.. Modeling trust relationships for developing trustworthy information systems. IJISMD 2014;5(1):25–48. doi:10.4018/ijismd.2014010102. 9. Boardman, J., Sauser, B.. Systemic Thinking: Building maps for worlds of systems. Wiley; 2013. 10. Storch, A., Laue, R., Gruhn, V.. Analysing the style of textual labels in i* models. In: Proceedings of the Seventh International i* Workshop co-located with the 26th International Conference on Advanced Information Systems Engineering (CAiSE 2014), Thessaloniki, Greece, June 16-17, 2014. 2014, URL: http://ceur-ws.org/Vol-1157/paper14.pdf. 11. Kavakli, E.. Goal-oriented requirements engineering: A unifying framework. Requir Eng 2002;6(4):237–251. URL: http://dx.doi. org/10.1007/PL00010362. doi:10.1007/PL00010362. 12. van Lamsweerde, A.. Goal-oriented requirements engineering: A guided tour. In: 5th IEEE International Symposium on Requirements Engineering (RE 2001), 27-31 August 2001, Toronto, Canada. 2001, p. 249–263. URL: http://dx.doi.org/10.1109/ISRE.2001. 948567. doi:10.1109/ISRE.2001.948567. 13. Dardenne, A., van Lamsweerde, A., Fickas, S.. Goal-directed requirements acquisition. Sci Comput Program 1993;20(1-2):3–50. URL: http://dx.doi.org/10.1016/0167-6423(93)90021-G. doi:10.1016/0167-6423(93)90021-G. 14. Dietz, J.L.G.. DEMO: towards a discipline of organisation engineering. European Journal of Operational Research 2001;128(2):351–363. URL: http://dx.doi.org/10.1016/S0377-2217(00)00077-1. doi:10.1016/S0377-2217(00)00077-1. 15. Kaiya, H., Morita, S., Kaijiri, K., Hayashi, S., Saeki, M.. Facilitating business improvement by information systems using model transformation and metrics. In: CAiSE’12 Forum. 2012, p. 106–113. 16. Almeida, C., Goul˜ao, M., Ara´ujo, J.. A systematic comparison of i* modelling tools based on syntactic and well-formedness rules. In: Proceedings of the 6th International i* Workshop 2013, Valencia, Spain, June 17-18, 2013. 2013, p. 43–48. URL: http://ceur-ws.org/ Vol-978/paper_8.pdf. 17. Yu, E.S.K.. Modeling organizations for information systems requirements engineering. In: Proceedings of IEEE International Symposium on Requirements Engineering, RE 1993, San Diego, California, USA, January 4-6, 1993. 1993, p. 34–41. URL: http://dx.doi.org/10. 1109/ISRE.1993.324839. doi:10.1109/ISRE.1993.324839. 18. Darimont, R., van Lamsweerde, A.. Formal refinement patterns for goal-driven requirements elaboration. In: SIGSOFT ’96, Proceedings of the Fourth ACM SIGSOFT Symposium on Foundations of Software Engineering, San Francisco, California, USA, October 16-18, 1996. 1996, p. 179–190. URL: http://doi.acm.org/10.1145/239098.239131. doi:10.1145/239098.239131. 19. Finkelstein, A., Dowell, J.. A comedy of errors: The london ambulance service case study. In: IWSSD ’96. IEEE Computer Society. ISBN 0-8186-7361-3; 1996, p. 2–. 20. Blaine, J.D., Cleland-Huang, J.. Software quality requirements: How to balance competing priorities. IEEE Software 2008;25(2):22–24.

3 http://astah.net/