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

Slides:



Advertisements
Similar presentations
Introduction To System Analysis and Design
Advertisements

Software Testing and Quality Assurance
Software Testing and Quality Assurance
Design of Web-based Systems IS Development: lecture 10.
CS 425/625 Software Engineering System Models
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
7M701 1 Software Engineering Systems Models Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 7 (some items)
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Objects CSE 115 Spring 2006 January 25, Object-Oriented Program System of objects that communicate with one another and work together to solve a.
Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
Chapter 10 Architectural Design
Data Mining Chun-Hung Chou
Kris Horn Santhoshi Smitha Thota Uday Chandra Karrotthi.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Virtual OSGi Framework and Telecommunications Sam Supakkul Yotta Networks Digital Pockets, LLC Dallas, Texas Lawrence Chung Dept.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Systems Analysis and Design in a Changing World, Fifth Edition
Introduction To System Analysis and Design
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Domain Modeling Part2: Domain Class Diagram Chapter 4 pp part 2 1.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
COTS-Aware Requirements Engineering and Software Architecting
Database Architecture Course Orientation & Context.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis and Design in a Changing World, Fourth Edition
Architecture Analysis and Design Language: An Overview Drew Gardner.
Prof. Hany H. Ammar, CSEE, WVU, and
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.
1 Home Appliance Control System (HACS) Students: Hui Chen; Yaguang Zhou CS6359 Object-Oriented Analysis & Design Prof. Lawrence Chung Computer Science.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Instance Discovery and Schema Matching With Applications to Biological Deep Web Data Integration Tantan Liu, Fan Wang, Gagan Agrawal {liut, wangfa,
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Database Design, Application Development, and Administration, 6 th Edition Copyright © 2015 by Michael V. Mannino. All rights reserved. Chapter 5 Understanding.
1 Advanced Computer Programming Software Modeling UML Copyright © Texas Education Agency, 2013.
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams: Class Diagrams The Static Analysis Model
Object-oriented and Structured System Models
Abstract descriptions of systems whose requirements are being analysed
Chapter 19: Interfaces and Components
Domain Class Diagram Chapter 4 Part 2 pp
Chapter 20 Object-Oriented Analysis and Design
Chapter 19: Interfaces and Components
Matching Effectiveness and OTS Model Richness
Evaluating Off-The-Shelf Architectural Components
WSExpress: A QoS-Aware Search Engine for Web Services
Presentation transcript:

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

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)

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

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

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

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

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

Similarity Measure: The Notion of Criteria

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:

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 - (½ )/3 = 0.5. S_m: 1 - ( )/3 = 0. S_m: 1 – (½ )/3 = 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

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 – (½ ¼)/3 = S_m: 1 – (½ )/3 = S_m: 1 – (½ )/3 = 0.5. S_m: 1 – ( )/3 = 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

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

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}

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