Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma...

14
Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma [email protected] [email protected] [email protected] The Component-Aware Technology (CAT) Lab. Department of Computer Science The University of Texas at Dallas

Transcript of Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma...

Page 1: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Evaluating Off-The-Shelf Architectural Components

Kendra Cooper Lawrence Chung Weimin Ma

[email protected] [email protected] [email protected]

The Component-Aware Technology (CAT) Lab.

Department of Computer Science

The University of Texas at Dallas

Page 2: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

What do I need ???

What is the type of HACS Controller?

What is the type of AC Controller?

An Example:Home Appliance Control System (HACS)

Page 3: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Evaluating Home Appliance Control System (HACS) Components

How to effectively evaluate components, simple and composite?

Specifier

Page 4: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

UML Class Diagram as Model of Software Components

Figure 1: Results for matching and ranking OTS components

Figure 2: UML class diagram model of component set 1

Figure 3: UML class diagram model of component set 4

Page 5: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Outline

A Scenario for Using Software Components

Conclusions

Similarity Measure

Criteria-Based User Query

Evaluation of Components

The Notion of Distance

The Notion of Criteria

Evaluation of Simple Components

(E.g., Evaluate AC Controller;

Evaluate HACS Controller)

Evaluation of Relationships

Evaluation of Composite Components

Page 6: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

User

Evaluator

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

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

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

Searching …

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

1. I need AC Controller with feature “Set Temp” & HACS Controller with feature “Check Status”.

negotiate

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

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

A Scenario for Using Software Components

Component Sets/Vendors

1,2

3,4

>>: better match

Evaluator

8. How well do the component sets match?

9. A possible ranking: 3>>{4, 2}>>1

Specifier

Page 7: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Distance is 1.Distance is 1.

Distance is 1.

Similarity Measure: The Notion of Distance

Distance is 1.

Distance is 2.?

Criterion a: number of figures.Criterion b: number & shape of figures.

Criteria are necessary for software component evaluation!

Simple Component: Composite Component:

Distance is 1.

Distance is 2.Distance is 3.?

Type of relationship & number of extra intermediaries

Criterion a: number of figures.Criterion b: number & shape of figures.

No context consideration.

Distance is 0. ?

Page 8: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Similarity Measure: The Notion of Criteria

Page 9: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Criteria-Based User Query

Unstructured user query:

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

(Class Name) AC Controller(Attribute) Temperature(Operation) setTemperature

(Class Name) HACS Controller(Attribute) Status(Operation) checkStatus

I want a HACS system whose

HACS controller has feature “Check Status”

and AC controller has feature “Set Temp”.

(Association)

Sub-query 1: Sub-query 2:

Page 10: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Sub-query 1:(Class Name) AC Controller(Attribute) Temperature(Operation) setTemperature

Component Set 1:(Class Name) AC Conditioner(Attribute) temp(Operation)

Component Set 2:(Class Name) AC Conditioner(Attribute) temp(Operation)

Component Set 3:(Class Name) AC Controller(Attribute) temperature(Operation) settemp

Component Set 4:(Class Name) Temperature Controller(Attribute) temperature(Operation) setTemperature

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

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

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

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

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

Figure 2: UML class diagram model of component set 1Criteria

Sim_component_set (“AC Controller”, component set 1)

"

[

1i

i in feature, AC Controller, component set 1i

priority

X %_m(i)] priority

i in feature, AC Controller, component set 1

Page 11: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Sub-query 2:(Class Name) HACS Controller(Attribute) Status(Operation) checkStatus

Component Set 1:(Class Name) System Control(Attribute) (Operation) getHistory

Component Set 2:(Class Name) System Control(Attribute) (Operation)

Component Set 3:(Class Name) HACS Interaction Device(Attribute)(Operation) checkstatus

Component Set 4:(Class Name) HACS Controller(Attribute) (Operation)

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

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

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

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

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

Figure 2: UML class diagram model of component set 1

Criteria

Sim_component_set (“AC Controller”, component set 1)

"

[

1i

i in feature, AC Controller, component set 1i

priority

X %_m(i)] priority

i in feature, AC Controller, component set 1

Page 12: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Sub-query 1 and Sub-query 2

Component Set 1:(# of Relationships) 2 (Relationship Type) {1 Association, 1 generalization}

Component Set 2:(# of Relationships) 1(Relationship Type) {1 association}

Component Set 3:(# of Relationships) 1(Relationship Type) {1 association}

Component Set 4:(# of Relationships) 2(Relationship Type) {1 association, 1 generalization}

Distance: 2

Distance: 0 Distance: 0

Distance: 2

Evaluation of Relationship between Components

Criteria

Figure 3: UML class diagram model of component set 4

Figure 2: UML class diagram model of component set 1

Page 13: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Similarity (Component Set 1):0.75

Similarity (AC Controller)0.5 Similarity (relationship)

1

Similarity (HACS Controller)0.75

Evaluation of Composite Components

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

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

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}

(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)

SetComponentSim /)1__(

....

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

Page 14: Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma kcooper@utdallas.edukcooper@utdallas.edu chung@utdallas.edu weiminma@utdallas.educhung@utdallas.eduweiminma@utdallas.edu.

Conclusions

Hierarchy of criteria for component evaluation

Cased-based scheme for similarity-based evaluation.

Contributions

Multiple evaluation schemes (e.g., AHP/MCDM, fuzzy case-based reasoning)

Application to a suite of UML diagrams

Future Work

Technique for evaluating architectural components using UML class diagrams

Refinements of distance and criteria (context information).