Algorithmic Languages for Modeling Digital Devices

A. D. Cheredov, V. M. Razin, N. P. Baida
Submitted 1976 | SovietRxiv: ru-197601.13146 | Translated from Russian

Abstract Generated abstract

This paper surveys algorithmic languages for modeling digital devices, emphasizing the need for formal, clear, flexible languages oriented to equipment classes and levels of description rather than ad hoc programming. It compares ALGOL-60-based and specialized systems, including PROJECT, MODIS, LOTIS, DIS, SIMSCRIPT, SIMULA, SLEN, Avtokod M, and LYAPAS, considering their support for binary variables, vector operations, structural description, translator complexity, and suitability across system, device, and unit levels. The authors argue that many existing simulation languages are too narrowly specialized, and conclude that automatic programming systems of the Avtokod M and especially LYAPAS type are most appropriate for modeling and design automation of digital devices with hardware control.

Full Text

ALGORITHMIC LANGUAGES FOR MODELING DIGITAL DEVICES

A. D. Cheredov, V. M. Razin, N. P. Baida

At present it is generally recognized [1—4] that the most effective modeling methods should be based on the use of formal languages oriented toward particular classes of equipment and toward different levels of detail in its description, rather than on the compilation of modeling programs for each case by means of ordinary programming methods. These languages must satisfy the following requirements:

  1. Provide a formal notation for the operation of the structures being modeled.
  2. Simplicity of semantics.
  3. Naturalness of system description.
  4. Flexibility in the set of language tools.
  5. Clarity in the notation of models.
  6. Automation of program construction.

In developing modeling languages that would meet the indicated requirements, the following approaches are used:

— the capabilities of already known languages are expanded;
— several languages are synthesized;
— entirely new languages are created.

Most authors [1, 9] believe that the most widespread and convenient for practical use are languages that borrow (to the extent that this is fundamentally possible) the basic concepts and terminology from the international algorithmic language ALGOL-60. The advantages of using such languages are connected, first, with the application of technical means already available for languages of the ALGOL-60 type for outputting and inputting information into a computer and, second, with the extension of a number of already established concepts to new types of languages.

Let us consider several languages based on ALGOL-60. The algorithmic language PROJECT [1, 5] is constructed on the basis of ALGOL-60 and the language of N. Wirth and C. A. R. Hoare [6]. Characteristic features of the PROJECT language are the presence of two types of variables—binary and string—the possibility of operations on them, and a comparatively simple implementation of this language on a computer. Variables of binary type make it possible, in a natural way, to operate with logical vectors, which is necessary in solving problems of synthesis and modeling of digital automata.

The algorithmic language MODIS [1], intended for modeling discrete systems, is a language of conditional statements, is related to the ALGOL-60 language, and uses its notation. The MODIS language differs from ALGOL-60 in having a reduced set of operations and in extending the capabilities of the language with respect to performing operations on vectors (multi-bit variables).

On the other hand, “loading” existing languages with new symbols, variables, procedures, etc., leads to highly complex translators. Therefore, another direction in the creation of modeling languages is based on introducing all possible simplifications into the language itself.

The LOTIS language [7, 8] is intended for describing the logical structure and operating sequence of digital machines. A characteristic feature is the closeness of the LOTIS language to hardware language, where each linguistic variable used in the description corresponds to a machine element.

The DIS language [9] is specialized for the description and time modeling of discrete-information processing systems and is a block-structured, general algorithmic language that makes it possible to describe clearly the hierarchy of block composition and constant information links in systems.

A comparative analysis of existing modeling languages shows that the most flexible set of tools is possessed by the languages SIMSCRIPT, SIMULA, and SLEN [9]. However, models of some digital devices are described by these languages only with considerable difficulty.

It should be noted that most computer simulation systems are narrowly specialized. For example, the languages SIMSCRIPT, SOL, and others are suitable mainly only for modeling computers at the system level and are unsuitable for modeling at other levels. Systems for functional-structural computer modeling at the device level (LOTIS, LOKS) are narrowly specialized. Of definite interest is the path of creating a universal computer modeling language and a program-automation system suitable for implementing the main types of computer models.

The Avtokod M and LYAPAS systems are the first attempts to create a universal computer modeling system built according to the scheme: a single language—a single system for automating programming.

The Avtokod M language [9] is based on a reduced variant of the ALGOL-60 language. The description of functional computer models at the levels of systems, devices, and units is simplified by introducing into Avtokod M:

a) variables of binary type;
b) operations on binary variables and their fields;
c) means that make it possible to increase the compactness and clarity of model notation.

The LYAPAS language [10, 11] (Logical Language for Representing Synthesis Algorithms) is oriented primarily toward the range of logical problems solved in the synthesis of discrete automata. The LYAPAS automatic-programming system is not based on any of the existing systems and consists of the LYAPAS language and programs for translating expressions from this language into the languages of particular computing machines. The language is based on a multilevel principle, the use of which makes it possible to abstract away from the features of particular computing machines, while at the same time taking sufficiently good account of the capabilities of modern computers. The LYAPAS language does not...

is given a sufficiently abstract form so that it may be applicable when practically any general-purpose computer is used. The direct connection with the machine language is effected exclusively by the translator, which must take into account the characteristics of the given machine when compiling the working program. One of the most essential features of the LYAPAS system is its capacity for self-expression, consisting in the fact that the translators of this system are well represented in LYAPAS.

Proceeding from the foregoing, it may be concluded that, for modeling digital devices with hardware control, it is expedient to use automatic programming systems of the Avtokod M and LYAPAS type. If questions of automating the design process for digital devices with hardware control are taken into account, then the LYAPAS system, in view of its greater universality, is preferable.

REFERENCES

  1. The use of computers for the design of digital devices. Collection of articles edited by N. Ya. Matyukhin. “Sovetskoe radio,” Moscow, 1968.

  2. Sleeper Paul E., Schellwar Alan. “Timesharing Languages for Engineering Problem Solving,” WESCON, Techn. Papers, 1969, No. 4. (Russian translation). “Ekspress informatsiya,” VT, 1970, No. 12.

  3. Pike Herbert E. Jr. Process control Software “Proc IEEE,” 1969, No. 1. (Russian translation). “Ekspress informatsiya,” VT, 1970, No. 29.

  4. Goedecke Claus. Programmierung mit Hilfe von Programmiersprachen. Ein Überblick. “Rechentechn./Datenverarb,” 1969, No. 9 (German).

  5. V. M. Glushkov, I. M. Grishchenko et al. Automation of programming in the PROEKT system. “Kibernetika,” No. 4, 1970.

  6. Wirth Niklaus, Hoare C. A. A Contribution to the Development of ALCOL. Communications of the A.C.M., 1966, v. 9, No. 6.

  7. S. A. Maiorov, G. I. Novikov. Small-size computers. Leningrad, “Mashinostroenie,” 1967.

  8. S. A. Maiorov. Algorithmic methods for the design of digital systems. Izvestiya vuzov, “Priborostroenie,” 1970, No. 3.

  9. Proceedings of the Fifth Interuniversity Conference on Physical and Mathematical Modeling. Section on methods of software modeling in the design of complex systems and computers. Publishing House of MEI, Moscow, 1968.

  10. A. D. Zakrevskii. The algorithmic language LYAPAS and the automation of the synthesis of discrete automata. Tomsk, Tomsk State University Press, 1966.

  11. A logical language for representing algorithms for the synthesis of relay devices. Collection of articles. “Nauka,” 1966.

Submission history

Algorithmic Languages for Modeling Digital Devices