Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

This chapter discusses HAM, a technique for requirements conflict resolution. This technique has been developed in the context of AORA (Aspect-Oriented Requirements Analysis approach), although it can be used in the general context of AORE.

In AORA, conflict management is handled during the composition activity, where conflicts may emerge at given match point [1]. A match point identifies specific locations in base concerns at which other concerns’ (crosscutting or non-crosscutting) should be composed or satisfied. A concern refers to a matter of interest that addresses a certain problem that is important to one or more stakeholders. AORA indicates a conflict any time two or more concerns that contribute negatively to each other, and have the same priority,Footnote 1 need to be composed at the same match point. The identification of such a conflict might lead to a revision of the aspectual and non-aspectual specifications, as well as of the composition specifications. In the context of this work, we generalize the AORA’s definition of conflict to include situations where stakeholders have different interests with respect to the same set of concerns, independently from the concerns’ contributions.Footnote 2 The advantage of treating both types of conflicting situations during requirements analysis is to facilitate negotiation and decision-making among stakeholders.

In previous works, AORA used Analytic Hierarchy Process (AHP) [2], a multi-criteria decision method (MCDM) to obtain the raking of a set of concerns. MCDMs help choosing the best choice from a set of alternatives, given a set of decision criteria. Despite the well-known advantages of AHP, such as helping guaranteeing the logical consistency of many human-based judgments, as well as synthesizing a wide range of data in a single solution, the inconsistencies introduced by the scale, associated with the large number of pairwise comparisons, result in low efficiency and cumbersome usability. For these reasons, in this chapter AORA substitutes AHP for HAM, a hybrid MCDM method [35] and discusses its suitability and versatility as a decision support tool for handling the two types of aspectual conflicts mentioned above.

HAM’s process is simpler than AHP’s and its integration in AORA is straightforward. HAM uses a simple two-phase process, which combines one pairwise comparison decision matrix and one classical weighted decision matrix, and then prioritizes alternatives using a weighted average method. These changes, required to handle the new type of conflict, introduce no added complexity to the process (as discussed in Sect. 12.4).

This chapter is organized as follows: Sect. 12.2 gives a general outline of the AORA approach, giving context to HAM. Section 12.3 offers a broad overview on multi-criteria decision methods and finishes by summarizing HAM. Section 12.4 focuses on the composition part of AORA, uses an example from the case study to illustrate the conflict management activity and discusses the obtained results. Section 12.5 presents the related work and Sect. 12.6 concludes pointing directions for future work.

2 Aspect-Oriented Requirements Analysis

The AORA (Aspect-Oriented Requirements Analysis) approach collects all the required requirements for composition, allowing the application of MCDM techniques for conflict resolution. AORA defines three primary tasks: identify concerns, specify concerns and compose concerns.

The task “identify concerns” can be accomplished by using traditional requirements elicitation techniques, such as ethnographic studies, analysis of the initial requirements, transcripts of stakeholders’ interviews, etc. Other good sources for concern identification are existing catalogues, such as the non-functional requirements catalogue offered by Chung et al. [6].

The task “specify concerns” aims at describing each concern while collecting and storing in a template various types of data about the concern [1]. An example template is shown in Table 12.2. For example, the contributions element of the template, which offers a list of positive and negative contributions among concerns, is a basic piece of information to detect a conflict (denoted via negative contributions). While stakeholders’ importance element assigns priorities to concerns from the stakeholders’ perspective, in an attempt to help in the conflict resolution process, the required concerns element acts as a dependency reference to other concerns in the system and is used to identify crosscutting concerns (i.e., concerns that are required by more than one other concern).

