slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Evaluating Off-The-Shelf Architectural Components PowerPoint Presentation
Download Presentation
Evaluating Off-The-Shelf Architectural Components

Loading in 2 Seconds...

play fullscreen
1 / 17

Evaluating Off-The-Shelf Architectural Components - PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on

Evaluating Off-The-Shelf Architectural Components. Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.edu. The Component-Aware Technology (CAT) Lab. Department of Computer Science The University of Texas at Dallas.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Evaluating Off-The-Shelf Architectural Components


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
Evaluating Off-The-Shelf Architectural Components

Kendra Cooper Lawrence Chung Weimin Ma

kcooper@utdallas.educhung@utdallas.eduweiminma@utdallas.edu

The Component-Aware Technology (CAT) Lab.

Department of Computer Science

The University of Texas at Dallas

slide2
An Example:

Home Appliance Control System (HACS)

What do I need ???

What is the type of HACS Controller?

What is the type of AC Controller?

slide3

Evaluating Home Appliance Control System (HACS) Components

How to effectively evaluate components, simple and composite?

slide4

UML Class Diagram as Model of Software Components

Figure 1: Results for matching and ranking OTS components

Figure 3: UML class diagram model of component set 4

Architectural model for each component set/vendor is represented in UML class diagram.

Figure 2: UML class diagram model of component set 1

slide5

Outline

  • A Scenario for Using Software Components
  • Similarity Measure
  • The Notion of Distance
  • The Notion of Criteria
  • Criteria-Based User Query
  • Evaluation of Components
  • Case-based scheme
    • Evaluation of Simple Components

(E.g., Evaluate AC Controller;

Evaluate HACS Controller)

    • Evaluation of Relationships
    • Evaluation of Composite Components
  • Analytic hierarchy process scheme
  • Conclusions
slide6

Evaluator

User

A Scenario for Using Software Components

1.2. Is there an AC Controller with feature “Set Temp”?

3. Searching …

4. Component set 3>>4>{1, 2}

6. Searching …

Component Sets/Vendors

1,2

3,4

5. Is there a HACS Controller with feature “Check Status”?

1.1. System controller

11. A possible ranking: Component set 3>>{4, 2}>>1

7. Component set 3>>4>>1>>2

8. Do HACS Controller and AC Controller fit together well?

10. Aggregate the three evaluations.

9. Component set {2, 3}>>{1, 4}

>>: better match

slide7

Similarity Measure: The Notion of Distance

Simple Component:

Composite Component:

Criterion a: number of figures.

Criterion a: number of figures.

Criterion b: number & shape of figures.

Criterion b: number & shape of figures.

Type of relationship & number of extra intermediaries

Distance is 1.

Distance is 1.

Distance is 0.

Distance is 1.

Distance is 2.

Distance is 1.

Distance is 2.

Distance is 3.

Distance is 1.

No context consideration.

Criteria are necessary for software components evaluation!

slide9

Criteria-Based User Query

  • Unstructured user query:

I want a HACS system whose

HACS controller has feature “Check Status”

and AC controller has feature “Set Temp”.

  • Using the criteria and through communication, the evaluator can turn it into criteria-based structure (à la Case-Based Reasoning):

Sub-query 1:

Sub-query 2:

(Class Name)AC Controller

(Attribute) Temperature

(Operation) setTemperature

(Class Name)HACS Controller

(Attribute) Status

(Operation) checkStatus

(Association)

slide10

Evaluation of Components for “AC Controller” Based on Case-based Scheme

Sub-query 1:

(Class Name) AC Controller

(Attribute) Temperature

(Operation) setTemperature

S_m: 1 - (½ + 1 + 0)/3 = 0.5.

S_m: 1 – (½ + 1 + 1)/3 = 0.167.

Component Set 1:

(Class Name) AC

Conditioner

(Attribute) temp

(Operation)

S_m: 1- (½ + 1 + 0)/3 = 0.5.

S_m: 1 - (1 + 1 + 1)/3 = 0.

Component Set 4:

(Class Name) Temperature

Controller

(Attribute) temperature

(Operation) setTemperature

Component Set 2:

(Class Name) AC

Conditioner

(Attribute) temp

(Operation)

Component Set 3:

(Class Name) AC Controller

(Attribute) temperature

(Operation) settemp

Criteria

