A framework for intelligent assessment and resolution of commercial-off-the-shelf product incompatibilities

Software systems today are frequently composed from prefabricated commercial components that provide complex functionality and engage in complicated interactions. Such projects that utilize multiple commercial-off-the-shelf (COTS) products often confront interoperability conflicts resulting in budget and schedule overruns. These conflicts occur because of the incompatible assumptions made by developers during the development of these products. Identification of such conflicts and planning strategies to resolve them is critical for developing such systems under budget and schedule constraints. Unfortunately, acquiring information to perform interoperability analysis is a time-intensive process. Moreover, increase in the number of COTS products available to fulfill similar functionality leads to hundreds of COTS product combinations, further complicating the COTS interoperability assessment activity. This dissertation motivates, presents and validates an intelligent assessment and resolution framework for Commercial-Off-The-Shelf (COTS) incompatibilities. The framework can be used to perform high-level and automated interoperability assessment to filter out COTS product combinations whose integration will not be feasible within project constraints. The framework efficiently and effectively captures knowledge on COTS product interoperability and allows a user to automatically leverage this knowledge to perform interoperability assessment. The framework elements have been utilized to develop an interoperability assessment tool–Integration Studio. This framework is empirically validated using controlled experiments and project implementations in 25 projects from small, medium and large network centric systems from diverse business domains. The empirical evidence consistently indicates an increase in interoperability assessment productivity by about 50% and accuracy by 20% in small and medium systems.

[1]  Barry W. Boehm,et al.  A stakeholder win–win approach to software engineering education , 1999, Ann. Softw. Eng..

[2]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[3]  Barry W. Boehm,et al.  Composable process elements for developing COTS-based applications , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[4]  Gary B. Shelly,et al.  Microsoft Office , 1995 .

[5]  Student,et al.  THE PROBABLE ERROR OF A MEAN , 1908 .

[6]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[7]  Vincent Bouthors,et al.  eCots Platform: An Inter-industrial Initiative for COTS-Related Information Sharing , 2003, ICCBSS.

[8]  Leonard J. Bass,et al.  Classifying architectural elements as a foundation for mechanism matching , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[9]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[10]  Barry W. Boehm,et al.  A Framework for the Assessment and Selection of Software Components and Connectors in COTS-Based Architectures , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[11]  Barry W. Boehm,et al.  Requirements engineering, expectations management, and the Two Cultures , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[12]  A. A. Abd Allah Composing heterogeneous software architectures , 1996 .

[13]  A. Kelkar Understanding the Architectural Characteristics behind Middleware Choices , 1999 .

[14]  Lisa Brownsword,et al.  Evolutionary Process for Integrating COTS-Based Systems (EPIC): An Overview , 2002 .

[15]  Barry W. Boehm,et al.  Value-based processes for COTS-based applications , 2005, IEEE Software.

[16]  Tom Marrs,et al.  Jboss at Work: A Practical Guide , 2005 .

[17]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[18]  Lisa Brownsword,et al.  Developing New Processes for COTS-Based Systems , 2000, IEEE Softw..

[19]  Erik Putrycz,et al.  COTS Acquisition: Getting a Good Contract , 2005, ICCBSS.

[20]  Barry W. Boehm,et al.  Anchoring the Software Process , 1996, IEEE Softw..

[21]  Brent Callaghan,et al.  NFS Illustrated , 1999 .

[22]  Mary Shaw,et al.  Architectural issues in software reuse: it's not just the functionality, it's the packaging , 1995, SSR '95.

[23]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[24]  Jie Xu,et al.  Roll-forward error recovery in embedded real-time systems , 1996, Proceedings of 1996 International Conference on Parallel and Distributed Systems.

[25]  Maria Nikolova Customer Relationship Management Systems , 2005 .

[26]  Barry Boehm,et al.  Composing heterogeneous software architectures , 1996 .

[27]  Maurizio Morisio,et al.  Investigating and improving a COTS-based software development process , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[28]  Kevin J. Sullivan,et al.  Experience assessing an architectural approach to large-scale systematic reuse , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[29]  John Miano,et al.  Compressed image file formats , 1999 .

[30]  BoehmBarry,et al.  COTS-Based Systems Top 10 List , 2001 .

