![]() |
||
| |
||
| Columns | Eye on Integration |
2004 | Number
1 |
|||||||||||||||||||||||
|
Read
previous Read
previous features
If
you would like
|
ISIS
and the Goal of Interoperability
What was apparent from the outset was that large systems—even those with a COTS product at its foundation—incorporate many other types of software. This other software may include legacy-system code, code developed for organizational purposes (e.g., Federal non-developmental-item, or NDI, code), shareware, custom-built adaptation code that extends core COTS capabilities using vendor-provided hooks and languages, and custom code that provides unique capabilities. Constructing a system that integrates these various types of software into a cohesive solution is a daunting challenge. Also apparent from the outset was the fact that no large-scale software system stands alone in today’s computing environment. Software systems are increasingly expected to use information from and provide information to other systems. For example, satellite ground-support software must interact with mission software; radar systems must share track information; and personnel systems must provide information to financial systems. This assembly of large software-intensive systems into still larger systems of systems has placed intense focus on integration to achieve interoperability1. To respond to a growing call to solve the wide range of integration problems evident when diverse systems are incorporated into systems of systems, the SEI has created a new Integration of Software Intensive Systems (ISIS) initiative. To reflect the transition to our new, broader focus, we have renamed the COTS Spot column Eye on Integration. Part of the foundation of ISIS was established by the SEI’s Systems of Systems Interoperability (SOSI) project in 2003. In this project, we sought to understand the state of the practice for achieving interoperability among systems and to identify areas in which the SEI could help improve the practice. The
SOSI team held two workshops2,
interviewed several interoperability experts, and surveyed important
literature on interoperability. The team identified both successes and
failures. In general, interoperability is hard won and expensive. The
SOSI team identified a wide range of problems.
The
SOSI project extracted the majority of its lessons from DoD sources.
However, lest anyone think that the interoperability problem is limited
to DoD systems, consider this commercial banking-industry scenario:
The banking example highlights several important features of the interoperability problem:
These and many other problems that occur in achieving interoperability are the result of the inherent complexity of managing and building systems of systems. As Fred Brooks3 pointed out more than 15 years ago, technical innovations intended to improve software engineering have not successfully solved the problems represented by this inherent complexity. We believe that such is still the case today, and building and maintaining interoperating systems is becoming an even more complex task. The SEI is building on the SOSI project. Like SOSI, the SEI will focus on a full range of management, technical, and operational barriers to achieving and maintaining interoperability among complex systems. Keep your eye on Eye on Integration to track our progress.
Ed Morris is a Senior Member of the Technical Staff at the Software Engineering Institute, assigned to the Integration of Software-Intensive Systems (ISIS) Initiative. He is currently investigating approaches to achieving technical interoperability between complex systems and programmatic interoperability between the organizations that build and maintain them. Previous activities involved improving processes and techniques for the evaluation and selection of COTS products, and the development of the COTS Usage Risk Evaluation (CURE) technology. Before coming to the SEI, Ed developed custom operating systems for embedded microprocessors along with support tools to predict and monitor the performance of real time systems.
1 For our purposes (at least for now) interoperability is defined as the ability to provide services to and accept services from other systems and to use the services to operate effectively together. Integration is the activity performed to achieve interoperability. 2 Proceedings from the first workshop can be found in the technical note CMU/SEI-2003-TN-016. A technical report detailing the complete SOSI findings is forthcoming. 3 In his classic article, “No Silver Bullet: Essence and Accidents of Software Engineering” (IEEE Computer, 20 (4), 10-19), Brooks suggested that factors such as complexity of systems, lack of conformity between organizations building them, changeability of expectations, and invisibility of details are essential characteristics of software that makes building software difficult.
The views expressed in this article are the author's only and do not represent directly or imply any official position or view of the Software Engineering Institute or Carnegie Mellon University. This article is intended to stimulate further discussion about this topic. |
||||||||||||||||||||||||
| Copyright ©
2004 Carnegie Mellon University. All rights reserved. |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||