Compositional programming: theory and practice
- PDF / 127,994 Bytes
- 9 Pages / 595.276 x 793.701 pts Page_size
- 62 Downloads / 234 Views
CYBERNETICS COMPOSITIONAL PROGRAMMING: THEORY AND PRACTICE UDC 681.3.06
K. M. Lavrischeva
Methods, means, and tools of compositional programming are considered. The fundamentals of composition of multilanguages objects in fourth-generation languages in the OS/ES environment are considered. New approaches to the formal declaration and standardization of data types in modern languages and practical aspects of systematization of ready-made objects with a view to reusing them in composing large systems in modern environments are shown. New ideas and approaches to the support of interaction between multilanguages objects in the environment of a family of application systems are described. Keywords: composition method, interface, type, data structure, data mapping, development technology, automation of composition. INTRODUCTION This paper presents the dynamics of development of compositional programming for the past twenty years. Its fundamentals were formed in 1970–1990 as a result of development of a computer-aided programming system (called APROP) that was initiated by V. M. Glushkov in 1974 [1] and carried out under the scientific guidance of E. L. Yushchenko. The fundamentals of compositional programming were discussed at seminars and conferences of different levels, were developed in the defended doctoral dissertation [2], and are reflected in a number of publications [3–9]. In compositional programming, objects are ready-made modules (macromodules, subroutines, functions, programs, etc.) described in various programming languages (PLs) of the fourth generation (Algol, Fortran, PL/1, Cobol, etc.). Such modules (program objects in what follows) were accumulated in source and object codes in libraries of computers, in algorithm and program funds (as in hard-copy texts), and also in archives of the developers themselves. The composition method is a technique of conjugation of multilanguages PL objects on the basis of the theory of specification and mapping of PL types and data structures represented by an algebraic system [10, 11]. The basis of the algebraic formalism consists of types of data, operations over them, and functions of relevant equivalent transformation of some types into others. The conjugation of pairs of objects in PLs is performed with the help of the call operator in the list of parameters of which values are assigned to formal parameters that are checked for the correspondence of data types with the help of statements of the algebraic system that prove necessary and sufficient conditions of mapping data in a class of PLs. The result of mapping consists of operators of relevant transformation of data types in the moderator module of the objects being conjugated. Along with this approach, other methods were simultaneously developed on the basis of reusing ready-made objects and their interfaces, tools for supporting the interaction between multilanguages objects in a class of modern PLs (such as Pascal, BASIC, C#, Java, Smalltalk, etc.), and operational environments [12–19]. The interface between o
Data Loading...