[IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles,...

7
MACBSS: Modeling and Analysis of Component Based Software System Nitin Upadhyay, IEEE Member, Computer Science and Information Systems Group BITS- Pilani Goa Campus, Goa-403726 Bharat M. Deshpande, Computer Science and Information Systems Group BITS- Pilani Goa Campus, Goa-403726 Vishnu P. Agarwal Mechanical Engineering Group BITS- Pilani Goa Campus, Goa-403726 Abstract The proliferation of software technology and availability of COTS for just-in-time software development has given a new dimension to software development known as component based software system (CBSS). For quality software it is highly important to analyze risks and quality at software architecture level. In the paper, a unitary system methodology for structural (architecture) modeling and analysis of CBSS is discussed that describes the characteristics of quality such as performance, reliability, functionality, dependability etc. The software can be build faster by integrating selected COTS as per requirement. This paper presents a framework based on graph theory and systems engineering approach to model and analyze component based software system at the architectural level. 1 Introduction In the current scenario, a rapid demand for customizable, cost effective, just-in-time and reusable large-scale and complex software systems has invoked a new challenge to the software community. To overcome the underpinning challenge, the new trend is to develop component-based software systems. Customer is demanding high quality and best features at low cost in every software product. Complexity has increased while product life has reduced considerably. For rapid software development, software designers are encouraged to integrate commercial-off-the-shelf (COTS) components in their software systems. Component-based software engineering as a novel thrust area, in particular, [1-2] has shown remarkable success in developing cost-effective and reliable applications to meet short time-to- market requirements. Performance, reliability, dependability and other characteristics of software architectures are mostly analyzed and measured only at the time of implementing artifacts. It has been identified by industry and academia that analysis of architecture for risk and quality factors is of paramount importance to a project’s success [3-6]. Systems engineering focuses on inter/intra communication, interactions and dependencies of systems/sub-systems and has been evolved as a novel approach to model software architectures [7]. It has been shown by researchers that the overall performance of a system depends upon the interaction/interdependence of its systems and subsystems [8-10]. One of the critical factors in pertaining overall software quality is the quality of a system's software architecture. The analysis of risks inherent at software architecture level has shown a cut down in overall development cost [11]. The architecture of a software system describes the components of the system, their responsibilities, and their interaction. Therefore, a good architecture is important in order to achieve a high-quality software system, both in terms of development and long-term maintainability. The present paper discusses a framework based on graph theory and systems engineering approach to model and analyze component based software systems at the architectural level. Section 2 describes the systems engineering approach for the identification of systems and sub-systems. Section 3 discusses graph theoretic systems approach to model and analyze CBSS as a whole. It also focuses on evaluating each system/sub-system with the help of variable permanent matrix and permanent function. A general methodology is also evolved and 2009 World Congress on Computer Science and Information Engineering 978-0-7695-3507-4/08 $25.00 © 2008 IEEE DOI 10.1109/CSIE.2009.964 595 2009 World Congress on Computer Science and Information Engineering 978-0-7695-3507-4/08 $25.00 © 2008 IEEE DOI 10.1109/CSIE.2009.964 595

Transcript of [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles,...

Page 1: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

MACBSS: Modeling and Analysis of Component Based Software System

Nitin Upadhyay, IEEE Member,

Computer Science and Information Systems

Group BITS- Pilani Goa

Campus, Goa-403726

Bharat M. Deshpande, Computer Science and Information Systems

Group BITS- Pilani Goa

Campus, Goa-403726

Vishnu P. Agarwal

Mechanical Engineering Group

BITS- Pilani Goa Campus, Goa-403726

Abstract

The proliferation of software technology and availability of COTS for just-in-time software development has given a new dimension to software development known as component based software system (CBSS). For quality software it is highly important to analyze risks and quality at software architecture level. In the paper, a unitary system methodology for structural (architecture) modeling and analysis of CBSS is discussed that describes the characteristics of quality such as performance, reliability, functionality, dependability etc. The software can be build faster by integrating selected COTS as per requirement. This paper presents a framework based on graph theory and systems engineering approach to model and analyze component based software system at the architectural level. 1 Introduction In the current scenario, a rapid demand for customizable, cost effective, just-in-time and reusable large-scale and complex software systems has invoked a new challenge to the software community. To overcome the underpinning challenge, the new trend is to develop component-based software systems. Customer is demanding high quality and best features at low cost in every software product. Complexity has increased while product life has reduced considerably. For rapid software development, software designers are encouraged to integrate commercial-off-the-shelf (COTS) components in their software systems. Component-based software engineering as a novel thrust area, in particular, [1-2] has shown

remarkable success in developing cost-effective and reliable applications to meet short time-to-market requirements. Performance, reliability, dependability and other characteristics of software architectures are mostly analyzed and measured only at the time of implementing artifacts. It has been identified by industry and academia that analysis of architecture for risk and quality factors is of paramount importance to a project’s success [3-6]. Systems engineering focuses on inter/intra communication, interactions and dependencies of systems/sub-systems and has been evolved as a novel approach to model software architectures [7]. It has been shown by researchers that the overall performance of a system depends upon the interaction/interdependence of its systems and subsystems [8-10]. One of the critical factors in pertaining overall software quality is the quality of a system's software architecture. The analysis of risks inherent at software architecture level has shown a cut down in overall development cost [11]. The architecture of a software system describes the components of the system, their responsibilities, and their interaction. Therefore, a good architecture is important in order to achieve a high-quality software system, both in terms of development and long-term maintainability. The present paper discusses a framework based on graph theory and systems engineering approach to model and analyze component based software systems at the architectural level. Section 2 describes the systems engineering approach for the identification of systems and sub-systems. Section 3 discusses graph theoretic systems approach to model and analyze CBSS as a whole. It also focuses on evaluating each system/sub-system with the help of variable permanent matrix and permanent function. A general methodology is also evolved and

2009 World Congress on Computer Science and Information Engineering

978-0-7695-3507-4/08 $25.00 © 2008 IEEE

DOI 10.1109/CSIE.2009.964

595

2009 World Congress on Computer Science and Information Engineering

978-0-7695-3507-4/08 $25.00 © 2008 IEEE

DOI 10.1109/CSIE.2009.964

595

Page 2: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

described in section 4. Lastly overall conclusion is mentioned in section 5. 2. Systems Identification and Hierarchical Model In order to design good software architecture the very first part of the proposed methodology deals with the identification of systems, sub-systems up to the component level and inter/intra dependencies with in and across the systems and sub-systems. The approach treats system to be composed of various sub-systems and each sub-system is also treated as a system. In a top-down approach large system is decomposed into various sub-systems in a hierarchical model to form a tree until component level. The quality of software system not only depends upon system and sub-systems composed of components but also on how they interact which each other i.e. inter and intra communication and dependencies. The hierarchical model tree allows all the parts to be designed from components level to system level in the hierarchical order by bottom-up approach. The hierarchical model tree has n+1 levels. Each i+1 level is a further decomposition of ith level i.e. it can be (sub-) sub-system or component(s). Each requirement generates different hierarchical model tree. Identification of hierarchical model tree helps in understanding systems engineering process and acts as an asset in improving quality of a system. Level – 0: Complete (system) Level – 1: Sub systems (s-systems) Level – 2: Sub sub systems (ss-systems) | | | Level – n: Component level (Component) The hierarchical trees of system structure may differ depending upon the choices of the distinct systems up to the component level. Identification of tree structure helps in full understanding of CBSS system engineering process and acts as an asset in improving the overall quality of the system i.e. efficiency, maintainability and reliability etc,. 3. Graph Theoretic Modeling of CBSS The systems approach unfolds the software architecture that can be mapped with linear

(systems) graph SG = [C, I]. Let for software architecture on the lines of systems approach each of the systems of CBSS be represented by Ci (i=1,…,n) and interconnections between them (Ci, Cj) as edge set I by edges Iij (i,j = 1,…,n) connecting the two vertices Ii and Ij. The graph theoretic representation [C, I] of vertex and edge sets of the of CBSS is called the CBSS system structure graph (SSG). Various types of edges and weights can differentiate the type of connections and interconnections. The undirected edges show the connectivity between (sub) systems or components and the directed edges represent the flow of information or interaction. To show the operational flow of the methodology, authors assume hypothetical software architecture. In that one of the systems is composed of five components The CBSS-SSG based on UML component diagram, Figure 1, is shown in Figure 2. The five nodes (UML components) represent respective systems of CBSS and edges corresponding to the connections/interactions between the subsystems.

Figure 1 UML Component Diagram

Figure 2 CBSS SSG

C1

C2

C3 C5

C4

c1

c2

c3

c4

c5

596596

Page 3: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

Graph theoretic model of software is used to represent direct, undirected or hybrid interactions/inter-intra dependecies between subsystems. The connectivity may be directed or undirected depending upon the structural, functional or performance considerations. The CBSS- SSG is capable of updating, modifying and deleting systems or sub-systems based on different design aspects as per real life situation. The proposed SSG representation is suitable for understanding and visual analysis, but not appropriate for computer processing. If the number of systems is more, then the overall system becomes more complex for understanding and visual analysis. Moreover, changing of labels of vertices/systems results into new SSG. In view of this, authors present computer efficient representation. Many matrix representations are available in the literature [12-13], for example, adjacency and incidence matrices. The adjacency matrix is a square matrix and is used for this purpose. 3.1. Variable Permanent System Structure Matrix (VPSSM- CBSS) In order to describe proper characterization of CBSS systems as derived from combinatorial considerations, a permanent matrix MP, is proposed. A variable permanent system structure matrix MP is defined by taking into consideration distinct characteristics of subsystems and their interconnections defined by SSG. Let the off-diagonal elements matrix F consists of Iij to represent interaction/connectivity (system ‘i’ is connected to system ‘j’) and also Iij = Iji. Let us also define diagonal matrix D with its variable diagonal elements Ci (i = 1, 2…., 5) representing the characteristic structure features of five distinct systems. The matrix function/permanent Per(MP) of VPSSM- CBSS is capable of describing whole CBSS system i.e. system graph in a single multinomial equation [14]. Let the complete permanent matrix of five-subsystem of CBSS with all possible interactions present be defined as 1 2 3 4 5 Subsystems

MP =1 1 2 1 3 1 4 1 5

1 2 2 2 3 2 4 2 5

1 3 2 3 3 3 4 3 5

1 4 2 4 3 4 4 4 5

1 5 2 5 3 5 4 5 5

12345

C I I I II C I I II I C I II I I C II I I I C

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(1)

A variable permanent system structure matrix (VPSSM- CBSS) ‘Vp’ of SSG with Iij = Iji in Figure 1 is written as: MPS = {D + F} 1 2 3 4 5 Subsystems

MPS =1 1 2 1 3

1 2 2 2 3 2 4 2 5

1 3 2 3 3 3 4 3 5

2 4 3 4 4 4 5

2 5 3 5 4 5 5

0 0 123

0 40 5

C I II C I I II I C I I

I I C II I I C

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(2) It is a complete representation of CBSS, as it does not contain any negative sign. This means that it preserves all the structural information about dyads, loops of systems, or system attributes such as reliability, availability etc even in numerical form. Per(MPS) =

2 21 2 3 4 5 12 3 4 5 13 2 4 5

2 2 223 1 4 5 24 1 3 5 25 1 3 4

2 2 234 1 2 5 35 1 2 4 45 1 2 3

12 23 31 4 5 23 34 42 1 5

23 35 52 1 4 24 45 52 1 3 34 45 53 1 2

23 34 45 52 1 23

[

][2 22 2 2 ]{[2 2

C C C C C I C C C I C C C

I C C C I C C C I C C C

I C C C I C C C I C C CI I I C C I I I C C

I I I C C I I I C C I I I C CI I I I C I

+ +

+ + +

+ + ++ ++ + ++ + 35 54 42 1

24 43 35 52 1 12 24 43 31 5

2 2 2 212 25 53 31 4 13 45 2 24 35 1

2 2 2 2 2 2 2 225 13 4 24 13 5 23 45 1 25 34 1

2 2 2 2 2 212 45 3 12 34 5 12 35 4

2 2 212 34 45 53 45 12 23 31 13

2 2

2 ] [

]}

{[2 2 2

I I I CI I I I C I I I I C

I I I I C I I C I I C

I I C I I C I I C I I C

I I C I I C I I C

I I I I I I I I I

+ +

+ + +

+ + + +

+ + +

+ + + 24 45 52

12 24 45 53 31 12 25 54 43 31

][2 2 ]}

I I II I I I I I I I I I+ +

(3) The above equation (multinomial) uniquely represents the CBSS of Figure 1 irrespective of labeling of (sub) systems/components. Every term of these equations represents a subset of the CBSS system. It is possible to write these equations simply by visual inspection of the CBSS system as every term corresponds to a physical subsystem of the complete system. To achieve this objective, the permanent function of Equation (3) is written in a standard form as (N + 1) groups. The multinomial, i.e., the permanent function when written in (N + 1) groups, presents an exhaustive way of analysis of CBSS at different levels. It helps in identifying different critical components and links to

597597

Page 4: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

improve reliability, performance, availability security and other characteristics of system.

On critical analysis of permanent function (3) it is inferred that this multinomial contains only distinct subsystems – Ci , dyads -

2ijI and loops – Iij Ijk …… Ini. A complete

permanent function has been written in a systematic manner for unambiguous and unique interpretation. In short it can be represented as:

Per (MP) = g (Ci, ,

2ijI , Iij Ijk Iki etc) {

if Iij = Iji} = g (Vertices, dyads, loops) = g (structural components) Per (MP) = g’ (Ci, , IijIji , Iij Ijk Ikl Ili , Iij

Ijk Ikl Ilm Imi ) { if Iij ≠ Iji} = g’ (Vertices, 2-vertex loops,

loops) = g’ (structural components)

The terms of the permanent function Per (MP) are arranged in (n+ 1) groups in the decreasing order of number of vertices/sub-systems Ci present in each term. The first group contains terms with (n – 1) Ci’s. Second group contain terms with (n – 2) Ci’s and remaining as dyad

2ijI or IijIji and so on. The last group does not

contain any Ci in its terms. It contains only terms such as 2

ijI , Iij Ijk Iki , etc. Group 1: The first term (grouping) represents a set of N unconnected CBSS subsystems, i.e., C1, C2, …, Cn. Group 2: Group is absent as a particular subsystem has no interaction with itself (absence of self-loops) Group 3: Each term of the third grouping represents a set of two-element system loops (i.e.,Cij Cji )and is the resultant system dependence of characteristics i and j and the system measure of the remaining (N-2) unconnected elements/subsystems. This group has eight terms, each term is a set of one dyad,

2ijI or a two-subsystem loop i.e. IijIji and three

independent subsystems (dyad is a system of two subsystems i and j , considered as one entity). Group 4: Each term of the fourth grouping represents a set of three-element subsystem interaction loops (Iij Ijk Iki or its pair Ikj Iji ) and the composite system measure of the remaining

(N-3) unconnected elements. Group has (2*5) 10 terms in all. Each term has a set of one 3-subsystem loop (Iij Ijk Iki ) and independent subsystems. The three-subsystem loop is a system, to be considered as one entity. Group 5: The fifth grouping contains two subgroups. The terms of the first subgrouping consist of two-element subsystem interaction loops (i.e., Iij Iji and ekl Ilk) and constituent Im .The terms in the second grouping are a product of four-element subsystem interaction loops (i.e., Iij Ijk Ikl Ili ) or its pair (i.e., Iil Ilk Ikj Iji)and constituent Cm . This group has two subgroups: Group 5(i) has ten terms; each term is a subset of two independent dyads ( 2

ijI , 2klI ) or two-

subsystem loops and one independent subsystem. Group 5(ii) has nine terms; each term is a set of 4-subsystem loop (Iij Ijk Ikl Ili) and one independent subsystem. Group 6: The terms of the sixth grouping are also arranged in two sub-groupings. The terms of the first sub-grouping are a product of a two-element subsystem interaction loop (i.e., Iij Iji ) and a three-element subsystem interaction loop (i.e., Ikl Ilm Imk )or its pair (i.e., Ikm Iml Ilk ).The second sub-grouping consists of a five-component subsystem interaction loop (i.e., Iij Ijk Ikl Ilm Imi )or its pair (Iim Iml Ilk Ikj Iji ). This group has again two subgroups: Group 6(i) has one 3-subsystem loop and a dyad or two-subsystem loop while Group 6(ii) has three 5-subsystem loops. By providing/associating proper physical meaning to the VPF-CBSS structural components, appropriate interpretation is obtained:

• 2ijI is interpreted as a two-system

structural dyad, for example, 235I

represents the dyad of interaction between systems.

• Iij Ijk Iki is a three system structural loop, for example, I12 I23 I31 represents the three system structural loop between systems.

• Iij Ijk Ikl Ili is a four system structural loop, for example, I23 I34 I45 I52 represents four system structural loop, between systems.

598598

Page 5: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

In all, a general 5-subsystem permanent function will have 5! i.e., 120 terms (subsets) arranged in (N + 1) groups. It is therefore possible for the system analyst and designer to carry out SWOT (strength-weakness-opportunities-threats) analysis of their complete CBSS system and take strategic decisions to their advantage as per policy. 3.2. Evaluation of MPS The diagonal elements of the matrix in equation (2) correspond to the five subsystems that constitute a CBSS system. The values of these diagonal elements C1, C2… C5 are calculated as: C1= Per(MPS C1) C2= Per(MPS C2) C3= Per(MPS C3) C4= Per(MPS C4) C5= Per(MPS C5) (3a) Where MPS C1, MPS C2, MPS C3, MPS C4, MPS C5 are the variable permanent matrices for five subsystems of the CBSS system. The procedure for calculating C1, C2… C5 is the same as for calculating Per(MPS )of equation (3).For this purpose, the subsystems of CBSS system are considered, and the procedure given below is followed: 1. The schematics of these subsystems are drawn separately by considering their various sub-sub-systems. 2. Identify the degree of interactions, interconnections, dependencies, connectivity, etc. between different sub-subsytems. To get the exact degree of interactions, interconnections, dependencies, connectivity, etc. between subsystems or sub-subsystems we may have to consider the views of technical team experts. A team of experts should be selected from system analyst, design, software engineering, computer science, information systems etc. to consider all the issues involved from the point of view of engineering, science, technology, and business strategy. The final decision on the values of Ci and Cij may be taken on the recommendations of the team.

3.3 Compact Representation of Permanent Function The variable permanent function (VPSSM- CBSS) being the characteristic of CBSS is a powerful tool for its evaluation and analysis. The VPSSM- CBSS system expression, which corresponds to the five-factor digraph and matrix, equation (1), is written in a compact

sigma (∑ ) form.

VPSSM- CBSS = Per(MPS)

( )

( )

( )( )( )

( )( )

5

1i ij ji k l m

i j k l m

ij jk ki ik kj ji l mi j k l m

ij jk kl lk m

ij jk kl lii j k l m m

i j k l m il lk kj ji

ij ji kl lm mk km ml lk

ij jk kl lm mi

im ml lk kj

C I I CCC

I I I I I I CC

I I I I C

I I I IC

I I I I

I I I I I I I I

I I I I I

I I I I

+

+ +

⎛ ⎞⎜ ⎟⎜ ⎟⎛ ⎞+⎜ ⎟⎜ ⎟+⎜ ⎟⎜ ⎟+⎝ ⎠⎝ ⎠

+

++

+

∑∑∑∑∑∏

∑∑∑∑∑

∑∑∑∑∑∑∑∑∑∑

i j k l mi j k l m jiI

⎛ ⎞⎜ ⎟

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠

∑∑∑∑∑ ∑∑∑∑∑ (4) The above equation is a generalized mathematical expression in symbolic form corresponding to five-factor digraph representation. It ensures an estimate of the CBSS system of any industrially integrated product. The above equation contains 5!terms. Each term is useful for a CBSS designer as each term serves as a test for the effectiveness of the relevant group in Per(MPS ). 4. Generalization of Methodology Suppose a system consists of N subsystems in place of proposed five subsystems and is represented as a digraph, and then the most general way of matrix representation is shown

599599

Page 6: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

below. This matrix is also known as the variable permanent system structure matrix (VPSSM- CBSS) corresponding to the N subsystems. 1 2 3 . . . . N Subsystems

1 12 13 1

21 2 23 2

31 32 33

1 2 3

. . . . 1

. . . . 2

. . . . 3. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .

. . . .

N

N

N

N N N N

C I I II C I II I IC

I I I C N

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(5) Permanent function for the above matrix, i.e., Per(MPS)is called variable permanent function (VPSSM- CBSS).The VPSSM- CBSS for the above matrix is written in sigma form as Per(MPS) =

( )

( )

( ) ( )( )

( )

1

... ...

... ...

...

...... ...

...

N

x ij ji k l Ni j k l Nx

ij jk ki ik kj ji l m Ni j k l N

ij jk kl lk m N

ij jk kl lii j k l N m N

i j k l m il lk kj ji

ij ji kl lm mk km

C I I C C C

I I I I I I C C C

I I I I C C

I I I IC C

I I I I

I I I I I I

=

+

+ +

⎛ ⎞⎜ ⎟⎜ ⎟⎛ ⎞+⎜ ⎟⎜ ⎟+⎜ ⎟⎜ ⎟+⎝ ⎠⎝ ⎠

+

+

∑∑∑∑ ∑∏

∑∑∑∑ ∑

∑∑∑∑ ∑∑∑∑∑ ∑

( ) ...

... ...

...

ml lk n o N

ij jk kl lm mii j k l N n o N

i j k l m im ml lk kj ji

I I C C C

I I I I IC C C

I I I I I

⎛ ⎞⎜ ⎟

⎛ ⎞⎜ ⎟+ ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟+⎝ ⎠⎝ ⎠

+

∑∑∑∑ ∑ ∑∑∑∑ ∑

(6) The number and composition of groups and subgroups will be the same as discussed earlier. So it is possible to write the permanent function of any CBSS system in (N + 1) groups. It may be noted that a permanent function will contain N! terms only, provided Iij are not 0. In certain cases, designers and/or developers team may decide that some of Iij are 0 because of insignificant influence of one subsystem over the other subsystem. Substitutions of corresponding Iij equal to 0 in general permanent function (equation (6)) or in general VPSSM (equation (5)) gives the exact number of terms with modified permanent function.

5. Conclusion The proposed methodology is based on graph theoretic systems approach. The systems methodology consists of the CBSS system digraph, the CBSS system matrix, and the CBSS system permanent function. The CBSS digraph is the mathematical representation of the structural characteristics and their interdependence, useful for visual modeling and analysis. The CBSS system matrix converts digraph into matrix representation. This matrix representation is a powerful tool for storage and retrieval of subsystems in computer database and also for computer processing. The CBSS system permanent function is a mathematical model characterizing the structure of the CBSS product and also helps one to determine the CBSS system index. The permanent function of the CBSS system architecture at a particular level of hierarchy represents all possible combination of its subsystems. The terms of permanent function not only represent different subsets of CBSS system architecture but also guide the analysts, designer, developer, manager, decision maker and purchaser to generate large number of alternative design solution before selecting an optimum system. The present work emphasizes the numerical methodology of CBSS that can also optimize the design and the development parameters. As proposed systems model gives complete information of the existing system, SWOT (Strength-Weakness-Opportunities-Threats) analysis and cause and effect analysis (Fishbone diagram/Ishikawa diagram) can be carried out effectively and efficiently. This permits cutting edge over its competitors. Research is in progress to correlate quantitatively the structure of the system with different performance parameters of CBSS e.g. performance, reliability, dependability etc. ; and to provide similarity and dissimilarity checking of different CBSS. As it is an integrated systems approach, all the subsystems up to the component level are modeled and evaluated to be used as inputs for diagonal elements at next higher level and so on. It can be inferred that to get the structural performance level (i.e. permanent index) of the overall system, the structural performance level of each subsystem at the lower level need to be calculated and substituted as diagonal elements of the variable permanent adjacency matrix at thehigher level. A generalized methodology is

600600

Page 7: [IEEE 2009 WRI World Congress on Computer Science and Information Engineering - Los Angeles, California USA (2009.03.31-2009.04.2)] 2009 WRI World Congress on Computer Science and

also proposed to model a system consisting of N sub-systems and their interactions. References [1]. Cai X., Lyu M. R., Wong K. F., Ko, R. Component Based Software Engineering: Technologies, Development Frameworks and Quality Assurance Schemes. Proceedings of 7th Asia-Pacific Software Conference, Singapore, 2000, Dec 5-8, 47-52. [2]. Kozaczynski W., Booch G. Component Based Software Engineering. IEEE Software. 1998, 15: 34-36. [3]. Bosch J. Design and Use of Software Architectures, Addison-Wesley, Harlow, England. 2000, 21-65. [4]. Clements P., Bachmann F., Bass L., Garland D., Ivers J., Little R., Nord R., Stanford J. Documenting Software Architectures: Views and Beyond. Addison-Wesley, Harlow, England. 2002, 45-65. [5]. Kruchten P. The 4+1 View Model of Architecture. IEEE Software. 1995, 12: 42-50. [6] Shaw M., Garlan D. Software Architecture-Perspectives on an Emerging Discipline. Prentice Hall, New Jersey, USA. 1996, 15-38. [7] Saradhi M. System Modeling and Description. ACM SIGSOFT Software Engineering Notes. 1992, 12: 57-63. [8] Maes P., Guttman R. H. Cooperative vs Competitive Multi-Agent Negotiations in Retail Electronic Commerce. Proceedings of Second International Workshop on Mobile Agents (IWMA), Paris, 1998, Jun 21-23, 34-41. [9] Gray R. Agent TCL: A flexible and Secure Mobile Agent System PhD Dissertation, Dartmouth College, USA , 1997 [10] Papaionnou T., Edwards J. Using Mobile Agents To Improve the Alignment Between Manufacturing and its IT support Systems. Journal of Robotics and Autonomous Systems. 1998, 27 : 44-57. [11]. Juan P., C., Xavier F., Carme Q. Determining Criteria for Selecting Software Components: Lessons Learned. IEEE Software, 2007, 24: 65-76. [12] Deo, N. Graph Theory with Applications to Engineering and Computer Science, Prentice- Hall of India Private Limited, New Delhi,2004 [13] Upadhyay, N. Analysis and Design of Algorithms, S. K. Kataria and Sons, New Delhi, 2004 [14] Jurkat, W. B., Ryser, H. J. Matrix Factorization and Permanents, J. Algebra, 16, 1996, pp. 1-26.

601601