Multi service software components selection based on ...

58 downloads 87 Views 361KB Size Report
Research India Publications ... School of Computing, SASTRA University, Thanjavur, India .... 2: Web Applications-Services And QoS Mapping ..... companies. 3.
Global Journal of Pure and Applied Mathematics. ISSN 0973-1768 Volume 11, Number 5 (2015), pp. 3777-3791 © Research India Publications http://www.ripublication.com

Multi service software components selection based on APRIORI and similarity measures K. R. Sekar, K. S. Ravichandran and R. Krishankumar School of Computing, SASTRA University, Thanjavur, India

Abstract In the business environment, different Application Programming Interfaces (APIs) demand services from software components. Each API requires plenty number of services from the software components to accomplish the required tasks. Selecting suitable components for the above said API's is highly inevitable. The Component will function across different API's providing compatible services. Quality of Service (QoS) is playing a dominant role in the selection of the component for the above said scenarios. Methodologies like Horizontal APRIORI, Vertical APRIORI and Similarity coefficient measures are applied to find well suited components for the user requirements.

1. Introduction Each business enterprise needs a variety of applications to gain competitive advantage in the market. Identifying the most suitable and reliable components for these variety of applications from the component market is difficult. The considered applications are either Web-based (WB), Expert system (EX), Embedded systems (EM), Network (NW) and Mobile (MB) applications. The identified QoS components for the above applications are listed as Performance (PE), Security (SE), Scalability (SC), Accuracy (AC), Reliability (RE), Portability (PO), Documentation (DO), Usability (US), Consistency (CU), Customization (CU), Maintenance (MA), Interface Complexity (IC), Flexibility (FL) and Interoperability (IO). The user requirements are gathered by prompting the user to give the number of applications demanded by his/her enterprise and the services required for each. The association rule of the APRIORI algorithms like Horizontal and Vertical algorithms provides the best combination of components likely to be suited for the end user requirements. The construction of bitmap tables, the process of fixed mapping between the services and QoS linked with it are part of the process. Finally, Similarity coefficientMeasures (SCM) are employed between QoS and Applications. The resultant table exhibited for the reference.

3778

K. R. Sekar, K. S. Ravichandran and R. Krishankumar

The components available with the third party vendor are chosen with priority togain maximum benefits for the organization. The key benefits of the above methodological approach lies in the strengths of an economical bulk purchases and reduced component requirements. The added advantage being license-compliant provided by the supplier reduced warehousing and disposal costs, increased operational efficiency and in-time delivery of products. The following deals with related works, which use the concept of Association Rule Mining (ARM) and Similarity Coefficient Measures for component selection. Many types of associated rules are available in the existing component market. Some of the review papers are exhibited here for the selection of appropriate software component using various methodologies and factors. The AFS association rules for classification can be used to handle multiple date types occurring simultaneously using AFS algebra and Fuzzy concepts [1]. Product identification is the important factor for component selection; the same is referred to in the current paper. The product portfolio identification and product benefit offerings can also be identified using the same method [2]. Implicit product identification is also another method for selection. The implicit feature of any product obtained and its corresponding feature in reviews used hybrid associativity principle [3]. The methodology can evenbe extended to QoS feature identification in a software component using reviews. Much of the time is spent towards cleansing the data in data mining concepts. Refining the knowledge extracted in any business scenario dynamically is very challenging but can be achieved through Associativity[4]. A knowledge refinement system was developed to refine data in data mining, which overwhelms the other approaches, which focused only on cleaning and extracting data. It performs self training [9]. Enhancements using the concept of ARM for data mining domains have been discussed. Additionally, the other concepts which were involved in the process of component selection and methodology for QARM for component selection for various applications are also discussed examples of the QARM and SCM methodologies, implementation strategies with screenshots are depicted in the conclusion.

2. Related Work Association rule mining (ARM) is applied to a vast area of research including the fields of clustering, reviews, products assignments etc., SCM is to find the relation between the QoS and the applications using the distance and one can identify the closeness and relation between the two above said items. In classification, various methodologies have been proposed to identify the classifier, which is very vital in the process of decision making. Bayesian networks and decision trees are the most commonly used methodologies. A process to COTS-based software development is devised based on various SDLC processes varying with projects. This strategy was experimented at NASA by considering 15 discrete projects [8]. A similar approach for component based development for multiple applications has also been stated previously without the principle of association [12].

Multi service software components selection based on APRIORI

3779

