ISSN ONLINE(2320-9801) PRINT (2320-9798)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Fuzzy CBAM Based Software Architecture Evaluation

Dr. V.Govindasamy1, V. Akila2, Santhosh Kumar.C3, Vinoth Kumar.V3, Mohammed Thasleem3, Iyanaar.M3
  1. Assistant Professor, Dept. of IT., Pondicherry Engineering College, Pondicherry, India1
  2. Assistant Professor, Dept. of CSE., Pondicherry Engineering College, Pondicherry, India2
  3. Dept. of CSE., Pondicherry Engineering College, Pondicherry, India3
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Innovative Research in Computer and Communication Engineering

Abstract

Software Architecture is blueprint of the developed software. It is a by product of the design phase. The Software Architecture needs to be evaluated in a quantitative manner in order to avoid cost overruns in the software development. Quantitative evaluation needs preference information from all the stakeholders involved in the software development. In many practical cases, human preference cannot be codified in an objective manner. The classical deterministic Analytical Hierarchical Process(AHP) and Analytical Network Process(ANP) that are used in combination with Cost Base Analysis Method (CBAM) software architecture evaluation do not solve the purpose of completely specifying the imprecision and vagueness characteristics. It is more desirable for the decision maker to use of interval or fuzzy evaluations. Essentially, the uncertainty in the statements of the state-holders introduces uncertainty in the ranking of alternatives and also makes the process of in determination of consistency of the preferences cumbersome. Fuzzy logic is a powerful tool to handle imprecise data and fuzzy expressions that are more natural for humans than rigid mathematical rules and equations. In order to increase the efficiency of multi criteria decision making methods at the realm of Software Architecture evaluation and to remove fuzziness that exists in the current method, it is suggested to use fuzzy logic in the CBAM Software Architecture evaluation.

Keywords

Analytical Hierarchical Process, Analytical Network Process and Software Architecture Evaluation
 
 

I. INTRODUCTION

The earlier a problem is detected in a software project, the better. The cost and effort required to correct an error found during requirements or early design phases is much less than the same error found during testing. The Software Architecture and its influence on the project outcome is enormous. An unsuitable architecture will bring catastrophe on a project. Software Architecture dictates all the components of the software project including the structure of the project The Software Architecture [1] [2] of a computing system is the structure of structures of the system, which comprises of all the components, the behavioral properties of those components, and the interaction among them. Architecture is an abstraction of a system or systems. It represents systems in terms of abstract components that have externally visible properties and relationships.
A. Software Architecture Evaluation:
Architecture evaluation determines whether the given Software Architecture and the system for which it was designed are same. Software Architecture is used to select among one or more candidate architectures. An Software Architecture is said to be suitable if it satisfies the following constraints:
1. The system conforming to the Software Architecture will fulfill its quality goals.
2. The system conforming to the Software Architecture can be realized with the available resources.
B. Architecture Evaluation Method:
a. Cost Base Analysis Method – CBAM
b. CBAM helps architects select Architectural Strategies (ASs) that are optimal for a given system during its evolution by calculating economical tradeoffs based on the benefits, costs, schedule, and inherent risks for each candidate ASs quantifies the benefits using utility values which represent design preference. The design preference is determined by votes or consensus among stake-holders.
C. Multi Criteria Decision Making (MCDM) in Architecture Evaluation [3]: a. Analytic Hierarchy Process (AHP)
AHP is a decision making approach designed to select the best alternative from a set of alternatives by evaluating them with respect to a set of given criteria.
The following are the main steps of AHP:
1. Structuring the problem into a hierarchy
2. Setting priorities through pair-wise comparisons
3. Synthesizing the judgments and checking logical consistency
b. Analytic Network Process (ANP)
ANP[4] is a general framework for dealing with decisions. It does not assume that higher-level elements are independent from lower level elements or that the elements within the same level of the hierarchy are independent from each other. In AHP, dominance, or the relative importance of influence, was the central concept. But, ANP uses a network where a network is a structure with no associated levels. All the elements in the hierarchy are considered as nodes of a network and the interdependency of the nodes are taken into account in ANP.
D. Research Objective:
To take the case study of a general website design and to apply the proposed FuzzyCBAM to perform software architecture evaluation.

II. RELATED WORK

