Alternatives Selection Using GORE Based on Fuzzy Numbers and TOPSIS

Context and Motivation: The notion of goal and goal models is ideal for the alternative systems. Goal models provide us different alternatives during goal oriented requirements engineering. Question/Problem: Once we find different alternatives, we need to evaluate these alternatives to select the best one. Ideas: The selection process consists of two main parts. In first part of the selection process among alternatives, we will use techniques in which we establish some evaluation criteria. The evaluation criteria are based on leaf level goals. Stakeholders are involved to contribute their opinions about the evaluation criteria. The input provided by various stakeholders is then converted into quantifiable numbers using fuzzy triangle numbers. After applying the defuzzification process on fuzzy triangle numbers we get scores (weights) for each criteria. In second part, these scores are used in the selection process to select the best alternative. Contribution: The two steps selection process helps us to select the best alternative among many alternatives. We have described the process and applied it to “cyclecomputer” selection case study.


Introduction
Decision making process is about the selection of best option among all the alternatives.In almost all decision making problems, we have multiple criteria for selection among the alternatives.The problems involving multiple criteria are called Multi Criteria Decision Making (MCDM) problems.Decision making can be challenging because of conflicting stakeholders interests there is the uncertainty and vagueness of selected criteria.There may be different criteria but some are more important than others and tend to dominate the decision [1].In general fuzzy set theory is adequate to deal with multi criteria problems [2].
In Goal Oriented Requirements Engineering (GORE), there is a great emphasis on alternative system proposals.Goal refinements help us in finding alternatives and during requirements elaboration process many alternatives are considered.The qualitative and quantitative analysis of these alternatives helps to choose the best one.
In alternative selection we have to decide about the best option according to stakeholders needs.
In the context of GORE we need the support and methodology for identifying and managing the criteria for alternative's selection process.Finding the criteria based on GORE require high level goals to be analyzed till leaf goals are achieved i.e., requirements.These leaf level goals help us in establishing the criteria which are used in the selection process among alternatives.The criteria are based on stakeholders needs and preferences and therefore stakeholders opinions need to be involved in selection process.It helps to identify the importance of requirement according to stakeholders understandings and needs.Based on these criteria we apply qualitative and quantitative reasoning techniques for the selection of alternative system proposals.
The general procedure of selection among alternatives consists of the following steps: 1. Finding acceptance criteria; 2. Involving stakeholders opinions; 3. Finding scores of each criteria; 4. Evaluating alternatives based on accepted criteria scores; 5. Making a selection.
In this paper we consider the case study of selecting one among four alternatives of "cyclecomputer".We use GORE to explore and establish the acceptance criteria.The acceptance criteria are then prioritized based on the stakeholders interests for determining which of these are more important than others.It serves two purposes: first involving the stakeholders opinions in selection process and second finding the relative importance of these criteria.The output is then given as input to Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) which selects the best alternative among the candidates.
The remainder of this paper is organized in the following sections: next section gives the literature review on topics used in our approach.Section 3 describes the proposed methodology.Section 4 introduces the "cyclecomputer" project and gives details of implementing proposed methodology for mentioned project.Section 5 discusses the related work on decision making and alternatives selection in GORE.Finally, last section concludes this paper.

