Abstraction in the demand-driven, temporal-assignment, visual language model

Margaret Burnett · 1992

The work developed in this thesis seeks to expand the scope of applicability of declarative visual languages. Historically, research into declarative visual programming languages has had as a primary goal simplification of concepts required for programming. However, the contributions of these attempts has been demonstrated via only certain restricted classes of examples. A continuous criticism of these systems has been that they are not easily extended to adequately handle larger or more general programs without re-introducing the very concepts they have tried to simplify or remove. This criticism is termed the scaling up problem. For any research addressing this problem to be successful, it must address the inherent conflict between abstraction and the most important characteristic of visual programming languages--concreteness. In Forms/3, concreteness is provided via an explicit approach to time, prototypical values, and immediate feedback, within the framework of a declarative language model. These notions build on existing technology, and are further extended to handle the problems caused by the introduction of abstraction. A visual approach to data abstraction is developed, encompassing the traditional notions of data abstraction as well as aspects relating to dynamic appearance over time and interactive behavior. The approach is fully visual, enforcing information hiding via layers of visual and logical abstraction. Interactive event-handling is addressed not only as part of the concept of visual data abstraction, but as a fully general abstraction in its own right. In so doing, the declarative nature of the language model is preserved. The approach to interactivity provides a foundation for other techniques needed for scaling up, including error handling and files. A type system is developed to support the concept of polymorphic data types. This type system differs from other primarily in that it is visible to the user and appears to the user to be concrete, yet is fully polymorphic and imposes few restrictions on the language.

Read the paper · More papers on PaperTik