Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma"— Presentation transcript:

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 The Component-Aware Technology (CAT) Lab. Department of Computer Science The University of Texas at Dallas

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

3 Evaluating Home Appliance Control System (HACS) Components How to effectively evaluate components, simple and composite? Specifier

4 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

5 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

6 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

7 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. ?

8 Similarity Measure: The Notion of Criteria

9 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:

10 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 + 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 1 Criteria Sim_component_set (“AC Controller”, component set 1)     " [ 1 i i in feature, AC Controller, component set 1 i priority X %_m(i)] priority i in feature, AC Controller, component set 1

11 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)     " [ 1 i i in feature, AC Controller, component set 1 i priority X %_m(i)] priority i in feature, AC Controller, component set 1

12 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: 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

13 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}

14 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).


Download ppt "Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma"

Similar presentations


Ads by Google