GORE Review
The idea of goals emphasizes the understanding of organizational context for a new system [3].Goal based requirements engineering is concerned with the identification of high level goals to be achieved by the system envisioned, the refinement of such goals, the operationalization of goals into services and constraints and the assignment of responsibilities for the resulting requirement to agents such as human, devices and programs [4].
Requirements engineering must address the contextual goals, functionalities to achieve these goals and constraints restricting how these functions are to be designed and implemented [5].These goals, functions, and constraints have to be mapped to precise specifications of software behaviours [6].From the 10th requirement engineering conference, the notion of goal has been explicitly stated in requirements engineering "Requirements Engineering (RE) is the branch of systems engineering concerned with the 'real-world goals' for, functions of, and constraints on software-intensive systems.It is also concerned with how these factors are taken into account during the implementation and maintenance of the system, from software specifications and architectures up to final test cases".
GORE concerns are classified into two major categories i.e., goal analysis and goal evolution.Goal analysis is the process of exploring gathered documents, ranging from information about the organization, (i.e., enterprise goals) to system specific information (i.e., requirement) for the purpose of identifying, organizing and classifying goals [7].Goal evolution concerns how the goals are changed from when they were identified to when they are operationalized.Goal evolution process is further refined into goal refinement and goal elaboration.Because stakeholders change their minds and goals have to be operationalized into requirements the goals and their priorities are likely to change.Based on goal refinement and goal elaboration we select the criteria which are used for alternative selection.

Fuzzy Numbers
Fuzzy numbers have been widely used in engineering disciplines because of their suitability to represent imprecise and vague information.Fuzzy numbers depict the physical world more realistically than single-valued numbers.Among the fuzzy number Triangular Fuzzy Number (TFN) is capable of aggregating the subjective opinions [8].
A triangular fuzzy number (TFN) is described by a triplet (L, M, H), where M is the modal value, L and H are the left (minimum value) and right (maximum value) boundary respectively.We use TFN to represent stakeholder opinions for criteria which are established through goal models.

TOPSIS Review
The Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) is a multi criteria decision analysis method.It is used to compare a set of alternatives based on weighted scores of each criterion.In this method two alternatives are hypothesized: positive ideal alternative and negative ideal alternative and then best alternative is selected which is close to the positive ideal solution and farthest from negative ideal alternative [9].TOPSIS consist of following steps [10]: 1. Constructing a decision matrix; 2. Normalizing the decision matrix; 3. Finding the positive ideal and negative ideal alternatives; 4. Calculating the separation measures for each alternative; 5. Calculating the relative closeness to the ideal alternative.

The Proposed Method
First of all we have to explore different alternatives during GORE and for this we use goal models obtained during GORE.AND/OR diagrams which are the essential output artefact of these goal models are used in the exploration phase of alternatives.Once we found different alternatives, we need to evaluate these alternatives to select the best one.The alternatives are compared based on the weighted criteria.The criteria are weighted using fuzzy numbers and stakeholders opinions are taken as input and then converted to fuzzy numbers.By using the fuzzy numbers we can convert the qualitative information of stakeholders into quantitative one.The proposed methodology consist of following steps and is shown in Figure 1. 1. Establishing high level goal(s); 2. Establishing the criteria based on leaf level goals (directly assignable to agents: humans or system agents); 3. Identify relevant stakeholders and take their opinions for above established criteria as inputs; 4. Calculate relative importance of each criterion by applying TFN and defuzzification process; 5. Normalize the scores; 6. Identifying the alternatives; 7. Evaluate alternatives using TOPSIS based on scores of each criteria; 8. Rank alternatives.

Case Study
The "cyclecomputer" system is used as case study for our work which is developed in our research group.This system will be attached to a bicycle, will process data from various sensors, and will communicate with a standard PC.A cyclist will be supported while riding the bike, for maintenance issues, for tour preparations, or to enhance the safety using the bike e.g., besides the normal cycling activities one could use the "cyclecomputer" as a medical device which will support people having of health problems.It can be used for professional cyclist or just for entertainment purposes.One of the results of the requirements engineering phase is a goal model [11].
Step 1 Establishing High level Goals: Though there are many goals related to "cyclecomputer" but for space and simplicity considerations we take following identified goals for high level "cyclecomputer" goal: Achieve Step 2 Refine Goals to Leaf Levels (establish criterion for each goal): The above mentioned goals are refined using GORE until they are assignable to agents i.e., human agents or software agents.These leaf levels goals are used as criteria for alternative selection.Quality goals which include non-functional requirements and often serve selection criteria are also refined using GORE.The goals along with their subgoals and short description are presented in Table 1.It is only partial description of "cyclecomputer" goals.
Step 3(a) Identifying Stakeholders: Though there are number of stakeholders in "cyclecomputer" but the relavant stkeholders for our goals described in Table 1 are shown in Figure 2.
1. Medical Cyclist: People who need a defined training/exercise due to any disease e.g., a heart disease.Medical cyclist can use pulse measurement, blood pressure, calory consumption by "cyclecomputer" device.
2. Doctor (medical): The doctor will cooperate with a patient to set-up the correct training cycles.The cycles are dependant on the patients constitution.
3. Touring Cyclist: People who like to ride the bicycle for long trips (>100 km) and they need specific services for their tours.The trips might take more than one day.

