Software Engineering

p-ISSN: 2162-934X    e-ISSN: 2162-8408

2012;  2(3): 57-64

doi:10.5923/j.se.20120203.03

A Process Flow Based Design Model Using Aspect Based Reusability

G. Shanmugasundaram1, V. Prasanna Venkatesan1, C. Punitha Devi2

1Department of Banking Technology, Pondicherry University, Puducherry, 605014, India

2Department of Computer Science & Engineering, Pondicherry University, Pondicherry, 605014, India

Correspondence to: G. Shanmugasundaram, Department of Banking Technology, Pondicherry University, Puducherry, 605014, India.

Email:

Copyright © 2012 Scientific & Academic Publishing. All Rights Reserved.

Abstract

Reusability is an effective quality measure, which defines the degree of usage/applicability of design or code on development of various applications. The Aspect oriented paradigm is one kind of mechanism to achieve reusability because it provides the systematic ways in identifying and separating the crosscutting concerns. In general any system can be defined as set of processes. These processes have many crosscutting concerns (aspects) that need to be separated to identify the reusable entities. The objective of this work is to identify the reusable entities with the help of a process flow based design model that mines the crosscutting concerns and separates them from the original processes. These reusable entities reduce the development effort. Also, we assess the reusability based on the metrics defined by us and they are reported. Banking Loan System has been chosen as a case study to demonstrate the working of the proposed process flow based design model. The quantified results of this model show the achievement of reusability and reduction of effort on development.

Keywords: Reusability, Aspect Oriented Reuse, Reusability Model, Aspect Based Model, Process Level Reuse, Reusability Assessment

Cite this paper: G. Shanmugasundaram, V. Prasanna Venkatesan, C. Punitha Devi, A Process Flow Based Design Model Using Aspect Based Reusability, Software Engineering, Vol. 2 No. 3, 2012, pp. 57-64. doi: 10.5923/j.se.20120203.03.

1. Introduction

Software Reuse is an important area of softwareengineering research that promises significant improvements in software productivity and quality[1]. Reusability is the extent to which a component can be reused and reduces the cost in developing software by facilitating less coding and more integration. Reusability can be achieved through various paradigms. Aspect based reusability is one of such a kind. Any software system is composed of muchfunctionality, which is represented through various processes. These processes have one or more crosscutting concerns. Mining and separating those concerns is a complex task. The programming paradigm like Object Oriented, component oriented programming paradigm, aspect oriented is a promising paradigm to promote improved separation of concerns, leading to the production of software systems that are easier to maintain and reuse[5][7][3]. So the metrics used to compute reusability of different systems like object oriented, component based and service oriented having relation to one another (i.e. object oriented reusability metrics used to measure reusability of component based and service oriented systems)[10].
This paper presents a process flow based design model to increase the level of reusability and reducing effort involved in software development. Further flow of this paper is organized as follows: section 2 discusses the related works and section 3 presents the process flow based design model. Section 4 demonstrates the working of process flow based design model by using case study. The section 5 presents the discussion. The conclusion of this work is given in section 6.

2. Related Works

Aspect-oriented techniques rebound to improving the design level of software, the reusability of components and the implementation of separation of concerns[6][8]. Aspects will help to better understand the software system and strengthen the qualities like adaptability; maintainability and reusability of the software. Few authors have proposed quality model and few others have proposed metrics suite for measuring the reusability which are briefed below.
• Thiago Gottardi[2] proposed the two new model diagrams: a diagram for reuse requirement documentation and a diagram supporting graphical cross cutting framework reuse.
• Cláudio Nogueira Sant’Anna et al.,[3] proposedassessment framework for AOSD, which is composed of two Components: a metrics suite and a quality model. These components are based on well known principles and existing metrics in order to avoid the reinvention of well-tested solutions. The metrics suite captures information about the design and code in terms of fundamental software attributes such as separation of concerns, coupling, cohesion and size.
• Uwe Hohenstein and Daniel Wiese[4] used Aspect J based approach for presenting more reuse on infrastructure components.
• Jacques Klein and Jörg Kienzle[9] proposed an approach for specifying reusable aspect models that define structure (using class diagrams) and behavior (using sequence diagrams). They demonstrated the high degree of reusability of their aspect models by modeling 8 inter-dependent aspects of the Aspect Optima case study.
From these literature reviews, we can find that few works have focused on aspect based quality model to improve reusability of the systems and others contributed their work towards metrics for measuring the reusability by using cross cutting concerns. This indicates that there is no comprehensive mechanism or approach to achieve the reusability of the system based on aspect oriented approach. This factor motivated us to propose this Process flow based Design model.

