Journal:Informatica
Volume 18, Issue 1 (2007), pp. 37–54
Abstract
The paper presents, first, the Structural Blanks (SB) approach, then a method to compose loop programs. SB is an approach for expressing computations based on recurrence relations and focuses on data dependencies in loops. The paper presents language constructs and semantics for expressing programs that have complex data dependency patterns. These constructs are expressed using structural “blanks” for computations based on recurrence relations. In SB the recurrence structure and the functional part of a recurrence relation may be described separately. Therefore declarative representation of data dependencies is examined. SB aims at supporting the transformational development and reuse of program modules. The approach deals with two aspects: pragmatics and semantics. In the paper we aim at: (1) developing a theory and language for functional and structural modules, (2) an algorithm for composition of structural modules. The approach is illustrated by toy problems: the Fibonacci function, heat flow, etc. Hence the reuse and verification are viewed as those of, e.g., stacks, queues, bubble sort, etc.
Journal:Informatica
Volume 9, Issue 1 (1998): Special Issue on Programming Theory, Information System Engineering, Software Engineering, and Artificial Intelligence, pp. 21–50
Abstract
In this paper we examine data dependence in a nested loop programs which are obtained by inserting one loop program into another. This is viewed as the composition of structural modules (S-modules) in the structural blanks (SB) approach. SB is a method for expressing computations based on recurrence relations. It is built on top of traditional programming languages like Fortran or Pascal. SB aims at supporting the transformational development and reuse of program modules that have complex data dependence patterns and provides an architectural framework for software packages.