Mic
The cycle computer should support Mic service.

Data storage
The cycle computer should support data storage for fun services.

Audio service
The cycle computer should record and play audio data.

Competition Service Satisfied
User accounts  The cycle computer should have a user management i.e., Many cyclists should be able to use the same physical device. User specific data needs to be password protected

Transferable to web
Track data should be transferred to a Web-portal to enable online competition/comparison.

Online modus
The competition mode should be used "online" (while riding the bike).

Offline modus
The competition mode should be used offline Training Service Satisfied

Initial checkups
The cycle computer should offer an initial check-up to assess the drivers capabilities.

Technical riding capabilities
 Frame quality level should be analyzable and visible i.e., show the condition of the frame, interpret the frame condition by a coloured icon. The quality level should be visualized by the time until the frame might break. The cyclist should see the current speed of the cycle. The cyclist should be informed when the oil in the shocks should be changed

Fitness level
 The cycle computer should analyze the cyclist.
 The cyclist should be informed about his heart beat.

Calories consumption
The calorie consumption should be shown e.g., current calorie consumption, calorie consumption per tour, the calorie consumption for a specified time frame A cumulative value should be shown by ascended and descended meters.

Navigation
The cyclist should be able to navigate to a given location.The location could be a point of interest, e.g., a hotel.The cyclist should be informed about his global position on a map.

Trip suggestions
The cycle computer should offer trip tips for professional sports cyclists e.g., gear change tips, speed tips based on the (known) route.

Trainer (sports):
Create training plans, follow training plans, analyse the cyclist.
Step 3(b) Stakeholders Opinions Accumulation: We take three stakeholders, professional cyclist(SH1), fun cyclist (SH2), health and fitness cyclist (SH3).These stakeholders are asked to give their judgements against each criterion in Table 1.Their judgements are used to elicit the importance degree of each criterion.To enhance the user-friendliness for interacting with stakeholders ordinal scale is used.The scale values are same as given in [8].In next step the ordinal scale values are converted to actual numerical numbers to apply TFN.Table 2 shows the ordinal scale and their respective actual numerical values while Table 3 shows stakeholders ordinal scale and numerical values against criteria identified in Table 1.
Step 4(a) Calculate the Relative Importance Using TFN: The different importance degrees of each criterion assigned by stakeholders is calculated using TFN.TFN is used to aggregate the subjective opinions of a stakeholder using fuzzy set theory.The TFN is represented by triplet (L, M, H) L being the smallest value, H being the largest value and M represents the geometric mean.