A. Cost Benefit Analysis Method (CBAM):
The quality attributes of the software determine the architectural strategies in CBAM. Furthermore, the quality attributes inturn help the stakeholders of the software to derive some benefit. This advantage is called as utility. Each architectural strategy introduces a certain level of utility to the stakeholders. Each utility introduces additional cost and further, also consumes more time for the implementation. With this input, the CBAM can help the stakeholders in choosing the correct architectural strategies considering the amount of profit that can be derived.
CBAM is composed of two main phases -
* Architectural Strategies Development Phase
* Cost Benefit Analysis Phase
B. Analytic Hierarchy Process (AHP):
AHP[5] is a decision making approach designed to choose the best alternative from a set of alternatives by evaluating them with respect to a set of given criteria. AHP involves structuring the problem into a hierarchy. The highest level of the hierarchy is the overall objective and the intermediate levels consist of criteria and sub-criteria for evaluating it. The lowest level consists of alternatives that will contribute positively or negatively to the main goal through their impact on the intermediate criteria.
The decision maker judges the relative importance of all the elements in the same clusters. In this way, the decision maker carries out simple pair-wise comparisons, which are then used to determine the overall priorities of the alternatives. AHP helps the decision-makers to address the complexity of a problem by simple hierarchy. Furthermore, AHP attempts to study the multiple quantitative and qualitative factors in a systematic manner.
C. Analytic Network Process (ANP):
ANP provides a generic framework to deal with decisions without making much assumption regarding the independence. Furthermore, the ANP introduces a simple network which does not highlight the levels of hierarchy. Influence is a central concept in the ANP. Prediction can be done using ANP. Furthermore, ANP can be used to highlight the multiple competitors. ANP outperforms the AHP [6]. Furthermore, ANP addresses dependence within a set of elements(inner dependence) and among different sets of elements (outer dependence). In addition, ANP is a nonlinear structure. ANP prioritizes both the elements and also groups [7] [8].ANP exploits the idea of a control hierarchy or a control network to deal with different criteria, thus leading to the analysis of benefits, opportunities, costs and risks.
D. Fuzzy Logic:
The use of fuzzy set theory allows us to incorporate unquantifiable information, incomplete information, nonobtainable information, and partially ignorant facts into the decision model. When decision data are precisely known, they should not be faced into a fuzzy format in the decision analysis [9].
a. Fuzzy Logic, Fuzzy Set Theory and Fuzzy Numbers:
Fuzzy Set Theory (FST) is a mathematical theory introduced by Lofti. A Zadeh. FST is used to model uncertainty attributed with respect to the vagueness and imprecision in real systems including human cognitive processes. The underlying logic of linguistic approach is that the truth-values are fuzzy sets and the rules of inference are approximate rather than exact. Fuzzy logic allows us to make rational decisions in an environment of uncertainty, fuzziness and imprecision without losing the richness of verbal judgment. FST has been widely developed.
A fuzzy number is a special fuzzy set denoted as:
where x takes values on the real line, R: -∞ < x < +∞ and μF(x) is a continuous mapping from R to closed interval [0, 1] . In literature, there are several forms of fuzzy numbers and one of the most commonly used is the Triangular Fuzzy Number (TFN).
The most possible value, the lower bound, and the upper bound of the fuzzy group weight of the criterion are given by the geometric mean, the smallest value, and the largest value. And the largest value of the individual weights, respectively. As a measure of central tendency, the geometric mean is well suited to represent the most possible value of a triangular fuzzy number. In addition to its merits for synthesizing ratio judgments, the geometric mean is a meaningful way of dealing with situations where a consensus cannot be obtained and the group is not willing to compromise on a judgment.

III. PROPOSED WORK

The proposed work is to use Fuzzy logic in the CBAM evaluation to remove the vagueness or fuzziness that exists. The ranks of Architectural Strategy(AS) are determined using Fuzzy logic according to the following procedure. A case study for web site design was considered. The first module of the system is scenario based architectural strategies development. The different scenarios that may arise in the case study is extracted and refined. The scenarios are prioritised by conducting pair wise comparisons with respect to the overall goal. The calculated results are used to weight the scenarios. Then candidate architectural strategies are shortlisted for the scenarios. The procedure for FuzzyCBAM is illustrated in fig.1.

IV. IMPLEMENTATION

A case study of any WEBSITE system is taken. The important scenarios that are considered are:
? Conversion rate
? Easy Navigability
? Server Response Time
? Modifiability
? Security
A. Scenario Description:
a. Conversion Rate (S1):
When an end user visits a website he should be converted to be a member of that website
b. Easy Navigability (S2):
User should be able to navigate easily to all pages of the website
c. Hardware (S3):
When a user requests for a webpage the response time should be as fast as possible
d. Modifiability (S4):
The admin of a website should be able to easily modify the contents of the website
e. Security (S5):
User information should be secured enough such that it is resistive to any kind of security attacks
B. Architectural Strategies:
The architectural strategies (ASs) considered are
? Conversion Strategy for Websites (AS1)
? Website Navigation Strategy (AS2)
? Related Hardware and Scripting Languages (AS3)
? Visual Website Design (AS4)
The proposed FuzzyCBAM is compared with tradition CBAM, CBAM-AHP and CBAM-ANP and the results are depicted in Table 1.
In all the evaluation methods Architectural Strategy 3 (AS3) i.e., Related Hardware and Scripting languages happens to have the highest weight among all. But, a variation occurs with the ranking of other architectural strategies in all the evaluation methods. In the proposed work, AS4 happens to have a relative weight of 0 which indicates it is of no importance. Since fuzzy logic is used in the proposed work,it is free of any vagueness or fuzziness.

IV. CONCLUSION

The proposed FuzzyCBAM uses fuzzy logic to the CBAM. The fuzzy logic effectively addresses the uncertainty in the architecture evaluation. The fact is evident from the case study. FuzzyCBAM will be extended by considering multiple scenarios and multiple constraints.
 

Tables at a glance

Table icon
Table 1
 

Figures at a glance

Figure 1
Figure 1
 

References