0% found this document useful (0 votes)
430 views

Rhapsody Getting Started Guide

Short introduction to rhapsody

Uploaded by

DorinAnitei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
430 views

Rhapsody Getting Started Guide

Short introduction to rhapsody

Uploaded by

DorinAnitei
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 110

Rhapsody®

Getting
Started Guide
Rhapsody®

Getting Started Guide

7.0 MR2
Telelogic I-Logix Inc.
Three Riverside Drive
Andover, Massachusetts 01810

The software described in this document is furnished under a license and may be used or copied
only in accordance with the terms of such license. Rhapsody software contains proprietary
information, as well as trade secrets of Telelogic, and is protected under copyright law.
Duplication of this manual, in whole or in part, is strictly prohibited, except with the prior
written consent of Telelogic.

The information in this manual is subject to change without notice, and Telelogic assumes no
responsibility for any errors which may appear herein. No warranties, either expressed or
implied, are made regarding Rhapsody software and its fitness for any particular purpose.

Rhapsody is a registered trademark of Telelogic I-Logix Inc. Telelogic, and the Telelogic logo
are Registered trademarks of Telelogic. Other products mentioned may be trademarks or
registered trademarks of their respective companies.

Romeo Music International provides the sounds clips used in the Radio demo:
Bali.wav, Bg_Clas1.wav, Bg_Jazz.wav, Bohm.wav, Drunken.wav, Heavymtl.wav, Ireland.wav,
Latingrv.wav, Russia.wav, Stabs.wav, Tarrega.wav

OMG marks and logos are trademarks or registered trademarks, service marks and/or
certification marks of Object Management Group, Inc. registered in the United States.

© and (P) Copyright 1989-1997

Romeo Music International


ALL RIGHTS RESERVED

© Copyright 2006 by Telelogic. All rights reserved.

Part No. 2782


Contents

Rhapsody Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Rhapsody’s Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Starting Rhapsody. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Guided Tour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Locating Rhapsody Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Output Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Using the Browser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Changing a Browser Item’s Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Adding Browser Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Deleting Browser Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Creating Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Using Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Prefixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Model Element Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Saving the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Closing the Project and Exiting Rhapsody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Parallel Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
DiffMerge Tool Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Starting the DiffMerge Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Rhapsody for Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


Quick Start with C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Opening the Elevator Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Examining the Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Defining Messages Using Sequence Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Animating the Elevator Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Running the Animated Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Animating a Statechart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Generating Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Creating an Animated Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Rhapsody iii
Table of Contents

Stopping the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Quick Start with C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Opening the Radio Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Viewing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Use Case Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Object Model Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Statecharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Animating the Radio Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Running the Animated Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Animating a Statechart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Generating Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Creating an Animated Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Stopping the Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Quick Start with Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Opening the RS232 Sample Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Creating a Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Creating an Object Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Adding an Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Setting an Entry Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Checking the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Generating Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Building the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Analyzing a Build Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Adding Predefined Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Adjusting the Package Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Examining the Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Using the Internal Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Selecting an External Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Closing the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Quick Start with Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Opening the HomeAlarm Sample Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Viewing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Use Case Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Object Model Diagrams. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Statecharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Animating the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Running the Animated Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Animating a Statechart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Generating Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Creating an Animated Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Stopping Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

iv Getting Started Guide


Table of Contents

Rhapsody for Systems Engineers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


Rhapsody for Systems Engineers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Systems Engineering Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Rhapsody for DoDAF Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


DoDAF Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Rhapsody’s DoDAF Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
ReporterPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Starting ReporterPLUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Examining and Customizing ReporterPLUS Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Generating Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Standard Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Using the Internal Reporting Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Producing an Internal Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Using the Internal Report Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Technical Support and Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89


Contacting Rhapsody Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Sending a Detailed Problem Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Accessing the Automated Problem Report Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Guidelines for Writing a Problem Report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Automatic Responses and Recording Defects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Automatically Generated Problem Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Sending a Request from the Web Client Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Telephoning Technical Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Accessing the Rhapsody Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Help Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Help Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Help Search Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
List of Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Rhapsody Reference Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Rhapsody Version Release Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Rhapsody v
Table of Contents

vi Getting Started Guide


Rhapsody Basics

Thank you for your purchase of Rhapsody products.

To give you a quick start using Rhapsody, you may use the following:

Webinars and the searchable Knowledge Base are available on the Telelogic I-Logix
Website’s Client Center to provide self-training and research opportunities.
You can attend hands-on training in the Telelogic I-Logix office in Andover,
Massachusetts or in your facility.
eLearning courses provide self-paced, online Rhapsody courses, available at an
additional charge.
Tutorials for different jobs and types of development environments step you through
building a functional model.
Viewlets (video clips), available on http://www.telelogic.com/modeling, are animated
dialogues demonstrating important Rhapsody features.
This Getting Started Guide provides a functional overview of Rhapsody for designers,
developers, and engineers using specialized models.

Rhapsody’s Scope
Rhapsody enables a visual design environment to create requirements and model embedded
software. It enables you to accomplish the following tasks:

Analysis—Define system requirements, identify necessary objects, and define their


structure and behavior using the Unified Modeling Language™ (UML™) diagrams.
Design—Trace requirements to the design, taking into account architectural,
mechanistic, and detailed design considerations.
Implemention—Automatically generate code from the analysis model, then build and
run it from within Rhapsody.
Testing—Simulate the application on the local host or a remote target to perform
design-level debugging within simulated views.

Rhapsody 1
Rhapsody Basics

Starting Rhapsody
To start Rhapsody, click the Rhapsody icon on the desktop or select Start > Programs >
Rhapsody <Version>. When the interface first displays, it includes a Welcome screen, shown
below, with easy access to these features:

Create a new project


Open an existing project
Visit the Telelogic I-Logix Website
Display product documentation
View the list of available technical training courses or contact technical support
View sample projects
Launch ReporterPLUS (from the icon at the top of the screen)

You may redisplay this window at any time from the Help > Welcome Screen menu option.

2 Getting Started Guide


Creating a New Project

Creating a New Project


To create a new project, follow these steps:

1. With Rhapsody running, create the new project by either selecting File > New, or clicking
the New project icon in the main toolbar.

2. Replace the default project name (Project) with MyProject in the Project name field.
Enter a new directory name in the In folder field or Browse to find an existing directory.
Your dialog box should be similar to this example.

3. The Default Type provides all of the basic UML structures and is useful for most
Rhapsody projects. However, if you need a specialized profile that was delivered with
your system, you may select that project type from these profile options:

– AdaCodeGeneration is the default Ada code generation profile.


– ATGProfile is used by the ATG (Automatic Test Generation) tool.
– CGCompatibilityPre61C makes the code generation backwards compatible with
pre-6.1 Rhapsody models.
– CGCompatibilityPre61Cpp makes the code generation backwards compatible with
pre-6.1 Rhapsody models.
– DoDAF is the Rhapsody profile for DoDAF v1.0.
– FunctionalC profile tailors Rhapsody in C for the C coder, allowing the user to
functionally model an application using familiar constructs such as files, functions,
call graphs and flow charts.
– Harmony profile supports a process that integrates systems and software
development using UML2.0 and SysML based model-driven development.
– IDFProfile uses the code generation settings for the RiC IDF (Interrupt Driven
Framework).
– Pre60GESkin keeps default colors and fonts as they were before Rhapsody 6.0.

Rhapsody 3
Rhapsody Basics

– RoseSkin is used by Rose Import to set format and other settings to resemble Rose
look-and-feel.
– Simulink allows importing MATLAB Simulink models into Rhapsody as Simulink
Blocks.
– SPARK is Rhapsody's Ada SPARK profile.
– SPT (Scheduling, Performance and Time) is an implementation of the SPT standard
(OMG standard) that specifies the method to add timing analysis data to model
elements.
– SysML supports both UML and SysML model diagrams for systems engineering.
– TestingProfile_Ada is used for the Test Conductor (requirements based testing tool)
in Ada.
– TestingProfile_C is used by Test Conductor (requirements based testing tool) in C.
– TestingProfile_C++ is used by Test Conductor (requirements based testing tool) in
C++.
– TestingProfile_Java is used by Test Conductor (requirements based testing tool) in
Java.
4. Click OK. If the directory does not currently exist, Rhapsody asks whether you want to
create it. Click Yes to create a new directory for the project.

5. Rhapsody creates a new project in the MyProject subdirectory and opens the new project.
The project name in the directory is MyProject.rpy.

Refer to the Guided Tour for descriptions of the areas in the Rhapsody interface.

4 Getting Started Guide


Guided Tour

Guided Tour
The Rhapsody interface has several areas used to create items in the model and show the
relationships of those items. When you create a new project, Rhapsody creates starting point items
listed in the browser and creates one drawing area. These starting point items vary depending on
the type of project you have created.

The Drawing toolbar in the center of the window contains the icons appropriate for the type of
diagram displayed in the drawing area. Therefore, the icons change when you display a different
diagram.

Below is a labeled tour of the Rhapsody interface using a C++ software project.

If the browser panel does not appear automatically on the left side of the window, select View >
Browser. This shows the Entire Model View (browser) of your new project and operates in the
same manner as standard Windows trees. Click the “+” before a folder to expand the items and
view the contents.

Rhapsody 5
Rhapsody Basics

Locating Rhapsody Icons


The icons are grouped in two areas:

