evaluating off-the-shelf architectural components
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Evaluating Off-The-Shelf Architectural Components](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/3.jpg)
Evaluating Home Appliance Control System (HACS) Components
How to effectively evaluate components, simple and composite?
Specifier
![Page 4: Evaluating Off-The-Shelf Architectural Components](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/8.jpg)
Similarity Measure: The Notion of Criteria
![Page 9: Evaluating Off-The-Shelf Architectural Components](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022070412/56814bf5550346895db8ebb9/html5/thumbnails/14.jpg)
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).