Demos

Currently, there are five recorded demos of the Scate tool available:

  1. Producer-Consumer (size=2.1Mbytes, duration=4m18s)
  2. Flatting Producer-Consumer (size=2.0Mbytes, duration=4m31s)
  3. Flatting JPEG (size=3.7Mbytes, duration=7m44s)
  4. Interface refinement (size=5.0Mbytes, duration=14m4s)
  5. User interface (size=0.3Mbytes, duration=36s)

Each example is accompanied with a short description, and a list of all the commands issued during the demo. As indicated the file size of the recorded demos can be quite large. In case you are really interested in details it is probably best to download the animated gif, and to play them on your local machine.

Animated gif files can be viewed with your favorite viewer. In our opinion the easiest way to view the demo under the X environment is to use gifview. This allows full control of the animation like next frame, stop animation, goto previous frame, etc.

Note, during the demos still the old toolname SCOTTY is being used, please do a mental query replace by SCATE.


Producer-Consumer

In this "Hello World" example a complete transformation cycle is shown. First, some basic checks are performed like the validity of the input sources. Then, a toplevel 'Makefile-ScottySetup' file is created, configured, and executed. This results in a transformed design. As demonstrated, these sources can readily be compiled and executed.


Flatting of a process network

In this example a Producer-Consumer process network is flattened. The process network is specified using TTL syntax. First, the input hierarchical process network is extracted from sources, and shown graphically. Then, the flatting directives are provided to the tool. After, transformation the resulting flattened process network is shown graphically.


Flatting of a process network

In this example a JPEG process network is flattened. The process network is specified using the YAPI syntax. First, the input hierarchical process network is extracted from sources, and shown graphically. Then, the flatting directives are provided. After, transformation the resulting flattened process network is shown graphically.


Channel mapping and interface refinement

In this example, YAPI FIFOs are mapped onto so-called TTL channels, thereby implicitly performing an API transformation of the process network. On top of this transformation, interface refinement is demonstrated.

First, an initial version of a generic mapping file is generated. This is modified such that YAPI FIFOs are mapped onto TTL channels - as defined by the TTL APISPECIFICATION - ; effectively mapping a YAPI process network into a TTL process network. Second, additional mapping directives specify interface refinement; variable mapping, and task mapping (+ howto synchronize newly created channels). For one process, the original source code and transformed source code is shown.


User interface

In this example, we demonstrate an user interface build with Qt libraries. In the left hand panel our heterogeneous AST for C++ source code is shown. In the right hand panel the corresponding preprocessed C++ code is shown.The AST can be unfolded by clicking on any of the datatypes. The other window will automatically update itself by showing the corresponding source code in the preprocessed file, and vice versa. Unfortunatly, during the demo the cursor is not shown, making it hard to see what is happening, hope you get the picture.

Last modified: Fri Feb 10 13:24:55 CET 2006