The task “compose concerns” allows an incremental analysis of impact of possible concern configurations. A composition is configured according to a composition specification. Each composition specification is analysed for each match point, by taking into account the information in Required Concerns element in the match point concern template [1]. A composition rule shows how a set of concerns can be composed together using pre-defined operators. At this stage, conflicting situations may be detected when concerns contributing negatively to each other (contribution element in template [1]) have the same importance (row stakeholders’ importance) and need to be composed in the same match point. Having identified a conflict, the HAM technique is used to rank the concerns under analysis and, where needed, conduct negotiations among stakeholders. HAM, as we said before, guarantees the logical consistency of many human-based judgments, as well as synthesizing a wide range of data in a single solution. The end result is a list of concerns ranked according to a set of criteria. This list of ranked concerns will lead the choice of the system’s architecture design.

3 Supporting Conflict Resolution with Multi-criteria Decision Methods

3.1 Multi-criteria Decision Methods

Multiple Criteria Decision Making (MCDM) methods support decision makers resolving conflicting situations [79]. MCDM methods use mathematical techniques to help decision makers to choose among a discrete set of alternative decisions. These methods do not try to compute an optimal solution, but to determine, via rating and ranking procedures, either a ranking of the “the best options” with respect to several criteria, or the “best” actions amongst the existing solutions [7].

Two phases are usually needed to rank the alternatives or to select the most desirable one (1) the aggregation of the degree of satisfaction for all criteria, per decision alternative (rating) and (2) the ranking of the alternatives with respect to the global aggregated degree of satisfaction.

Triantaphyllou [7] warns that there may never be a single MCDM method that guarantees that a derived ranking of alternatives is the correct one because of the subjective assignment of alternative classifications and weights for criteria. Even within the fuzzy MCDM domain [10] this type of problem remains ill-defined. Therefore, MCDM methods can only guarantee the “best possible” solution and not “the optimal” one. Nonetheless, in our view MCDM methods are helpful at negotiating a solution for conflicting concerns because they allow trade-offs and reaching a consensus from different stakeholders.

There are many MCDM methods proposed in the literature [7, 8, 10]: direct scoring and outranking methods, trade-off schemes, distance-based methods, value and utility functions, and interactive methods. Direct scoring techniques are widely used, particularly the weighted average method (WA) [11]. WA calculates the final score of alternatives with the weighted sum of each criteria value. WA is popular due to its simplicity, its compensatory trade-offs among criteria with their weights, and because any spreadsheet can act as tool support as it only requires one decision matrix. However, it does not offer pairwise comparisons or logical consistency measures (hence no dependencies/relationships between criteria can be expressed), which are useful to perform the trade-offs between alternatives, or, in our case, conflicting aspectual requirements. The Analytical Hierarchy Process (AHP) method [2, 7] is a pairwise comparison method that relies on expert judgments to derive priority scales (ranking of alternatives). The comparisons are made using a scale of judgments that represent how much more, one element is important than another with respect to a given criteria. AHP also provides a measure for detecting logical inconsistencies for these judgments.

Comparative studies for such methods [3] concluded that the best option is to combine the pairwise judgment of AHP with the decision matrix simplicity of WA. The combination of both methods and the usage of a geometric scale (Table 12.1 shows the scale and its semantic interpretation) and aggregation process resulted in the Hybrid Assessment Method (HAM) [4, 5]. From AHP, HAM uses just one pairwise comparison matrix to perform the trade-off analysis between criteria and obtain their weights, while ensuring logical consistency for the trade-off. From WA, HAM uses the decision matrix logic with weights obtained from the AHP pairwise comparisons to determine the final ratings and ranking for the alternatives.

Table 12.1 Scale summary

3.2 The Hybrid Assessment Method

HAM includes two main tasks, one to determine the importance (weights) of criteria and another one to obtain the prioritization of alternatives [35]. As mentioned before, HAM also avoids the two main AHP problems: its computational inefficiency and understandability for large problems and its problematic linear scale and prioritization calculation process [5]. Steps 1–3 below constitute the first task, while steps 4 and 5 form the second task. Each step, and the associated calculations, is explained in detail in [5].

Step 1: Identify the set of stakeholders and concerns. Here the concerns correspond to alternatives in the MCDM methods and criteria are the stakeholder’s preferences. Figure 12.1c displays an example.

