This is a screenshot of a basic example program written in VPL, a visual
programming language for embedded systems I developed for my final year computer
engineering project.

The language supports most of the same constructs as text-based programming
languages, like constants, variables, arrays, pointers, expressions, and
functions with input parameters and return values.

Programs are structured into "libraries" of "components", the equivalent of
functions. A library has a public interface and a private implementation. The
implementation of a library can be specified independently of its interface,
making it easier to port programs to different hardware systems.

VPL is a control flow based visual language, and has four objects to control
program execution. The object that looks like an upside-down arrow is called a
"begin", and is used to specify the start of a component. The red square object
is called an "end", and is used to specify the end of a component. The
pyramid-like object is called a "select", and is used to choose the path of a
programs execution. Finally, the object shaped like a play-button is called an
"execute", and is used to specify which objects to execute.

The language is represented on disk as a collection of XML objects, and compiles
into both ANSI-C and 386 assembly source code.