


No 5 (2024)
PARALLEL AND DISTRIBUTED SOFTWARE
Theoretical bases of mathematical apparatus of parallel computing realization in computer-aided design systems
Abstract
The purpose of the work is the development of mathematical apparatus and computational algorithms for the implementation of parallel computing in geometric modeling and computer-aided design systems. The analysis of existing approaches to the implementation of parallel computing in CAD systems has been carried out. As a result, it was found that for most information modeling and computer-aided design systems, there is no support for parallel computing at the level of the geometric kernel. A concept for the development of a CAD geometric kernel based on the invariants of parallel projection of geometric objects onto the axes of the global coordinate system is proposed, which combines the potential of constructive methods of geometric modeling capable of providing parallelization of geometric constructions by tasks (message passing) and the mathematical apparatus of “Point Calculus”, capable of implementing parallelization by data through coordinate-by-coordinate calculation (data parallel). The use of coordinate-by-coordinate calculation of point equations not only allows you to parallelize calculations along coordinate axes, but also ensures the consistency of computational operations along streams, which significantly reduces the idle time of calculations and optimizes the processor’s work to achieve the maximum effect from the use of parallel computing.



Unified processing of events and coroutines in embedded program
Abstract
A new architectural approach to real-time embedded programming is described. A bare-metal program is written in C/C++ and combines event-driven technique with concurrency based on co-routines. Events are processed by soft real-time core at the priority level of software generated interrupts. Event is first posted to input queue of the core and then processed by invocation of its event handler. A special case of event is co-routine, its resumable function being a co-routine event handler. The co-routine that either yielded or needs to be resumed is queued for event processing once again. As a result, it is processed multiple times until execution of resumable function comes to the end of its operator sequence. Different levels of processing priority may be assigned to an event. Soft real-time core could be further expanded to run on symmetrical multiprocessor hardware. A combination of co-routines and basic events could easily be used in fork/join model. Concurrency constructs resemble those of Go and occam languages. Virtually all classic types of synchronization primitives could be implemented. The new approach was implemented for various ARM and Blackfin processors in C++ language as portable DORSECC library. This library was further used to program real-time embedded systems for mass-produced banknote sorting machines. One type of systems was used to recognize and validate banknote images by the method of cascade of one-class classifiers. The other system worked as a motion controller and used finite automata to control sensors and actuators. The total number of systems in operation is currently over 20000. The event and co-routine core in these systems provides average event processing time in the range of dozens of microseconds with sub-microsecond overhead time per each event.



COMPUTER GRAFICS AND VISUALIZATION
Estimating the complexity of objects in images
Abstract
A new method for estimating the complexity of geometric shapes (spots) is proposed, taking into account the internal structure of the spots, and not only their external contour. The task of calculating the degree of complexity of objects is divided into components: segmentation of spots and estimation of the complexity of isolated spots. The new method has a relatively low computational complexity compared to the alternative methods considered in the work. Using the new method, an algorithm based on parallel computing of the CUDA programming language for graphics accelerators (video cards) was created, which further increases the performance of our method. A qualitative and quantitative analysis of existing (alternative) methods has been carried out, their advantages and disadvantages in comparison with our method and with each other have been revealed. The algorithm implemented on the basis of the new method has been tested on both artificial and real digital images.



A universal algorithm for discretizing bichromatic two-dimensional graphic codes
Abstract
Mathematical foundations and algorithms for recognizing bichromatic two-dimensional graphic codes, regardless of their type (QR codes, DataMatrix, GridMatrix, etc.) are presented. The stages of achieving the result include detecting the code, localizing it within an arbitrary quadrilateral, transforming the quadrilateral to a canonical square, constructing a grid of elements (modules) of the square code, and filling it with a sequence of bits. It is shown that perspective transformation formulas make it possible to transform localized quadrangular regions to canonical squares with an acceptable error level for further processing. A flat grid of square code elements is formed based on the search for extrema of the derivatives of the pixel intensity distribution of the square image along the axes x and y. The algorithm for filling grid cells (code modules) with a sequence of zeros and ones uses information about the average intensity of each such cell. At the end of the paper, the algorithms are tested on a variety of real images of two-dimensional codes, and the limitations of the proposed algorithms are examined.



THEORETICAL COMPUTER SCIENCE: FORMAL MODELS AND SEMANTICS
Formal specification and verification of requirements in architecture and construction using the EXPRESS modeling language
Abstract
Currently, digital technologies for modeling buildings and infrastructure are successfully used in international and national practice in the implementation of complex construction projects and large-scale programmes. At the same time, the transition to machine-readable standards being implemented in many countries in order to improve the quality of design documentation and to automate its verification faces serious methodological and technical problems. First of all, they are associated with the complexity of the digital models, as well as with the variety of requirements formulated in natural languages and imposed on models at the state, regional, departmental and corporate levels. Attempts to create catalogues of requirements and software tools for their maintenance and use, usually have specialized nature and do not provide the necessary completeness, normalization, consistency, linked set, unambiguity, traceability and validatability of requirement descriptions. In this regard, it seems constructive to use formal methods for specification and verification of requirements that have proven themselves in system and software engineering. The paper provides a comparative analysis of software tools for automated verification of regulatory requirements in the construction domain. There is an increased popularity of tools focused on the international standards IFC (Industry Foundation Classes), IDS (Information Delivery Specification) and providing control of the completeness of the object and attribute composition of models, as well as clarification of acceptable ranges of values. At the same time, the IDS standard is not formalized and does not provide for specifying the requirements expressed by arbitrary algebraic conditions. The use of the object-oriented data modeling language EXPRESS, in which the IFC information schema is also specified, looks promising for the formal specification and verification of requirements for digital models in construction. As a justification, it is shown that IDS specifications can be represented by logical expressions and EXPRESS functions, as well as arbitrary algebraic conditions can be specified as EXPRESS declarative rules. Examples of the formalization of some requirements from national construction standards and set of rules on the safety of buildings, structures and processes are provided in the paper as illustrations of the proposed approach. The possibilities of harmonizing the proposed formal approach with the IDS standard as a result of defining new facets for representing EXPRESS local, unique and global rules are also discussed.