Fig. 12.1
figure 1

(a) Pairwise comparison matrix for stakeholder’s criterion and (b) respective priority vector (calculated). (c) WA matrix for required concerns and (d) respective ratings

Step 2: Elicit trade-offs among stakeholders using pairwise comparisons. We use a geometric scale (see in Table 12.1 the scale and its semantic interpretation) to rate the relative importance/preference of one stakeholder over another and then construct a matrix of the pairwise comparison ratings. This scale was used because, according to [7] and [12], it is the most appropriate for MCDM. Figure 12.1a shows an example.

Step 3: Calculate the stakeholder’s priority vector, normalize the respective weights and calculate the consistency ratio. To calculate the priority vector for criteria (stakeholders), which will represent the weights for the second task of HAM, we normalize the pairwise comparison matrix by dividing each column cell by the sum of that column. Then, the weights/importance criteria are calculated by using the geometric mean of the normalized pairwise comparison matrix, for all criteria. Next we calculate the consistency of the pairwise matrix to reduce any logical error that might have been introduced during the judgement process. If the consistency ratio is under 10 %, logical consistency is guaranteed. However, if there is any logical inconsistency the trade-off values in the pairwise matrix are re-checked and a new iteration is performed until consistency is low. Figure 12.1b displays the resulting value for the example.

These 3 steps result in a vector with the importance (weights) for criteria (in our case the stakeholders). The next task (steps 4 and 5) deals with the prioritization of the alternative concerns.

Step 4: Identify contributions of each concern, by eliciting the contributions of each alternative (concern) with respect to each criterion (stakeholders), using a decision matrix. Figure 12.1c shows an example.

Step 5: Calculate the concerns’ ratings, includes the aggregation of the criteria values, with the geometric average, per alternative, using as weights the values obtained in step 3. This final step concludes our process by providing the prioritizations for each concern Fig. 12.1d displays the final result of using HAM tool.

To improve the tool usability (see Fig. 12.1), we also introduced an index system to facilitate the interaction among the decision makers involved in the conflict resolution (see Fig. 12.1 bottom-left box). Table 12.1 summarizes the scale, its semantic interpretation and respective index. Moreover, Table 12.1 also depicts the AHP scale for comparative purposes (see Sect. 12.4.4). Details about the advantages of using the HAM scale are discussed in [5].

4 A Step Forward in Aspectual Conflict Management

As mentioned previously, a conflict occurs when two or more concerns contributing negatively to each other and having the same priority need to be composed together. For example, consider the case where a module conceived to model or implement a given functionality of the system needs to be secure and to react in a very short period of time. It is well known that security and response time contribute negatively to each other, that is, the more secure we want our module to be, the slower it will become, and vice versa. This means that the system may not be able to satisfy both quality requirements with the same degree of importance. Therefore, this also means that different combinations of each of these concerns may lead to a number of architecture choices that will serve the stakeholder needs with varying levels of satisfaction.

In this chapter, we will use the information collected by AORA and the flexibility of the multi-criteria concepts and techniques and also consider conflicts triggered by contradictory priorities different stakeholders may declare on one or more concerns. This means that even concerns that contribute positively to each other may be involved in a conflict if they need to compete for their satisfaction, for instance, due to scarce resources or where stakeholders’ priorities on concerns vary.

Considering that MCDM techniques offer the possibility to find, given a set of alternatives and a set of decision criteria, the best alternative, AORA used AHP method to support conflict management resolution [1, 13]. This list of ranked concerns should drive the choice of the system’s architecture design, as mentioned above.

Although being one of the most used methods, AHP has some liabilities that drove us looking for a different solution. In particular, AHP scale introduces inconsistencies, the number of pairwise comparisons can become too large, and it is difficult to analyse results for each single matrix. Therefore, in addition to its scale inconsistency problems, AHP is low in efficiency and in usability [5, 7, 12].