Under the menu bar across the top of the Rhapsody window
In the center of the window between the browser and the drawing area.
The Drawing icons in the center of the window change depending on the type of diagram being
displayed in the drawing area. As in any Windows program, you can rearrange the groups of icons
at the top of the Rhapsody window by dragging and dropping the double-bar, left edge of a group
of icons.

Output Windows
When you test your model using one of the Generate, Make, and Run icons (circled below) or
those options on the Code menu, Rhapsody displays output in tabbed windows at the bottom of the
window, as shown in the example.

Note
When your model requires that messages or an interface be displayed, Rhapsody
displays the generated material in a separate window off the Rhapsody interface.

6 Getting Started Guide


Using the Browser

Using the Browser


The browser displays the automatically generated elements for the project type, as well as the
elements that users defined.

Changing a Browser Item’s Name


To change the name of an item listed in the browser, follow these steps:

1. Highlight the item in the browser. This example uses an event in a C++ model.

2. Right-click or double-click to display this menu.

3. Select Features from the menu to display this dialog box for the event.

Rhapsody 7
Rhapsody Basics

4. To change the event’s name, click L (Label) beside the Name field to display.

5. Type the new label name for the browser item, and click OK to save the change and close
the dialog.

8 Getting Started Guide


Using the Browser

Adding Browser Items


To add new items to a category in the browser, follow these steps:

1. Highlight the item in the browser.

2. Select the Edit > Add New <item type> from the main menu or right-click the browser
item and select the Add New <item type> from the menu.

3. Depending on the type of item being added, the system may require additional information
or it may immediately add a new item to the browser category, as shown with the addition
of a new component. Note that the system allows you type in the name of the new
component in the browser list.

Deleting Browser Items


To delete an item from your project, follow these steps:

1. Highlight the item in the browser.

2. Right-click and select the Delete from Model from the menu or select Edit > Delete from
the main menu

3. The system asks for confirmation of the deletion operation. Click OK to approve it.

Rhapsody 9
Rhapsody Basics

Creating Backups
To set up automatic backups for your new project, follow these steps:

1. In the browser, right-click the MyProject item in the browser list.


2. Select Features from the pop-up menu.

3. Click the Properties tab at the top of the dialog box that then displays.

4. Click the All radio button to display all of the properties for this project.

5. Expand the General and then the Model property lists. (Rhapsody descriptions use a
notation method with double colons to identify the location of a specific property, for
example, General::Model::BackUps.)

6. Locate the BackUps property and select Two from the pull-down menu to create up to two
backups for each project. Note the Filter and definition features, shown in this illustration.

10 Getting Started Guide


Using Naming Conventions

7. Click OK to save this property change.

After this change, saving a project more than once creates <projectname>_bak2.rpy contains the
most recent backup and the previous version in <projectname>_bak1.rpy. To restore an earlier
version of a project, you can open either of these backup files.

Using Naming Conventions


To assist all members of your team in understanding the purpose of individual items in the model,
it is a good idea to define naming conventions. These conventions help team members to read the
diagram quickly and remember the model element names easily.

Note
Remember that the names used in the Rhapsody models are going to be
automatically written into the generated code. Therefore, the names should be
simple and clearly label all of the elements.

Prefixes
Lower and upper case prefixes are useful for model elements. The following is a list of common
prefixes with examples of each:

Event names = “ev” (evStart)


Trigger operations = “op” (opPress)
Condition operations = “is” (isPressed)
Interface classes = “I” (IHardware)

Model Element Names


The names of the elements themselves often follow these conventions:

Class names begin with an upper case letter, such as “System.”


Operations and attributes begin with lower case letters, such as “restartSystem.”
Upper case letters to separate concatenated words, such as “checkStatus.”

Rhapsody 11
Rhapsody Basics

Saving the Project


Save the project using one of the following methods:

1. Select Save or Save As from the File main menu.

2. Click the Save icon in the main toolbar.

Note
Rhapsody performs an autosave every ten minutes, but does not actually create any
files in the project directory until you manually save the project.

Closing the Project and Exiting Rhapsody


To close the project, follow these steps:

1. Select File > Close.

Rhapsody asks whether you want to save changes to the project.

2. Click Yes. Rhapsody saves the project, creates a backup of the previous version (if you set
the General::Model::BackUps property), and closes the project without exiting.

3. To exit from Rhapsody, select File > Exit.

12 Getting Started Guide


Parallel Development

Parallel Development
When many developers are working in distributed teams, they often need to work in parallel.
These teams use a source control tool or configuration management (CM) software, such as
Clearcase, to archive project units, but not all files may be checked into CM during development.

Engineers in the team need to see the differences between an archived version of a unit and another
version of the same unit or a similar unit that may need to be merged. To accomplish these tasks,
they need to see the graphical differences between the two versions, as well as the differences in
the code. However, source control software does not support graphical comparisons.

The Rhapsody DiffMerge tool supports team collaboration by showing how a design has changed
between revisions and then merging units as needed. It performs a full comparison including
graphical elements, text, and code differences.

A Rhapsody unit is any project or portion of a project that can be saved as a separate file. The
following are some examples of Rhapsody units with the file extensions for the unit types:

Class (.cls)
Package (.sbs)
Component (.cmp)
Project (.rpy)
Any Rhapsody diagram

DiffMerge Tool Features


The DiffMerge tool can be operated inside and/or outside your CM software to access the units in
an archive. It can be launched from inside or outside Rhapsody. It can compare two units or two
units with a base (original) unit.

The units being compared only need to be stored as separate files in directories and accessible
from the PC running the DiffMerge tool. In addition to the comparison and merge functions, this
tool provides these capabilities:

Graphical comparison of any type of Rhapsody diagram


Consecutive walk-through of all of the differences in the units
Generate a Difference Report for a selected element including graphical elements
Print diagrams, a Difference Report, Merge Activity Log, and a Merge Report

Rhapsody 13
Rhapsody Basics

Starting the DiffMerge Tool


The DiffMerge tool can be launched from inside the Rhapsody interface or outside Rhapsody.
There are slight differences in the file selection process of the tool depending on whether it is
launched inside or outside Rhapsody. Otherwise, all of the DiffMerge capabilities are the same.

To determine the better launch version for your needs, examine these differences:

The DiffMerge inside Rhapsody allows you to perform comparisons and merging operations on
units with these characteristics:

Units are stored as separate files in a CM system, such as ClearCase.


Units must be the same type and have exactly the same name since you select only one
unit name to set up the comparison.
The DiffMerge outside Rhapsody provides these file selection options:

Units are stored as separate files in a CM system or a directory that is not under source
control.
Units must be the same type, but they may have different file names because the
selection step allows you to enter file names.

Note
For more information about the DiffMerge tool, refer to the Team Collaboration
Guide.

14 Getting Started Guide


Rhapsody for Software
Development

This section provides information specific to developers using the four supported languages in
Rhapsody: C, C++, Ada, and Java. The sample models demonstrate Rhapsody’s uses in the
development process from requirements to creating code quickly and accurately and testing the
code. These models can be examined in more detail in the Rhapsody\Samples directory.

All of the models for the four languages show different features of the Rhapsody product to
demonstrate the overall scope of the product. To provide a quick start in developing with
Rhapsody, this section familiarizes developers with these basic Rhapsody features:

Using the browser


Accessing diagrams
Using the Drawing toolbar
Creating diagrams
Using the features dialog box
Different types of diagrams and their uses
Generating code
It is helpful to read through the quick start information for your development code before
progressing to the full tutorial for that language. You may also want to examine the quick start
information for other languages since those sections all have different Rhapsody examples.

Rhapsody 15
Rhapsody for Software Development

Quick Start with C


For an in depth understanding of using Rhapsody in C, refer to the Rhapsody in C Tutorial. That
tutorial builds a stopwatch model with simulations of both statecharts and sequence diagrams. To
access the C tutorial, in Rhapsody’s Help menu select List of Books > Rhapsody in C Tutorial.

The following quick start for C developers explores the elevator sample provided in your
Rhapsody installation.

Opening the Elevator Model


To start Rhapsody and open the elevator model, follow these steps:

1. Start Rhapsody as described in the Rhapsody Basics.

2. Select File > Open from the main menu and navigate to
Rhapsody\Samples\CSamples\Elevator directory.

16 Getting Started Guide


Quick Start with C

3. To display the diagrams in the drawing area, expand the Sequence Diagrams and Use
Case Diagrams items in the browser on the left.
Click to open the first sequence diagram and the use case diagram. At this point, your
project should resemble the following diagram:

Rhapsody 17
Rhapsody for Software Development

Examining the Use Case Diagram


1. Double click the Potential Passenger actor in the use case diagram to display the
features dialog (shown here) defining the actor. Examine all of the settings in the tabs.

2. Double-click one of the lines between the actor and an oval to examine the description of
that relationship, as shown in this example. Click through the tabs to see the descriptions
of the lines and their properties.

18 Getting Started Guide


Quick Start with C

3. Move one end of the line and then examine the description of the line to see how
Rhapsody automatically changed its description.

4. Examine the other items in the use case diagram to see what the model is expected to do.
Change items to see that effects on the relationships and definitions of items.

Rhapsody 19
Rhapsody for Software Development

