Preprints of IIS SB RAS, 2003

Preprint 107
Denis S. Gurchenkov, Andrey V. Mogilev, Pavel E. Pavlov
On the object-oriented design of translator components

This paper discusses the problem of object-oriented compiler construction, with a bias to the design of components operating on abstract syntax tree (AST) and responsible for certain compilation phases. Employing traditional modular design, it would be natural to organize such components as modules. However, in the case of canonical object-oriented design, the code previously put in a separate module has to be distributed over a variety of classes. This may negatively affect further system maintainability. This work describes a novel approach that combines advantages of both modular and OO techniques of the compiler design. The proposed method has proved its viability during the creation of production level compiler components. An implementation technique for the advocated approach using modern object-oriented languages (e.g. Java, C++) is also described. Keywords: formal semantics, formal model, imperative language, Abstract State Machines, formal methods, storable locations.

Preprint 106
Vladimir S. Ryzhov
Some aspects of architectural design for scalable information systems

The requirements that should be taken into account while designing scalable information systems are considered. An integrated solution on hardware and software architecture is proposed. It has a number of advantages in the aspect of scalability, competitive access, security and continuous development of a live system. The solution is a result of summarizing the experience of development ofa large number of information systems.

Preprint 105
R. Yu. Zhurkovich
Survey of e-commerce systems

Modern business is characterized by constant growing of the suppliers' possibilities, as well as by increasing level of customers' requirements and permanent expansion of global business competition. On the other side, world business undergoes global changes in its structure, management and means of interaction between different companies. This process also involves their customers and suppliers.Electronic commerce is a means intended to support such changes. It allows the companies to increase efficiency and flexibility of all kinds of their operations and, as a result, to have the best suppliers, regardless of their geographical location, and to enter the global market with their own goods and service.

Preprint 104
A.V. Zamulin
A state-based semantics of a pascal-like language

A formal model of a Pascal-like language with storable locations is presented. A storable location can both store values and be stored as a value in another location. Such a location is part of the state of an imperative program. An access function is associated with a set of locations of the same type. An update of an access function causes the update of the content of the corresponding location. The parameter of a function or procedure declared as a reference parameter accepts only locations as arguments so that a value associated with the location can be updated by the procedure. In this way, the mechanism of call-by-reference in addition to the mechanism of call-by-value is modeled. Formal semantics of some typical statements and function/procedure definition is given in the paper. Keywords: formal semantics, formal model, imperative language, Abstract State Machines, formal methods, storable locations.

Preprint 102
V. A. Nepomniaschy, E.A. Matsko
Applying the symbolic method for loop invariant elimination to linear algebra program verification

A methodology for linear algebra program verification is described. It includes the symbolic loop invariant elimination method adapted to linear algebra programs, proof rules without loop invariants and a knowledge base consisting of linear algebra notions and operations over arrays. This methodology is illustrated by examples of verification of two programs: inversion of a matrix and decision of a linear equation system by the Gauss method.




You are reporting a typo in the following text:
Simply click the "Send typo report" button to complete the report. You can also include a comment.