(
) Step 4(b) Apply Defuzzification Process on TFN: After calculating TFN for each criterion we apply ( ) ( ) ( ) ( ) where representing triangular fuzzy number.The developer is involved in the process by representing his preference.α in the above equation represents the preference value of developer and it's value is in the range [0,1].When 1 α = it shows the optimistic view of developer resulting in the Equation (3): ( ) ( ) When 0 α = it shows the pessimistic view of developer resulting in the Equation ( 4): ( ) ( ) where ( ) f x represents the left end value of TFN i i.e., pessimistic value while ( ) R i f x represents the right end value of TFN i i.e., optimistic value and are represented by the Equations ( 5) and ( 6) respectively: ( ) ( ) Equation ( 5) represents left end boundary value: Equation ( 6) represents right end boundary value.
β in the above equations represents the risks tolerance for particular criterion and it's value is in the range [0,1].To keeps things simple we have chosen value 0.5 of preference and risk against each TFN calculated.
If we take only preference value and ignore the risk tolerance, defuzzification value can be calculated using the Equations ( 7) or ( 8): ( ) ( ) Step 5 Normalizing Values Obtained by Defuzzification Process: After defuzzification process the values are normalized by using the Equation ( 9): where "m" represents number of criteria.Table 4 represents TFN, defuzzification and final normalized defuzzification values that give the importance of degrees of each criterion.The defuzzification normalized values give the prioritized list of criteria which is used in TOPSIS to evaluated alternatives.
Step 6 Cyclecomputer Alternatives: We selected four alternatives for evaluation: CM213C, CM404, HAC4Pro, Germin Edge 305.The preliminary analysis results of these selected alternatives are given in Appendix.Step 7 Evaluate Alternatives Using TOPSIS Step 7(a) Constructing Decision Matrix: For "m" number of alternatives and "n" number of criteria we construct a m * n matrix.Values in the matrix are entered according to Table 5.For four alternatives we randomly selected four criteria along with their scores from Table 4 and a decision matrix is constructed.
Step 7(b) Normalizing Decision Matrix and Constructing Weighted Normalize Decision Matrix: The decision matrix is normalized according to Equation (10): and then multiplied with each criterion score to get the weighted normalized decision matrix.Figure 3 shows the resultant matrices.
, , where min negative ideal alternative: (0.01, 0.01, 0.01, 0.01) Step 7(d) Calculating the Separation Measures: separation measures for both positive and negative ideal alternatives are measured using Equations ( 13) and ( 14): ( ) ( ) Figure 4 shows results for separation measure for positive ideal alternative and Figure 5 shows results for negative ideal alternative.Table 5. Alternative fulfilling criteria scores.

Alternative fulfilling criterion 9
Alternative partially fulfilling criterion 7 Alternative minimally fulfilling criterion 3 Alternative not fulfilling criterion 0.25 Step 7(e) Calculating Closeness to Ideal Solution: the relative closeness to the ideal solution is calculated using the Equation ( 15): ( ) Step 7(f) Ranking and Selecting: Finally the ranking is done and the alternative closet to 1 is selected as the best alternative.Figure 6 gives results for our selected alternatives and alternative A2 is selected as an ideal solution.