Defining Messages Using Sequence Diagrams


Sequence diagrams define the message exchanges in your model. These diagrams show the
scenarios of message exchanges between the actors and items defined in the use case diagram.
Sequence diagrams have many uses including analysis and design scenarios, execution traces, and
expected behavior in test cases.

To examine the messages in the C sample elevator model, follow these steps:

1. In the browser, double-click the call when elevator idle above or below
floor sequence diagram in the Sequence Diagrams section. The sequence diagram
appears. See the figure.

Classifier Role

Primitive Operation
Event

Lifeline

20 Getting Started Guide


Quick Start with C

2. The arrows shown in the figure above running between the lifelines are all messages.
The closed, solid arrows are primitive operations. The arrows that are open are
events.

– Events can carry data and are used to trigger various statechart behaviors. For
example, the evGoto event is sent from the building to the elevator and causes the
elevator to go from idle to a moving state and carries data (aFloor) which can be
extracted for the same purpose.
– Primitive Operations are used to carry executable instructions or commands
from one object to another.

Rhapsody 21
Rhapsody for Software Development

Animating the Elevator Model


You can view and debug the behavior of the radio by animating the model as follows:

1. In the browser, expand the ElevatorPkg package, the Classes category, and the
Elevator class so you can see the underlying categories.

2. Select Code > Run gui.exe. A console window opens; minimize the console window.

Running the Animated Model


To continue running animation, follow these steps:

1. Click the Go icon in the Animation toolbar to begin executing Elevator.

2. In the browser, the Instances category displays under the Elevator object, which
contains the Building[0].theElevator[0] instance created as your application runs
in animation mode.

A GUI application displays that you will use to send events to the animated elevator model.
See the figure.

22 Getting Started Guide


Quick Start with C

3. In the Elevator class, double-click the Instance to view its features, as shown in the
following figure.

4. Click OK to close the features dialog box.

Rhapsody 23
Rhapsody for Software Development

Animating a Statechart
Next, create an animated statechart by right-clicking the Building[0].theElevator[0]
instance in the browser and selecting Open Instance Statechart from the pop-up menu.

24 Getting Started Guide


Quick Start with C

Rhapsody displays an animated statechart in the drawing area, as shown in the following figure.

Note that the active state (off) is highlighted in magenta; inactive states are highlighted in green.

Rhapsody 25
Rhapsody for Software Development

Generating Events
You can debug the animated statechart using events. In this example, you generate the evCall
event to transition the model from the wait state to the moving state.

To send an evCall event to the animated statechart, follow these steps:

1. Click the Event Generator icon in the Animation toolbar. The Event dialog box
opens.

2. Click Select. The Instances Selection dialog box opens.

3. Select Building[0] and then click OK to dismiss the Instances Selection dialog box and
return to the Event dialog box.
4. Select evCall from the Event pull-down, then click OK.

5. Double-click the argument named aFloor and type in a value between 0 and 7.

6. Double-click on the aDirection and type in the value UP or DOWN.

26 Getting Started Guide


Quick Start with C

The statechart indicates that the elevator has been called to the floor indicated by the integer entered in
step 5 and is waiting to be given an input (floor number) by the user.

Rhapsody 27
Rhapsody for Software Development

Creating an Animated Sequence Diagram


An animated sequence diagram (ASD) shows the messages passed between instances as the
application runs.

To create an ASD, follow these steps:

1. Select Tools > Animated Sequence Diagram. The Open Sequence Diagram dialog box is
displayed.
2. Expand ElevatorPkg, select call when elevator idle above or below
floor, then click Open.

The ASD opens in the drawing area and animates the sequence of events, as shown in the
following figure.

28 Getting Started Guide


Quick Start with C

3. Using the Radio GUI, click the buttons to send events to the animated radio. The
following example shows the GUI.

Rhapsody 29
Rhapsody for Software Development

The ASD displays the collaboration between the instances in the form of function calls, events, and
timeouts, as shown in the following example.

30 Getting Started Guide


Quick Start with C

Stopping the Program


To stop animation, select Code > Stop Execution.

Note
When you quit an animation session or close an ASD, you can save the ASD for
future reference. This is useful to compare the results of the current session to those
of different execution scenarios. When you close the project or the ASD, Rhapsody
asks whether you would like to save your ASD. Click Yes to save it.

Rhapsody 31
Rhapsody for Software Development

Quick Start with C++


This section uses a sample model of a radio to demonstrate using Rhapsody to analyze, model,
design, implement, and verify the behavior of embedded C++ software systems. To gain a more in
depth understanding of using Rhapsody in C++ to produce models, work through the model in the
Rhapsody in C++ Tutorial. The tutorial is accessed from Rhapsody’s Help menu. Select List of
Books > Rhapsody in C++ Tutorial.

Opening the Radio Model


To start Rhapsody and open the radio model, follow these steps:

1. Start Rhapsody as described in the Rhapsody Basics.

2. Select File > Open from the main menu and navigate to
Rhapsody\Samples\CppSamples\Radio directory.

3. Select the Radio.rpy project file and the project opens as shown below.

32 Getting Started Guide


Quick Start with C++

Viewing Diagrams
This section demonstrates important features of the diagrams that construct the Radio model using
C++.

Use Case Diagrams


A use case diagram (UCD) captures the functional requirements and external actors for a system.
The diagrams display in the drawing area.

To view a UCD, follow these steps:

1. In the browser, expand the Use Case Diagrams category.

2. Double-click the main uses UCD. The UCD opens in the drawing area.

Rhapsody 33
Rhapsody for Software Development

3. Double-click the select waveband oval in the use case diagram to view its features. The
features dialog box opens, as shown in the following figure.

4. To use the Text Editor for the Description field, click the ellipse button , and the full
text editor appears as shown here.

34 Getting Started Guide


Quick Start with C++

5. Click OK to close the text editor and OK again to close the features dialog.

Object Model Diagrams


An object model diagram (OMD) shows the static structure of the classes and instances in an
object-oriented software system and the relationships between them.

To open the radio OMD, follow these steps:

1. In the browser, expand the Packages category, the radioPKG, and the Object Model
Diagrams category to reveal this structure.

Rhapsody 35
Rhapsody for Software Development

2. Double-click radio in the Object Model Diagram folder. The radio OMD displays in the
drawing area, as shown in the following figure.

The Radio class (the large, red box at the top of the diagram) is the composite class containing
instances of the classes Waveband and Frequency. Each of these classes has a number in its
upper, left-hand corner to indicate the instantiated number of instances. In this case, Radio has
one frequency of its own and four wavebands.

Radio is related to theWaveband through an aggregation relation. This enables Radio to point to
one individual instance of Waveband as its current Waveband (itsSelectWaveband).

The class definition for the Waveband class is shown under the Radio class, which defines the
Waveband instance (theWaveband) inside of Radio. It is shown here because Waveband is also
a composite class containing five instances of the Frequency class, theFrequency. An
aggregation relation is used to relate a Waveband instance to one individual instance of
Frequency as its current Frequency (itsCurrentFrequency).

Because Rhapsody shows only one layer of nesting, the Waveband class is shown to the side of
Radio as if it were a separate class. However, when taken together, the radio OMD shows that an
instance of Radio contains a single frequency of its own along with four wavebands, and each
waveband contains five frequencies.

36 Getting Started Guide


Quick Start with C++

Statecharts
A statechart defines the behavior of individual classes in the system.

1. To open the statechart for the radio in the Object model diagram, right-click the Radio
class, then select Open Statechart from the pop-up menu, or click the statechart icon
in the upper right corner of the Radio class. The Radio statechart opens in the drawing
area.

A statechart has the following elements:

State—Each state contains a label and specified code to execute on entry (actions on
entry) and exit (actions on exit) from the state. Also included are reactions in state,
which are specified like transitions. A state is shown as a green box in the statechart
(for example, the tune state).
Transitions—Transitions enable the model to go from state to state during execution.
Each transition has a trigger, an optional guard, and optional code to execute. When the
state receives an event of type equal to the trigger specified, the transition takes place.

Rhapsody 37
Rhapsody for Software Development

Transitions are shown as red arrows. A transition’s trigger, guard, and action code are
shown adjacent to the transition in blue text in the following format:
trigger[guard]/code
Default connector—A default connector indicates the initial state and is shown as a red
arrow with a point on the end.
You can double-click the states or transitions to see their features.

Animating the Radio Model


You can view and debug the behavior of the radio by animating the model as follows:

1. Close the Radio statechart and radio OMD.


2. In the browser, expand the RadioPkg package, the Classes category, and the Radio
class so you can see the underlying categories.

3. Select Code > Run gui.exe. A console window opens; minimize the console window.

In the browser, the Instances category displays under the Radio object, which contains the
Radio[0] instance created as your application runs in animation mode.

38 Getting Started Guide


Quick Start with C++

Running the Animated Model


To continue running animation, follow these steps:

1. Click the Go icon in the Animation toolbar to begin executing RadioControl.

A GUI application displays that you will use to send events to the animated radio model.
See the figure.

Rhapsody 39
Rhapsody for Software Development

2. In the Radio class, double-click the Instance to view its features, as shown in the
following figure.

3. Click OK to close the features dialog box.

