Exploring Rhapsody Features

The Rhapsody tool suite is used in SE462 - Modeling of Real-Time Systems to model the real-time systems associated with the course's project work. There are many features of Rhapsody that were not used. Two of those are: model execution and autocoding. A team assigned to this topic area will choose which one of these two areas it would like to explore.

Model Execution

Rhapsody has the capability to execute the defined models to test the behavior of the system. This includes generating traces of actions executed, and attaching a user interfact that can simulate events and accept user input. This will allow the develop to test many aspects of system operation before implementing any code. The more of the system that is modeled within Rhapsody, the more that can be tested. The team will take one of the projects from SE462 and setup it up for execution within Rhapsody. This will include the use of traces and attaching a user interface to drive the test scenarios.

Deliverables


Autocoding of Models

One of the more powerful features of Rhapsody is the autocoding of the defined models. This feature relieves developers of the need to implement finite-state machine infrastructure for the statecharts that define the applications dynamic behavior. Rhapsody provides all of the statechart event handling, state entry/exit, and transition processing, and configures it for the defined statechart. There are various levels of integration possible between Rhapsody and Momentics, which is based on the Eclipse CDT. The ultimate goal would be to be able to model the behavior within Rhapsody and have the underlying QNX system be transparent to the developer, such that there is as little direct interaction with QNX and Momentics as possible, or the workflow between Rhapsody and Momentics is as seamless as possible. The team will select a simple application, such as the SE462 Garage Door Controller, modeled in Rhapsody to show the autocoding as a QNX application.

We used to have autocoding working until recent releases of Rhapsody and QNX. The IBM Rhapsody support people assure us that the current version of Rhapsody supports working wtih QNX 6.5. We have not explored this yet. We will provide access to those support people to help you get the basics working. If for some reason, it proves to not be possible to autocode to QNX in our environment, you will autocode your application as a Visual C++ application which we have demonstrated to work.

Deliverables


$Id: ExploringRhapsodyFeatures.html 138 2013-03-31 05:10:48Z jrv $