Home Tutorial Introduction Top

Introduction

*AIDA is based on an algorithmic alphabet that is an open set of algorithmic super-characters (a-characters). The a-characters are composed to represent algorithmic objects, constructs, and computational steps. The computational steps are assembled to define parts and whole algorithms.

Galleries

A-characters represented by pictures and/or animation (all are called a-pictures) are acquired in special galleries:

  • gallery of generic a-pictures,
  • gallery of scene a-pictures, and
  • gallery of a-pictures for clarity annotations.

In some cases one a-character can be represented by several a-pictures (like one conventional character can be represented by different fonts). Fig. 1.1 and Fig. 1.2 present examples of a-characters from the first and second galleries. Fig. 1.1 a-pictures are applied for the declaration of space data structures of application models and Fig. 1.2 a-pictures are used for specifying algorithmic scenes and traversal schemes (animation) behind them. An example of the animation disclosing the left-most a-picture of Fig. 1.2 is depicted by Fig. 1.3.

Fig. 1.1 Examples of generic a-pictures for the declaration of space data structures

Fig. 1.2. Examples of a-pictures for representing algorithmic scenes and traversal schemes (some of them are in preparation)

AIDA scheme example

Fig. 1.3. Animation frames of a traversal scheme on 2-D structure

In two the first galleries there is a variety of other generic and scene a-pictures to specify sub-structures, data types, units of measure for variables, positions in structures, masks for structures and traversal schemes, super-operations, patterns for formulas, etc.

A-pictures of the third gallery are applied in creating embedded clarity annotations for a-pictures of other galleries, as well as for series of computational steps and parts of algorithms. These a-pictures are used for explanation of meaning of a-characters and/or computation; they do not have a direct influence on the code generation. Fig. 1.4 shows examples of such a-pictures (in the bottom of left-to-right column pairs) presenting a "space" of modeling (a shape of Fukushima prefecture), "histories" of computation (shapes of traversal schemes), and referencing colors, numbers in and/or by nodes. Text can also be used for such annotations.

AIDA background annotations

Fig. 1.4. Examples of background a-pictures


Composing a-pictures

To define computational steps, a-pictures from the galleries are composed into compound a-pictures of algorithmic CyberFrames. These CyberFrames have special fields to declare:

  • space data structures and variables (application attributes) on these structures,
  • data types and possible units of measure,
  • traversal schemes on the structures and operations on structure nodes, and
  • activities on initialization and input/output data.

A special editor helps to open appropriate galleries, take necessary a-pictures and put them in right fields. The editor can ask the user about some parameters related to a-pictures and about their expected influence on other parts of the algorithm representation. It also helps to search CyberFrame library, copy some items, and edit them to create new CyberFrames. Fig. 1.5 presents a starting panel of this editor and Fig. 1.6 shows an intermediate step of composing a compound a-picture. The starting panel includes a CyberFrame canvas, a menu bar for creating CyberFrames, searching a-pictures and saving items in libraries. It also includes tool bars to activate various sub-panels for manipulating and updating the canvas contents, as well as for managing CyberFilms, data files and various settings. In addition, the editor supports attaching annotations to single a-pictures and/or to whole CyberFrames. The intermediate step presents some uncompleted constructs and a set of sub-panels being used for completing these constructs.

FIM examples

Fig. 1.5. Editor starting panel for composing compound a-pictures (algorithmic CyberFrames)

FIM examples

Fig. 1.6. An intermediate step of composing a compound a-picture (a CyberFrame)

Assembling CyberFrames

To define an algorithm (or its part), computational steps presented by CyberFrames are assembled into a series where some inter-frame links and integrity annotations (of a cover frame type) are added. The above mentioned editor (browser) supports assembling operations including searching and editing the CyberFrame series from available libraries.

A series of CyberFrames assembled can be declared as a super-operation or a component (a CyberFilm) and a representing a-picture can be assigned to the series.

*AIDA program format

Fig. 1.7 depicts a structural scheme of *AIDA program format. The top-right series of frames represents Main (Integrated) view of an algorithm. Many a-characters involved in the view are intuitively understandable and do not require serious efforts for memorization. However, some of them are not so intuitively understandable. In addition, different people can have different levels of cognition and perception. To enhance the comprehension of the a-characters and their compositions, each picture of the Main view frames is supported by corresponding meaning annotation and/or by a series of frames of the bottom layer views.

On the bottom layer there are Algorithmic Dynamics, Command and Interface views. They are also to clarify (if necessary) meaning of corresponding a-characters. Series of frames of Dynamics view clarify meaning of CyberScene a-characters by presenting animation of CyberScene skeletons (space data structures and traversal schemes of computational flows on these structures). Series of frames of Command view disclose some details related to application values of variables and formulas (actions) that are attached to the space-time points of the skeletons. Series of frames of Interface view represent extended vision of input/output operations that define the algorithmic interface with external world, as well as how a software component based on the algorithm should look from outside.

To prepare an algorithm in *AIDA language, the user should open the Main view editor and perform "typing" a-characters by taking them through sub-panels related to corresponding sets of a-pictures in appropriate galleries. Such preparation can also include assess to libraries of CyberFrames, CyberScenes, CyberFilms and other acquisitions.

AIDA format

Fig. 1.7 *AIDA program format

Within the F-modeling environment, the application users usually do not create CyberFrames, algorithmic skeletons and necessary template programs, but take and assemble them from galleries and libraries. For these users, the programming is reduced to defining sizes of the space structures, declaring variables on these structures, specifying operations on traversal nodes, including input/output operations, and attaching new annotations.