40 Getting Started Guide


Quick Start with C++

Animating a Statechart
Next, create an animated statechart by right-clicking the Radio[0] instance in the browser and
selecting Open Instance Statechart from the pop-up menu.

Rhapsody 41
Rhapsody for Software Development

Rhapsody displays an animated statechart in the drawing area, as shown in the following figure.

Note that the active state (off) is highlighted in magenta; inactive states are highlighted in green.

42 Getting Started Guide


Quick Start with C++

Generating Events
You can debug the animated statechart using events. In this example, you generate the evOnOff
event to transition the model from the off state to the on state.

To send an evOnOff event to the animated statechart, follow these steps:

1. Click the Event Generator icon in the Animation toolbar. The Event dialog box
opens.

2. Click Select. The Instances Selection dialog box opens.

3. Select the instance Radio[0], then click OK to dismiss the Instances Selection dialog
box and return to the Event dialog box.
4. Select evOnOff from the Event pull-down, then click OK.

The statechart indicates that the radio has been turned on, as shown in the following example.

Rhapsody 43
Rhapsody for Software Development

Creating an Animated Sequence Diagram


An animated sequence diagram (ASD) shows the messages passed between instances as the
application runs.

To create an ASD, follow these steps:

1. Select Tools > Animated Sequence Diagram. The Open Sequence Diagram dialog box is
displayed.
2. Expand RadioPkg, select Tuning up and down, then click Open.

The ASD opens in the drawing area, as shown in the following figure.

44 Getting Started Guide


Quick Start with C++

3. Using the Radio GUI, click the buttons to send events to the animated radio. The
following example shows the GUI.

The ASD displays the collaboration between the instances in the form of function calls, events, and
timeouts, as shown in the following example.

Rhapsody 45
Rhapsody for Software Development

Stopping the Program


To stop animation, select Code > Stop Execution.

Note
When you quit an animation session or close an ASD, you can save the ASD for
future reference. This is useful to compare the results of the current session to those
of different execution scenarios. When you close the project or the ASD, Rhapsody
asks whether you would like to save your ASD. Click Yes to save it.

46 Getting Started Guide


Quick Start with Ada

Quick Start with Ada


This section uses a sample RS232 project to demonstrate using Rhapsody to analyze, model,
design, implement, and verify the behavior of embedded systems software. To gain a more in
depth understanding of using Rhapsody in Ada to produce models, continue with the Rhapsody in
Ada Tutorial.

Opening the RS232 Sample Project


Follow these steps to locate and open the Ada RS232 sample:

1. Start Rhapsody as described in the Rhapsody Basics.


2. From the main menu, select File > Open.

3. In the dialog box, navigate to the Rhapsody\Samples\AdaSamples\RS232 directory and


select the RiA_RS232.rpy file.

4. The project opens in Rhapsody as shown here.

Rhapsody 47
Rhapsody for Software Development

Creating a Classes
Classes define properties that are common to all objects of the type. Classes can contain attributes,
operations, events, relations, components, superclasses, types, actors, use cases, diagrams, and
other classes.

To create a class, follow these steps:

1. In the browser, expand Packages.

2. Right-click the Default package and select Add New > Class from the pop-up menu.
Rhapsody creates a new class name class_n, where n is greater than or equal to 0. The
new class is located in the browser under the newly created Classes category.
3. Rename class_0 to Display by typing over the name, then press Enter. The following
example shows the Display class in the browser.

48 Getting Started Guide


Quick Start with Ada

Creating an Object Model Diagram


Object model diagrams (OMD) define the static structure of the system including the software
classes and their relationships. In this example, you add your new Display class to the System
Overview model diagram with these steps:

1. In the browser, expand the Object Model Diagrams category.


2. Select the SystemOverview from the list, as shown in the example below.

3. Drag the new Display class from the browser onto the SystemOverview diagram. Your
diagram should be similar to the one below.

In the OMD, when you move the cursor over the Display class border, the box becomes highlighted;
when you move the cursor over the class name, the name becomes underlined. This lets you select and
modify either the class or its name.

Rhapsody 49
Rhapsody for Software Development

Adding an Operation
The Display class needs attributes or operations to specify behavior and allow you to generate,
compile, and link code for the Display class.

To add an operation to the class, follow these steps:

1. In the browser, right-click the Display class, then select Add New > Operation from the
pop-up menu. The new operation is displayed in the browser.

2. Rename the operation main. This operation will serve as the entry point procedure in the
Ada executable.

3. Right-click the main operation and select Features from the pop-up menu.

4. Select the Implementation tab, and type the following code in the text area:
Ada.Text_IO.put_line("RS232");
delay(5.0);
The Implementation tab should be similar to this example.

5. Click OK to apply the changes and dismiss the dialog box.

50 Getting Started Guide


Quick Start with Ada

Setting an Entry Point


You can use the «entrypoint» stereotype to direct the code generator to make the main Ada
procedure the application entry point. A stereotype is a type of modeling element that extends the
semantics of the UML metamodel by typing UML entities.

To set an entry point, follow these steps:

1. In the browser, right-click the Display class and then select Features from the pop-up
menu. The Features dialog box opens.

2. Select the General tab and entrypoint from the Stereotype pull-down list.

3. Click OK to apply the changes and dismiss the dialog box. The diagram changes to
display <<entrypoint>> above Display in the class diagram.

Rhapsody 51
Rhapsody for Software Development

Checking the Configuration


The code generation component requires a configuration that provides information on the scope,
initial instances, code checks, and settings for the build.

Check the configuration in the sample using these steps:

1. In the browser, expand the Test component and the Configurations category. You
will see the three configurations.

2. Highlight the GnatRelease configuration.

3. Right-click and select Set as Active Configuration from the pop-up menu.
This ensures that the GnatRelease configuration is used for code generation. You can also
select the active configuration from the Code toolbar.

You have created the entire model and are now ready to generate code for the RS232 application.

Generating Code
Rhapsody generates implementation code from your UML model.

To generate code, follow these steps:

1. Select Code > Generate > Release.

2. The subdirectory GnatRelease, which Rhapsody needs to store the generated files, does
not yet exist. Rhapsody asks you to confirm its creation. Click Yes.

Rhapsody generates the code and displays output messages in the Build tab of the Output window.

The messages inform you of the code generation status, including:

Success or failure of internal checks for the correctness and completeness of your
model. These checks are performed before code generation begins.
Names of files generated for classes and packages in the configuration.
Names of files into which the main() function is generated.
Location of the generated make file.
Completion of code generation.

52 Getting Started Guide


Quick Start with Ada

Building the Application


Once you generate code, you are ready to build the application using either of the following
methods:

Select Code > Build Test.exe.

Click the Make icon in the toolbar above the work area.
Rhapsody invokes the make command for the appropriate compiler and displays compiler
messages in the Build tab of the Output window. As you can see from the output, there is a build
error.

Analyzing a Build Error


If you receive errors, double-click the error message in the Output window to go to the error
source. The source of the error appears as a highlighted element. Rhapsody navigates to the
problem area in the display.adb file.

By default, line numbers are not shown in the generated code. To display line numbering in the
source editor, follow these steps:

1. Right-click in the source window and select Properties from the pop-up menu.

2. In the Miscellaneous tab, select the numbering style.

3. Click OK to apply the changes and dismiss the dialog box.

Adding Predefined Packages


When you examine the source, you can see that the file is missing the appropriate Ada context
clause. To build correctly, the file needs the line with Ada.Text_IO at the beginning of the file.
You can use a UML graphical notation to express the context clause to generate the proper code.

Adding the Context Clause to the Model


To add the context clause to the model, follow these steps:

1. Select File > Add to Model. The Add To Model dialog box opens.

2. Navigate to <Rhapsody>\Share\LangAda83\model\RiAServices_rpy.
3. Show all the file types, then select ADA.sbs.

4. Accept the default settings and click Open. The ADA package is added to the browser.

Rhapsody 53
Rhapsody for Software Development

Adding a Class
To add a class, follow these steps:

1. Right-click the ADA package, then select Add New > Class from the pop-up menu.

2. Name the new class Text_IO.

3. Drag-and-drop the Text_IO class to the SystemOverview OMD and place it to the right
of the Display class.

Drawing the Dependency and Setting the Stereotype


To draw a dependency and set its stereotype, follow these steps:

1. Click the Dependency icon in the Drawing toolbar.

2. Draw a dependency from the Display class to the Text_IO class.

A dependency is a direct relationship in which the function of an element requires the pres-
ence of and may change another element.

3. Right-click the dependency line, then select Features from the pop-up menu. The features
dialog box opens.

4. Select «Usage» from the Stereotype pull-down list.


5. Click OK to apply the changes and dismiss the dialog box. The Display portion of the
SystemOverview diagram should be similar to this example.

54 Getting Started Guide


Quick Start with Ada

Adjusting the Package Dependency


Rhapsody enables you to specify whether the dependency should generate the context clause in the
source specification or the implementation body. Because the Display class has only a body, you
must set the context clause generation to implementation body.

To set the context clause generation, follow these steps:

1. Right-click the Display class and select Features from the pop-up menu. The features
dialog box opens. Select the Properties tab.

2. From the View filter, select All.