Discussions
Alternatives selection is ongoing research in the area of GORE.On the other hand methods like AHP [13], TOPSIS [14], Fuzzy AHP, Fuzzy TOPSIS [1] and VIKOR are used in classical Multi-Criteria Decision Making (MCDM) problems.Multi-criteria decision making (MCDM) has been widely used in selecting or ranking decision alternatives characterized by multiple and usually conflicting criteria [15].The approach of these methods is useful for alternatives selection and stakeholders involvement in GORE.
[16] also emphasises the importance of decision support in GORE but it differs from our work as it uses Analytic Hierarchy Process (AHP) for prioritization and it deals with only soft goals.AHP [13] involves pair-wise comparison.All pair of requirements is compared to determine the priority level of one requirement over another requirement.Requirements are arranged in matrix form, that is, rows and columns.Then priority is specified to each pair of requirements by assigning a preference value between 1 and 9, where 1 expresses equal value while 9 indicates extreme value.After that, AHP converts these scales to numerical values and a numerical priority is derived for each requirement.AHP is more suitable for small number of stakeholders and if alternatives are increased to seven are more it becomes difficult to handle them with AHP because it involves pairwise comparison.In contrast our method involves stakeholders opinions and take into consideration both functional and non-functional requirements.In our method importance of criteria is evaluated using fuzzy set concepts, weight for each criterion is calculated based on stakeholder opinions.When a new criterion is added it is easy to extend, we don't need to change the previous calculations because newly added criterion is independent from others.These weights are then used in TOPSIS avoiding the cumbersome pair-wise comparisons of AHP.
[17] [1] use qualitative approaches for choosing the best alternative.They use temporal logic and label propagation algorithm.Our method differs from them by using quantitative approach for evaluating the alternatives.[8] deals with prioritizing software requirements, it considers prioritization of both functional and non-functional requirements at same level.This method produces two separate prioritized lists of functional and nonfunctional requirements.Like our approach their work also used the concepts from [9] but their work is only used for prioritization of functional and non-functional requirement while in our work the scores obtained after prioritization are used as an input to TOPSIS method for evaluation of alternatives.
Wiegers [18] method is semi-quatitative method which focused on customer involvement.Requirements are prioritized based on four criteria defined as benefit, penalty, cost, and risk.The attributes (criteria) are assessed on a scale from 1 (minimum) to 9 (maximum).The customer determines the benefit and penalty values whereas the developers provide the cost and risk values associated with each requirement.Then, by using a formula, the relative importance value of each requirement is calculated by dividing the value of a requirement by the sum of the costs and technical risks associated with its implementation.
AGORA [17] is another quantitative approach for alternatives extending the goal oriented requirements analysis but the focus of AGORA is on requirements elicitation.The method focuses on alternative among subgoals, that is, selection of subgoal among many subgoals of same parent.Furthermore AGORA attaches a matrix called preference matrix to nodes of goal graph.It is suitable if number of stakeholders is small in number.When stakeholders are more (plus four) and have to select among many alternatives, this method becomes difficult to handle and goal graph becomes cumbersome.We used the Fuzzy set concepts to evaluate the importance of criteria for each goal.Weight for each criterion is calculated based on stakeholder opinions.These weights display stakeholder priorities for all requirements.The interaction of stakeholders at early phase of requirements engineering helps to capture the rational (by documenting the preferences) for the decisions and to identify inconsistencies at the early phase of requirements engineering.The method gives a systematic structure to calculate the fuzzy weight of each criterion.The subjecttive weights assigned by stakeholders are normalized into a comparable scale.The performance measures of all alternatives on criteria are visualized using TOPSIS which accounts for both the best and worst alternatives simultaneously.

Conclusions
In this paper an approach is presented to use the goal model of goal-oriented requirements engineering to establish the acceptance criteria.After that we apply the TFN and defuzzification process to get scores for each criterion.In the final step TOPSIS method is used to evaluate the alternatives and for selection of the best alternatives.TOPSIS method uses the score obtained by TFN and defuzzification process.The proposed methodology can be used against both the functional and non-functional requirements.
The methodology is explained by "cyclecomputer" case study where we establish 16 acceptance criteria and stakeholders opinions are collected for these criteria.After calculating the score of each criterion we take four criteria (for space considerations) and based on these evaluated four alternatives.This approach is promis-ing for ranking the criteria and using this ranking for alternative selection because we take the stakeholders opinions and most importantly developers' considerations for preference and risk tolerance into account.The formalization of the approach, its full integration into goal oriented requirements engineering and the validation by additional examples are future research topics.


The cycle computer should offer route planning. The planning should be done based on topographic maps. Routing should consider the current weather forecast Weather info  The cyclist should see the current environmental temperature. The temperature of the last 5 days should be analyzable.Tour details The cycle computer should provide complete details of the tours  The cyclist should be informed about the current height (above sea level).

Figure 4 .
Figure 4. Separation measure for positive ideal alternative.

Figure 5 .
Figure 5. Separation measure for negative ideal alternative.

Table 2 .
Ordinal scales and their numerical values.

Table 3 .
Stakeholder judgements according to ordinal scales and their numerical values.