Infopipe Stub Generator (ISG) Demo
The ISG demo creates a front-end to show how the Infopipe Stub Generator
(ISG) works.
ISG can be used as a tool to generate code based on a high level
domain specification (SIP). It has been used to the re-cast several other projects, including the GaTech Multi-UAV demo, into
infopipe based versions.
This ISG demo harness is fully implemented in GTK+ (thus GLib and GDK).
The following is a walk-through of the ISG demo.
The default demonstration after starting the ISG demo is the GaTech Multi-UAV demo.
The main window is divided into 4 parts: the largest sub-window is on the right which
displays the various specification(s) or their related source code file(s).
The image shown is the SIP file for the Multi-UAV demo. Here is the full SIP specification
for the Multi-UAV demo.
The SIP window has a button "=>XIP", which can be used to generate the corresponding XIP.
Click on that button, 2 popup windows show both SIP and XIP.
Click on any place in either the SIP or XIP window, the corresponding code segment of
SIP and XIP will be highlighted in red.
Here's an example displaying corresponding datatype blocks.
Here's an example displaying the composedPipe.
The complete source of XIP can be found here.
The XIP window has a button "Gen Code" that can be used to invoke the ISG code generator
to create source code derived from the matching SIP and XIP.
The ISG code generator will be invoked from the ISG demo:
Let's see one example of how XIP spec is transformed into the generated code. The `uavReceiverNormal'
pipe in XIP actually matches the 2 generated C source files about the receiver side in the
Multi-UAV demo:
The generated code is built into object files and then can be linked into the Multi-UAV demo source and sink applications:
Here's the list of the generated files: allNodes.h,
sender.h,
sender.c,
receiver.h,
receiver.c.
Wenchang
Nov., 2002