3. Process Flow based Design Model Proposed Work

The proposed model uses crosscutting concerns to prove the significance of reusability in reducing development efforts involved in creating new software systems using a design walkthrough This model has been carried out through four phases as shown in figure 1 and starts with phase I which defines the process flow of the system. The Phase II separates the crosscutting concerns from the major set of processes. Third Phase measures the intra application reusability. Finally phase IV reports the efforts taken and states the reduced development efforts brought out by this model.

3.1. Process Involved in Various Phases

3.1.1. Defining Process Flow
The initial phase starts by representing the processes flow of a system which clearly lists the steps or process to carry out the services. To define the process flow of the system tabular representation has been used. The processes of the system are further divided into one or more sub-processes which in turn consist of one or more tasks. The output of this phase shows complete process flow of the system in both macro (sub-process) and micro (task) levels.
3.1.2. Aspect Miner
Figure 1. Process Flow based Design Model
The Crosscutting concerns from the process flow of the system are mined and extracted by design walkthrough and illustrated via tabular representation. To differentiate the crosscutting concerns from other tasks the processes are represented using gray shade. The aspects are identified in each sub-process of different processes of the system and are mapped precisely. Separation of the concerns from the original processes of the system is done in phase II.
3.1.3. Reusability Measurement
Measuring the Reusability of the system has been done with four measures. These four measures are task, sub-process, process, and system level reusability. In this phase the metrics are defined for the above said measures and they are used for calculating the reusability level respectively.
To measure the reusability of the system, the following four metrics are proposed. All metrics units are represented in terms of percentage.
• Task WISE REUSE (TWR)
Where,
Ti = Number of tasks cross cutting on different Processes
TP = Total Number of Processes
• Sub-process WISE REUSE (SPWR)
Where,
= Number of aspects used in particular sub-process of different processes
= Total Number of Tasks involved in particular sub-process of different processes
• Process WISE REUSE (PWR)
Where,
= Total Number of aspects identified in particular processes of entire system
= Total Number of tasks involved in particular Processes of entire system
• Overall System REUSE (OSR)
Where,
OSR is the summation of process wise reuse
Reporting/Finding
Final phase of the model reports the outcome of the proposed process model by showing the reusability gained at different levels i.e. task, sub-process, process and the entire system. It gives a clear view about total efforts saved by adopting aspect oriented approach for developing software system.

4. Case Study

For evaluating our proposed model we have used banking loan system based on State Bank of India[11]. The Loan System has different category like vehicle, car, and housing and education loan. Each loan has number of steps to cross for completing the process. Each loan has various sub process, which comprises of several task[12].
We start the evaluation by defining the process flow of different categories of loan in tabular representation as shown figure 2 and we used gray shade to represent aspects identified in all sub process of various loan processes and computed into values as shown in the figure 2.

4.1. Reusability Measurement in Different Levels of Loan Processes

