1 / 17

Evaluating Off-The-Shelf Architectural Components for Home Appliance Control System

Learn how to effectively evaluate software components and relationships using similarity measures and case-based schemes in the Component-Aware Technology lab.

wayne
Download Presentation

Evaluating Off-The-Shelf Architectural Components for Home Appliance Control System

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

  8. Similarity Measure: The Notion of Criteria

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

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

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

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

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

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

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

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

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

More Related