Chapter 11. Special Topic: C4ISR Architecture and the UML

In the Department of Defense (DoD) world, the Command, Communications, Control, Computers, Intelligence, and Reconnaissance Architecture Framework (C4ISR-AF) specifies a unifying set of views of architecture. However, this architecture was published about the same time as the original UML specification and so did not use the UML notations or semantics. This chapter shows you how to represent the C4ISR products using the UML.

Notations and Topics Discussed

C4ISR

Operational View

Systems View

Technical View

Required Products

Supporting Products

Introduction

The UML is particularly adept at clearly showing architectures, system structures, and behavior—all vital aspects of any C4ISR-compliant product. Besides being useful and appropriate for creating C4ISR products, the UML has a number of other significant advantages for architectural description. First, it is a widely used standard that is taught in many universities. There are over a hundred books available about the UML, and there are easily over a dozen different commercial tools available. The UML is in widespread use by systems and software engineers in the real-time and embedded domain. The UML can be used all the way through the development process, from specifying the operational architecture (via C4ISR products) to systems engineering and software development—they can all use the same language for specification and design. This minimizes confusion and error-prone translation among discipline-specific languages.

What Is C4ISR?

The C4ISR Architecture Framework (C4ISR-AF) is a semantic framework for representing architectures in a consistent way [1]. It was conceived as a way of providing a common means to specify systems for the Department of Defense (DoD) in its many facets and programs. It is being updated by the DoD Architecture Framework Working Group (AFWG) into a new standard called the DoD Architecture Framework (DAF) [3,4]. As stated in the C4ISR-AF specification:

Architectures provide a mechanism for understanding and managing complexity. The purpose of C4ISR architectures is to improve capabilities by enabling the quick synthesis of “go-to-war” requirements with sound investments leading to the rapid employment of improved operational capabilities, and enabling the efficient engineering of warrior systems. The ability to compare, analyze, and integrate architectures developed by the geographical and functional, unified Commands, Military Services, and Defense Agencies (hereinafter also referred to as Commands, Services, and Agencies, or C/S/As) from a cross-organizational perspective is critical to achieving these objectives.

The C4ISR Architecture Framework is intended to ensure that the architecture descriptions developed by the Commands, Services, and Agencies are interrelatable between and among each organization's operational, systems, and technical architecture views, and are comparable and integratable across Joint and combined organizational boundaries.

The purpose of the C4ISR-AF is to provide assistance in the specification of architectures. Architecture itself has a number of definitions. The C4ISR-AF uses the definition of IEEE 610.12 [2]:

The structure of components, their relationships, and the principles and guidelines governing their design and evolution over time.

Architectures in the C4ISR-AF have three fundamental views: operational, systems, and technical. The emphasis in each of these views is, of course, different and distinct, but they overlap to a significant degree.

The operational view is a description of the tasks and activities, operational elements, and information flows required to accomplish or support a military operation. This view includes doctrine (which in another environment might be called business rules), activities, and assignment of these activities to operational elements and the sequences and time frames of the execution of the activities. Operational architectures are usually independent of the systems used to implement them.

The systems view is a description of the systems and their interconnections providing for, or supporting, war-fighting functions. The systems view includes the large-scale elements and objects that interact to achieve the operational goals as well as their locations, interconnections, and so on. The systems involved may include key nodes (including materiel), networks (as well as interconnections and interfaces), war-fighting platforms, weapons systems, and so on, as well as their various qualities of service such as mean time between failures (MTBF), maintainability, speed, capacity, and availability. Systems described in the systems view can be used to achieve many different operational architectures, organizations, and missions. The systems view does depend on the underlying technology described in the technical view and is constrained by its limitations.

The technical view provides the minimal set of rules governing the arrangement, interaction, and interdependence of system parts or elements, whose purpose is to ensure that a conformant system satisfies a specified set of requirements. The technical view provides the basis for engineering specification of the systems in the systems view and includes technical standards. Put another way, the technical view is the engineering infrastructure that supports the systems view.

Within each of these architectural areas, the standard defines work products. The list of these products is given in Table 11-1. Each of these products will be discussed and in most cases a UML view that meets both the needs and intent of the product will be shown.