To overcome these liabilities, this chapter changes the AORA conflict management process by using HAM in the following two usage cases (1) to rank required concerns in a match point according to the Stakeholders’ opinion, where the one with the highest value is the most important one; (2) to perform “what-if” analysis, achieving system behaviour analysis by simulating changes to it (e.g., “what happens if a new Stakeholder is added to the system?” or “what happens if the weight of a criteria changes?”).

4.1 Identification and Description of Concerns

Here we will demonstrate the usage of HAM for concerns conflict management.

The concerns are the use cases, identified in Sect. 4.1 of the crisis management stem case study document [14], and the NFRs listed in Sect. 2.3 of the same document. The composition specifications are defined for the various identified match points, and several crosscutting concerns are indicated, some are non-functional (e.g. availability, security and mobility) and others are functional (such as user authentication).

For this section we have chosen the example from the crisis management system pertaining the execution of the mission observed by the SuperObserver actor. The corresponding AORA template is summarized in Table 12.2, where the “responsibilities” entry details its functionality.

Table 12.2 Execute SuperObserver mission template

The composition specification for the SuperObserver Mission match point would require the construction of an equivalent template for each of the required concerns, but for our goal, it is enough to build the contribution matrix among these required concerns. Based on the developers’ expertise and some existing work (e.g. [6] and [15]), the positive and negative contributions between concerns are listed in Table 12.3.Footnote 3

Table 12.3 Contributions between the concerns required by Execute SuperObserver Mission

The contribution matrix helps identifying some potential problems. For example, accuracy contributes negatively to real time (the system shall provide up-to-date information to rescue resources quickly), while real time contributes positively to availability (the faster the system is, the longer it is free to handle more SuperObserver).

If we were to consider only conflicts triggered by concerns contributing negatively to each other, we could remove from our subsequent analysis “mobility” and “adaptability”. However, given that we also want to consider situations where different stakeholders may have contradictory interests in those concerns, i.e. those concerns have different stakeholders’ priorities, the conflict analysis will consider all the required concerns and will take into consideration the stakeholder priorities allocated to each concern.

4.2 Composition and Conflict Management

In the AORA context, HAM is going to be used for two cases:

  • Case 1: “Prioritize Required Concerns” is used to rank Required Concerns in a match point according to the opinion of Stakeholders’. The result is a ranking of Required Concerns where the one with the highest value is the most important.

  • Case 2: “What-if analysis” to perform system behaviour analysis by simulating changes to it. For example, does the Required Concerns ranking change if a new stakeholder, or a new concern, is added to the system?

Case 1: Prioritize Required Concerns

Step 1: Identify criteria and alternatives. The goal is the identification of a finite set of criteria and alternatives to rank the concerns required in a given match point. For our “Execute SuperObserver Mission” example, the alternatives are the required concerns identified in the template. The criteria also referred to as decision criteria, represent the different dimensions from which the alternatives can be analysed, which, in our example, are the identified stakeholders (SuperObserver, Coordinator and AdministratorSystem).

Step 2: Elicit trade-offs among criteria. As mentioned, HAM uses a pairwise comparison matrix to determine the ratings for the stakeholders. In our example, the pairwise matrix is shown in Fig. 12.1a.

Step 3: Calculate the criteria priority vector, normalize the respective weights and calculate the consistency ratio. HAM calculates the normalized priority vector (or stakeholders weights). In our example, the pairwise matrix is shown in Fig. 12.1a and the normalized priority vector in Fig. 12.1b. Notice that pairwise matrix uses illustrative judgements, because the case study’s documentation does not have this information. The stakeholder Coordinator is the most important stakeholder according to the values in priority vector (0.412029).

The next step is to calculate the value of the logical consistency ratio to ensure the analyst consistently elicited the stakeholders’ priorities. In this case the ratio is 3.93 %. Since this value is under 10 %, the logical consistency is guaranteed.