3. Browse to the property CG::Dependency::UsageType, click the value field and select
Implementation from the pull-down list. Note that the definition if the highlighted
property is displayed at the bottom of the window.

Rhapsody 55
Rhapsody for Software Development

4. Click OK to apply the changes and dismiss the dialog box.

5. Regenerate your code and verify that the proper context clause generates.
6. Rebuild the code and verify that it builds without errors.

56 Getting Started Guide


Quick Start with Ada

Running the Application


You are ready to run the application using either of the following methods:

Select Code > Run Test.exe


Click the Run executable icon .
A console window displays the program output. This application stops after a five second delay.
You can also end the application using one of the following methods:

Close the application window.


Select Code > Stop.
Click the Stop execution tool in the Code toolbar.
Instead of incrementally compiling, building, and running your application in three separate steps,
you can perform all three tasks in one step, using either of the following methods:

Select File > Generate/Make/Run.


Click the GMR icon in the toolbar.

Examining the Code


The RS232 directory contains the generated code for this example. You can examine the generated
code using either an internal or external editor.

Using the Internal Editor


To view generated source files in the browser using the Rhapsody internal editor, do one of the
following:

Select the package or class whose code you want to view, then select Code > Edit
>Selected classes.
Right-click the Default package, and select Edit Package from the pop-up menu.
Right-click the Display class, and select Edit Class from the pop-up menu.

Rhapsody 57
Rhapsody for Software Development

Selecting an External Editor


To view long text fields, such as operation bodies, or to view the generated code, Rhapsody calls
an external editor.

To specify the external editor, follow these steps:

1. Select File > Project Properties. The Project dialog box opens. Select the Properties tab.
2. Browse to the General subject and Model metaclass.

3. Click the ellipsis (...) button in the EditorCommandLine value field to browse to your
preferred editor, such as C:\Windows\System32\Notepad.exe.

4. Browse to the property General::Model::ClassCodeEditor and set it to the value


CommandLine.

5. Click OK to apply the changes and dismiss the dialog box.

When you edit code, Rhapsody opens it in the specified external editor.

58 Getting Started Guide


Quick Start with Ada

Closing the Project


To close the project, follow these steps:

1. Select File >Close. Rhapsody asks whether you want to save changes to the project.

2. Click Yes. Rhapsody saves and closes the project, without exiting

3. To exit from Rhapsody, select File > Exit.

Rhapsody 59
Rhapsody for Software Development

Quick Start with Java


This section uses a sample HomeAlarm project to demonstrate using Rhapsody in Java. To gain a
more in depth understanding of using Rhapsody in Java to produce models, continue with the
Rhapsody in Java Tutorial.

Opening the HomeAlarm Sample Project


Follow these steps to locate and open the Java HomeAlarm sample:

1. Start Rhapsody as described in the Rhapsody Basics.

2. From the main menu, select File > Open. In the dialog box, navigate to the
Rhapsody\Samples\JavaSamples\HomeAlarm directory and select the
HomeAlarm.rpy file. The project opens in Rhapsody as shown here.

60 Getting Started Guide


Quick Start with Java

Viewing Diagrams
This section describes how to explore the diagrams of the Home Alarm model.

Use Case Diagrams


A use case diagram (UCD) captures the functional requirements and external actors for a system.
The diagrams display in the drawing area.

To view a UCD, follow these steps:

1. In the browser, expand the Use Case Diagrams category.


2. Double-click the home alarm UCD. The UCD opens in the drawing area.

3. Click the Scale to Fit button. The diagram resizes to fit in the drawing area, as shown in
the following figure.

Rhapsody 61
Rhapsody for Software Development

4. Double-click the sound alarm use case to view its features. The features dialog box
opens, as shown in the following figure.

5. Click OK to close the dialog box, or click the X in the upper, right corner.

6. Close the diagram window by clicking the X in the upper, right corner.

62 Getting Started Guide


Quick Start with Java

Object Model Diagrams


An object model diagram (OMD) is a logical view that shows the static structure of the classes and
instances in an object-oriented software system and the relationships between them.

To open the OMD, follow these steps:

1. In the browser, expand the Object Model Diagrams category.


2. Double-click the domain diagram OMD. The domain diagram OMD opens in the
drawing area, as shown in the following figure.

The OMD has two packages:

hardware—Contains IHardware, a hardware interface class that describes the


operations that can be called on the hardware.
The hardware package has its own OMD, Possible hardware implementations. To
view this OMD, expand the hardware category and the Object Model Diagram category
in the browser, then double-click the OMD.

alarm—Contains AlarmController, a class that controls the alarm system. The


alarm package has its own OMD, home alarm overview.
The alarm package is related to hardware through an association. This enables alarm to point
to one individual instance of hardware as its hardware (theHardware).

Rhapsody 63
Rhapsody for Software Development

Statecharts
A statechart defines the behavior of individual classes in the system.

To open the statechart for the alarm controller, right-click the AlarmController class in the
domain diagram OMD, then select Open Statechart from the pop-up menu. The statechart
opens in the drawing area, as shown in the following figure.

64 Getting Started Guide


Quick Start with Java

A statechart has the following elements:

State—Each state contains a label and specified code to execute on entry (actions on
entry) and exit (actions on exit) from the state. Also included are reactions in state,
which are specified like transitions.
A state is shown as a green box in the statechart (for example, the detecting state).

Transitions—Transitions enable the model to go from state to state during execution.


Each transition has a trigger, an optional guard, and optional code to execute. When the
state receives an event of type equal to the trigger specified, the transition takes place.
Transitions are shown as red arrows in the statechart. A transition’s trigger, guard, and
action code are shown adjacent to the transition in blue text in the following format:
trigger[guard]/code
Default connector—A default connector indicates the initial state and is shown as a red
arrow with a point on the end.
You can double-click the states or transitions to see their features.

Animating the Model


You can view and debug the behavior of the home alarm by animating the model as follows:

1. Close the statechart and OMD.

2. In the browser, expand the alarm package and Classes category.

3. Select Code > Generate/Make/Run. A console window opens; minimize the console
window.

The Animation toolbar opens, which enables you to control the animation of the model.

In the browser, the Instances category displays in the Classes category in the alarm package.
This category will contain the instances created as your application runs in animation mode.

Rhapsody 65
Rhapsody for Software Development

Running the Animated Model


To continue running animation, follow these steps:

1. Click the Go icon in the Animation toolbar to begin executing the home alarm
program. The alarm keypad opens, as shown in the following example.

2. Expand the AlarmController instance and then double-click GuiHomeAlarm instance


to view its features, as shown in the following figure.

3. Click OK to close the features dialog box.

66 Getting Started Guide


Quick Start with Java

Animating a Statechart
Next, create an animated statechart by right-clicking the AlarmController instance in the
browser and selecting Open Instance Statechart from the pop-up menu. Rhapsody displays an
animated statechart in the drawing area, as shown in the following figure.

Note that the active state (off) is highlighted in magenta; inactive states are highlighted in green.

Rhapsody 67
Rhapsody for Software Development

Generating Events
You can debug the animated statechart using events. In this example, you will generate the evArm
event to transition the model from the off state to the armed state.

To send an evArm event to the animated statechart, follow these steps:

1. Click the Event Generator icon in the toolbar. The Event dialog box opens.

2. Click Select. The Select Instances dialog box opens.

3. Select the instance of the AlarmController class, then click OK to close the Select
Instance dialog box and return to the Event dialog box.

4. Select evArm from the Event pull-down list, then click OK.

In the GUI, the LED displays both red and green lights, as shown in the following figure.

68 Getting Started Guide


Quick Start with Java

The statechart indicates that the alarm has been tripped, as shown in the following figure.

Rhapsody 69
Rhapsody for Software Development

Creating an Animated Sequence Diagram


An animated sequence diagram (ASD) shows the messages passed between instances as the
application runs.

To create an ASD, follow these steps:

1. Select Tools > Animated Sequence Diagram. The Open Sequence Diagram box opens.
2. Under the alarm package, select Presence Simulation, then click Open. The diagram
opens, as shown in the following example.

3. Click the Event Generator tool in the Animation toolbar. The Event dialog box opens.

4. Click Select. The Select Instances dialog box opens.

70 Getting Started Guide


Quick Start with Java

5. Select the instance of the AlarmController class, then click OK to dismiss the Select
Instances dialog box and return to the Event dialog box.

6. Select evMovement from the Event pull-down, then click OK. This simulates movement
by an intruder.
7. The ASD displays the collaboration between the system border and the
AlarmController instance in the form of function calls, events, and timeouts, as shown
in the following example.

The alarm detects movement, the warning alarm turns on, after 4 seconds the alarm turns off, and
then the alarm resets.

Rhapsody 71
Rhapsody for Software Development

Stopping Animation
To stop animation, select Code > Stop Execution.

Note
When you quit an animation session or close an ASD, you can save the ASD for
future reference. This is useful to compare the results of the current session to those
of different execution scenarios. When you close the project or the ASD, Rhapsody
asks whether you would like to save your ASD. Click Yes to save it.

72 Getting Started Guide


Rhapsody for Systems Engineers