4.1.1. Task Wise Reuse (TWR)
The metric TWR is used to compute reuse of the cross cutting tasks in different loan processes. Here the
Number of loan processes chosen is four. The following table I reveal the computed results of the chosen four loan processes.
The table 1 gives aspects which are identified by aspect miner for the various loan processes. We have identified 33 cross cutting tasks as aspects in the different loan processes and most of them are falls in all loan processes.
4.1.2. Sub-Process Wise Reuse (SPWR)
By applying the SPWR metric ,the sub process wise reuse of various loan processes can be computed and result are shown in table 2. In table 2, loan processes of different category are split into seven sub process which is common to various loan processes. In each sub-process, the cross cutting tasks are identified and which are summed into values. For computing the SPWR the summed values are used as numerator and total numbers of tasks involved in sub process of various loan processes are used as denominator. The SPWR is computed for seven sub processes of different category of loans.
4.1.3. Process Wise Reuse (PWR)
The process wise reuse (PWR) metric is computed as the ratio of Number of tasks involved in the particular loan Processes to Number of tasks to be identified as cross cutting tasks in particular loan Processes. The table 3 gives information about the types of loan and number of tasks involved in the different categories of banking loan system. After the identification of aspects or core assets in each category the process wise reuse of different category of loan are computed. The result of this metric show how much of effort involved in the bank loan system is greatly reduced. For example in home loan, effort saved by using the cross cutting tasks are 73.33%, the remaining 26.66% effort are need to be developed.
Figure 2. Process flow of various Loan Products and its Cross cutting concerns
Table 1. Task Wise Reuse: Loan Process
AspectsNumber of Loan Processes usedNo of times the aspect identified in various Loan processesTask wise Reuse (TWR) (%)
a14375
A24250
A34250
A444100
A54250
A64375
A744100
A84375
B144100
B244100
B34250
B44375
B544100
B64250
B74375
D14375
D244100
D344100
D444100
D544100
D644100
D744100
D844100
D944100
D1044100
e14250
e24250
E344100
E44375
E544100
F144100
F244100
G14375
G244100
Table 2. Sub-Process Wise Reuse: Loan Process
Loan Process
Sub ProcessNo. of Times identified Aspects Reused in all sub process of various loan processesTotal no. of steps in involved in all sub process of various loan processesSub-process wise Reuse(SWR) in percentage
1234946.93
2223464.70
3011-
4394488.63
5152462.50
681457.14
77887.50
Table 3. Shows Processes Wise Reuse Results of Various Banking Loan Processes
Different Types of LoanNumber of tasks involved in the loan ProcessNumber of tasks to be identified as core assetsNumber of tasks to be developed after identifying core assetstotal effort need to be doneeffort saved by using core assetsEffort to be carried out
Home45331210073.3326.66
Car51272410052.9447.05
Education4026141006535
Business4824241005050
Total1841107410059.7840.21

4.2. Overall System Reuse (OSR)

The overall system reuse (OSR) of various loan processes is computed as the ratio of summation of Number of tasks involved in the each loan Process to summation Number of tasks to be identified as cross cutting tasks in each loan processes.
Overall System Reuse (LOAN PROCESS) = 110/184
=> 59.77 %
The output of OSR metric depicts that 59.77% efforts are saved by using the cross cutting tasks as core assets.

5. Discussions

The table 3 shows results of the reusability in different levels of banking loan system. The below graphs from fig 3 to fig 8 are generated using the values of table 3.

5.1. Before Identifying the Aspects

The initial graph fig 3 illustrates the micro level steps or tasks involved in various loans processes before identifying the crosscutting concerns which illustrates the car loan having maximum number of tasks upto 51 and education loan having minimum number of tasks upto 40. The X and Y axis represents the types of loan and number of tasks involved in loan processes.

5.2. After Aspects Identified