Table 11-1. DAF (C4ISR) Work Products[1]

Applicable View

Framework Product

UML Views

Framework Product Name

General Description

All Views

AV-1

Descriptions, notes, text

Overview and Summary Information

Scope, purpose, intended users, environment depicted, analytical findings.

All Views

AV-2

Model repository, reports

Integrated Dictionary

Data repository with definitions of all terms used in all products.

Operational

OV-1

Class diagram, deployment diagram

High-Level Operational Concept Graphic

High-level graphical/ textual description of operational concept.

Operational

OV-2

Class diagram, deployment diagram

Operational Node Connectivity Description

Operational nodes, operationalactivities performed at each node, connectivity and information exchange need lines between nodes.

Operational

OV-3

Report from model repository

Operational Information Exchange Matrix

Information exchanged between nodes and the relevant attributes of that exchange.

Operational

OV-4

Class diagram

Command Relationships Chart

Organizational, role, or other relationships among organizations.

Operational

OV-5

Activity diagram, statechart, class diagram with flows

Operational Activity Model

Operational activities, relationships among activities, inputs and outputs. Overlays can show cost, performing nodes, or other pertinent information.

Operational

OV-6a

Sequence diagram, activity diagram, statechart

Operational Rules Model

One of the three products used to describe operational activity sequence and timing. Identifies business rules that constrain operation.

Operational

OV-6b

Statechart, activity diagram

Operational State Transition Description

One of three products used to describe operational activity sequence and timing. Identifies business process responses to events.

Operational

OV-6c

Sequence diagram, statechart, activity diagram

Operational Event-Trace Description

One of three products used to describe operational activity sequence and timing. Traces actions in a scenario or sequence of events and specifies timing of events.

Operational

OV-7

Class diagram

Logical Data Model

Documentation of the data requirements and structural business process rules of the operational view.

Systems

SV-1

Class diagram Text in descriptions

Systems Interface Description

Identification of systems and system components and their interconnections, within and between nodes.

Systems

SV-2

Class diagram

Systems Communications Description

Systems nodes and their related communications lay-downs.

Systems

SV-3

Class diagram, report on model

Systems-Systems Matrix

Relationships among systems in a given architecture; can be designed to show relationships of interest, e.g., system-type interfaces, planned vs. existing interfaces, etc.

Systems

SV-4

Use case diagram, class diagram with flows

Systems Functionality Description

Functions performed by systems and the information flow among system functions.

Systems

SV-5

Class diagram with dependencies, DOORS traceability matrix

Operational Activity to Systems Function Traceability Matrix

Mapping of systems back to operational capabilities or of system functions back to operational activities.

Systems

SV-6

Data flow on class diagram

Systems Data Exchange Matrix

Provides details of systems data being exchanged between systems.

Systems

SV-7

Class diagram with constraints for performance quality of service

Systems Performance Parameters Matrix

Performance characteristics of each system(s) hardware and software elements, for the appropriate timeframe(s).

Systems

SV-8

Activity diagram

Systems Evolution Description

Planned incremental steps toward migrating a suite of systems to a more efficient suite or toward evolving a current system to a future implementation.

Systems

SV-9

Text

Systems Technology Forecast

Emerging technologies and software/hardware products that are expected to be available in a given set of timeframes and that will affect future development of the architecture.

Systems

SV-10a

Statechart, activity diagram, sequence diagram

Systems Rules Model

One of three products used to describe systems activity sequence and timing. Constraints that are imposed on systems functionality due to some aspect of systems design or implementation.

Systems

SV-10b

Statechart

Systems State Transition Description

One of three products used to describe systems activity sequence and timing. Responses of a system to events.

Systems

SV-10c

Sequence diagram

Systems Event-Trace Description

One of three products used to describe systems activity sequence and timing. System-specific refinements of critical sequences of events and the timing of these events.

Systems

SV-11

Deployment diagram, class diagram

Physical Schema

Physical implementation of the information of the logical data model, e.g., message formats, file structures, physical schema.

Technical

TV-1

