EE382C Embedded Software Systems - Andrande-Kovner Project

Hugo Andrade and Scott Kovner, "Software Synthesis from Dataflow Models for Embedded Software Design in the G Programming Language and the LabVIEW Development Environment"

The "G" programming language, as implemented in the National Instruments product "LabVIEW", allows the user to describe a program with a dataflow representation. Our goal is to apply the techniques and concepts of the Ptolemy environment towards the adaptation of G as an embedded software development tool.

Motivations for using LabVIEW

A brief history of the evolution of development tools for instrumentation systems will be presented. LabVIEW's dominance in this industry will be presented as a practical reason for extending its functionality to target embedded systems. This is not unlike using the industry standard "Java" as a universal system description language to take advantage of the widespread knowledge of Java in the field.

G models of computation

LabVIEW uses a dynamically scheduled dataflow model of execution, as opposed to the synchronous dataflow model discussed in class. We will study the feasibility of generating synchronous executables with G. Also, the G language itself is different from traditional dataflow representations in several respects, and those differences will be addressed.

Ptolemy models of computation

We will study the Ptolemy environment and its models of computation. In particular, we will see how G fits into Ptolemy's system partitioning scheme. We will describe how some of the models of computation can be mapped to G. For example, how can we use G syntax to describe synchronous dataflow or FSMs?

Proposed changes to G

Finally, we will discuss possible changes to G. We will discuss what extensions may be necessary for G to be more useful for representing some of these models of computation. We will also discuss semantic and syntactic restrictions to G that may be helpful when using G to describe a particular computational model.


Last updated 03/03/98.