Chimera and Cube


Chimera – a demonstrative visual programming by demonstration.

Chimera is an example of how imperative programming is supported in LPVs by having the programmer demonstrate his or her desired actions.

D.J. Kurlander designed the system in his doctoral thesis.

In the case of Chimera, the “programmer” is an end-user, as a result, it is also an example of LPV intended to improve the accessibility level of certain programming types of tasks.

The Chimera domain is graphic editing. As an end-user is working on a graphic scene, he or she may notice repetitive editing tasks, in which case he or she can indicate a sequence of manipulations just performed on a scene that can be generalized and treated as a macro.

This is possible because the user’s action history is presented using a comics technique, and the user can select panels from history.

The historian uses the same visual language as the interface, so the user will understand them without problems.

To make the stories shorter and easier to understand, several strategies are used.

Several related operations are merged into a single panel.

The editable graphical history can be used to review operations in a session, to undo (undo) or resume (redo) a sequence of these operations.

The editable graphical histories of Chimera reduce the repetition by providing an interface for the operation to resume operations.

Chimera also has a mechanism for inserting new operations at any point in a historian. Historians can be made editable, which turns each static panel into an editor graph.

In this way, the panels can be modified, and the commands invoked propagate their changes throughout history. To insert a new command in the middle of a log, the system cancels all subsequent commands to the affected panel, executes the new commands, and then restores the canceled ones.

Chimera also includes an example programming component, or example macros, which uses editable graphical histories as a visual representation for reviewing, editing, generalizing the program, and reporting errors.

If you want to generalize this procedure and encapsulate it in a macro, do not repeat the procedure in a special way of learning, but go through the history, select the relevant panels and execute the transformation command in the macro.

Chimera uses inference to determine the generalized version of a macro. Using inference is a common thing in demonstration languages, and its success depends on the scope of the scope (as is the case with Chimera). However, there are also demonstration languages ​​that do not use inference, and one example is Cocoa.

Cube – a 3D visual programming language

Cube, made by M. Najork, represents an important advance in the design of visual programming languages, being the first 3D visual language. Because Cube programs are translated into simpler internal representations for verification and interpretation, the language would rather be a hybrid one. However, the user is never exposed to any textual representation, so it is correct to say that the language is very close to being completely visual.

Cube uses a data flow paradigm for building programs.

Working in 3D provides several advantages over traditional 2D languages. For example, working in 3D allows the system to display more information in an environment with which it is easier to interact than with a 2D representation that uses the same screen size.

In a 3D view, the programmer is free to modify his point of view within the virtual world to look at any particular sections of the program.

This type of flexibility is not available in 2D LPVs.

Recent Posts