Code Generation Basics

Code Generation Basics

 

IBM Rational Statemate is a systems design automation tool for the development of reactive systems. In analyzing a design concept, a systems designer uses the Rational Statemate graphics editor to build and validate a graphical model of the system being developed, together with its user interface. The designer then analyzes the model on a workstation to verify its behavior using both static and dynamic analysis of the model’s design concepts. Having validated the concept in this way,

Rational Statemate is then used to generate a C-based or Ada-based prototype of the design, based on the model, which can then be run on an appropriate host. The generation of prototype code in C or Ada is the subject of this document. There are three software code generator options:

Standard C code has long been the preferred language for system designers and software developers. It was the original language generated by Rational Statemate. The C code generated by Rational Statemate is compatible with a variety of modern C/C++ compilers, including GCC, Visual C/C++, and Borland C/C++. Consult the release notes for your version of Rational Statemate for the latest compatibility list. Part 2 of this manual goes into extensive detail on the process of generating C code for a Native Host Environment (as opposed to the Rapid Prototyping environment discussed below).

Ada is another language supported by Rational Statemate. Generating Ada code has few differences from the process used to generate C code. Therefore, Ada specific information is discussed in Ada Code Generation of this manual. Consult the release notes for your version of Rational Statemate for the latest compiler compatibility list.

The Embedded C option is a central part of the Embedded Rapid Prototyping capability. This allows code generation to be taken to the next logical step: compilation and linking for use in an Embedded Prototyping Development System used to test the model designed in Rational Statemate in a prototype system environment. Rapid Prototyping allows a more function use case testing environment for moving the validation of the system design closer toward the end product. This guide also focuses on the details of Rapid Prototyping Code Generation.