[31]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[32]  Victor R. Basili,et al.  A comprehensive reuse model for cots software products , 2001 .

[33]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[34]  Robert DeLine,et al.  A catalog of techniques for resolving packaging mismatch , 1999, SSR '99.

[35]  Raymond T. Yeh,et al.  Proceedings of the international conference on Reliable software , 1975 .

[36]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[37]  John Mark Ockerbloom,et al.  Mediating Among Diverse Data Formats. , 1998 .

[38]  R. Keshav,et al.  Towards a taxonomy of architecture integration strategies , 1998, ISAW '98.

[39]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[40]  Barry Boehm,et al.  Detecting architectural mismatches during systems composition , 1998 .

[41]  Robert DeLine,et al.  Resolving packaging mismatch , 1999 .

[42]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[43]  D. Campbell,et al.  EXPERIMENTAL AND QUASI-EXPERIMENT Al DESIGNS FOR RESEARCH , 2012 .

[44]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[45]  John Miano,et al.  Compressed image file formats - JPEG, PNG, GIF, XBM, BMP , 1999 .

[46]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[47]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[48]  Scot Hacker,et al.  MP3: The Definitive Guide , 2000 .

[49]  Santiago Comella-Dorda,et al.  A Process for COTS Software Product Evaluation , 2002, ICCBSS.

[50]  Barry Boehm,et al.  Composable risk-driven processes for developing software systems from commercial-off-the-shelf (cots) products , 2006 .

[51]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[52]  Wei Li,et al.  Another metric suite for object-oriented programming , 1998, J. Syst. Softw..

[53]  Barry W. Boehm,et al.  COTS-Based Systems Top 10 List , 2001, Computer.

[54]  David Garlan,et al.  A compositional approach for constructing connectors , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[55]  F. Stan Settles,et al.  Extending the cocomo ii software cost model to estimate effort and schedule for software systems using commercial-off-the-shelf (cots) software components: the cocots model , 2004 .

[56]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[57]  Chris Mattmann,et al.  Software Connectors for Highly Distributed and Voluminous Data Intensive Systems , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[58]  B. Craig Meyers,et al.  Managing Software Acquisition: Open Systems and COTS Products , 2001 .

[59]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[60]  Leigh A. Davis,et al.  The impact of component architectures on interoperability , 2002, J. Syst. Softw..

[61]  Elliotte Rusty Harold,et al.  XML in a Nutshell , 2001 .

[62]  Lori A. Clarke,et al.  An Event-Based Software Integration Framework , 1995 .

[63]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.

[64]  Keith Ballurio,et al.  Risk Reduction in COTS Software Selection with BASIS , 2002, ICCBSS.

[65]  Saul Gorn,et al.  American standard code for information interchange , 1963, CACM.

[66]  Barry W. Boehm,et al.  Not All CBS Are Created Equally: COTS-Intensive Project Types , 2003, ICCBSS.

[67]  Barry W. Boehm,et al.  Attribute-Based COTS Product Interoperability Assessment , 2007, 2007 Sixth International IEEE Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'07).

[68]  Abraham Silberschatz,et al.  Database Systems Concepts , 1997 .

[69]  John Lane,et al.  IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries , 1991 .

[70]  Victor R. Basili,et al.  Support for comprehensive reuse , 1991, Softw. Eng. J..

[71]  クイック,et al.  ActiveX controls inside out , 1997 .

[72]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[73]  Jon Postel,et al.  File Transfer Protocol , 1985, RFC.

[74]  David Levitt,et al.  Calibration of a COTS Integration Cost Model Using Local Project Data , 1997 .

[75]  D. Pruitt Evolutionary Process for Integrating COTS-Based Systems ( EPIC ) : An Overview Key Elements in Building , Fielding , and Supporting Commercial-off-the-Shelf ( COTS ) Based Solutions , 2002 .

[76]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[77]  Dewayne E. Perry,et al.  Contextual reusability metrics for event-based architectures , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[78]  Richard N. Taylor,et al.  Moving Architectural Description from Under the Technology Lamppost , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[79]  Kyle Geiger,et al.  Inside ODBC , 1995 .

[80]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).