NEWS AT SEI
This article was originally published in News at SEI on: April 1, 2006
We have crossed a threshold where most of our large software systems can no longer be constructed as monoliths specified by a single, focused, and unified team, implemented as a unit, and tested to be within known performance limits. Most are now constructed as groups of interoperating systems (systems of systems) developed by different but related teams and made to interoperate via various forms of interfaces. Unfortunately, while we can easily conceive these large systems of systems, we have trouble acquiring and building them. For example, SEI research points out that even when large scale systems can be interconnected, these connections frequently break down when new versions of individual systems are constructed [Morris 04].
This column outlines the System-of-Systems Navigator (SoS Navigator), which represents a collection of essential practices for acquiring and building large-scale systems of systems. SoS Navigator provides tools and techniques to characterize organizational, technical, and operational enablers and barriers to success, to identify improvement strategies, and to pilot and institutionalize these strategies.
SoS Navigator helps organizations chart a technical, organizational, and operational path through the SoS environment and helps them prepare for the even more demanding environments of the future. SoS Navigator is composed of the following elements:
SoS Framework—codifies core paradigms, principles, processes, and techniques associated with effective systems of systems
SoS Diagnose—identifies and characterizes the enablers and barriers for a particular system of systems
SoS Analyze—applies the SoS Framework to the information uncovered during the SoS Diagnose phase to identify improvement strategies for the SoS effort
SoS Pilot—demonstrates and prototypes selected systems-of-systems practices in a particular system-of-systems context
SoS Guideprovides—mechanisms for institutionalizing improvements of systems-of-systems practices across the stakeholders of a system of systems
SoS Diagnose and SoS Analyze are usually implemented together to help organizations in charting where they are and to determine where they should go. SoS Pilot and SoS Guide are implemented together to help organizations in improving their system of system practices based on the results from charting.
Understanding the SoS Environment
The SoS Framework consists of core paradigms and principles, and processes, methods, and techniques for understanding how systems of systems are built and fielded and how they evolve.
Within the SoS Framework, information associated with core paradigms and principles is organized into several interrelated categories. These categories of information include:
System-of-systems context. Understanding the context in which large-scale systems of systems are built and operate.
System-of-systems perspectives. Understanding the perspectives of different stakeholders including those who manage the SoS, those who develop and advance the SoS, and those who use the SoS in actual operations.
System-of-systems organizations. Understanding the roles of the organizational entities that are stakeholders in the SoS, including the global SoS entity, autonomous constituents, and communities of interest.
Unbounded systems. Understanding the implications of the fact that systems of systems are unbounded and that at any given instance, an unknown number of participants are expected to interact. Some of these implications are that 1) unbounded systems display emergent behaviors that are not easily anticipated from the cumulative properties of the constituents, 2) no individual constituent perceives the entire system, and 3) traditional system development approaches, such as tight coupling between systems, central processes and data control, and top-down enforcement of architectural rules and other standards will not work.
A central aspect to engineering and managing within a system-of-systems environment is understanding the relationships among the various constituents. The SoS Framework includes a set of graphs, or interoperability maps, to capture information associated with these relationships that each of the other SoS Navigator elements can use. The SoS Framework also includes a set of processes to create, use, and advance this relationship information.
Interoperability maps (IMs) are sets of graphs that characterize the relationships in a system of systems from the perspective of the global SoS entity, individual constituents (represented as nodes in the graph), and individual agreements (represented as arcs between a pair of nodes).
These IMs capture information about how constituents influence each other within a system of systems. IMs capture the reality of how things work—not how they are supposed to work—and represent actual understandings, intents, and expectations of constituents as opposed to what is stated in acquisition and design artifacts.
Three forms of IMs are currently in the SoS Framework:
Context interoperability map. The context IM provides a general “lay of the land,” and may provide insight into possible areas of the system of systems that would be good candidates for further exploration.
Node-centric interoperability map. Node-centric IMs focus on the perspective of a single program management office, contractor, or other type of constituent. The node-centric IM documents the detailed influences on a constituent of a system of systems from the standpoint of that constituent.
Arc-centric interoperability map. Arc-centric IMs provide detailed insights into a specific influence relationship.
Charting and Improving SoS Practice
The SoS Framework includes processes that are used to manage relationships among constituents of a system of systems that include forming and advancing agreements among constituents and managing intentions and expectations.
Charting provides approaches to understand the current state of a particular system of systems and determine necessary improvements. The objectives are to provide stakeholders with a profile of the constituents and their primary patterns of relationships, barriers, and enablers to achieving their desired system of system interoperation and to recommended actions to enhance their success. The charting team would typically perform the SoS Diagnose and SoS Analyze steps sequentially.
The SoS Diagnose step assists organizations in identifying key enablers and barriers for achieving required levels of interoperability. It also helps organizations gain insight into the constituents associated with program management, system construction and sustainment, and system operation; their key relationships; the information exchanged; and the decisions made as a result.
SoS Diagnose gathers information about constituents and their relationships through a series of structured discussion sessions and workshops. Quantifiable data and other documented information are used to augment the discussion and workshop sessions. Interoperability maps are an additional technique used to elicit and capture information relevant to management, construction and assembly, fielding, and operations.
The objectives for SoS Analyze are to:
identify potential system of systems “practices gap”
form recommended actions
determine next steps to initiate the action planning activities of SoS Pilot (what could be done and who should be involved in actual action planning)
Improving consists of the SoS Pilot and SoS Guide phases. It helps individuals and organizations
develop an implementation roadmap for the recommendations
prototype and validate new approaches within the system-of-systems environment
perform necessary adaptations for the specific environment
determine viable rollout strategies to the broader set of organizations
manage and monitor the effectiveness of the new approaches in broader use
SoS Pilot builds on the recommendations from SoS Analyze as well as the paradigms, practices, and techniques of the SoS Framework. SoS Pilot is a set of techniques that applies existing improvement approaches where appropriate and adapts these as needed, particularly in the area of multi-organizational interactions. Another critical part of SoS Pilot is to identify and implement a prototype or demonstration project for the highest priority recommendations and action plans. The goal is to demonstrate use of selected system-of-systems practices in a pilot project setting.
The SoS Guide phase expands the practices demonstrated in SoS Pilot to the rest of the organizations of a system of systems. The primary objectives for SoS Guide include
characterizing the organizational readiness for the cultural and organizational assumptions of SoS Framework
characterizing the adoption risks
creating an institutionalization plan to the broader community of interest.
creating or expanding the change infrastructure across the broader community
executing the institutionalization plan
monitoring the effectiveness of adopted practices and recommending adjustments as necessary
SoS Navigator is an integrated set of practices that addresses the challenges related to achieving effective interoperability in a large system-of-systems context. The constituents of such systems of systems are highly dynamic and involve diverse stakeholders. The systems of systems often evolve into existence and continue to evolve throughout the life cycle as new constituents are built, existing systems connect to become constituents, and other constituents leave.
SoS Navigator helps organizations chart a technical, organizational, and operational path through this system-of-systems environment and helps them prepare for the even more demanding environments of the future—Internet-scale systems of systems.
Morris, E.; Levine, L.; Meyers, C.; Plakosh, D.; & Place, P. Systems of Systems Interoperability. (CMU/SEI-2004-TR-004). Software Engineering Institute, Carnegie Mellon University. April 2004.
About the Authors
Lisa Brownsword is a senior member of the technical staff in the SEI Integration of Software-Intensive Systems (ISIS) initiative. She is currently investigating the enablers and barriers to interoperability in system-of-systems environments. She was previously a member of the COTS-Based Systems (CBS) initiative where she developed a process for CBS, Evolutionary Process for Integrating COTS-based systems (EPIC). She founded and was the inaugural conference chair for the International Conference on COTS-Based Software Systems (ICCBSS). Brownsword has written numerous articles and technical reports and has delivered presentations at conferences and workshops worldwide.
Dennis Smith is the lead for the SEI Integration of Software Intensive Systems (ISIS) Initiative. This initiative focuses on addressing issues of interoperability and integration in large-scale systems and systems of systems. Earlier, he was the technical lead in the effort for migrating legacy systems to product lines. In this role he developed the method Options Analysis for Reengineering (OARS) to support reuse decision-making. Smith has also been the project leader for the CASE environments project. This project examined the underlying issues of CASE integration, process support for environments and the adoption of technology. Smith has published a wide variety of articles and technical reports, and has given talks and keynotes at a number of conferences and workshops. He has an MA and PhD from Princeton University, and a BA from Columbia University.
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.