Rhapsody allows systems engineers to capture and analyze requirements quickly and then design
and validate system behaviors. In addition, Rhapsody produces high-quality systems engineering
specification documents using report templates. Refer to the ReporterPLUS for more information
about accessing templates and producing reports.

Rhapsody for Systems Engineers


Rhapsody is a visual design tool for performing structural and systems modeling and developing
embedded software. With this tool you can accomplish the following:

Perform analysis to define and validate system requirements


Design and specify the system architecture
Validate and simulate the model to perform detailed system testing
Document the system model by producing system specifications automatically from
the model itself

Systems Engineering Tutorial


The Systems Engineering tutorial provides step-by-step instructions demonstrating the tasks that
systems engineers can accomplish using Rhapsody.

To access this tutorial, in Rhapsody’s Help menu select List of Books > Systems Engineering
Tutorial.

Rhapsody 73
Rhapsody for Systems Engineers

74 Getting Started Guide


Rhapsody for DoDAF Development

Rhapsody’s DoDAF package allows the engineers to create a DoDAF-compliant architecture


model. The package, a template driven solution, can be customized and extended to meet specific
customer requirements.

DoDAF Compliance
Rhapsody’s DoDAF package defines the architecture model in four views:

Operational View
Systems View
Technical View
All View
The DoDAF architecture model includes the following architecture products:

Rhapsody 75
Rhapsody for DoDAF Development

Architecture Product
View Product Description
Product Name
All Views Package AllViews This optional stereotyped package allows you to add
in AV products and other views and packages, if
desired.
AV-1 All Overview and This product is typically a text (Word, FrameMaker,
Summary HTML) document. You can add AV-1documents and
Information launch them by clicking on them.
AV-2 All Integrated This is also a text product.
Dictionary
Operational Package This optional stereotyped package is similar to the All
View View product. It supports all the
operational products.
OV-1 Operational High-Level This High-level graphical/ textual description of the
Operational operational concept allows you to import pictures and
Concept Graphic other operational
elements, such as Operational Nodes, Human
Operational Nodes, Operational Activities and the
relations among them.
OV-2 Operational Operational Node This product shows the connections and flows among
Connectivity operational nodes. This is not an activity diagram. If
Description desired, activity
diagrams (OV-5s) or state machines (OV-6b) can be
used to detail how the operational nodes and activities
behave. These diagrams are the primary source of info
for the OV-3.
OV-3 Operational Operational This product shows information exchanged between
Information nodes, and the relevant attributes of that exchange.
Exchange Matrix 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.
OV-5 Operational Operational This product details the behavior of
Activity Model operational nodes or more commonly,
operational activities.
OV-6a Operational Operational Rules This product is a textual description of
Model “business rules” for the operation. It is a controlled
file. One of three products used to describe the
mission objective.
OV-6b Operational Operational State This product is a statechart that can be used to depict
Transition the behavior of an operational
Description element (node or activity). One of three products used
to describe the mission
objective.

76 Getting Started Guide


DoDAF Compliance

Architecture Product
View Product Description
Product Name
OV-6c Operational Operational Event This product is a sequence diagram that
Trace Description 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-7 Operational Logical Data This product is a class diagram that shows the
Model relations among Informational Elements (data
classes). This is similar to entity
relationship diagrams, but is more powerful. This is
not an activity diagram
System View Package This optional stereotyped package is similar to other
views, but contains system elements.
SV-1 Systems Systems This product is a structure diagram that
Interface contains System nodes, systems, and system parts and
Description the connections between them (links). These can be
used with or without ports.
SV-2 Systems Systems This product is a structure diagram that shows the
Communications connections among systems via the communications
Description systems and networks.
SV-3 Systems Systems-Systems This product is generated from the information in the
Matrix 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
SV-4 Systems Systems This product represents the connection between
Functionality System Functions and Operational Activities. This is
Description done by drawing a Realize dependency from the
System Function to the Operational activity on the
diagram. System Functions are mapped onto the
system
elements that support them by making the System
Function parts (drawn within), the system elements.
Note that 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 is
not an activity diagram.
SV-5 Systems Operational This product is a spreadsheet-like generated view
Activity to summarizing the relations among
Systems Function system elements (system nodes, systems and system
Traceability parts), system functions that they support, and the
Matrix mapping to operational activities.

Rhapsody 77
Rhapsody for DoDAF Development