Step 4: Identify contributions of each alternative. We elicit the contributions of each required concern with respect to each stakeholder, using a regular decision matrix (see Fig. 12.1c). The contributions are illustrative values because the case study’s documentation does not have this information.

Step 5: Calculate the alternatives ratings. Figure 12.1 shows the results obtained using the HAM Tool. Figure 12.1d shows the rating of each required concern, using a geometric average as described in HAM model [5].

Based on required concerns rating obtained using HAM Tool, Table 12.4 shows the required concerns final ranking.

Table 12.4 Required concerns ranking

Let us now discuss the final ranking in Table 12.4. Because the control centre receives and updates the location of SuperObserver information on an on-going crisis at intervals not exceeding 30 s, it is not surprising that the real-time concern appears ranked first. Availability comes next in the ranking because the system shall be in operation 24 h a day, every day, without break, throughout the year except for a maximum downtime of 2 h every 30 days, for maintenance. Furthermore, availability needs to be accomplished before accuracy and persistence to guarantee that the system is accessible for the passengers.

Mobility is ranked third because it is important to guarantee the access to detailed maps, terrain data and weather conditions for the crisis location and the routes leading to it. Also, mobility helps availability, as its contribution is positive.

Accuracy appears in fourth place. Given that it contributes negatively to real time and availability, which have higher preferences for the stakeholders, its ranking makes sense, as its priority needs to be lower in order to help guaranteeing the stakeholders preferences.

A similar intuitive reasoning can be done for the concerns ranked in the last positions. But in general, we can say that despite their importance in the system, accuracy, persistence and security have lower priorities because these concerns contribute negatively to real time and availability, which have higher preferences for the stakeholders.

Case 2: Perform “what-if” analysis

“What-if” analysis may be useful to study the impact of adding new concerns and stakeholders, removing them or review the weights allocated to different criteria. Let us consider the simple situation mentioned in the case study, where the new stakeholder NationalCrisisCenter comes into play when a Mission cannot be created and no replacement missions are possible. (We expect that this actor would appear when the crisis is so serious that requires the orchestration of several national services.) We simply add this new stakeholder and perform the five steps of HAM, which the HAM tool will execute in a blink-of-an-eye.

Step 1: Identify criteria and alternatives. The criteria include now also the new stakeholder NationalCrisisCenter.

Step 2: Elicit trade-offs among criteria. Based on the previous step, NationalCrisisCenterstakeholder was added to the matrix (originally depicted in Fig. 12.1) with very low importance when compared with Coordinator, SuperObserver and AdministratorSystem because NationalCrisisCenter stakeholder substitutes the system under study and does not use the system, unlike the others stakeholders.

Step 3: Calculate the criteria priority vector, normalize the respective weights and calculate the consistency ratio. We start by calculating the priority vector, or stakeholders weights, and normalize them. SuperObserver is the most important stakeholder and NationalCrisisCenter is the less important stakeholder according to the values in the priority vector. Since the consistency ratio value is 3.79 % (lower than 10 %), the logical consistency is guaranteed.

Step 4: Identify contributions of each alternative. We elicit the contributions of each required concern with respect to each stakeholder, using a WA’s decision matrix. In this case, we elicit the contributions of each required concern with respect to NationalCrisisCenter, which were: availability: 4; reliability: 2; persistence: −8; real time: 4; security: 0; adaptability: −8; accuracy: 2; mobility: −8; safety: 8.

Step 5: Calculate the alternatives ratings. Table 12.5 represents the rating of each required concern, using the WA formula for both cases.

Table 12.5 Required concerns ranking for case 1 and 2

Real time, availability, mobility and accuracy have the same ranking in the two cases. Safety “jumps” from ninth place to fifth place. This intuitively makes some sense, because despite NationalCrisisCenter having the lowest weight in the system (when it enters in action, it basically substitutes the system under study), safety concern has “Extremely High importance”. Consequently, the other concerns decrease one place in the ranking of case 2.