3. Proposed System For his enterprise, the user is asked to enter the specific applications demanded and the corresponding services required for each application (with QoS awareness) [15]. Associativity integrated with Natural Language Processing also finds its use in the search domain query expansion techniques because of lack of knowledge of person searching [5]. A method of specifying and selecting the optimized components by maintaining a TruthmaintenanceSystem using artificial intelligence is used to promote reuse and up-to-date changes has been proposed [6]. The methodology developed is to extract the actual intent of any query, based on semantic, context, word senses and other linguistic phenomena. This was achieved through association rules and ontology in the natural language processing arena [7]. A domain specific component based development for Web-based applications had been also proposed [10]. In this approach, a generic component selection for various applications simultaneously is defined. It is also made sure that the challenges of Component-based development and the open issues of COTS are taken to higher level respectively [11] [13]. For simplicity, we consider 3 applications and 5 services for each. A Bitmap table is constructed for this requirement. A fixed mapping is done between each service and a number of QoS [14]. QARM - QoS based Associative Rule Mining is then employed to find the most appropriate components for the user gathered data. The following tabular column specifies the mapping done for each application.  The fore mentioned 14 QoS are taken along columns and the services required for the application is taken along the rows. Each service can map into a number of QoS.  A ‘1’specifies that a QoS is mapped into a particular service and ‘x’represents no service.  A one to many (onto or into) function mapping is performed between services in the domain and the QoS in co-domain. Table 1: Network Applications-Services and QoS mapping QoS/SERVICE CM 1 PE x SE x SC x AC x RE x PO x DO 1 US x CO x CU x MA x IC x IO

TP RT BW MB 1 1 x x x x x 1 1 x 1 x x 1 x 1 x x x 1 x 1 x x x x x x x x x x x x x 1 x x x x x x 1 x x x x x x x x x

3780

K. R. Sekar, K. S. Ravichandran and R. Krishankumar

LEGEND 1: CM-Congestion Management, TP- Throughput, RT- Response Time, BW-Bandwidth, Mb-Mobility. QoS expansion are mentioned under introduction. Table. 2: Web Applications-Services And QoS Mapping QoS/SERVICE AV AC TD RG TC x x x x x PE x 1 x 1 x SE x x x 1 x SC x x 1 x x AC x x x 1 x RE x 1 x x x PO x x x x 1 DO x 1 x x x US x x 1 x x CO 1 x x x x CU x x 1 x x MA 1 x x x x IC x x x x x IO LEGEND 2: AV-Availability, AC-Accessibility, TD-Time To Debug, RG-Regulatory, TCTraceability. Table 3: Expert Applications-Services And QoS Mapping QoS/SERVICE RT TR CT EN EH 1 x x x x PE x x x 1 x SE 1 x x x x SC x x x x x AC 1 x x x x RE LEGEND 3: RT-Runtime, TR-Transaction, CT-Cost, EN-Encryption, EH-Exception Handling. Table 3: Expert Applications-Services And QoS Mapping (Cont.. ) QoS/SERVICE RT TR CT EN EH PO x x x 1 x DO x x x x x US x x x 1 x CO x x x 1 1 CU x x x x x MA x x x x x

Multi service software components selection based on APRIORI IC IO

x x

x 1

x x

x x

3781

x x

Table 4: Embedded Applications-Services And QoS Mapping QoS/SERVICE ETE AOR SMT EC PD x 1 1 x x PE x x x 1 x SE x x x x x SC x x x x x AC x x x 1 x RE x x x x x PO x x x 1 x DO 1 x x x x US x x x 1 x CO CU x 1 x x 1 MA x x x x 1 IC x x x x x IO x 1 x x x LEGEND 4: ETE-End to End Admission control, AOR-Allocation of Resources, EC-Error Coding, PD-Prediction Table 5: Mobile Applications- Services And QoS Mapping QoS/SERVICE MB SH GOS x 1 x PE 1 x x SE x x 1 SC 1 x x AC 1 1 x RE x x 1 PO x x x DO x x 1 US x x x CO x 1 x CU x x x MA x x x IC x x 1 IO

BSH AU x x x 1 x x x x 1 x 1 x x x 1 x x x x x x x x 1 1 x

LEGEND 5: Mb-Mobility, SH-Scheduling, GOS-Grade of Service, BSH-Base Station Handover, AU-Authentication

3782

K. R. Sekar, K. S. Ravichandran and R. Krishankumar

