Next: 9 References
Up: Appnotes Index
Previous:7 The Software Development Process
Layer |
Generation Tool |
Lines (approx) |
User Interface (UI) |
Heritage |
200 |
Execute Finite State Machine (EFSM) |
Beacon |
100 |
Application Specific Interface (ASI) |
AIB |
500 |
Command Program Interface (CPI) |
hand |
? |
Following the success of the BM 2 proof of concept AIB was rewritten to generate C compatible with the GEDAE™ CPI. This version was used on both BM3 and BM4.
Although the BM3 application CP is ultimately intended to be embedded in a large UYS-2 CCS, for the acceptance test the CP needed to be a simple stand-alone program. This provided the opportunity to extend the scope of code generation in AIB to the UI and EFSM layers. AIB was extended to generate a "generic" CP where the User Interface was textual and was composed of a collection of menus that allowed the selection of submode and setting of all parameters visible to the CP. This generic CP proved to be sufficient, with minor tailoring, for the BM3 acceptance test. As can be seen from Table 8 - 2, BM3 Source Code, the combination of AIB generated ASI software and the AIB generated generic CP reduced the amount of handwritten software for the CP to less than 10%.
Layer |
Generation Tool |
Lines (approx) |
User Interface (UI) |
AIB |
1200 |
Execute Finite State Machine (EFSM) |
hand AIB |
200 200 |
Application Specific Interface (ASI) |
AIB |
3500 |
Command Program Interface (CPI) |
GEDAE COTS |
750 |
Additionally, a second simplified BM3 command program was constructed using ObjectGEODE. The purpose of this experiment was to validate the ability to easily integrate AIB generated source code, ObjectGEODE generated source code and the GEDAE™ CPI into a single command program to control a GEDAE™ graph. The results showed that this process was straight forward.
Layer |
Generation Tool |
Lines (approx) |
User Interface (UI) |
Heritage Hand |
400 100 |
Execute Finite State Machine (EFSM) |
||
Application Specific Interface (ASI) |
AIB |
500 |
Command Program Interface (CPI) |
GEDAE COTS |
750 |
Since highClass already possessed all of the UI and EFSM level code to interact with the rest of the test bench, it was natural to transform highClass into the command program. This transformation process proved straight forward and largely consisted of removing software that had interfaced with Candidate, moving some Candidate software into highClass, restructuring the main program loop and adding calls to ASI level software. The code sizes shown in Table 8 - 3, Benchmark 4 Source Code, indicate that approximately 50% of the command program was constructed from AIB generated software. Note that AIB generated additional functions, totally another 1000 lines, were not needed for this particular application. Also note that a significant amount of Interprocessor Communication Software employed to communicate between the CP and the rest of the software test bench is not included in Table 8 - 3. (It was reused without modification.)
A number of conclusion can be reached from the RASSP benchmark projects:
Next: 9 References
Up: Appnotes Index
Previous:7 The Software Development Process