DoDAF Tutorial
DoDAF Tutorial
DoDAF Tutorial
Before using the information in this manual, be sure to read the Notices section of the Help or the PDF available from Help > List of Books.
This edition applies to Telelogic Rhapsody 7.4 and to all subsequent releases and modifications until otherwise indicated in new editions. Copyright IBM Corporation 1997, 2008. US Government Users Restricted RightsUse, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
ii
Contents
Rhapsody
iii
Table of Contents
Creating an OV-6c Operational Event Trace Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating an OV-7 Logical Data Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Needline Information and Mission Objectives to the OV-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting the Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Information Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Another OV-2 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating the OV-6b Operational State Transition Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating the OV-3 Operational Information Exchange Matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating the SV-4 System Function Description Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating the SV-1 System Interface Description Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating the SV-5 Operational Activity to Systems Function Traceability Matrix . . . . . . . . . . . . . . . . . . . 54 65 67 75 76 79 81 88 90 95 99
Information on Creating the SV-10b and SV-10c Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Generating the DoDAF Report from the Architecture Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Verifying the Rhapsody DoDAF Add-on Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manually Adding the DoDAF Helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fixing the Model if Messages Appear as Mission Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OV-3, SV-3, SV-5, SV-6, Captions, or Table of Figures are Not Visible in the Document . . . . . . . . . . . 107 109 111 115
iv
DoDAF Tutorial
Welcome to the Rhapsody DoDAF Tutorial. Rhapsody is the Model-Driven Development environment of choice for systems engineers and software developers of either embedded or real-time systems. While no prior knowledge of Rhapsody is required to complete this tutorial, a basic understanding of DoDAF (Department of Defense Architectural Framework) allows better understanding of the architecture model.
Rhapsody
Required Software
The Rhapsody DoDAF Add-on can be used on Windows XP SP1 or newer. This tutorial requires the following application software to be properly installed and licensed on your system.
Required Application
Rhapsody Rhapsody DoDAF Add-on Adobe Acrobat Reader Microsoft Word Microsoft Excel Microsoft Paint (or another bitmap image viewer) Microsoft .NET Framework
Version
7.3 or later 7.3 or later 6.0 or later 2003 or later 2003 or later N/A 1.1.4322 or later
Note
This tutorial does not include the Microsoft Excel, Microsoft Word, or Microsoft Paint software (these can be purchased from Microsoft Corporation). This tutorial does not include Adobe Acrobat Reader, which can be downloaded for free from the Adobe Web site.
DoDAF Tutorial
UML Diagrams
The following are the UML diagrams in Rhapsody: Use Case Diagrams show the main functions of the system (use cases) and the entities (actors) outside the system. Structure Diagrams show the system structure and identify the organizational pieces of the system. Object Model Diagrams show the structure of the system in terms of classes, objects, and the relationships between these structural elements. Sequence Diagrams show sequences of steps and messages passed between structural elements when executing a particular instance of a use case. Activity Diagrams specify a flow for classifiers (classes, actors, use cases), objects, and operations. Statecharts show the behavior of a particular classifier (class, actor, use case) or object over its entire life cycle. Collaboration Diagrams provide the same information as sequence diagrams, emphasizing structure rather than time. Component Diagrams describe the organization of the software units and the dependencies among units. Deployment Diagrams show the nodes in the final system architecture and the connections between them. In addition, Flow Charts are available in the Rhapsody product. Flow charts are not in UML. They are a subset of activity diagrams with parts (of the functionality for activity diagrams) excluded. Flow charts have specifically event-driven behavior. You can use a flow chart to describe a function or class operation and for code generation.
Rhapsody
For more information about the folders and files that are part of a Rhapsody model, see About Project Files and Folders.
DoDAF Tutorial
About the Rhapsody Product In addition, the name appears at the top level of the project hierarchy on the Rhapsody browser. The following figure shows the Rhapsody browser for the DoDAF_Tutorial model.
Rhapsody
DoDAF Tutorial
Toolbars
Browser Window
Drawing Toolbar
Drawing Area
Rhapsody
Toolbars
The Rhapsody toolbars provide quick access to the commonly used commands. These commands are also available from the menus. The Rhapsody product has the following toolbars: Standard has icons for the frequently used options on the File, Edit, and Help menus. Examples: New, Open, Save; Copy, Paste, Locate in Browser; About. Code has icons for the frequently used options on the Code menu, such as Make, Run executable and G/M/R (for Generate/Make/Run). Windows has icons for the frequently used options on the View menu, such as Show/Hide Browser and Show/Hide output window. Diagrams has icons for the part of the Tools menu that give you quick access to the diagrams in the project, such as Sequence Diagrams and Open Statechart. VBA provides access to the VBA options, such as VBA Editor and Show Macros Dialog. Note that VBA is for Windows only. Animation has icons for the animation options during an animation session, such as Go, Animation Break, and Quit Animation. Layout has icons that help you with the layout of elements in your diagram, such as Snap to Grid, Align Top, and Align Left. Drawing has icons for the graphics editor used to create and edit diagrams. Each Drawing toolbar is unique to its particular diagram type. For example, the Drawing toolbar for a sequence diagram is different from that for a statechart. Common Drawing has icons to add requirements, comments, and other annotations to any diagram, such as Note and Requirement. Free Shapes has icons for basic drawing shapes, such as Polyline and Polycurve. Zoom has icons to zoom options, such as Zoom In, Zoom Out, and Pan. Format has icons for various text formatting options and line/fill options, such as Italic and Font Color. Refer to the Rhapsody User Guide for detailed information about the toolbars.
DoDAF Tutorial
Browser
The Rhapsody browser shows the contents of the project in an expandable tree structure. By default, it is the upper, left-hand part of the Rhapsody interface. The top-level folder, which contains the name of the project, is the project folder or project node. Although this folder contains no elements, the folders that reside under it contain elements that have similar characteristics. These folders are referred to as categories. A project consists of at least one package in the Packages category. A package contains UML elements, such as classes, files, and diagrams. Rhapsody automatically creates a default package called Default, which it uses to save model parts unless you specify a different package.
Rhapsody
Refer to the Rhapsody User Guide for information on the view options.
10
DoDAF Tutorial
Drawing Area
The drawing area displays the graphic editors and code editors, and it is the region for drawing diagrams. By default, it is the upper, right-hand section of the Rhapsody interface. Rhapsody displays each diagram with a tab that includes the name of the diagram and an icon that denotes the diagram type. When you make changes to a diagram, Rhapsody displays an asterisk after the name of the diagram in the title bar to indicate that you must save your changes.
Output Window
The Output window is where Rhapsody displays various output messages. Tabs on the Output window enable you to navigate easily among the different types of output messages: The Log tab shows all the messages from all the other tabs of the Output window (except for Search Results) in textmeaning non-tabularformat. The Build tab shows the messages related to building an application in tabular format. The Check Model tab shows the messages related to checking the code for a model in tabular format. The Configuration Management tab shows the messages related to configuration management actions for a model in text format. The Animation tab shows the message related to animating a model in text format. The Search Results tab shows the results from searches of your model in tabular format. Note that this tab may not appear until you perform a search. By default, the Output window is located at the bottom portion of the main Rhapsody window. Also by default, when you generate, build, or run an application; do a search, a configuration management action, or a check model, Rhapsody opens the Output window. To open the Output window manually, select View > Output Window.
Drawing Toolbars
The Drawing toolbar provides access to tools (shown as icons) used in creating and editing diagrams in the graphic editors. Each graphic editor has a unique drawing toolbar. To display or hide the Drawing toolbar for the current diagram, select View > Toolbars > Drawing. To view the complete set of drawing tools available for all the different diagrams, select View > Toolbars > All Drawing.
Rhapsody
11
Note
Even though you clicked Apply or OK for your changes in the Features dialog box, you must still save your model to save all the changes you made. Clicking Apply or OK applies any changes to the currently opened model. However, to save the changes for the model so that they are in effect the next time you open it, you must save your model. Note the following about the Apply and OK on the Features dialog box: Click Apply when you want to apply any changes you made to the Features dialog box but want keep it open. For example, you may need to apply a change before you can continue with using the Features dialog box, or you want to apply a change and see its effect before continuing making any more changes on the dialog box. Click OK when you want to apply your changes and close the Features dialog box at the same time.
12
DoDAF Tutorial
Description, as its title implies, contains the description of the element, if it has been included.
Rhapsody
13
Rhapsody DoDAF Tutorial Relations lists all the relationships (dependencies, associations, and so on) an element is engaged with, as shown in the following figure:
14
DoDAF Tutorial
Rhapsody User Interface Tags lists any tags available for an element. Tags enable you to add information to certain kinds of elements to reflect characteristics of the specific domain or platform for the modeled system. Refer to the Rhapsody User Guide for more information about tags.
Rhapsody
15
Rhapsody DoDAF Tutorial Properties lists the properties associated with the Rhapsody element. The top left column on this tab shows the metaclass and property (for example, Dependency and UsageType). The top right column shows the default for the selected property, if there is one (for example, Specification). The box at the bottom portion of the Properties tab shows the definition for the property selected in the upper left column of the tab. The definition display shows the names of the subject, metaclass, property, and the definition for the property, as shown in the following figure:
Note: Rhapsody documentation uses a notation method with double colons to identify
the location of a specific property. For example, for the property in the above figure, the location is CG::Dependency::UsageType where CG is the subject, Dependency is the metaclass, and UsageType is the property.
16
DoDAF Tutorial
Rhapsody
17
DoDAF Basics
The model created in this tutorial uses the out-of-the-box version of the Rhapsody DoDAF Addon. The DoDAF Add-on is a template-driven solution that can be customized and extended to meet specific customer requirements and development processes. You can contact Rhapsody support (http://modeling.telelogic.com/) for additional information on the Rhapsody DoDAF Add-on. DoDAF defines four views: Operational View Systems View Technical View All View The architecture model created in this tutorial includes the architecture products listed in the following table:
Architecture Product
All Views
View
Package
Product Name
AllViews
Product Description
This optional stereotyped package allows you to add in AV products and other views and packages, if desired. This product is typically a text (Word, FrameMaker, HTML) document. You can add AV-1documents and launch them by clicking on them. This is a DoDAF-generated text product (report). This optional stereotyped package is similar to the All View product. It supports all the operational products.
AV-1
All
AV-2
All
OV-1
Operational
This High-level graphical/textual description of the operational concept allows you to import pictures and other operational elements, such as Operational Nodes, Human Operational Nodes, Operational Activities, and the relations among them. This product shows the connections and flows among operational nodes and operational activities. If desired, the behavior of operational nodes and operational activities can be shown by adding OV-5, OV-6a, OV-6b, and OV-6c diagrams. These diagrams are the primary source of information used by the DoDAF add-on to create the OV-3 diagram.
OV-2
Operational
18
DoDAF Tutorial
DoDAF Basics
Architecture Product
OV-3
View
Operational
Product Name
Operational Information Exchange Matrix
Product Description
This product shows information exchanged between nodes and the relevant attributes of that exchange. OV-3 is generated from the information shown in OV-2 and other operational diagrams. This information is stored as a CSV file and can be added to any product. This product details the behavior of operational nodes or more commonly, operational activities. This product is a textual description of business rules for the operation. It is a controlled file. One of three products used to describe the mission objective. This product is a statechart that can be used to depict the behavior of an operational element (node or activity). One of three products used to describe the mission objective. This product is a sequence diagram that captures the behavioral interactions among and between operational elements and (in the Harmony process) captures the operational contracts among them. One of the three products used to describe the mission objective.
OV-5 OV-6a
Operational Operational
OV-6b
Operational
OV-6c
Operational
OV-7
Operational
Logical Data Model This product is a class diagram that shows the relations among Informational Elements (data classes). This is similar to entity relationship diagrams, but is more powerful. This optional stereotyped package is similar to other views, but contains system elements. Systems Interface Description Systems Communications Description Systems-Systems Matrix This product is a diagram that contains System nodes, systems, system parts and the connections between them (links). These can be used with or without ports. This product is a diagram that shows the connections among systems via the communications systems and networks. This product is generated from the information in the other system views. SV-3 assumes that there are links between items stereotyped SystemNode, System, or System Part and represents these in an N2 diagram.
Package Systems
SV-2
Systems
SV-3
Systems
Rhapsody
19
Architecture Product
SV-4
View
Systems
Product Name
Systems Functionality Description
Product Description
This product represents the connection between System Functions and Operational Activities. The connection is made by drawing a Realize dependency line from the System Function to the Operational activity on the diagram. System Functions are mapped onto the system elements that support them by making System Functions parts of the system elements (that is, System Functions are drawn within the other system elements). System elements can also realize system functions. Note that here, as in almost all the other views, you can use Performance Parameters (bound to their constrained elements via anchors) to add performance data. This is summarized in SV--7. This product is a spreadsheet-like generated view summarizing the relations among system elements (system nodes, systems and system parts), system functions that they support, and the mapping to operational activities. This product shows the information in the flows (information exchanges) between system elements. They may be embedded flows (bound to the links) or they may be flows independent of links. This is a spreadsheet-like generated product. This is a generated spreadsheet-like product, showing all the performance parameters and the elements that they constrain. This product is the system evolution description. This is an activity diagram (there is a SystemProject element stereotype to serve as the base for this activity diagram). SV-8 depicts the workflow for system development, object nodes for products released, and performance parameters for things like start and end dates, slack time, and so forth. This product is a text document - a stereotype of a Controlled File. These products are similar to the OV-6a, OV-6b, and OV-6c products, but they are separately identified, even though they are structurally identical.
SV-5
Systems
Operational Activity to Systems Function Traceability Matrix Systems Data Exchange Matrix
SV-6
Systems
SV-7
Systems
SV-8
Systems
SV-9
Systems
Systems Technology Forecast Systems Rules Model, Systems State Transition Description, Systems Event Trace Description Physical Schema
Systems
SV-11
Systems
This product is similar to the OV-7 class diagram. This product uses a class diagram to show physical schema (data representation).
20
DoDAF Tutorial
Description
Overview and Summary Information Integrated Dictionary Note: The Rhapsody model is a dynamic integrated dictionary of the architecture. A snapshot of the AV-2 product is also included in the DoDAF report generated from the model. High Level Operational Concept Graphic Operational Node Connectivity Description Operational Information Exchange Matrix Note: The OV-3 and SV-5 products are not manually created, but rather are automatically derived from the architecture model. Since the creation of the Systems View has many parallels with the creation of the Operational View, this tutorial includes some hands-on work in this area, as well as a discussion on creating additional Systems View products. Mission Objective Model Operational State Transition Description Operational Event-Trace Description Logical Data Model Systems Interface Description Systems Functionality Description Operational Activity to Systems Function Traceability Matrix Note: The SV-5 and OV-3 products are not manually created, but rather are automatically derived from the architecture model. Since the creation of the Systems View has many parallels with the creation of the Operational View, this tutorial includes some hands-on work in this area, as well as a discussion on creating additional Systems View products.
Rhapsody
21
4. Click OK. 5. If the folder you specified does not exist, you are asked if you want to create it. Click Yes. This new project is the standard starting point for a Rhapsody project.
22
DoDAF Tutorial
Getting Started with DoDAF Architecture 6. Expand OV-1s, Packages and Profiles by clicking the corresponding + sign in the Rhapsody browser, as shown below. The packages and profiles, shown in your diagram, may vary depending on your site properties and product licensing.
Rhapsody
23
Rhapsody DoDAF Tutorial 7. To initialize the DoDAF project, right-click your project folder (named Project_1 in this example) and select Setup DoDAF Packages. If you do not see this menu item, see Manually Adding the DoDAF Helpers in the Troubleshooting section of this tutorial.
24
DoDAF Tutorial
Getting Started with DoDAF Architecture 8. The DoDAF helper adds some new packages, views, and overviews to the project (as shown in the example). Expand the folders to examine these project additions.
Rhapsody
25
26
DoDAF Tutorial
Rhapsody
27
Rhapsody DoDAF Tutorial 4. On the Tags tab, enter the appropriate information for the Author, Date Created, Diagram Name, and Mission you are documenting DocBox fields:
5. Click OK when finished. 6. Return to the diagram and click twice in the middle cell of <<DocBox>> on your drawing area and type in the name of the object, element, reference, or note you want the <<DocBox>> to represent. This example uses OV-1 Mission Concept.
28
DoDAF Tutorial
Getting Started with DoDAF Architecture To create a hyperlink to the object, element, reference, or note you entered in <<DocBox>>, follow these steps: 1. Highlight the text in the middle cell <<DocBox>>, right-click, and select Hyperlink. A Hyperlink dialog box displays, as shown in the following figure:
2. Using the radio buttons, select either the Free text to display or the Target name and click the Link target drop-down menu (see the example below) to select the model object, element, or reference for this link.
Rhapsody
29
Rhapsody DoDAF Tutorial 3. Click OK twice and observe the added hyperlink, as shown in this example.
4. Click the new hyperlink and the OV-1 Mission Concept diagram displays.
30
DoDAF Tutorial
Note
Before proceeding, locate the av-1.doc and ov-1.bmp files using Windows Explorer. If you are unsure about where the Rhapsody DoDAF Add-on Tutorial is installed on your computer, see Verifying the Rhapsody DoDAF Add-on Installation in the Troubleshooting section of this tutorial. To add the AV-1 Overview and Summary Document to the model, follow these steps: 1. In the Rhapsody browser, expand AllViews. 2. Right-click AllView and select Add New > All View Diagram > AV-1, as shown in the following figure:
Rhapsody
31
Rhapsody DoDAF Tutorial 3. The Controlled File dialog box appears. Select av-1.doc and click Open.
4. A message appears asking you to click OK to copy the AV-1.doc file to the _rpy directory, as shown in the following figure. Click OK to continue. By clicking OK, the AV-1.doc file is now maintained as part of the Rhapsody model repository.
32
DoDAF Tutorial
Getting Started with DoDAF Architecture 5. Your Rhapsody browser should resemble the following figure:
Rhapsody
33
Rhapsody DoDAF Tutorial 6. Test the av-1 file by double-clicking it in the Rhapsody browser and confirm the av-1.doc file is displayed, as shown in the following figure:
34
DoDAF Tutorial
Rhapsody
35
Rhapsody DoDAF Tutorial Begin by opening OV-1 High-Level Graphic, which was created when you set up your Rhapsody DoDAF project. To do this, follow these steps: 1. In the Rhapsody browser, double-click OV-1 High-Level Graphic, as shown in the following figure:
36
DoDAF Tutorial
3. Click the Image icon on the Free Shapes toolbar, as shown in the following figure, to open the Open dialog box.
Note: You may have to select All Files from the Files of type drop-down list to see
.bmp files. You can use .jpg and image formats other than bitmaps.
5. Click Open.
Rhapsody
37
Rhapsody DoDAF Tutorial 6. A square graphic icon attached to the mouse pointer appears, as shown in the following figure:
7. Click the drawing area on the right side of the Rhapsody window to place the image. The ov-1.bmp appears, as shown in the following figure:
38
DoDAF Tutorial
9. Now that the OV-1 High-Level Graphic is complete, save the architecture model by choosing File >Save.
For this architecture model, you will define two operational nodes:
AssessThreat Mission Objective AttackTarget Mission Objective
Rhapsody
39
2. JCS plans the attack, including choosing an attack method. 3. JCS then issues attack orders to the Joint Force Maritime Component Commander (JFMCC). 4. JCS requests the Deep Operations Coordination Cell (DOCC) to perform damage assessment. 5. JFMCC then executes a missile or covert entry team attack on the target. 6. After JFMCC executes the attack on the target, DOCC reports damage to JCS. 7. JCS issues another attack order or ends the attack by ordering a stand-down.
40
DoDAF Tutorial
Getting Started with DoDAF Architecture From the two Mission Objectives above (AssessThreat Mission Objective and AttackTarget Mission Objective), you have enough information to create the OV-1 mission concept diagram.
Note
Whenever you begin a new diagram, adding a docbox that includes the name and purpose (mission) of the diagram can be very helpful. To draw the six Operational Nodes and show their association with the two Mission Objectives, follow these steps: 1. Double-click OV-1 Mission Concept in the Rhapsody browser. 2. Use the Operational Node icon on the Drawing toolbar to draw Operational Nodes called: DARO, JIPS, JCS, JIC, JFMCC, and DOCC, as shown in the following figure. As each node is drawn, the name is highlighted and can immediately be changed.
Rhapsody
41
3. Use the Mission Objective icon on the Drawing toolbar to draw the two Mission Objectives: AssessThreat and AttackTarget. As with Operational Nodes, when each Mission Objective is drawn, the name is highlighted and can immediately be changed from the default name.
Note: The Rhapsody DoDAF add-on provides a military clipart image library that
allows you to substitute appropriate images for various elements in the model. Right-click the desired element in the model, select Display Options, then select both Enable Image View and Select an Image and click the Ellipsis button to browse for images. The military clipart library is located at in the <(Rhapsody installation path>\Share\Profiles\DoDAF\Images subfolder. 4. Use the Dependency icon to draw lines from the AssessThreat Mission Objective to the Operational Nodes DARO, JIC, JCS and JIPS. Also draw dependency lines from the AttackTarget Mission Objective to the Operational Nodes JCS, JFMCC, and DOCC. 5. Use the Text icon on the Free Shapes toolbar to add the title Coordinated Land and Sea Attack to the diagram. Note the following: You may find it helpful to turn on the grid and enable snap to grid when drawing the diagram. The grid is turned on using the icon, and snap to grid is enabled using the icon. In order to change the name of an operational node or activity, simply double-click the name and it will become editable. You can also double-click the node or activity to open the Features dialog box, and then change the name in the name field. If you want to completely delete anything you've drawn in the diagram, right-click the item and select Delete from Model.
42
DoDAF Tutorial
Getting Started with DoDAF Architecture Now that the OV-1 Mission Concept diagram is drawn, add descriptions to the Mission Objectives. To add a description to a Mission Objective, follow these steps: 1. Double-click the Mission Objective in the OV-1 Mission Objective diagram to open the Features dialog box, as shown in the following figure:
2. Using the Ctrl+C (copy) and Ctrl+V (paste) keystrokes on the keyboard, copy and paste the Mission Objective descriptions (starting with AssessThreat Mission Objective) presented earlier in this section of the tutorial into the description area of the Features dialog box for each Mission Objective. You may have to touch-up the text for formatting purposes. 3. Click OK to close the Features dialog box. 4. Save the architecture model using File > Save. Your OV-1 Mission Concept diagram is now complete. As with the OV-1 High-Level Graphic diagram, a link from the OperationalView package to this diagram was automatically added for you when the DoDAF project was created.
Rhapsody
43
44
DoDAF Tutorial
Getting Started with DoDAF Architecture 3. Right-click anywhere on the drawing area and select Diagram Properties. The Diagram Properties dialog box opens. 4. On the General tab, select the Analysis Only check box, as shown in the following figure:
5. Click OK. 6. A prompt appears asking you to verify the operation. Click OK.
Rhapsody
45
Rhapsody DoDAF Tutorial Based on the AttackTarget Mission Objective description, you know the basic flow of operations is to: 1. Create the attack plan. 2. JFMCC carries out the attack and reports to JCS. 3. DOCC performs damage observation and reports to JCS. 4. JCS starts another phase in the attack plan or decides to end the attack by standing down. The completed OV-5 activity diagram is shown in the following figure.
46
DoDAF Tutorial
Getting Started with DoDAF Architecture In the activity diagram, the flow of execution is as follows:
Note
Whenever you begin a new diagram, adding a docbox that includes the name and purpose (mission) of the diagram can be very helpful. 1. Creating an attack plan (createAttackPlan in the diagram). 2. After the attack plan is created, a Fork Sync Bar is used to show that the: a. Attack (attack) b. c. d. Creation of the attack report (createAttackReport) Observation (observe) Creation of the observation report (createObserveReport) All happen simultaneously e. f. A termination state is added to show the end of the simultaneous actions. The attack results are assessed (assessAttackResults)
g. A decision to continue the attack or stand down happens (endAttack in diamond) h. i. A no response to the endAttack question repeats the attack scenario (transition line) A yes response results in a stand down (standDown) and terminates the flow of execution (termination state ).
Rhapsody
47
Rhapsody DoDAF Tutorial To create the OV-5 diagram, follow these steps: 1. Use the Action icon on the Drawing toolbar to draw the operations: createAttackPlan, attack, createAttackReport, observe, createObserveReport, assessAttackResults, and standDown.
Note: You can right-click any mission objective and select Edit Text to create or
change the name. 2. Use the Condition Connector icon on the Drawing toolbar to draw the conditional branch below the assessAttackResults operation. 3. Use the Termination State icon on the Drawing toolbar to draw the termination state next to the standDown operation. 4. Use the Fork Sync Bar icon on the Drawing toolbar and click and drag horizontally from left to right to draw the fork below the createAttackPlan operation. 5. Use the Join Sync Bar icon on the Drawing toolbar and click and drag horizontally from left to right to draw the join line above the assessAttackResults operation. 6. Use the Action Block icon on the Drawing toolbar to draw the box around attack, createAttackReport, observe, and createObserveReport. You use the action block because there are multiple control paths that execute the actions within the block. 7. Draw a termination state below the join sync bar to indicate the end of the actions in the action block. 8. Use the Default Flow icon on the Drawing toolbar to draw the default arrow to the createAttackPlan action and the ForkSync Bar. 9. Use the Activity Flow icon shown in the diagram. on the Drawing toolbar to draw the remaining flows
Note: To change the Activity Flow line style (curved splines, straight, rectilinear, and
so forth) right-click an Activity Flow line, and then select Line Shape and Rectilinear. 10. Double-click an Activity Flow to add the yes and no transition labels (located in the Guard field). 11. Save the completed architecture model using File > Save.
48
DoDAF Tutorial
Note
To change the name of an operation, double-click the object (action box, condition connector, and so forth) to open the Features dialog box, as shown in the following figure. Change the name in the Action field of the Features dialog box, and then click OK.
Although it is not required, it is possible to use swimlanes in the activity diagram to show which operational nodes are responsible for performing the operations. Swimlanes are added using the Swimlanes Frame icon and the Swimlanes Divider icon on the Drawing toolbar. You assign operations to operational nodes when you create the OV-6c Event Trace Descriptions.
Rhapsody
49
50
DoDAF Tutorial
Getting Started with DoDAF Architecture In the browser, expand MissionObjectives, OperationalNodes, OV-1s, and OV-2s, as shown in the following figure.
Rhapsody
51
Rhapsody DoDAF Tutorial To complete this initial OV-2 diagram, follow these steps: 1. If the OV-2 AttackTarget diagram is not already open, open it by double-clicking on its icon in the Rhapsody browser. 2. Drag and drop each of the blocks: DOCC, JCS, and JFMCC from the browser onto the diagram. The following figure shows the initial OV-2 diagram:
52
DoDAF Tutorial
Note: To change the appearance of an operational node, select one or more nodes and
right-click one. Select Display Options and clear the Enable Image View check box or select the Select An Image radio button and click the Ellipsis button to browse to the desired image, as shown in the following figure:
Note: Needlines connecting the operational nodes will be added later in the tutorial
after the OV-6c Operational Event Trace Description diagram has been created. 3. Save the architecture model using File > Save.
Rhapsody
53
54
DoDAF Tutorial
Getting Started with DoDAF Architecture 3. The new OV-6c diagram will be displayed, as shown in the following figure. Click OK to dismiss the confirmation message.
4. Open the Diagram Properties dialog box to rename the diagram, enter a description for the scenario, and change the display settings for the nodes. Right-click a blank part of the sequence diagram and select Diagram Properties.
Rhapsody
55
Rhapsody DoDAF Tutorial 5. On the General tab, change the diagram name to OV6c Two Phased Attack in the Name field, as shown in the following figure:
6. Add the following description in the Description field: The two phased attack
scenario shows the interaction between JCS, JFMCC, and DOCC to plan, execute, and assess an initial attack, and then follow up with a second attack before standing down.
7. Click OK.
56
DoDAF Tutorial
Getting Started with DoDAF Architecture Before you begin adding the scenario messages to the diagram, refer to the recommended event trace naming conventions for the messages that go between operational nodes in the following table.
Message Type
Request Operational Activity Notification and Reporting
Message Prefix
req ev
Review the OV-5 diagram and focus on the first attack sequence. You can identify six operational activities for the attack sequence: createAttackPlan attack createAttackReport observe createObserveReport assessAttackResults Keep in mind the operational event trace diagram is time ordered from top to bottom, and which node is responsible for what part of the mission objective is shown by attaching the appropriate operational activity to the appropriate node. To add these operational activity messages to the Event Trace, follow these steps: 1. Space out the JCS, JFMCC, and DOCC nodes by dragging each of them horizontally across from left to right.
Rhapsody
57
2. Use the Message icon on the Drawing toolbar, draw the createAttackPlan and assessAttackResults messages on the JCS node. Start drawing on the instance line and form a box that ends on the same instance line, as shown in the following figure. The message names can be edited as the messages are drawn on the diagram.
Message icon
3. Draw the attack and createAttackReport messages to the JFMCC node, as shown in the figure above. 4. Draw the observe and createObserveReport messages to the DOCC node.
Note: To change a message name after the message has been drawn, double-click the
message name.
58
DoDAF Tutorial
Getting Started with DoDAF Architecture You have now shown the six mission objectives for the attack sequence, identified the nodes that perform these activities, and provided the proper time ordering of these activities for this scenario. Next, you need to identify and draw the messages between the nodes where requests for each mission objective are made. Also, JCS requests that DOCC carry out the observe mission objective by sending it the reqObserve command. By examining the sequence diagram, one can see that JCS requests JFMCC to carry out the attack mission objective by sending it the reqAttack message.
Rhapsody
59
Rhapsody DoDAF Tutorial To add these request mission objective messages to the diagram, follow these steps: 1. Draw the reqObserve() message from JCS to DOCC. The reqObserve message contains data in the form of two parameters: Coordinate and Time. These parameters are used later in the tutorial to create the OV-7.
Note: You do not have to type the () parentheses when naming a message without
parameters. Rhapsody does this automatically. Messages that contain parameters require you to type the parentheses. 2. Draw the reqAttack message from JCS to JFMCC. In the parenthesis, add the parameters Coordinate, Time, and attackType to indicate the data being sent to JFMCC, as shown in the following figure:
Note: To move a group of messages up or down in the sequence diagram, first select
the group of messages by clicking on them while pressing the Ctrl key. Then move the cursor over one of the selected messages, and while holding the Shift key, click and drag the selection.
60
DoDAF Tutorial
Getting Started with DoDAF Architecture You have extended the sequence diagram to show how and when JCS requests JFMCC and DOCC carry out their mission objectives for the attack sequence. The last set of messages that need to be added are the notification messages, typically indicating the mission objective has been completed. Examination of the sequence diagram shows that JFMCC sends the evAttackCompleted message indicating when the attack is complete. JFMCC must report it has completed the attack to both JCS and DOCC. DOCC sends the evObserveCompleted message to JCS, indicating it has completed its observation. To add these notification messages to the diagram, follow these steps: 1. Use the Message icon on the Drawing toolbar to draw the evAttackCompleted message from JFMCC to JCS and also from JFMCC to DOCC. In the parenthesis, add the parameter attackStatusReport to indicate a status report is being sent to both operational nodes. 2. Use the Message icon on the Drawing toolbar to draw the evObserveCompleted message from DOCC to JCS, as shown in the following figure. In the parenthesis, add the parameter observeReport to indicate a status report is being sent to JCS.
Rhapsody
61
Rhapsody DoDAF Tutorial With these messages added, you have now completed the interaction between JCS and JFMCC and DOCC in carrying out the first phase of the attack sequence. You can now focus on the second phase of the attack sequence. The second phase of the attack is identical to the first, except that JCS does not create a new attack plan. To add the messages for the second phase of the attack, follow these steps: 1. Using the vertical scroll bar, scroll down in the OV-6c sequence diagram. 2. Create the second phase of the attack sequence by repeating (redrawing) the first phase attack sequence, but omit the createAttackPlan mission objective, as shown in the following figure:
62
DoDAF Tutorial
Getting Started with DoDAF Architecture Sequences like this attack sequence that repeat can be captured by using what is called a referenced sequence diagram, which allows a sequence to be drawn once and then reused multiple times in other sequence diagrams or the same sequence diagram. To complete the scenario, you need to add some additional messages after the second phase of the attack to address the stand down sequence. For stand down, JCS sends the reqStandDown message to JFMCC and DOCC, then both JFMCC and DOCC execute their StandDown mission objectives, and finally send a notification message back to JCS. To complete the scenario for this OV-6c, follow these steps: 1. Using the vertical scroll bar, scroll down in the OV-6c sequence diagram. 2. Add the remaining sequence as shown in the following figure. 3. You can add the StandDown note shown in the diagram using the Note icon Common Drawing toolbar, as shown in the following figure: on the
Rhapsody
63
Rhapsody DoDAF Tutorial The last step in creating the OV-6c is to change some of its printing settings. Since this diagram is rather tall and narrow, you need to change the print settings to make it look better for when it appears in a generated DoDAF report. To change the print settings, follow these steps: 1. Right-click an empty area of the diagram and choose Printing > Print Settings. The Print Settings dialog box opens, as shown in the following figure:
2. Set the Scaling to 70% of normal size. 3. Select Save settings in the diagram. 4. Click OK to close the Print Settings dialog box. 5. Move your cursor to an empty area on the diagram, right-click, and choose Printing > Print Preview. The Print Settings dialog box opens. 6. If necessary, repeat these steps until you are satisfied with the scaling of the diagram. 7. Be sure to save the architecture model using File > Save.
64
DoDAF Tutorial
Rhapsody
65
Rhapsody DoDAF Tutorial 2. Now open the OV-7 diagram and use the Informational (Data) Element icon on the Drawing toolbar to draw the informational elements Coordinate and missionTime, as shown in the following figure:
3. Use the Informational (Data) Element icon to draw the informational elements Latitude, Longitude, Hours and Minutes and use the Composition Line icon to draw connecting lines between the informational elements. Next, draw the informational elements attackStatus, attackType, and observeReport, as shown in the following figure:
66
DoDAF Tutorial
Rhapsody
67
Rhapsody DoDAF Tutorial To change the appropriate message types in the OV-6c diagram, follow these steps: 1. Open the OV-6c Two-Phased Attack sequence diagram from the browser if it is not already open. 2. Right-click the reqObserve message and select Features. The Features dialog box opens. 3. Change the Message Type from Primitive Operation to Event, as shown in the following figure:
4. Repeat the above steps for ALL occurrences of the following messages: a. reqObserve b. c. d. e. f. g. reqAttack evAttackCompleted evObserveCompleted reqStandDown evDOCCStandDownCompleted evJFMCCStandDownCompleted
68
DoDAF Tutorial
Note
Before proceeding, review the OV-6c diagram and make sure all the messages going from one operational node to another have a hollow arrowhead , and the mission objective messages (starting and ending at the same node) have a solid arrowhead . To realize the messages in the OV-6c diagram, follow these steps: 1. Select all the elements in the diagram using Edit > Select > Select All. 2. Realize the messages using Edit > Auto Realize. After realizing, you will see a folder in the OperationalView named Events, as shown in the following figure:
Note
If you create additional OV-6c diagrams, Rhapsody provides a shortcut for typing in the names of messages you have previously realized. After drawing the arrow and leaving the default message name (message_0), right-click the message name and choose Select Message to see a list of previously realized message names.
Rhapsody
69
Rhapsody DoDAF Tutorial Now that the messages have been realized, you can use the helper to update the OV-2 diagram with the needline and mission objective information in the OV-6c. To update the OV-2, follow these steps: 1. Select the OV-6c Two Phased Attack sequence diagram from the Rhapsody browser. 2. With the mouse over the OV-6c icon, right-click and choose Update OV-2 from OV-6c. If you do not see this menu item, see Manually Adding the DoDAF Helpers in the Troubleshooting section of this tutorial. After a few moments, you will be prompted with a message dialog box indicating the OV-2 diagram was updated. You can now look at the OV-2 diagram and see what has been added to it. To see what has changed, follow these steps: 1. Open the OV-2 AttackTarget diagram by double-clicking on its icon in the Rhapsody browser, or select it from among the diagram tabs at the bottom of the screen if it is already open.
70
DoDAF Tutorial
Getting Started with DoDAF Architecture 2. Re-arrange and stretch the nodes so that the diagram resembles the following figure:
3. To move a node, simply click it and drag it (while holding down the mouse button). 4. To stretch a node, select it by clicking on it and then move the cursor over any of the eight control points and drag the point while holding down the mouse button. 5. To move a port, which are the small boxes on the edges of the nodes, simply click it and drag it as you would a node. As you look inside the OV-2 nodes, you will see the mission objectives have been added to the appropriate node, and are marked with the operation symbol . Other message labels you added to the OV-6c are visible, and these are related to the needline and information exchange between nodes.
Note
If any of the information exchange messages (reqObserv, reqStandDown) appear as mission objectives (observe, standDown) in your model, see Fixing the Model if Messages Appear as Mission Objectives in the Troubleshooting section of this tutorial.
Rhapsody
71
Rhapsody DoDAF Tutorial Focus on the JCS node. Inside the JCS node, you see the createAttackPlan and assessAttack mission objectives. Along with the mission objectives, you see four notification messages: evAttackCompleted, evObserveCompleted, evDOCCStandDownCompleted, and evJFMCCStandDownCompleted. While the mission objectives are performed at the JCS node, the notification messages imply an information exchange with the DOCC or JFMCC node. Notice the two small boxes on the edge of JCS. The boxes are the JCS ports; one is labeled pJFMCC and the other pDOCC. The pJFMCC port was created to contain the information exchange between JCS and JFMCC. The naming convention for ports is p<OperationalNodeClassName>.
72
DoDAF Tutorial
Getting Started with DoDAF Architecture To see what information flows through the pJFMCC port, double-click the port and look at the Contract tab in the Features dialog box, as shown in the following figure. The contract describes the type of information exchange.
JCS has one provided interface with JFMCC named iJCS_JFMCC. The naming convention for interfaces is i<ReceiverClassName>_<SenderClassName>. The iJCS_JFMCC interface contains the two messages evAttackCompleted and evJFMCCStandDownCompleted. By providing this interface, JCS provides the ability to receive these two messages sent from JFMCC. JCS also has a required interface with JFMCC named iJFMCC_JCS. This interface contains the two messages reqAttack and reqStandDown. By requiring this interface, JCS requires JFMCC to be able to receive these two messages. These contracts are consistent with the manner in which you created the OV-6c diagram.
Rhapsody
73
Rhapsody DoDAF Tutorial Examine the pJCS port on the JFMCC node. Notice that the provided and required interfaces on this port are the reverse of those on the pJFMCC port. The figure pJCS Port Contracts shows the port contracts for the pJCS port. The complementary nature of the contracts of these two ports shows the interfaces are consistent on both ends. Examine the ports on the diagram to ensure they are also complementary.
74
DoDAF Tutorial
2. Connect the ports as shown in the figure by clicking on one port, dragging the line to the connecting port, and releasing the mouse button, as shown on the following figure:
3. Save the architecture model using File > Save in the Rhapsody main window.
Note
You must repeat the steps in this section of the tutorial for any other OV-6c diagrams you create.
Rhapsody
75
2. For all additional information elements, right-click InformationElements and select Add New InformationElement, as shown in the following figure:
3. Create the following information elements: attackStatus, attackType, Coordinate, Hours, Latitude, Longitude, Minutes, observeReport, and missionTime.
76
DoDAF Tutorial
4. Using the information exchange tool , move the mouse pointer over the needline in the diagram between the JCS and JFMCC Operational Nodes, until the mouse pointer assumes the appearance of a bullseye and then click the needline. 5. An arrow appears accompanied by a blinking cursor. Type the words Coordinate, missionTime, attackType, as shown on the following figure.
Rhapsody
77
Rhapsody DoDAF Tutorial 7. To change the direction of the information exchange (shown by arrows), double-click the information exchange arrow, and in the dialog box that appears, select the appropriate direction from the Direction drop-down list, as shown in the following figure:
78
DoDAF Tutorial
3. In the browser, expand OperationalNodes and drag the JFMCC operational node into the drawing area. 4. Customize the JFMCC operational node as it exists in the drawing pane to look as you desire. To achieve the recommended view, right-click the JFMCC node and select Display Options. Clear the Enable Image View check box and click OK. This view allows you to see all the operations the node contains. 5. Using the Operational Activity tool , insert three operational activities into the diagram.
Rhapsody
79
Rhapsody DoDAF Tutorial 6. Name the operational activities opAttack, opCreateAttackReport, and opStandDown, as shown in the following figure. The op prefix stands for operation, and keeps Rhapsody from confusing like system function and operation names when generating code. 7. Using the Realize icon on the Drawing toolbar, draw a realize line from the JFMCC Operational Node to each operational activity.
Note
The above example was described for informational purposes. If you want to build a correct and working model, you must repeat the steps above for all of the other operational nodes in your model.
80
DoDAF Tutorial
Note
Unlike OV-6c, which reflects many nodes across one mission objective, the OV-6b reflects one node across all mission objectives. From viewing the OV-6c diagram, it can be seen that DOCC may be awaiting orders, observing, preparing an observation report, or standing down. This means there are four main modes (states) in your statechart, one for each of the modes you identified. To create the statechart and draw the modes, follow these steps: 1. Open the OV-2 AttackTarget diagram by double-clicking on its icon in the Rhapsody browser, or by selecting it from among the diagram tabs at the bottom of the window if it is already open. 2. Click the DOCC node to select it. 3. Right-click the DOCC node and select New OV-6b.
Rhapsody
81
Rhapsody DoDAF Tutorial 4. Using the State icon on the Drawing toolbar, draw the four states: AwaitingOrders, Observing, CreatingObsReport, and StandingDown, as shown in the following figure. Type in the names of each state as you draw them.
With the states drawn, consider the logic for the transition labels. The logic that moves you from state to state can include an event trigger and a guard condition. The operations that must be performed as you change states are called actions. The logic clearly starts in the AwaitingOrders state. From AwaitingOrders, DOCC moves to the Observing state when it receives the reqObserve message. To reflect this you will add the label reqObserve to the transition that connects the AwaitingOrders state to the Observing state. Upon entering the Observing state, you will transition to the CreatingObsReport state when the evAttackCompleted message is received. So, you will add the label evAttackCompleted to the transition that connects the Observing state to the PreparingObsReport state. From PreparingObsReport, DOCC can only change to the AwaitingOrders state. DOCC changes to the AwaitingOrders state when it has completed creating the observation report, and it will also send the evObservationCompleted message to JCS.
82
DoDAF Tutorial
Getting Started with DoDAF Architecture The following transition label will be added to the transition from the PreparingObsReport state to the AwaitingOrders state:
/OPORT(pJCS)->GEN(evObserveCompleted(observeReport))
which translates to 'generate the evObserveCompleted() message on the JCS port and send the data observeReport with the message'. By sending the evObserveCompleted() out of the pJCS port, it is certain JCS will receive this message. You must now consider the transitions between the AwaitingOrders state and the StandingDown state. DOCC will transition to StandingDown when it receives the reqStandDown message. So, you will add the label reqStandDown to the transition that connects the AwaitingOrders state to the StandingDown state. The final transition is from StandingDown back to AwaitingOrders. DOCC will make this transition when it has completed standing down. So, you will use the following label on the transition that connects the StandingDown state to the AwaitingOrders state:
/OPORT(pJCS)->GEN(evDOCCStandDownCompleted())
which translates to 'generate the evDOCCStandDownCompleted() message on the JCS port'. Recall that by sending the evDOCCStandDownCompleted() message out of the pJCS port, it is certain JCS will receive this message.
Rhapsody
83
Rhapsody DoDAF Tutorial With the transition labels identified, you can add them to the OV-6b statechart. To do this, follow these steps: 1. Using the Default Connector icon on the Drawing toolbar, draw the default transitions to the AwaitingOrders state. 2. Using the Transition icon on the Drawing toolbar, draw the transitions listed below in order, as shown in the following diagram. Label the transitions by selecting the Transition Label icon on the Drawing toolbar and clicking on them. a. reqObserve: Draw from AwaitingOrders to Observing b. c. d. e. evAttackCompleted: Draw from Observing to CreatingObsReport /OPORT(pJCS)->GEN(evObserveCompleted(observeReport)): Draw from CreatingObsReport to Awaiting Orders reqStandDown: Draw from AwaitingOrders to StandingDown /OPORT(pJCS)->GEN(evDOCCStandDownCompleted()): Draw from StandingDown to AwaitingOrders
84
DoDAF Tutorial
Note: Rhapsody provides assistance in selecting the names of defined messages when
labeling transitions. To activate this feature, follow the steps above, but use the Ctrl+Spacebar key sequence before, or at any point while typing in the label. You will be presented with a subwindow showing allowable message names you can select from. See the figure.
3. Double-click the reqObserve transition. The dialog box that appears should closely resemble the following figure. If the dialog box looks different, make sure you selected the correct name to the appropriate transition.
Rhapsody
85
Rhapsody DoDAF Tutorial With the transition labels in place, add the execution of the mission objectives to the Observe, PreparingObservationReport, and StandingDown states. To add these mission objectives to be performed in a state, follow these steps: 1. Right-click the Observing state, and select Features. 2. In the Features dialog box, enter observe() in the Action on entry box, as shown in the following figure:
3. You will see the state reaction icon in the top right corner of the Observing state. Click the icon to toggle the display of the observe() mission objective on the diagram, as shown in the following figure:
86
DoDAF Tutorial
Getting Started with DoDAF Architecture 4. Repeat steps the above steps to add the createObservationReport() mission objective to the CreatingObsReport state, and the standDown() mission objective to the StandingDown state, as shown in the following figure:
Rhapsody
87
Note: Given the content of the model in this tutorial, you can also generate the
Data-Flow Based OV-3 Table.
88
DoDAF Tutorial
Getting Started with DoDAF Architecture 2. Enter the name of the OV-3 file and click OK.
3. A message appears stating that the OV-3 has been created successfully. Click OK. 4. The browser now reflects the changes made, as shown in the following figure:
Rhapsody
89
4. Expand OperationalView and OperationalActivities in the Rhapsody browser. 5. Drag-and-drop the attack operational activity onto the drawing area. For each operational activity, the SV-4 diagram is the main connection point between the operational view and the systems view. The attack operational activity is the center of this diagram. You must now display the systems which are needed to perform, or execute the attack operational activity. You have dragged the attack operational activity into the drawing area. You must now show which system functions must be performed to realize the attack operational activity.
90
DoDAF Tutorial
Getting Started with DoDAF Architecture The system functions reside within unique Systems. Each System resides in a SystemsNode. The Systems involved in this SV-4 diagram, are the Submarine and Missile Systems. The Submarine system performs the following functions: select silo, open silo door, and extend launch tube. The Missile system performs the following functions: arm, launch, and guidance. To add the Submarine and Missile Systems and their corresponding functions, follow these steps: 1. Using the System icon on the Drawing toolbar, draw two narrow rectangles (systems) on either side of the attack operational activity. Name the left system Submarine and the right system Missile, as shown in the following figure: 2. For functionality purposes, change the appearance of each System. Right-click a system rectangle and select Display Options. Clear the Enable Image View check box. Click OK to close the Display Options dialog box. Repeat this step for the other System in the diagram.
Rhapsody
91
3. Select each system and click the Specification/Structured View icon to enter Structured mode. This enables Rhapsody to assign the system functions to their respective systems. If Rhapsody is in Specification mode, Rhapsody does not associate the system functions with their respective Systems, and the browser displays the system functions as being independent of each system. The figure below displays the browser with the system functions assigned to their respective systems.
92
DoDAF Tutorial
Getting Started with DoDAF Architecture 4. Using the System Function icon on the Drawing toolbar, draw the system functions fnSelectSilo, fnOpenSiloDoor, and fnExtendLaunchTube in the Submarine System rectangle. Draw the system functions fnArm, fnLaunch, and fnGuidance in the Missile System. The fn prefix on each name stands for function and keeps Rhapsody from confusing like system function and operation names when generating code.
Rhapsody
93
Rhapsody DoDAF Tutorial 5. Using the realize tool , draw realize lines from each system function to the attack operational activity, as shown in the following figure:
94
DoDAF Tutorial
Rhapsody
95
Rhapsody DoDAF Tutorial 4. To add the first system nodes onto the diagram, right-click SystemsView and select Add New > System Element > SystemsNode, as shown in the following figure. Name the node DOCC and press Enter.
5. The DOCC system node appears in the browser. Drag-and-drop the DOCC system node icon from the browser onto the drawing area. 6. For the next system node, right-click SystemsNodes and select Add New SystemsNode, as shown in the following figure:
7. Name the next system node JFMCC and press Enter. The JFMCC system node appears in the browser under the DOCC system node icon. Drag the JFMCC system node icon from the browser onto the drawing area. 8. To create the JCS system node, repeat the previous two steps. 9. Select all three system node and right-click one of them. Select Display Options and clear the Enable Image View check box.
96
DoDAF Tutorial
10. With all three system nodes still selected, click the Specification/Structured View icon to enter Structured mode. 11. Enlarge the JFMCC system node.
12. Drag-and-drop the Missile and Submarine systems from the browser into the JFMCC system node rectangle in the drawing area, as shown in the following figure:
Rhapsody
97
Rhapsody DoDAF Tutorial 13. Your Rhapsody browser should now appear as shown in the following figure:
98
DoDAF Tutorial
2. Click OK at the prompt. 3. Name the SV-5 at the next prompt. For this example, name the Matrix Coordinated Land and Sea Attack SV5.
Note
Do not use a dash in your SV-5 name, as conflicts may arise with some configuration management tools.
Rhapsody
99
Rhapsody DoDAF Tutorial 4. The SV-5 window appears, as shown in the following figure:
100
DoDAF Tutorial
The SV-10b System State Transition Description can be based on the OV-6b Operational State Transition Descriptions if the systems within an operational node are loosely coupled. In this case, the OV-6b statechart diagrams can be copied into the SystemsView package and then modified as needed. In other cases where these systems are tightly coupled, it is often preferable to create new statecharts for the systems.
Rhapsody
101
The DoDAF Report Generator window appears, and ReporterPLUS starts to load the model and generate the document. This process may take a few minutes. After the document has been created, it is displayed, and the document is formatted.
102
DoDAF Tutorial
Generating the DoDAF Report from the Architecture Model As the last step in generating the report, Microsoft Word displays a message indicating where the files have been saved in the Rhapsody project directory, as shown in the following figure. The OV-3 spreadsheet is saved as a worksheet in the Excel workbook file in the Rhapsody project directory with name <projectName>_DoDAFreport.xls. Click OK to complete the report generation.
The generated .doc Word file contains a hyperlink to the excel workbook containing the OV-3 Matrix, as shown in the following figure:
Rhapsody
103
Rhapsody DoDAF Tutorial It is possible to navigate to the definition of any interfaces displayed in the OV-3 Matrix. Double-clicking an interface name in the OV-3 Excel file or in the OV-3 tables in the Word document will bring you to the corresponding definition of the interface in the AV-2 Data Dictionary. The Back Button on the Word Web Toolbar can be used to return to the OV-3.
Note
The Word document can be converted to other formats including HTML and PDF using third party software (not provided by IBM).
Summary
Congratulations on completing the Rhapsody DoDAF Add-on Tutorial! In this tutorial, you used Rhapsody to create a DoDAF-compliant architecture model of the operational view for a simplified land and sea-based attack capability. The tutorial started with the creation of a new DoDAF project using one of the helpers in the Rhapsody DoDAF Add-on. Next, you were introduced to the AV-1 Overview and Summary for the architecture model The AV-1, which was created for you, was associated to the architecture model using a hyperlink. After working with the AV-1, you began the work of building the architecture model using UML diagrams in Rhapsody. Starting with two mission objective diagrams, you created a traditional OV-1 High Level Operational Concept Graphic, as well as an OV-1 High Level Mission Objective diagram. Both diagrams helped you describe the mission and main operational nodes in the architecture. In the mission objective diagram, you identified the two primary mission objectives for this architecture: Assess Threat and Attack Target. In the remainder off the tutorial, you focused your attention on the Attack Target mission objective. From the OV-1, you moved to the OV-5 Mission Objective Model, used to describe the operations that are normally conducted in the course of achieving a mission. You used an Activity diagram to capture the OV-5 information. The Activity diagram shows the functional flow of operations including control logic for achieving the Attack Target mission objective. You then started your OV-2 Operational Node Connectivity diagram. Using another helper from the Rhapsody DoDAF Add-on, you created the initial OV-2 showing the operational nodes you documented in the OV-1 mission objective diagram. You used a diagram to capture the OV-2 information. Next, you created the OV-6c, which you later used to add the mission objective and needline information to the OV-2. The Operational Event Trace Description is used to show a sequence-ordered graph of the information exchanges between operational nodes as a result of a particular operational scenario. In constructing the OV-6c Event Trace Description, you referred to the OV-5 to guide you along. While there are many event traces you can construct for the Attack Target mission objective, you
104
DoDAF Tutorial
Summary focused on one that covered all the operations you documented in the OV-5. In constructing the Two Phased Attack Event Trace, you used a helper in the DoDAF Add-on to create the initial sequence diagram showing the Operational Node lifelines. Next, you added the appropriate mission objectives. You then added messages that are sent between operational nodes to request a node carry out an mission objective. Last, you added messages that are sent between operational nodes to provide notification and reporting information. With the OV-6c completed, you were then able to complete the OV-2. You used another helper to update the OV-2 nodes with mission objectives and needline information. You examined the ports and interfaces created by the helper to see how the messages you created in the OV-6c were translated into needlines and information exchanges. All that you had to do manually was layout the nodes and add the links to connect the ports. After completing the OV-2, you moved on to the OV-7 Logical Data Model. In the OV-7, you documented the data exchanged in the OV-6c event traces. Some of this data were further decomposed in the OV-7 diagram. You then created the OV-6b Operational State Transition Description. The OV-6b shows how an operational node responds to input messages. You started your statechart by reviewing the OV-6c and identifying the modes of operation. You added the state transitions, and discussed the trigger, guards, and actions used on the transition labels. You created the OV-3 Operational Information Exchange Matrix. This matrix documents the information exchanged among the operational nodes. This was the last operational view product created. The OV-3 is generated using a DoDAF helper. At this point you transitioned to the Systems View products. You started by creating the SV-4 Systems Functionality Description where operational activities were mapped to system functions and system functions allocated to systems. You created the SV-1 System Interface Description. This product contained the system nodes which corresponded to operational nodes. These system nodes house the individual systems identified in the SV-4 product. These individual systems in turn contain system functions. The last systems view product created was the SV-5 Operational Activity to Systems Function Traceability Matrix. This product showed the mapping of operational activities to system functions. The SV-5 is generated using a DoDAF helper. The last step in the tutorial was to generate a DoDAF report from the architecture model. Here too, you used a helper from the Rhapsody DoDAF Add-on. The generated report documents all of the architecture products you created in building your architecture model. In addition, the report includes the hyperlinked AV-1, and the AV-2 and OV-3, which are generated from the architecture model data. Keep in mind that the Rhapsody model itself is a dynamic and searchable AV-2 including all elements of the architecture model.
Rhapsody
105
Rhapsody DoDAF Tutorial With just a little more effort, you can simulate your architecture model with a user-friendly Web-based interface that provides stimulus to the model and displays the model's response. You can use Rhapsody's Sequence diagram Compare capability to ensure the model's actual behavior matches what you captured in your OV-6c Event Trace Descriptions. You can use Rhapsody Test Conductor to run regressions tests as you modify the architecture model and ensure you do not break any of it's capabilities, or to compare the behavioral performance of alternative architectures. You can also use the Rhapsody Gateway to provide full requirements traceability and impact analysis as you consider alternative architectures. This tutorial just scratches the surface of what you can do when you build a DoDAF compliant architecture model with Rhapsody. The solution presented in this tutorial is based on the Rhapsody Harmony Process for Systems and Software Engineering, and is immediately available when purchasing the Rhapsody DoDAF Addon. You have created this solution to be customizable and extensible to meet the needs of a wide variety of customers, including those needing to develop models compliant with architecture frameworks other than DoDAF. All of the automation provided in this solution is based on the Rhapsody COM API and the ReporterPLUS document generator, making it easy to tailor to other approaches for architecture modeling.
106
DoDAF Tutorial
Troubleshooting
Troubleshooting
The following examples are possible problems users may encounter when using the DoDAF Addon.
If you find the Rhapsody DoDAF Add-on is not installed on your system, install it. If the Rhapsody DoDAF Add-on is installed on your system, then the next step is to check your systems registry to find where the DoDAF Add-on is installed. To examine your systems registry, you use the RegEdit program.
Note
Use care whenever you access your systems registry as inadvertent changes can render your system unusable. For this tutorial, you are not making any changes to your systems registry, just examining one of the registry settings.
Rhapsody
107
Rhapsody DoDAF Tutorial To launch RegEdit and check your systems settings, follow these steps: 1. Select Start > Run from the Windows Taskbar. 2. Type in regedit for the program name, and click OK. 3. In Registry Editor window, locate the HKEY_LOCAL_MACHINE\SOFTWARE\ I-Logix\Rhapsody DoDAF Add-on key, as shown in the following figure:
4. Make sure the Version setting shows you are using version 1.4.0 or newer. If you are using an older version of the Rhapsody DoDAF Add-on, please upgrade to the latest version. 5. Make note of the Path setting for the Rhapsody DoDAF Add-on. 6. Close Regedit using File > Exit from the drop-down menus. Using Windows Explorer, locate the folder specified by the path setting, and verify this tutorial, the av-1.doc and ov-1.bmp files are located in the Tutorial subfolder in this path. If these files are not found, or if you cannot find the key in your registry, then your Rhapsody DoDAF Add-on installation has been damaged. Uninstall and then re-install the Rhapsody DoDAF Add-on to repair your installation if it has been damaged.
108
DoDAF Tutorial
Troubleshooting
Command
<Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe <Path>\DoDAFPack.exe
Arguments
-dodaf -i -dodaf -uc -dodaf -sd -dodaf -d -dodaf -ov3m -dodaf -ov3t -dodaf -sv3 -dodaf -sv5short -dodaf -sv5long -dodaf -sv6m -dodaf -sv6t -dodaf -sv7 -dodaf -report
Applicable To
DoDAF MissionObjective MissionObjective OV-6c DoDAF DoDAF DoDAF DoDAF DoDAF DoDAF DoDAF DoDAF Project
Rhapsody
109
Rhapsody DoDAF Tutorial If you find that any of the DoDAF helpers are missing from the submenus in Rhapsody, first make sure you have verified the Rhapsody DoDAF Add-on installation as described in the previous section. Once you have verified the installation, manually configure the helpers using the instructions that follow. While verifying the installation, make sure you have noted the path where the Rhapsody DoDAF Add-on is installed. To install the Rhapsody DoDAF Add-on helpers, follow these steps: 1. Select Tools > Customize from the Rhapsody main window to open the Helpers dialog box, as shown in the following figure:
2. Use the Create New Helper Icon to create a new helper, and enter the appropriate helper name from the There are thirteen helpers provided with the Rhapsody DoDAF Add-on. The table below summarizes the helpers and their settings: table. 3. Set the Command, Arguments, and Applicable To: as set in the There are thirteen helpers
provided with the Rhapsody DoDAF Add-on. The table below summarizes the helpers and their settings: table on the previous page. For the command, replace <Path> with the path
where the Rhapsody DoDAF Add-on is installed. 4. Set Type to External Program and select the Show in popup menu box. 5. Click Apply to apply the changes. 6. If needed, configure another helper by repeating steps 2-5, or click OK to close the Helpers dialog box.
110
DoDAF Tutorial
Troubleshooting
Rhapsody
111
Rhapsody DoDAF Tutorial To fix this problem, follow these steps: 1. Expand the Rhapsody browser to see the operation under the appropriate operational node. In this case, you need to expand the folder Project_1\OperationalViews\Operational View\Operational Nodes\JCS\Operations\evDOCCStandDownCompleted. 2. Delete the operation by right-clicking on the incorrect operation and selecting Delete from Model. 3. Open the OV-6c diagram and check all the messages with the message name in question.
Note
To spot the problematic message, make sure messages that connect operational nodes have a hollow arrowhead , and mission objective messages (messages that start and end on the same node) have a solid arrowhead .
112
DoDAF Tutorial
Troubleshooting 4. To change the incorrect message, change the message type by double-clicking the message and selecting Event from the Message Type drop-down list, as shown in the following figure. Click OK.
5. With the message selected, use Edit > Auto Realize from the pull-down menus to realize the message. 6. Select OV-6c Two Phased Attack from the Rhapsody browser.
Rhapsody
113
Rhapsody DoDAF Tutorial 7. Right-click the OV-6c icon and select Update OV-2 from OV-6c. See the figure.
114
DoDAF Tutorial
Troubleshooting
OV-3, SV-3, SV-5, SV-6, Captions, or Table of Figures are Not Visible in the Document
If the final document does not include an OV-3 matrix, figure captions, or table of figures, the macros in the DoDAFReportRTF.dot Word Document Template file are not being executed. Make sure the security settings for Word are set to medium security to allow macros to be run. You can change the security setting using Tools > Macro > Security (see the figure).
Microsoft Word may prompt you to enable macros in the generated DoDAF report when it is opened. You will need to select Enable Macros in this dialog box when opening the DoDAF report in order for the macros to run (see the figure).
Rhapsody
115
116
DoDAF Tutorial
Index
A
Activity diagrams 3, 20, 44, 46, 47, 49 Adobe Acrobat Reader 2 Architecture 21 AV-1 18, 21, 31, 34 AV-2 18, 21
B
Bitmap viewer 2 Browsers 5, 9, 10, 33 filtering views 10 new DoDAF project in 23 opening 9
C
Categories 9 Collaboration diagrams 3 Component diagrams 3
project 32 TestConductor 6 DOCC 26 DoDAF 1 architecture 21 basic features 18 create new project 22 helper 25 initializing the project 24 model information 26 new project browser 23 project overview 27 required software 2 Drawing area 11 Drawing toolbar selecting a drawing icon 27
E
Event Trace 57
D
DARO 26, 40 Deployment diagrams 3 Description tab 13 Diagrams 3 OV-1 39 OV-2 50 OV-5 44, 57 OV-6c 54, 63 OV-7 65 UML 3 Directories 22
Rhapsody
F
Features dialog box 12 Apply and OK buttons 12 Description tab 13 docking 17 General tab 13 keeping open 12 moving 17 Properties tab 16 Relations tab 14 tabs 13 Tags tab 15, 28
117
Index
Files 6 _rpy 6 event history 6 log 6 project 4 rpy project 6 VBA 6 Filters browser views 10 Flow charts 3 Folders 6
N
Needlines 50 Nodes connectivity 50 OV-1 operational 41
O
Object model diagrams 3 Output window 11 OV-1 18, 21, 35, 39 operational nodes 41 OV-2 18, 21, 50 OV-3 19, 21 matrix 103 spreadsheet 103 OV-5 19, 21, 44, 57 OV-6a 19 OV-6b 19, 21 OV-6c 19, 21, 54, 62, 63 OV-7 19, 21, 65
G
General tab 13
H
Helpers 25, 70
J
JCS 26, 40 JFMCC 26 JIC 26 JIPS 26, 40
P
Packages 9 Profiles 22, 23 Projects 4 browsers 5 creating new 22 creating overview 27 files 4, 6 folders 6, 9 initializing DoDAF 24 node 9 Properties tab 16
L
Log files 6
M
Messages 57, 62 notification 61 Microsoft .NET Framework 2 Excel 2, 103 Windows 2 Word 2, 103 Models DoDAF 26
R
Relations tab 14 Repository directory 6 Rhapsody 3, 7 browser 5, 9, 10
Rhapsody
118
Index
DoDAF 18 drawing area 11 graphical user interface (GUI) 7, 22 projects 4 toolbars 8 UML diagrams 3
S
Sequence diagrams 3, 19, 54, 61, 62, 63, 68, 70, 101 Spreadsheets 20, 103 Statecharts 3, 19, 81, 84, 101 Structure diagrams 3 Subfolders 6 SV-1 19, 21 SV-10 20 SV-11 20 SV-2 19 SV-3 19
T
Tags tab 15 TestConductor 6 Toolbars 8
U
Use case diagrams 3
V
VBA file 6
Rhapsody
119
Index
120
DoDAF Tutorial