z-logo
Premium
Relying on abstraction to facilitate graphics programming
Author(s) -
Gnatz R.
Publication year - 1982
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/j.1467-8659.1982.tb00035.x
Subject(s) - computer science , abstraction , graphics , informatics , citation , programming language , information retrieval , world wide web , computer graphics (images) , epistemology , electrical engineering , engineering , philosophy
ion from procedural constructs, i.e. from the imperative style of programming. The effect of a function application or of a function composition is a completely local one; it has no side effect on entities which are few away in space or time. In computer graphics functions may be used to represent graphic primitives and transformations (e.g. the parametric cubic splines): Operations on graphic primitives are operations on functions. Such operations may be used, for example, to compose functions (graphic objects) from more primitive functions (graphic primitives) /Gnatz 711. For such an approach formula manipulation or, more general, program manipulation are prerequisite as has been pointed out in /Ricci 721. At the time being, it is only a hope that new computer architectures based, for example, on the conR. Gnatz 1 Abstmction to Facilitate Graphics Programming 125 cept of reduction will provide for more efficient realizations. 2. Abstract data types This term refers to axiomatization. Abstract data types are mathematical structures representing theories, i.e. the set of theorems derivable from the axioms of the structure /Burstall, Goguen 77/. Abstract data types are a tool to define sets of objects (the “carrier sets” of the types) togetha with the functions operating on these sets. The definitions of sets and functions are given implicitly by the axioms of the type: The axioms describe only the properties of these entities. For this reason, abstract data types provide for the abstraction of algorithmic details, and in this way they are a powerful tool for program specification. However, the use of abstract data types needs expertise. As the semantics of an abstract data type we take the class of all finitely generatable algebras which are models of the type. Models satisfy the axioms; finite generatability enables mathematical induction. The initial algebra approach /Goguen et al. 78/ has proven to be too restrictive because it singles out a very specific model. Abstract data types are a tool for structur-data types are a tool for structuring a design because the may form hierarchies, and types, moreover, may be parametrized /Wirsing et al. 80/, /Broy et al. 821, KIP-L 811. In computer graphics, flexibility in the description of graphics data structures may evolve from the use of types. The question may arise what types are most typical for graphics. Of course, images are finitely generated in computer graphics: Is there such a type IMAGE which comprises in a uniform (i.e. axiomatic) way all the features which are considered to characterize the notion of image in computer graphics /Gnatz 81/, /Gnatz 82a/? The advantage of such a type would provide for an explication of the notion of image and its terminology, and for a uniform semantic basis for graphics languages or systems (see below). It could be, in particular, the conceptual base of graphics Standard and of derived concepts like graphics metdes. In addition, it would enable sophisticated certification of graphics Standards by verificationsriented methods. And, moreover, it could be a base for a uniform functional description of graphics devices (i.e. a framework for a taxonomy of graphics hardware). 3. Nondeterminism This concept is of increasing interest in the area of software engineering: Throughout the design and the development of programs n o n d e t e s m allows to delay design decisions in order to keep generality as long as possible. As an extreme point of view, we may assume that design decisions can be delayed even into the execution phase of a program. Then, decisions must be made during the execution of the program. Consequently, the program needs input: In this way, interactive systems may be derived from nondeterministic specifications /Gnatz 82a/. The catchword “nondeterminism” is meant to comprise nondeterministic execution of statements Wre guarded commands /Dijkstra 7 9 or parallel commands /Broy 80/, as well as nondeterministic expressions like finite and comprehensive choice or ambiguous functions /Broy et al. 79/ , /CIP-L 81/. Nondeterminism is an important tool which provides for the abstraction from the uniqueness of the execution of programs and from the uniqueness of the result of a program. This means that a program may yield one result out of a whole set of possible results /McCarthy 61/. The point is that the program describes exactly this set of possible results. But the mathematical semantics doesn’t give any hint which value finally will be chosen, and, in any case, all choice decisions are completely independent from each other. Thus, everybody has the freedom to assume that there is a mysterious demon which makes the decision, or that there is a small little bird twittering the result, or even that there is the “user” who manipulates some input device. It has been said that nondeterministic programs provide for intentional vagueness in a completely formalized way. Note, that the semantics of abstract data types which refers to the whole class of finitely generatable models also fits perfectly into this picture. Considering the phenomenological aspects of graphics input, in particular the inherent ambiguities which may OCCUT in connection with the light pcn identification of graphical objects, it is quite clear that nondeterministic constructs will help to formally describe these aspects h an

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here