Hyperlinks in model, text

Technical Standards Profile

Extraction of standards that apply to the given architecture.

Technical

TV-2

Text

Technical Standards Forecast

Description of emerging standards that are expected to apply to the given architecture, within an appropriate set of timeframes.

[1] There are a number of ways to map C4ISR products to the UML. This table represents one way proposed by the author.

Required Products of C4ISR

The C4ISR-AF identifies a large number of artifacts, called products, that are used in the description of the various architecture views. Some of these are required for compliance to the C4ISR-AF, but most are optional and can be used when appropriate. These are referred to as supporting products. In this section, we discuss the required products listed in Table 11-1.

AV-1 Overview and Summary Information

The Overview and Summary Information product is an essential artifact for making projects compliant with C4ISR-AF. [1] provides a list of the required contents of this artifact as well as a sample format. This information may be directly entered into the model in the model description field, as shown in Figure 11-1, or it may be created in a separate textual document and hyperlinked in the Rhapsody model.

Report on Model for AV-1 Overview

Figure 11-1. Report on Model for AV-1 Overview

The AV-2 Integrated Dictionary

The Integrated Dictionary product defines the metadata of the product and is normally provided in a textual output. This metadata is maintained for you automatically by Rhapsody and may be viewed in the Rhapsody browser or used to generate reports and details as desired. This is illustrated in Figure 11-2. Besides the built-in report-on model, which can generate reports, Rhapsody has a powerful reporting facility known as ReporterPLUS, which allows you to generate reports in customizable formats and templates.

AV-2 Integrated Dictionary

Figure 11-2. AV-2 Integrated Dictionary

OV-1 High-Level Operational Concept Graphic

This is a very general architectural picture of the architecture-description products. It is used to facilitate human-human communication, especially among high-level decision makers. Commonly, it graphically depicts the coordinated deployment of systems to achieve the operational objectives. This is easily done in a class or deployment diagram, using stereotypes to identify the various kinds of systems involved in the operational concept. Figure 11-3 shows an example operational concept diagram as a class diagram using standard UML elements—classes with appropriate stereotypes and dependency relations.

OV-1 Operation Concept Diagram with Standard Notation

Figure 11-3. OV-1 Operation Concept Diagram with Standard Notation

Figure 11-4 shows the same diagram using meaningful bitmap icons to represent the operational elements. This is very simple to do with Rhapsody and simplifies the interpretation of the graphic.

OV-1 Operational Concept Diagram in Rhapsody with Icons

Figure 11-4. OV-1 Operational Concept Diagram in Rhapsody with Icons

OV-2 Operational Node Connectivity Description

The Operation Node Connectivity Description identifies the operational nodes, their connections, and the information shared among them. In the UML, operational nodes may be represented as classes on class diagrams or as nodes on deployment diagrams. In Figure 11-5,[2] operational nodes and subnodes are shown as classes; the interfaces among the operational nodes are mediated via the associations. The actual information content transmitted along these associations is captured in constraints (the notes with the curly braces), and supporting information is shown in either free text or comments within note boxes.

OV-2 Operational Node Connectivity with Classes

Figure 11-5. OV-2 Operational Node Connectivity with Classes

The same information is shown in the diagram in Figure 11-6, except that the operational nodes are shown as nodes on a deployment diagram. In general, classes have richer semantics than nodes on deployment diagrams and so are usually preferred for that reason.

OV-2 Operational Node Connectivity with Deployment Diagram

Figure 11-6. OV-2 Operational Node Connectivity with Deployment Diagram

OV-3 Operational Information Exchange Matrix

The Operational Information Exchange Matrix expresses the relationship between activities, operational elements, and information flow, focusing on the latter. The UML doesn't have a matrix notation, but this can be cast as a specialized format of a report constructed from the model repository held by Rhapsody.

Alternatively, the data flow notation of the UML 2.0 can easily depict the information exchange among operational elements. In the UML diagram in Figure 11-7, icons are used to represent operational elements (modeled with UML classes) with information flows among these elements.

OV-3 Data Information Exchange

Figure 11-7. OV-3 Data Information Exchange