It is also to be noted that Documentation and Cost factors are always considered for all applications demanded. The APRIORI Algorithm, both horizontal and vertical, can be used to find the most frequently associated QoS among these applications in the user data. The pseudo code for the algorithm can be stated as follows: 3. 1 Algorithm L1= {frequent 1 length items}; for (k= 2; Lk-1 !=null; k++) do begin Ck= candidates generated from Lk-1 (Lk-1 x Lk-1) for (each transaction t in database) do increment the count of all candidates in Ck that are contained in t Lk = candidates in Ck with minsup returnLk; end. The minimum support (minsup) is a crucial factor to be considered in the algorithm. The factor can be defined by, Minsup = floor (no. of. transactions/g), Where g=2 (generally) The above formula is selected in a manner that the associativity between the QoS for various applications is maintained by a optimized minimum factor of 50%. The value of ‘g’ can be increased or decreased based upon the level of association desired. Once the associated QoS for various applications have been found in a prioritized manner, the components off-the shelf (COTS) should be selected in a way that it qualifies for the prioritized QoS values. 3. 2 Worked Example Consider the following table representsthe user-demanded applications and the services required for each.  The rows representing the services and the columns representing the applications.  A ‘1’denoting that the service is demanded the particular application and ‘x’represents no service. Table 6: Services and Applications SERVICES /APPLICATIONS CM TP RT BW MB AV AC TD

NWA 1 1 1 1 1 x x x

WBA x x x x x 1 1 1

EXA x x x x x x x x

EBA MBA x x x x x x x x x 1 x x x x x x

Multi service software components selection based on APRIORI

3783

x 1 x x x RG x 1 x x x TC x x 1 x x RT x x 1 x x TR x x 1 x x CT x x 1 x x EN x x 1 x x EH x x x 1 x ETE x x x 1 x AOR x x x 1 x SMT x x x 1 x EC x x x 1 1 SH x x x x 1 GOS x x x x 1 BSH x x x 1 x AU x x x x 1 PD Legend 6: NWS- Network Applications, WBA- Web Based Applications, Expert Applications, Embedded Applications and Mobile Applications

The above user preferred services for each Applications are mapped to its corresponding QoS based upon the mapping tables given above.  Thus a bit map table representing the applications in columns and QoS in rows is got.  A ‘1’symbolizes a QoS being preferred for an application ‘x’represents no service. To propose the execution for the frequently associated QoS we create 2 files MinsupMinimum support  Configuration File-specifying the no. of QoS per transaction, no. of transaction and Minsup in successive lines respectively.  Application File-specifying each application as a row and each QoS as a column with values1 or 0. If value of, Minsup=floor (5/2), taking g=2, Minsup=2 or 40% of the applications is taken The prioritized QoS are, Priority (high)=7 length QoS set={1, 2, 4, 5, 7, 8, 9 } (i. e) {PE, SE, AC, RE, DO, US, CO}, Priority (low)=6lengthQoS set={1, 3, 5, 7, 13, 15}, {1, 4, 7, 9, 10, 13}, etc If we take the value of, Minsup=60% of the applications, The prioritized QoS are, Priority (high)= 4 length QoS set={1, 4, 7, 9}, (i. e) {PE, AC, DO, CO}, Priority (low)=6 length QoS={1, 7, 10}, {1, 7, 13} etc..

3784

K. R. Sekar, K. S. Ravichandran and R. Krishankumar

Horizontal APRIORI algorithm is exhibited has follows. The processing is clearly mentioned for finding QoS frequent item set. The execution process can be explained as, QoS PE AC RE DO US CO CU

SUPPORT 5 3 3 5 3 3 3

1-length QoS set QoS SUPPORT PE, AC PE, RE PE, DO PE, US PE, CO PE, CU AC, DO AC, CO RE, DO DO, US DO, CO DO, CU

3 3 5 3 3 3 3 3 3 3 3 3

2-length QoS set QoS Pe, Se, Do Pe, Se, Co Pe, Re, Us Se, Do, Us Pe, In, Ro Pe, Do, Cu Pe, Do, Ro Ac, Do, Co

Support 3 3 3 3 3 3 3 3

Multi service software components selection based on APRIORI

3785

3-length QoS set QoS Support Pe, Ac, Do, Co 3 4-length QoS set

From the above facts it is clearly noted that Horizontal APRIORI that provides Performance, Accuracy, Documentation and Consistency is the most inevitable QoS frequent item set for the selection of reusable component for the applications. One can introduce many more priority states not just ‘high’ and ‘low’- which are the current 2 state prioritization. The n-state prioritization is defined by the no. of. transactions and the minsup value and the component off the box. n-state prioritization, n= no. of. transactions*u; where, 0

Suggest Documents