Next: 7 The Software Development Process
Up: Appnotes Index
Previous:5 Building the Application Specific Interface
RASSP Autocoding for DSP Control Application Note
6.0 Autocoding Tool Evaluations
Under the RASSP program several commercially available tools for producing the Executive State Machine layer of the CP were evaluated in late 1996. Key evaluation criteria included the ability to easily and clearly graphically model finite state machines based applications, perform functional simulation, import externally generated library routines, and generate efficient, production quality source code.
The tools evaluated were SystemBld (v 5.0) by Integrated Systems Inc (ISI, maker of MatrixX), BEACON (v 6.0) by Applied Dynamics International (ADI) and ObjectGEODE (v 1.1) (OG) by Verilog. Verilog's ObjectGEODE was selected as the most suitable, commercially available tool. The relative ranking of each tool is shown in Table 6 - 1, EFSM Level Tool Evaluations.
CRITERIA |
ObjectGEODE |
SystemBld |
Beacon |
FSM Graphical Representation |
1 |
2 |
3 |
Overall Graphical Representation |
1 |
3 |
2 |
Functional Simulation |
Yes |
Yes |
No |
Importing Source Code into Generated Source Code |
1 |
3 |
2 |
Code Generation |
1 |
3 |
2 |
Table 6 - 1: EFSM Level Tool Evaluations (1 is best)
- The SystemBld tool was the least suitable for use in the Command Program domain, as it is traditionally a tool targeted for classical control systems. As a consequence the graphical representation of the overall command program was the least clear.
- Even though Beacon was not selected as the recommended tool, it had several important strengths with regard to command program generation. Its code generation in both Ada and C was terse and clear. Its graphical interface was similar to classical flow charts and consequently very closely represented the generated code. The down side to the low level graphs is that the abstraction level that the engineer works at is not raised, thus reducing the benefits of autocode generation. The up side to the low level graphs is the control over the generated code provided to the engineer.
- ObjectGEODE is dedicated to analysis, design, verification, and validation through simulation, code generation, and testing of real-time and distributed applications that are best represented by a finite state machine model of computation. It targets real-time applications based on the Specification Design Language (SDL), a European International Telecommunications Union Technical committee (ITU-T) Standards Body, finite state machine modeling language that is textually and graphically defined. ObjectGEODE provides graphical editors; a powerful, interactive, random and exhaustive simulator; a C code generator targeting popular real-time OS and network protocols; and a design-level debugger.
As part of the RASSP program, tool enhancements to ObjectGEODE that were
commercially-viable and desirable for command program generation, were identified and
funded. These enhancements are as follows:
- The OG execution trace capability was extended to allow easy tracing of the ASI level function calls.
- The OG graphical support for hierarchical states was extended, since Modes and Submodes are hierarchical. The approach to hierarchical state modeling implemented by Verilog is being proposed to the ITU-T for incorporation into the SDL standard.
- Verilog developed a method for incremental migration of OG models to target hardware.
Most of these enhancements will be commercially available in version 1.2 of ObjectGEODE.
The use of ObjectGEODE will prove most beneficial on large command programs with complex state transition logic. It manages program distribution effectively by allowing the designer to explicitly identify and map program processes. OG uses an extended finite state machine model which allows for complex state transitions to be modeled using a flowchart like syntax.
Next: 7 The Software Development Process
Up: Appnotes Index
Previous:5 Building the Application Specific Interface
Approved for Public Release; Distribution Unlimited
Dennis Basara