S V E N F O R T U I N ( 3 4 9 6 4 6 5 )
A Method for Compatible COTS Component Selection
BARRY BOEHMU N I V E R S I T Y O F S O U T H E R N
C A L I F O R N I AJESAL BHUTA
U N I V E R S I T Y O F S O U T H E R N C A L I F O R N I A
A Method for Compatible COTS Component Selection
Commercial Off-The-Shelf (COTS)
Part of the UCS spiral COTS Based Application (CBA) Framework (Boehm et al., 2003)
CBA is defined as “a system for which 30% of the end-user functionality is provided by COTS components, and at least 10% of the development effort is devoted to COTS considerations”
Bad experiences compatibility
Process-Deliverable Diagram
Example (1/10)
Watch vendorOnline shopCOTS Based Application (CBA)
Example (2/10)
0: Create Objectives, Constraints & Priorities (OC&Ps) Automatic generation of invoices Automatic inventory update Automated order processing Sending order and shipping confirmation Online shopping cart
Example (3/10)
1: Identify Candidate Components Cart 32 MSSQL Danise Cart Microsoft IIS Apache-CGI X-Hub Enterprise Cart MySQL Apache-Tomcat
Example (4/10)
2: Classify Components into Function Groups
Function group:
Database Applications
Shopping Carts
Application Servers
COTS component:
MySQL Cart 32 Microsoft IIS
COTS component:
MS-Access Danise Cart Apache-CGI
COTS component:
MSSQL X-Hub Enterprise Cart
Apache Tomcat
Example (5/10)
3: Evaluate Components X-Hub Enterprise Apache Tomcat Danise Cart Microsoft IIS
4: Buy Information Vendor suportability
Example (6/10)
3: Evaluate Components X-Hub Enterprise Apache Tomcat Danise Cart Microsoft IIS
4: Buy Information Vendor suportability
Example (7/10)
5: Filter out alternatives
Function group:
Database Applications
Shopping Carts
Application Servers
COTS component:
MySQL Cart 32 Microsoft IIS
COTS component:
MS-Access Danise Cart Apache-CGI
COTS component:
MSSQL - -
Example (8/10)
6: Evaluate Combinations Component Compatibilty Evaluation Framework
7: Create prototypes Programming Glueware
Example (9/10)
6: Evaluate Combinations Component Compatibilty Evaluation Framework
7: Create prototypes MSSQL Cart 32 Microsoft IIS
Example (10/10)
8: Preserve combinations Word document
9: Choose combinations MSSQL – Cart 32 – Microsoft IIS
Limitations (1/2)
Max 3 function groups
Limitations (2/2)
Limitation on number of components
Related Literature (1/2)
28% CBA projects in 1997 (Boehm et al., 2003) 60% CBA projects in 2001 (Boehm et al., 2003)
Case study (Garlan et al., 1995) Quadruple in time Five times the anticipated costs
Glueware (Basili and Boehm, 2001) One line of glueware Three times the effort per line of developed
application code
Related Literature (2/2)
Incompatibilty problems (Gacek, 1998; Gacek and Boehm, 1998; Yakimovich, Travassos and Basili, 1999) Architectual mismatch Interface conflicts Functional mismatch Non-functional mismatch
CRE method (Alves and Castro, 2001) Domain coverage Time restriction Costs rating Vendor guaranties
References
Alves, C., & Castro, J. (2001). CRE: A systematic method for COTS components selection. Proceedings of the XV Brazilian Symposium on Software Engineering (SBES). Rio de Janeiro, Brazil, 193-207.
Basili, V. R., & Boehm, B. (2001). COTS-based systems top 10 list. Computer, 34(5), 91-95.
Bhuta, J., & Boehm, B. (2005). A method for compatible cots component selection. COTS-Based Software Systems, 3412, 132-143. doi:10.1007/978-3-540-30587-3_23
Boehm, B., Port, D., Yang, Y., & Bhuta, J. (2003). Composable process elements for developing COTS-based applications. Proceedings of the International Symposium on Empirical Software Engineering, Los Angeles, California, USA, 8-17.
Gacek, C. (1998). Detecting architectural mismatches during systems composition. California, Los Angeles: University of Southern California.
Garlan, D., Allen, R., & Ockerbloom, J. (1995). Architectural mismatch: Why reuse is so hard. IEEE Software, 12(6), 17-26. doi:10.1109/MS.2009.86
Questions