If, in a different case, we were simply to change the importance allocated to NationalCrisisCenter to high, the resulting ranking would be the same for real time (first) and adaptability (ninth). The other concerns decrease and increase by one place. Safety, on the other hand, “jumps” from fifth to second. This makes sense as NationalCrisisCenter, being highly important in the system, has allocated safety a high degree of importance. On the other hand, real time is still in the first place as NationalCrisisCenter’s weight is not enough to override the other stakeholders’ wishes.

4.3 Discussion of Results

Having the concerns ranked by order of importance allows one to select the architectural design that will optimize the attainment of various objectives by their order of importance. Based on the obtained rankings, decisions can be taken to handle unresolved conflicts. Notice that, a crosscutting concern can have different importance in different match points. This information is also supporting useful in supporting architectural design decisions.

To ensure that the method is applied correctly we must guarantee that the questions below are answered during the initial activities of the AORA approach: have all the concerns been identified? Were all the stakeholders considered? How correct is the stakeholder knowledge about the problem? In what concerns of the HAM method we should remember that human judgements are not error free, even if the consistency level is below 10 %, judgements are always subjective. Consistency only tells that the judgements are valid from a logical perspective. However, the reasoning used to achieve those values is subjective and may not reflect the best alternatives.

Another useful result was the what-if analysis. The inclusion of a new stakeholder, even when he is allocated with the lowest importance, can impact the final ranking.

Analysing the results of the application of HAM, the advantages are:

  1. 1.

    It is a robust and flexible method.

  2. 2.

    It allows resolution of trade-offs between concerns.

  3. 3.

    It provides prioritization of criteria (stakeholders) to be used as weights in the ranking process.

  4. 4.

    Provides ranking of alternatives (required concerns).

  5. 5.

    It enables the addition of new criteria and/or alternatives at anytime, obviously at the expense of having to perform new calculations.

  6. 6.

    It allows a what-if analysis, i.e. what happens if we add a new requirement to the system? Will it change the architectural decisions?

Nevertheless, HAM is not a perfect method and its disadvantages are:

  1. 1.

    As all other scoring MCDM methods, judgments made by experts (values assigned) always include opinions (subjective) and HAM can only ensure logical consistency for the judgments.

  2. 2.

    As all other MCDM methods it is a decision support model and not a decision making model (i.e., it does not substitute decision makers, it just supports them in making informed decisions).

  3. 3.

    It does not support group decision making.

  4. 4.

    It requires some technical knowledge from the stakeholders, such as which criteria to use which contributions alternatives make towards the criteria.

Thus, in summary, HAM is a simple, versatile method that seems well suited to helping in analysing potential conflicts in the AOSD context.

4.4 HAM Versus AHP

Let us now compare HAM with AHP, for the same illustrative example. Here we only compare the results for phase 1 (determination of stakeholders relative importance) because it is the phase that uses pairwise matrices. As mentioned before, the scales of HAM versus AHP and respective semantic interpretation are shown in Table 12.1.

Table 12.6 shows stakeholders pairwise matrix with the semantic evaluations (Table 12.1). Note that the semantic evaluation is identical for HAM and AHP.

Table 12.6 Stakeholders pairwise matrix

Table 12.7 includes the resulting rating for stakeholders using HAM (Fig. 12.1b) and AHP with arithmetic aggregation.

Table 12.7 Stakeholders ratings

Even with this small comparison it is obvious that the rankings are different in both methods. For HAM the most important stakeholder is the Coordinator, while with AHP it is the SuperObserver. Now let us observe the semantic evaluations to understand the results. Note that the “equal importance” is not taken in consideration because it is a pairwise matrix. From Table 12.6, the corresponding semantic Coordinator evaluations were: (SuperObserver: medium low importance, Administrator: very high importance) and SuperObserver evaluations were (Coordinator: medium high importance, Administrator: high importance). Clearly from these semantic evaluations we can observe that AHP takes a more “averaging” perspective and benefits (selects) the candidate with both “average” classifications, while with HAM the candidate that stands out (Coordinator) is selected because he has a “very high” grade and only a “medium low” one. These small comparison shows that HAM distinguishes more outstanding alternatives while AHP always takes a classic average perspective, which can lead to select “mediocre” solutions.