Architecture Product
View Product Description
Product Name
SV-6 Systems Systems Data This product shows the information in the flows
Exchange Matrix (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.
SV-7 Systems Systems This is a generated spreadsheet-like product, showing
Performance all the performance
Parameters parameters and the elements that they
Matrix constrain.
SV-8 Systems Systems This product is the system evolution description. This
Evolution is an activity diagram (there is a SystemProject
Description 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, etc.
SV-9 Systems Systems This product is a text document - a
Technology stereotype of a Controlled File.
Forecast
SV-10a, Systems Systems Rules These products are similar to the OV-6a,
SV-10b, Model, OV-6b, and OV-6c products, but they are
SV-10c Systems State separately identified, even though they are
Transition structurally identical.
Description,
Systems Event
Trace Description
SV-11 Systems Physical Schema This product is similar to the OV-7 class
diagram. This product uses a class diagram to show
physical schema (data
representation).

Rhapsody’s DoDAF Tutorial


While you do not need prior knowledge of the Rhapsody software to work through the DoDAF
Tutorial, a basic understanding of DoDAF will help you to gain a better understanding of the
architecture model that the software creates.

To access this tutorial, in Rhapsody’s Help menu select List of Books > DoDAF Tutorial.

78 Getting Started Guide


Reports

Rhapsody offers two ways to generate reports from the models, charts, the generated code, and
other items:

A simple and quick internal RTF report generator


A more powerful reporting tool, Rhapsody ReporterPLUS

ReporterPLUS
ReporterPLUS produces reports that are suitable for formal presentations and can be output in any
of these formats:

HTML page
Microsoft Word
Microsoft PowerPoint
rtf
text
You can save the file and view it in any program that can read the report’s format. In addition, you
can create custom report specifications that define the structure, content, and format of reports.
The following stylistic definitions all control a report’s appearance:

ReporterPLUS template and selected options


Output type (Word, PowerPoint, HTML, RTF, text)
Word or PowerPoint template
HTML style sheet
HTML tags in your model, ReporterPLUS template, or in an inserted file
ReporterPLUS has extensive Help information available from the interface. Use the Help Topics
to answer your more detailed questions about the features of this specialized interface.

Rhapsody 79
Reports

Starting ReporterPLUS
To start ReporterPLUS from inside of Rhapsody, select Tools > ReporterPLUS. This menu
displays options for printing the model currently displayed in Rhapsody.

The Report on selected package option is not available from this menu unless a package in the
model is highlighted in the Rhapsody browser. If one of the first two items is selected, a report can
be generated using a predefined template without displaying the main ReporterPLUS GUI. If the
last option is selected, ReporterPLUS starts with no model elements imported.

To start ReporterPLUS from outside of Rhapsody, select Start > Programs >Rhapsody version
>Rhapsody ReporterPLUS (version number)> Rhapsody ReporterPlus (version number)
option.

After starting ReporterPLUS, either from the Tools menu or outside Rhapsody, select one of these
report generation option.

80 Getting Started Guide


ReporterPLUS

Examining and Customizing ReporterPLUS Templates


Rhapsody includes numerous pre-fabricated report templates that you may want to use as they are
or customize to meet your needs.

Note
These files are stored in the Rhapsody\reporterplus\Templates directory.

Rhapsody models can be loaded into the ReporterPLUS interface and used to create generic or
model-specific templates. This interface allows you to create and modify templates graphically
using a drag-and-drop method.

To access ReporterPLUS and the templates, follow these steps:

1. Select Tools > ReporterPLUS from the menu.

2. From the next menu, select Create/Edit template with ReporterPLUS.

3. Your model displays in the upper left corner of the ReporterPLUS interface. Click the
items in the tree to expand and examine the model. When you click part of the model a
description of that item appears to the right of the model tree.

4. Select File > Open Template.

5. Select any of the Standard Templates from the dialog box. The template structure
appears in the lower left area.

Rhapsody 81
Reports

6. Click on individual items in the template and the definition of the item appears to the right,
as shown in the example below.

7. You may also want to add standard headings and text to an existing template. To add this
“boilerplate” material, highlight a section of the template in the lower left window and
click the Text tab in the lower right window. Type text in the Heading and Body sections
as desired.

Note
For more complex changes, study the commands, creation of subtemplates, and the
uses of the Q Language, as described in the Rhapsody ReporterPLUS Guide.

82 Getting Started Guide


ReporterPLUS

Generating Reports
If you are going to generate a report in Microsoft Word, be certain that Word is closed before you
start this procedure to avoid a conflict between ReporterPLUS and Word.

Once you have a template that you want to use for a report, follow these steps:

1. With your project open in Rhapsody, select Tools > ReporterPLUS from the menu.

2. From the next menu, select one of these two options:

– Report on all model elements


– Report on selected elements
3. Rhapsody displays the ReporterPLUS Wizard that allows you to select the desired output
format

4. In subsequent dialog boxes, select the template and directory location and name for the
finished report.

You may wish to use one of these standard templates without modification to gather basic
information about the model.

Rhapsody 83
Reports

Standard Templates
ReporterPlus provides a large number of standard templates. These templates can be used as they
are or modified to meet your needs. The following table lists some of the commonly used
templates with a description of each and the preferred output formats. The rich text format (.rtf)
and plain text (.txt) formats are not listed in the following table because the design capabilities of
those output formats is simplified and can be used for any of these templates. However, HTML,
Word and PowerPoint provide more formatting capabilities, so some of the generic templates look
better in one or more of the other three formats.

Preferred
Template Name Description
Output Formats
class.tpl HTML or Word This template defines the information about the
classes in the project. It prints the
documentation of the following elements of the
class:
• Attributes
• Operations
• Relations
• Events
• Statechart and Activity Diagrams
(including the diagrams)
GetStarted.tpl Word & PowerPoint Shows all diagrams and classes in a model.
ModelMetrics.tpl Word or HTML This prints out metrics for the entire model and
each package in the model
PackageReport.tpl Word This template defines the information related to
the packages and all the elements of in these
packages:
• All packages (nested structure)
• All the diagrams in each package
• Elements contained in the packages
• Sub Packages and their elements
It does not include project level information.
ProjectReport.tpl Word This generic template defines the information
about the complete project. It includes all the
model elements and all the diagrams in the
project. It includes and title page and table of
contents.
RequirementsTable.tpl Word This template lists the requirements, use cases,
actors, and all diagrams.

84 Getting Started Guide


ReporterPLUS

Preferred
Template Name Description
Output Formats
Rhapsody HTML Exporter.tpl HTML only The template generates a comprehensive
HTML report of the project. The template
defines the information about the complete
project including model elements by label.
UseCaseReport.tpl Word This template prints all of the use cases and use
case diagrams in a model.

Rhapsody 85
Reports

Using the Internal Reporting Facility


The internal reporting facility is particularly useful for quick print-outs that the developer needs to
use for debugging the model. The reports are not formatted for formal presentations.

Producing an Internal Report


To create a report using the simple, internal reporter, select
Tools > Report on mode. The Report Settings dialog box opens, as shown in the following figure.

The dialog box contains the following fields:

Report Options—Specifies which elements to include in the report. The possible


values are as follows:
– Include Relations—Include all relationships (associations, aggregations, and
compositions). By default, this option is checked.
– Include Subclasses—List the subclasses for each class in the report. By default, this
option is checked.
Scope—Specifies the scope of the report. The possible values are as follows:
– Selection—Include information only for the selected elements.

86 Getting Started Guide


Using the Internal Reporting Facility

– Configuration—Include information for all elements in the active component scope.


This is the default value.
Operations—Specifies which operations to include in the report. The possible values
are as follows:
– All—Include all operations. This is the default value.
– Public—Include only the public operations.
Attributes—Specifies which attributes to include in the report. The possible values are
as follows:
– All—Include all attributes. This is the default value.
– Public—Include only the public attributes.
Select the portions of the model you want to be included in the report, then click OK to generate it.
The report is displayed in the drawing area with the current file name in the title bar.

Using the Internal Report Output


When you generate a report in Rhapsody using Tools > Report on model, the initial result uses
the internal RTF viewer. To facilitate the developer’s research, this output may be used in

To locate specific items in the report online, select Edit > Find from the menu and type
in the search criteria.
To print the initially generated report, select the File > Print menu option.
The initially generated report is only a view of the RTF file that the facility created. This
file is located in the project directory (parallel to the.rpy file) and is named
RhapsodyRep<num>.rtf. If you wish, open the RTF file using a word processor that
handles RTF format, such as Microsoft Word.

Rhapsody 87
Reports

88 Getting Started Guide


Technical Support and
Documentation

The Rhapsody product includes multiple methods for customers to get answers to their questions
quickly.

Contacting Rhapsody Technical Support


The Rhapsody Technical Support staff members answer questions about installation, application
issues, product defect reporting, and documentation. Technical support engineers, in conjunction
with sales application engineers, assist prospective customers with product evaluations and
provide timely responses to user issues to ensure maximum productivity.

Note
Assistance from the technical support staff for purchased products is only available
to companies that have paid for ongoing maintenance.
Contact your local sales representative to purchase or renew a maintenance package or send
your request to [email protected].

To send a question or report a problem to the Technical Support staff at any time of day from
anywhere in the world, you may use one of these methods:

The Sending a Detailed Problem Report describes the method to use to report
problems directly from the Rhapsody interface.
Use the instructions in the Sending a Request from the Web Client Center to send
simple questions or comments.

Rhapsody 89
Technical Support and Documentation

Sending a Detailed Problem Report


For all problem reports and questions, send a detailed report using the Rhapsody online form.

Accessing the Automated Problem Report Form


Follow these steps to send the automated problem report quickly to the technical support staff:

1. In Rhapsody click Help on the menu bar.

2. Select the Email Technical Support option from the menu.

3. The following form appears with some of your product information filled in.

90 Getting Started Guide


Contacting Rhapsody Technical Support

4. Check the product information to certain it is accurate.

5. Select the severity of the problem from the Impact pull-down menu at the top of the form.
6. Type a Summary of the problem in the next field.

7. Type a more detailed description in the Problem field.

8. To attach a Rhapsody Window Snapshot or a Screen Snapshot, click one of the buttons
and select the snapshot from a directory on your PC.

9. Add any additional items or information to help the support staff resolve the problem.

10. Click Preview and Send to submit the report to the support staff.

Guidelines for Writing a Problem Report


The following guidelines help Rhapsody customers to work efficiently with the customer support
staff to solve problems quickly:

In the Summary or problem title field and the Problem text area, summarize the
problem with specific descriptions of the system behavior. Don’t summarize the
problem generally, such as “It crashed.”
Indicate if there were any system changes, such as customization or upgrades, before
the problem occurred.
If the problem is reproducible, list the specific steps to be followed in order to
demonstrate the problem and also indicate the model you are using to perform the steps.
In the problem description, include anything different or unusual that you observed
before the problem happened.
Make screen captures of anything that you feel will help and attach them to the problem
report.
Include any error messages and code samples you have related to the problem.
If you have multiple unrelated questions or issues, please submit them separately.

Rhapsody 91
Technical Support and Documentation

Automatic Responses and Recording Defects


When you send the online form to Rhapsody technical support, the customer service system
immediately searches the Knowledge Base based on the Summary and Problem descriptions you
entered. If there is an exact match of your problem in the Knowledge Base, the system
automatically sends an email to you with a pointer to the most likely solution.

The problem is also automatically recorded in the Rhapsody defect tracking system as assigned to
a support representative. This representative works with you to be certain that your problem is
solved. The defect tracking system also records new problems with their solutions in the
Knowledge Base to provide rapid assistance for other customers.

Automatically Generated Problem Reports


If your Rhapsody system crashes, it displays a message asking if you wish to send a problem
report to Telelogic about this crash.

If you select to send the report, the system displays the same online form that is available from the
Email Technical Support option from the Help menu. However, this form contains information
about the crash condition in addition the information that is usually filled in describing your
system.

Add any more information that you can to help the support staff identify the problem and then
click Preview and Send to submit the report.

Sending a Request from the Web Client Center


If you have a simple question or comment for the support staff, you can easily send it from the
Client Center using these steps:

1. Access the Telelogic I-Logix Website at http://www.telelogic.com/modeling.

2. Click the Client Access button.

3. Enter your User Name and Password (available through your maintenance and support
agreement).

4. Click Services from the options on the left side of the window.

5. Then on the right side of the window, click the link in the Contact Us box and a form with
your customer information displays.

6. Check to be certain the displayed information is accurate and complete and make any
necessary changes.

92 Getting Started Guide


Telephoning Technical Support

7. Type your request or comment in the Comments area at the bottom of the form.

8. Click Send It!

Telephoning Technical Support


If you wish to call the support staff directly and your company has a current Rhapsody
maintenance agreement, use the appropriate telephone number listed below:

Support
Telephone Number Availability
Location
US (978)682-4884 8:30 am to 8:00 pm EST
UK +1249 467600 9:00 am to 5:30 pm UKT
Germany +89 452447-33
France +0800 620-820
Israel +800 937-0045

Rhapsody 93
Technical Support and Documentation

Accessing the Rhapsody Documentation


Rhapsody documentation is accessible from three locations:

Telelogic I-Logix Website at http://www.telelogic.com/modeling


Windows Start and the Programs menu
Rhapsody interface Help menu
The documentation is available in two formats: PDF and online. The online documentation
displays in a browser. The PDF format displays using the Adobe® Acrobat Reader™.

Note
You must use Adobe Acrobat Reader version 6.0 or greater when examining the
PDF versions of the Rhapsody documentation.
In addition to this Getting Started Guide, the basic information needed to use Rhapsody can be
found in the following general documentation:

Tutorial for your Rhapsody version


User Guide

94 Getting Started Guide


Accessing the Rhapsody Documentation

Help Menu Options


The Rhapsody Help menu, shown below, lists all of the documentation access options in Help
Topics, List of Books, and Getting Started.The first option on the Help menu redisplays the
Welcome screen for quick access to many Rhapsody support features including the product
documentation. Refer to the Starting Rhapsody section for more information.

The Getting Started menu item launches the Help system version of the guide. You may use the I-
Logix on the Web option to search for recent updates to the documentation that were not available
when your system was installed.

Help Topics
The Help Topics is the Help system version combines the Rhapsody User Guide along with other
detailed manuals, such as the Properties Reference Manual and the Team Collaboration Guide, to
supply a compilation of the Rhapsody product information.

You can navigate this large Help system using the Table of Contents, the Index, or the Help
Search Facility.

Rhapsody 95
Technical Support and Documentation

Help Search Facility


To search for information, type a word or words into the search field, select which manuals to
search (All Available Books in this example), and click Go.

The system searches specified books and lists all of the items that match the search items. The
facility locates the text that contains any of the words entered for the search and prioritizes the
results with a percentage probability that it is the desired information, as shown in this example.

Note that “Roundtripping” in the Using Rhapsody book and “<Lang>_Roundtrip::General” in


Rhapsody Properties have a 100% likelihood of containing the desired information for the search
criteria of “roundtrip.”

96 Getting Started Guide


Accessing the Rhapsody Documentation

To find a specific instance of the search term in any of the search results, you can perform a “find
in browser,” which is unique to every browser, but usually accomplished by pushing Ctrl+F.

1. Type the search term in the search box that appears in your browser window and click
“Find” to find the first instance of the search term in the window.

2. Clicking “Find Next,” brings up the next instance of the term, if there is one.
If no instance of the search term can be found, open another document from the search results in
the left pane and repeat steps 1 and 2.

List of Books
The List of Books contains links to the Rhapsody manuals, primarily reference manuals, that are
available as PDF files for easy printing. The User Guide is included on that list.

You may search all of the PDF files available on the List of Books using the browser Search
facility. This facility includes a Boolean search capability.

Rhapsody Reference Documentation


The reference documentation provides generic reference material, such as the Glossary, describes
more specialized operations, such as installation, or explains advanced features, such as using the
COM API. These manuals are available in the PDF format:

Installation Guide describes how to install Rhapsody, and how to configure your
license.
C++ Execution Framework Reference Guide describes the Rhapsody framework in
detail. This guide is intended to be used by application developers as a reference guide
for the framework layer classes, methods, and attributes.
Code Generation Guide describes how Rhapsody generates C code from UML™
diagrams.
Properties Reference Manual documents all the properties that enable you to customize
the Rhapsody environment, and their default values.
Rhapsody DoDAF Pack Tutorial provides instructions to create a DoDAF compliant
architecture model of the operational view for a simplified land and sea-based attack capability.
COM API Reference Manual describes the Rhapsody Repository API, which is a set of
COM interfaces supporting dual interfaces (COM and automation). This allows access
from Visual Basic® for Applications and any language implemented with COM
bindings.
COM Development Guide describes how to use Rhapsody to develop distributed
applications using the Component Object Model (COM) from Microsoft®.

Rhapsody 97
Technical Support and Documentation

Team Collaboration Guide describes techniques and tools to assist multiple users who
are working together as a team and in parallel on Rhapsody projects.
CORBA Development Guide describes how to develop distributed CORBA applications
with Rhapsody.
ReporterPLUS Guide provides information to use ReporterPLUS to create Microsoft®
Word, Microsoft PowerPoint®, HTML, RTF, and text documents from any Rhapsody
model.
TestConductor User Guide explains the debugging and testing capabilities of this visual
validation tool for object-oriented embedded software designed in the Rhapsody
framework.
ATG User Guide describes the uses of the Automatic Test Generation (ATG) tool to
generate test suites and perform test execution of your Rhapsody C++ applications.
Rhapsody Gateway User’s Guide describes the requirements traceability functionality.
RTOS Adapter Guide describes how to adapt Rhapsody to use a new run-time operating
system.
Using Third-Party Tools with Rhapsody describes how to use DOORS™, Rational®
Rose®, and Tornado® with Rhapsody.

Rhapsody Version Release Documents


Each new release of the product includes these documents specific to that release. These
documents are only available in the release kit and from the Telelogic I-Logix Website and from
the Help menu.

Release Notes—Documents the supported environment environments for Rhapsody, its


latest features, and known restrictions.
Upgrade Guide—Describes the changes to the framework, properties, and code
generation between versions of Rhapsody.
Readme supplies any last minute information discovered before the release that
customers need to know.

98 Getting Started Guide


Index

A C
Actors C language 16
for C 18 actors 18
Ada language 47 animating the model 22
analyzing build errors 53 events 26
build application 53 profile 3
configuration 52 sequence diagram 28
creating classes 48 stop program execution 31
generate code 52 C++ language 32
object model diagram 49 animating the model 38
operation 50 events 43
package dependency 55 object model diagrams 35
predefined packages 53 sequence diagram 44
properties 55 statecharts 37
running application 57 use case diagrams 33
setting entry point 51 Classes 48
SPARK profile 4 ClearCase 13
Animation 22, 39 Close project 12
sequence diagram 28, 44 Code
Application Ada 47
building 53 C 16
running 57 C++ 32
Architecture 73 Java 60
DoDAF 75 Configuration management (CM) 13
Archive 13 Customer support 89
ATG
profile 3
Autosave 12 D
Delete from model 9
Development 15
B parallel 13
Backups 12 using Ada 47
setting 10 using C 16
Browser 5 using C++ 32
add items 9 using Java 60
changing names 7, 9 Diagrams 5
deleting items 9 drawing area 5
displaying 5 object model for C++ 35
right-click menu 7 sequence for C 20
Build use case for C 18
Ada application 53 use case for C++ 33
Ada configuration for 52 DiffMerge tool 13
analyzing errors 53 starting 14
using Generate/Make/Run 57 uses 13
Distributed team 13

Rhapsody 99
Index

Documentation 94 Help menu 95


access from Welcome screen 2 Getting Started 95
accessing 97 List of Books 97
download from Web 95 Welcome screen option 2
Help 96 HTML 79, 83
printing PDF files 97 HTML documents 84
recent releases 95
reference 97
searching 97 I
version release 98 Icons 5, 6
DoDAF 75 Interfaces
Drawing area 5 naming conventions 11
Drawing icons 6 Internal editor 57
Drawing toolbar 5
J
E Java language 60
eLearning courses 1 animated sequence diagram 70
Environments animating the model 65
development 15 object model diagrams 63
Errors 53 running animated model 66
Events 26, 43 statecharts 64, 67
naming conventions 11 use case diagram 61

F L
Features dialog 7 Languages
filter properties 10 Ada 47
General tab 18, 34 C 16
Implementation tab 50 C++ 32
L button 8 Java 60
Properties tab 55 Launching Rhapsody 2
select Stereotype 51 List of Books 97
Files 12
backup 12
project 3 M
restore 11 Messages 20
MKS Source Integrity 13
G Model 1
add items 9
Generate 6, 26, 43 delete items 9
Ada code 52 naming conventions 11
formal reports 79 samples 15
Java events 68
report 86
Generate/Make/Run option 57 N
Graphical comparisons 13 Names
Guided tour 5 changing 7, 9
Naming conventions 11
H
Harmony 3 O
Help 95 Object model diagrams 35
email technical support 90 Operations
search facility 96 naming conventions 11
topics 95 Output windows 6

100 Getting Started Guide


Index

P generating reports 86
guided tour 5
Parallel development 13 information 1
PowerPoint 79, 83 internal editor 57
Profile launching 2
C 3 maintenance and support 89
Profiles output window 6
ATG 3 product scope 1
Harmony 3 project saving 12
IDFProfile 3 project types 3
SPARK 4 purchase support contract 89
Project 3 reports 79
backups 10 restore projects 11
closing 12, 59 starting 2
creating new 3 starting ReporterPLUS 80
saving 12 technical support 89
types 3 training 1
Properties 10 tutorials 1
backup 10 units 13
definition display 10, 55 viewlets 1
dependency 55 Webinars 1
filter 10, 55 Welcome screen 2
window 6
R Rose Import 4
ReporterPLUS 79, 81
generating reports 83 S
launch icon 2 Save
standard templates 84 autosave 12
starting 80 project 12
Reports 79 Sequence diagram 28, 44
classes 84 Sequence diagrams 20
for presentations 79 Simulink 4
formal 79 Software developers 15
formats 83 Starting 80
generating 83 Statecharts 37
HTML 79, 83 animating 24, 41
internal output 87 Java 67
PowerPoint 79, 83 Stereotype 51
prepackaged templates 81 SysML
types 80 project type 4
Word format 79
Requirements 73
Restore projects files 11 T
Rhapsody
Templates 81
autosave 12 DoDAF 75
backup files 12
browser 5 Text editor 34
Tutorials 1
close project 12 DoDAF 78
customer support 89
DiffMerge tool 14 systems engineering 73
Types 3
documentation 94, 95 AdaCodeGeneration 3
drawing icons 6
drawing toolbar 5 ATGProfile 3
Harmony 3
eLearning courses 1 IDFProfile 3
exiting 12
RoseSkin 4
formal reports 79 SysML 4

Rhapsody 101
Index

U W
UML 1 Webinars 1
Units 13 Website 94
Use case diagrams 18, 33 access 95
Welcome screen 2
V
Viewlets 1

102 Getting Started Guide

You might also like