SV-1 System Interface Description

The System Interface Description shows the structural elements of the systems architecture and the informational interfaces among them.

Sometimes it is important to show the large-scale deployment of the elements into the systems rather than their categories, as is shown in Figure 11-8. Figure 11-9 shows the deployed systems as structured classes with the internal subsystems as classes. These elements may have stereotypes attached, if desired. This more detailed view shows the subsystems and their interconnections within the systems as well as between systems.

SV-1 System Interface Description

Figure 11-8. SV-1 System Interface Description

SV-1 Intrasystem Perspective

Figure 11-9. SV-1 Intrasystem Perspective

TV-1 Technical Architecture Profile

The Technical Architecture Profile is a description of the technologies to be included in the system, normally as references to application standards documents, such as [1] or the POSIX standard. These may be specified in a textual document (most common) or they may be added as constraints to the model elements.

Supporting Products

There are a large number of optional supporting products defined in [1], [3], and [4], most of which can be easily and productively represented in the UML.

OV-4 Command Relationships Chart

The OV-4 diagram is used primarily for the command structure of some unit or units of battle. The UML view for this is a class diagram, using aggregation to show ownership. Other relations may be added; for significant communications between subunits or individuals, associations should be used. For less obvious relations, dependencies may be used. Figure 11-10 shows a relation set, including ownership and assignment relations, when a person is assigned to one unit or individual but commanded by another.

OV-4 Command Relationship Chart

Figure 11-10. OV-4 Command Relationship Chart

OV-5 Operational Activity Model

The Operational Activity Model specifies the flow of execution among activities, possibly with the generation of artifacts such as reports and OP orders. Figure 11-11 uses the UML activity diagram to show the primary activities and their subactivities to achieve a Joint Force Targeting activity. The nesting depicts the whole-part nature of the activities (i.e., activities may be divided into smaller subactivities). The arrows depict the flow of execution as the activities complete over time. The bars indicate forks or joins; a fork indicates a branching into concurrent (simultaneously executing) activities while a join indicates a merging together of previously concurrent activities.

OV-5 Operational Activity Model

Figure 11-11. OV-5 Operational Activity Model

Often, activities are performed by a set of collaborating operational or system elements. This can be indicated using swim lanes to divide the activities into activities done by a single operational and those done by a systems entity. An abstract example is shown in Figure 11-12, with swim lanes for external elements, special OPs, CIC, battalion commander, and air support. This diagram shows forks and joins as well as branch points (indicated with a diamond). A fork differs from a branch in that all transitions from a fork become simultaneously active while only a single transition from a branch is taken.

OV-5 Operational Activity Model with Swim Lanes

Figure 11-12. OV-5 Operational Activity Model with Swim Lanes

Figure 11-13 shows a concrete example. Two entities, OTC CWC and FLTCINC, are shown executing a set of activities. The structure of their collaboration becomes clear in this diagram. Diagram connectors are used to beautify the diagram.

OV-5 Operational Activity Model with Two Agencies

Figure 11-13. OV-5 Operational Activity Model with Two Agencies

OV-6a Operational Rules Model, SV-10a Systems Rules Model

The operational rules model shows the relationship among the activities. This can be done using any of the behavioral diagrams of the UML:

  • An activity diagram is preferred when the activities flow from one activity to the next upon completion, but may have forks and joins (concurrently executing activities) or branching (alternatives), or may be assigned to different system or operational elements (via swim lanes).

  • A statechart is preferred when the states or conditions of existence persist until some event of interest occurs, such as an incoming asynchronous event (e.g., a hostile missile launch), a synchronous service request (e.g., the requester waits until the service is completed before moving forward), or a timeout (e.g., a delayed launch). Behaviors are executed during the change of state or within a state when such an event is received.

  • A sequence diagram is preferred when a particular operational scenario is to be shown, that is, a collaborative behavior of system or operational elements, beginning with specific preconditions and with a specific event sequence, ignoring other possibilities.

In this case (see Figure 11-14), we show only a class diagram for the logical data model and describe some business rules. In the later OV-6 diagrams we present a statechart for the OV-6b example and a sequence diagram for the OV-6c example.