The below graph from figure 4 to figure 7 gives a variations about the efforts involved in each loan processes after the cross cutting tasks (aspects) are identified. The x and y axis values of the graph denotes the number of tasks involved and efforts of loan processes (e.g. Home Loan (HL)).
From the above comparison which clearly states that 73 % of efforts involved are reduced in Home Loan (HL) processes.
The above graph illustrates that Figure 5 shows that 53 % of efforts involved are reduced in Car Loan (CL) processes after identifying the core assets.
The above comparison in Figure 6 shows that 65 % of efforts involved are reduced in education Loan (EL) processes by using the aspects.
The variation of the Figure 7 shows that 50 % of efforts are reduced in education Loan (BL) processes by using the aspects.
The above comparative graph Figure 8 illustrates that around 60% efforts are saved for various bank loan processes with help of the crosscutting concerns (aspects).
Figure 3. Number of tasks involved in various Loan Processes
Figure 4. Variation in efforts of Home Loan Processes
Figure 5. Variation in efforts of Car Loan Processes
Figure 6. Variations in efforts of Education Loan
Figure 7. Variation in efforts of Business Loan
Figure 8. Effort saved by aspects for the various bank loan processes

6. Conclusions

Reusability is one of the prominent factors to improve the quality of any software systems. To achieve this goal, we propose a process flow based design model that uses aspect oriented approach. The proposed model starts by defining the tasks flow of processes, after that the cross cutting tasks are identified and separated it from the original process flow. The output of phase II of this model, used to compute the reusability at different levels of processes of entire system by using the proposed metrics and reported with results which shown that how the reusability of the system has achieved. This model is validated by banking loan system to verify its functionality on various phases. The results of applying this proposed model on loan system shows that amount of effort involved in the overall loan system is greatly reduced. Future work of our proposed model will contribute on validating the various banking systems like deposits, card and so on.

References

[1]  Sarbjeet Singh, Manjit Thapa, Sukhvinder singh and Gurpreet Singh, Software Engineering - Survey of Reusability Based on Software Component,International Journal of Computer Applications (0975 – 8887) Volume 8– No.12, October 2010
[2]  Thiago Gottardi et al.,A Model-Based Process to Support the Reuse of Aspect-Oriented Frameworks,Latin-American Workshop on Aspect-Oriented Software Development (LA-WASP) (Advanced Modularization Techniques) September 2011
[3]  Cláudio Nogueira Sant’Anna , Alessandro Fabricio Garcia, and Christina von Flach Garcia Chavez, On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework,PUC-RioInf.MCC26/03 Agosto, 2003
[4]  Uwe Hohenstein and Daniel Wiese, An AspectJ Approach for Reusable Infrastructure Components, Fifth International Conference on Software Engineering Advances, IEEE 2010
[5]  Saqib Iqbal and Gary Allen, "Aspect-Oriented Modeling: Issues and Misconceptions",Fifth International Conference on Software Engineering Advances, IEEE 2010
[6]  Hong-li Cai, et al.,Aspect-oriented Requirement and Reuse Aspect, International Conference on Computational Intelligence and Natural Computing, IEEE 2009
[7]  Arti Chhikara and R.S.Chhillar, Impact of Aspect Orientation on Object Oriented Software Metrics, Indian Journal of Computer Science and Engineering (IJCSE), ISSN: 0976-5166 Vol. 2 No. 3 Jun-Jul 2011
[8]  Max e. kramer, Mapping reusable Aspect Models to Aspect-Oriented code, Study Thesis, September 2010
[9]  Jacques Klein1 and Jörg Kienzle2, Reusable Aspect Models, 11th Int’l Workshop on Aspect-Oriented Modeling, September 2007
[10]  G. Shanmugasundaram, V. Prasanna Venkatesan and C. Punitha Devi,"Reusability metrics - An Evolution based Study on Object Oriented System, Component based System and Service Oriented System", Journal of Computing, ISSN 2151-9617, Volume 3, Issue 9, September 2011.
[11]  http://www.sbi.co.in/
[12]  Http://Www.Sbi.Co.In/Webfiles/Uploads/Files/1317730194453_HOME_LOANS_APPLICATION_FORM.Pdf