Системная Информатика, № 4


Automata-based programming on the base of requirements specification

Automata-based software engineering is intended to development of simple, reliable, and efficient programs for reactive systems. An automata-based program implements the finite state machine in the form of the hypergraph of control states. A production rule language used to declare the use case requirements is proposed as the specification language for automata-based programs. Methods of program development are presented as the collection of golden rules defining true balance of integration of automata-based, predicate, and object-oriented programming. Methods are illustrated on the example programs.

Comparison of “Discovery” software system versus generic algorithms embedded in Microsoft SQL Server Analysis Services

This paper provides comparison of “Discovery” software system versus Microsoft Association Rules, Decision Trees and Neural Network embedded in Microsoft SQL Server Analysis Services. It is shown that system «Discovery», firstly, has theoretical advantages over these algorithms, secondly, practically works better on the data, where these advantages appear explicitly, and thirdly, well-behaved shows on data taken from a known repository UCI. These results demonstrate the advantages of the Discovery over the methods embedded into Microsoft SQL Server Analysis Services.

On the parallel marking of heap object graphs

This paper pursues the problems of scalability of parallel graph-marking algorithms in the context of garbage collection systems. The authors give a set of constraints inherent to any graph-marking approach and attempt to construct a scalable marking algorithm following these constraints. The resulting algorithm has been implemented in a Java Virtual Machine and evaluated on real-world Java applications. The obtained results indicate a substantial acceleration of marking in most cases.