OV-6a Logical Data Model for Operational Rules

Figure 11-14. OV-6a Logical Data Model for Operational Rules

Business rules can be applied to the logical data model (taken from [1]):

For Each MISSILE TRACK entity instance
    If MISSILE TRACK boost phase code > 0,
         Then MISSILE TRACK acceleration rate is
         non-null
    Else MISSILE TRACK drag effect rate is non-null
         And
         There Exists a MISSILE TRACK POINT
           entity instance Such
         That
                      MISSILE TRACK.SOURCE TRACK
                        identifier =
                      MISSILE TRACK POINT.SOURCE TRACK
                      identifier
         And
                      MISSILE TRACK POINT.SOURCE
                        identifier
         End If
End For

OV-6b Operational State Transition Description, SV-10b Systems State Transition Description

The Operational State Transition Description is best described by a state chart. In Figure 11-15, the AIDSystem shows the states it goes through in selecting and destroying a target.

OV-6b Statechart for Operation State Transition Description

Figure 11-15. OV-6b Statechart for Operation State Transition Description

OV-6c Operational Event-Trace Description, SV-10c Systems Event Trace Description

OV-6c, the Event-Trace Description, is used to show the specific flow or sequence of messages and events during a very specific scenario or example execution of the system. Branch points are typically not shown. Emphasis is on a specific execution given a specific set of preconditions and a specific sequencing of incoming events and messages. It is common to produce dozens of such operational scenarios, each on a separate diagram, to explore variations of system behavior. Figure 11-16 shows a typical example of an event trace description shown with a UML sequence diagram.

OV-6c Event-Trace Description with Sequence Diagram

Figure 11-16. OV-6c Event-Trace Description with Sequence Diagram

OV-7 Logical Data Model

Figure 11-17. OV-7 Logical Data Model

OV-7 Logical Data Model

The logical data model focuses on the information known to or processed by the system during its execution. In the UML, this is modeled with class diagrams. Class diagrams can depict system structure as well as information content, so to achieve the OV-7 goals, the class diagrams focus on the informational content of the system and the relationships among those data, and not on the processing of this information.

SV-3 Systems-Systems Matrix

The Systems-Systems Matrix shows the relationships among the set of large-scale entities (systems). As mentioned previously, the UML does not have a matrix view. However, the information can be shown easily on a class diagram (also a two-dimensional view), as has been done in Figure 11-18. It is also possible to construct a matrix from the data held in the model repository.

SV-3 Systems-Systems Matrix with Class Diagram

Figure 11-18. SV-3 Systems-Systems Matrix with Class Diagram

SV-4 Systems Functionality Description

The Systems Functionality Description (SV-4) shows the functionality of a system or set of systems at a high-level view. The natural view in the UML is the use case diagram. Of course, using just the names of the use cases is insufficient, so Rhapsody has description fields that can hold text (and/or hyperlinks to other documents in other tools such as Word or Framemaker) to more fully explain the functionality represented by the use case. It is common to detail the use case with a combination of text, statecharts, activity diagrams, and sequence diagrams. Figure 11-19 shows a use case diagram with the description field for one of the use cases.

SV-4 Systems Functionality Description

Figure 11-19. SV-4 Systems Functionality Description

SV-5 Operational Activity to Systems Function Traceability Matrix

The purpose of the Operational Activity to Systems Function Traceability Matrix (SV-5) is to allow mapping from operational activities defined in OV-5, OV-6a, PV-6b, and OV-6c into systems functions. This can be done in UML using dependencies if desired, but the most common way in the UML to achieve this goal is with the swim lanes in the activity diagrams. The swim lanes can represent system elements or functions while the activities in the diagram are the operational activities. See Figure 11-12 and Figure 11-13 for examples.

Another common approach to traceability is to use third-party requirements traceability tools, such as DOORS, to define the mapping between the operational activities and the system use cases or system elements.

SV-6 Systems Data Exchange Matrix