Figure 2: UML class diagram model of component set 1

Sim_component_set (“AC Controller”, component set 1)

å

´

[

priority

X %_m(i)]

i

i in feature, AC Controller, component set 1

"

=

-

1

å

priority

i

i in feature, AC Controller, component set 1

slide11

Evaluation of Components for “HACS Controller” Based on Case-based Scheme

Sub-query 2:

(Class Name) HACS Controller

(Attribute) Status

(Operation) checkStatus

S_m: 1 – (½ + 0 + ¼)/3 = 0.75.

S_m: 1 – (1 + 0 + 0)/3 = 0.667.

Component Set 1:

(Class Name) System

Control

(Attribute)

(Operation) getHistory

Component Set 4:

(Class Name) HACS Controller

(Attribute)

(Operation)

S_m: 1 – (½ + 0 + 0)/3 = 0.833.

S_m: 1 – (½ + 0 + 1)/3 = 0.5.

Component Set 2:

(Class Name) System

Control

(Attribute)

(Operation)

Component Set 3:

(Class Name) HACS

Interaction Device

(Attribute)

(Operation) checkstatus

Figure 2: UML class diagram model of component set 1

Criteria

Sim_component_set (“AC Controller”, component set 1)

å

´

[

priority

X %_m(i)]

i

i in feature, AC Controller, component set 1

"

=

-

1

å

priority

i

i in feature, AC Controller, component set 1

slide12

Evaluation of Relationship between Components

Sub-query 1 and Sub-query 2

Distance: 2

Distance: 2

Component Set 4:

(# of Relationships) 2

(Relationship Type) {1 association, 1 generalization}

Distance: 0

Component Set 1:

(# of Relationships) 2

(Relationship Type) {1 Association, 1 generalization}

Distance: 0

Criteria

Component Set 3:

(# of Relationships) 1

(Relationship Type) {1 association}

Component Set 2:

(# of Relationships) 1

(Relationship Type) {1 association}

Figure 2: UML class diagram model of component set 1

Figure 3: UML class diagram model of component set 4

slide13

Evaluation of Composite Components

Similarity (Component Set 1):

0.75

Similarity (HACS Controller)

0.75

Similarity (AC Controller)

0.5

Similarity (relationship)

1

=

(Sim(AC Controller) + Sim(Relationship between AC-HACS) + Sim(HACS Controller))/

(#component+#relationships),

where Sim(Relationship between AC-HACS) = (#extra-relationships+#relationship-mismatch)/

(#relationship-in-query+#possible-relationship-attributes)

Sim

(

Component

_

Set

_

1

)

.

.

.

.

= (0.5+2/2+0.75)/(2+1) = 0.75

Component Sets/Vendors = {1, 2, 3, 4}

Ranking of “AC Controller”: 3 >> 4>> {1, 2}

Ranking of “HACS Controller”: 3>> 4>> 1>> 2

Ranking of relationship between components: {2, 3} >> {4, 1}

Ranking of component sets for user’s query: 3>>{4, 2, 1}

? 3>>{4, 2}>>1

slide14

Analytic Hierarchy Process (AHP) Evaluation

Component Evaluation

Class

Class Relationship

Attribute Name

Operation Name

Class name

Advantage of AHP:

  • Assist in identifying and weighting

selection criteria

  • Relative priority or weighting for

alternatives

Component Set 1

Component Set 3

Component Set 2

Component Set 4

Example analytic hierarchy of criteria

Example relative priorities of criteria

slide15

Pairwise Comparison of Criteria

For Class Name, Attribute Name, and Operation Name,

For Class relationship,

So Com_Set_2’s priority is zero and not involved in pairwise comparison.

So Com_Set_1 and Com_Set_4’s priorities are zero and not involved in pairwise comparison.

slide16

Tree Representation of AHP Process

Component Evaluation

Class

Class Relationship

(0.3)

Class Name

(0.4)

Attribute Name

(0.2)

Operation Name

(0.1)

Ranking of component sets for user’s query: 3>>2>>4>>1 ?

slide17

Contributions

Technique for evaluating architectural components using UML class diagrams

Conclusions

Hierarchy of criteria for component evaluation

Cased-based scheme for similarity-based evaluation

AHP scheme evaluation

Future Work

Refinements of distance and criteria (context information)

Application to a suite of UML diagrams