More details about comparison of HAM with other methods can be seen in [5].

5 Related Work

Several AORE approaches [1619] handle conflicts mostly based on intuitive and very simple reasoning methods that are error prone and do not allow a rigorous engineering approach to the problem. For example, while Brito et al. [16] propose allocating different priorities to conflicting concerns, in [17] conflict solving is based on the principle of iteratively identifying the dominant candidate aspect, or crosscutting concern, with respect to a set of stakeholders’ requirements. This requires extensive negation between stakeholders.

Moreira et al. [18] and Rashid et al. [19] use a similar idea, by assigning weights to those aspects that contribute negatively to each other. Weighting allows them to describe the extent to which an aspect may constrain a base module. The scales used are based on ideas from fuzzy logic. Again, concerns contributing negatively to each other and with the same weight with respect to a given base module require explicit, but informal, negotiations with the stakeholders.

The main limitations of these approaches are:

  1. 1.

    Each concern must be allocated one single different importance using intuition.

  2. 2.

    Conflict handling is based on one criterion, the importance, not considering other parameters that may have an impact on the decision.

  3. 3.

    Different stakeholders may have different interests on the same concern, and the relative importance/power of each one might be different (so their relative position might have to be taken into account).

  4. 4.

    Trade-offs must be negotiated informally with the stakeholders without any rigorous and systematic analysis technique or tool.

It was with these limitations in mind that we started exploring rigorous alternatives take used effectively without having to rely so strongly on a single criterion (importance), taking into consideration other possible useful information collected during the application of the methods.

Multi-Criteria Decision Making (MCDM) methods have been used to solve different types of problems, in particular to identify and prioritize conflicting Non-Functional Requirements (NFRs) [16, 19, 20]. Until recently, efforts have been focused on solving conflicts between aspects for stakeholders, using more formal ways to deal with the issues at hand, and incipient usage of MCDM methods was also proposed to create rankings of concerns, be they aspectual or non-aspectual [13]. The focus was on identifying conflicts between two or more concerns that contribute negatively to each other but have to be included in the same system. This meant that it is not possible to equally satisfy both conflicting concerns. This situation forces a trade-off analysis to establish importance, or priorities, for concerns. According to what is shown in [18], these decisions have a significant influence on the choice of system’s architecture, as well as the future stages of the development life cycle. For the latter work, the MCDM method chosen was Analytical Hierarchy Process (AHP) [2, 7, 21].

More recently, in the AMPLE project [22], a novel hybrid assessment method, HAM, was proposed and a software tool was developed. HAM combines the best properties of two well-known MCDM scoring methods, the Analytical Hierarchy Process [2, 21] and the Weighted Average [7, 8], while avoiding some problematic features of those methods [5]. HAM suitability for handling concerns is based on four main points (1) handle conflicting situations between stakeholders objectives (many of these correspond to qualities the system should provide); (2) study which features are affected by those qualities; (3) use these qualities to support architects in their job; (4) use adequate qualities (usually different from those handled until now), to decide which product of the Software Product Lines should be developed first. In this chapter, HAM is applied to AORE instead features or SPL.

6 Conclusions

In this chapter an approach that helps to support conflict management at the AORE level has been presented. This approach (HAM) uses AORA to collect the necessary information and to identify potential conflicting situations, and uses a hybrid multi-criteria analysis technique to perform trade-offs and obtain a ranking of concerns. The technique used looks very promising as a tool to support architectural choices during the software architecture design.

We showed that HAM is a versatile technique to help analysing different situations one may wish to explore before design or architectural decisions are made. HAM provides, in a timely and user-friendly way, more robust and logical results, while avoiding scale and prioritization problems faced by other MCDM methods such as AHP.