The Systems Data Exchange Matrix (SV-6) shows how information is exchanged among system elements. Although the name of the product includes the word matrix, it may be met by any visualization that shows the information flow among system elements. The most natural view in the UML is to show the system elements as classes connected with data flows, as defined in the UML 2.0 specification. Figure 11-20 shows elements of an aircraft weapons management system with information flows among the elements. An information flow is shown as a «flow» stereotype of dependency, with information items attached. These information items may be rich and complex, and so may themselves be classes with their structure depicted on the diagram(s).

SV-6 Data Flow on Class Diagram

Figure 11-20. SV-6 Data Flow on Class Diagram

SV-7 Systems Performance Parameters Matrix

Performance is, of course, a crucial aspect of military and other real-time and embedded systems. In the UML, performance is a rather large subclass of the more general concept of QoS. Performance-related QoS properties include worst-case execution time, throughput, average execution time, capacity, and so on. The OMG provides a standard set of performance-related property tags in [5]. In the UML, QoS properties may be attached to just about any element. However, whether standard or custom properties are used, the usage model is the same. The system elements are stereotyped to have the appropriate properties (tags) and then these properties are assigned values in constraints. These constraints can be shown on the class diagrams with the elements they constrain, such as in Figure 11-21, or they may be view in the model browser and in reports, as shown in Figure 11-22.

SV-7 Systems Performance on Class Diagram

Figure 11-21. SV-7 Systems Performance on Class Diagram

SV-7 Systems Performance in Reports and Browser

Figure 11-22. SV-7 Systems Performance in Reports and Browser

SV-8 Systems Evolution Description

The Systems Evolution Description (SV-8) is logically a map of development activities leading to successive releases and versions of one or more systems. The UML activity diagram represents such processes clearly and distinctly. In Figure 11-23, the development activities are shown in the rounded rectangles while the artifacts are shown in the rectangles. Such evolution descriptions may be as complex as needed to describe the development plans for any system element or set of system elements.

SV-8 Systems Evolution Description

Figure 11-23. SV-8 Systems Evolution Description

SV-9 Systems Technology Forecast

As with TV-2, Systems Technology Forecast (SV-9) is almost exclusively a textual document. There is no UML representation, although text can be represented in the description fields of a tool such as Rhapsody. Additionally, external documents may be linked to with hyperlinks in Rhapsody so that selecting them executes the appropriate application to read, view, or modify the document.

SV-11 Physical Schema

The Physical Schema shows how the logical data model (OV-7) is to be physically realized—that is, how the information maps onto artifacts, devices, and other elements in the systems architecture view. This is most commonly done with a deployment diagram, where the nodes represent the hardware devices and the components represent the software or informational elements. It can also be done in a component diagram in which the logical elements (classes) are mapped into the components. A class diagram is yet another possibility, where some classes represent the physical items and others represent the logical elements.

Figure 11-24 shows the mapping of components onto the deployment nodes (hardware elements) using a standard UML deployment diagram.

SV-11 Physical Schema with Deployment

Figure 11-24. SV-11 Physical Schema with Deployment

Physical Schema may also refer entirely to the organization of software elements into component artifacts, such as documents, link libraries, executables, and so on. Figure 11-25 shows an example of this. The stereotypes «Executable», «Library», and «Hardware» show the kind of component being represented.

SV-11 Physical Schema with Components

Figure 11-25. SV-11 Physical Schema with Components

Summary

The C4ISR (and the upcoming DAF) standard defines a number of work products, some of which are identified as required for a system to be compliant; others are identified as supporting and are recommended but not required. The 1997 standard [1] came out at about the same time as the UML standard and therefore doesn't take advantage of the rich semantics and clear notation provided by the UML. Since then, the UML has been widely adopted in the specification of software and systems within the DoD and other environments. This chapter discusses each product required by the C4ISR and shows how standard UML views and semantics can be used to represent them. Clearly, the unifying nature of the UML meets the needs of the C4ISR very well, now and into the future.

Acknowledgments

The aircraft weapon systems diagrams were taken or adapted from the ADMS model by Andy Lapping of I-Logix. Some of the other examples were adapted from [1].

References



[2] The example is taken from [1] and recast into UML notation and semantics.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.117.109