Software Synthesis from Dataflow Models for G and LabVIEW
Hugo A. Andrade, Scott Kovner
Abstract
Hugo A. Andrade, Scott Kovner
Abstract
The "G" language (in LabVIEW) allows the user to describe a program with a dataflow representation. Our goal is to apply the techniques and concepts of the current dataflow research towards the adaptation of G and LabVIEW for embedded software development. G is a homogeneous, multidimensional, dynamic dataflow language. G uses "structured dataflow" semantics to specify high level concepts (e.g. loops). We examine G in the context of other models of computation, such as cyclostatic and dynamic dataflow, and process networks. G has useful subsets that can be statically or quasistatically scheduled. In some diagrams, cyclostatic analysis can be used. Parallelism can be further exploited by allowing overlapping execution of loops, and adding array auto-subsetting. Another useful addition would be execution relative to a global clock. Finally, a view manager could present a G program using a different model of computation. 1 Introduction The use of dataflow programming to...
OpenAlex reports 27 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The "G" language (in LabVIEW) allows the user to describe a program with a dataflow representation. Our goal is to apply the techniques and concepts of the current dataflow research towards the adaptation of G and LabVIEW for embedded software development. G is a homogeneous, multidimensional, dynamic dataflow language. G uses "structured dataflow" semantics to specify high level concepts (e.g. loops). We examine G in the context of other models of computation, such as cyclostatic and dynamic dataflow, and process networks. G has useful subsets that can be statically or quasistatically scheduled. In some diagrams, cyclostatic analysis can be used. Parallelism can be further exploited by allowing overlapping execution of loops, and adding array auto-subsetting. Another useful addition would be execution relative to a global clock. Finally, a view manager could present a G program using a different model of computation. 1 Introduction The use of dataflow programming to...
Key concepts: Dataflow, Computer science, Dataflow architecture, Programming language, Computation, Semantics (computer science), Parallel computing, Context (archaeology)