Before you start
Telecoms, data processing and network management all operate using a real-time operating system (RTOS). Unlike the typical desktop application, this means that they need to be able to respond to activity from the user, external device or an internal trigger immediately. There are no hour-glasses in an RTOS.
The problem is that developing in this environment can also be quite complex. Instead of the usual sequential or event driven nature of your typical desktop application, you need to work with concurrent systems and processes and state-based environments. A typical development and modeling system is difficult to use when designing your application because they are incapable of modeling the various systems operating simultaneously within a typical RTOS and application.
Rational Rose RealTime, on the other hand, provides a complete environment for modeling your application. Using UML as a basis, it is able to produce code and your final application directly from within the modeling environment. In this tutorial you're going to look at a basic message passing application designed to work within an RTOS. You'll build the model within RationalRose and then use that to produce a Java application.
The application is a simple alarm system, with different sensors and a simple alarm bell. You'll concentrate on one section of the alarm, a fire alarm, using a smoke detector as the trigger.
Key topics covered in this tutorial include:
- Specifying a design
- Translating the design to an application model in Rational Rose RT
- Extending and updating the structure
- Generating code and target specification
- Testing and re-modeling the application
This tutorial is useful for developers interested in using Rational Rose RealTime (RoseRT) to design and model applications using physical diagrams, thus simplifying the functional testing process by avoiding the need to develop the code.
RoseRT is designed to work on a number of environments and with a range of different platforms. RoseRT is available for Linux, a selection of UNIX variants and Windows NT/2000/XP. You can also use it to develop applications using C, C++, or Java code as the deployment language, and it's possible to migrate a model from one language to another.
In addition to all of this, RoseRT can also work with and create native code for a number of deployment environments. These include Linux, QNX and LynxOS, among many others. As with the target deployment language, the model can be migrated to work with an alternative target environment, so you can use RoseRT to develop a Java application that can be deployed among a number of target environments.
To complete the steps in this tutorial, you should have the following software installed:
- Rational Rose RealTime.
- Java compiler, such as the Java SDK from Sun Microsystems.
- A copy of a make tool, such as GNU make or the Microsoft nmake.
See Resources for more information

