Results 1 - 10
of
10
A High Level Language for Specifying Graph-Based Languages and their Programming Environments
- In Proceedings, 15th International Conference on Software Engineering
, 1994
"... This paper describes a high level language for specifying programming environments for programming languages that are based on directed attributed graphs. The high level language allows the specifier to describe views of portions of a program written in such a graph-based language, the editing opera ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
This paper describes a high level language for specifying programming environments for programming languages that are based on directed attributed graphs. The high level language allows the specifier to describe views of portions of a program written in such a graph-based language, the editing operations used to create the program, animations of the execution of the program, and sufficient detail of the execution semantics to support the animations. We demonstrate the use of the specification language with two simple examples of graph-based languages: Petri Nets, and an extension of Petri Nets which includes the ability to nest nets hierarchically. We further describe how to generate the programming environment for graph-based languages from descriptions made in the specification language. This work is the basis for developing a compiler for generating programming environments for graph-based languages automatically. We wish to remedy the add-hoc re-inventing of such systems by providi...
A Scheme for Little Languages in Interactive Graphics
- Software-Practice and Experience
, 1991
"... specification of the tiny-graph interface Procedure set-color erase translate move draw frame-rect fill-rect test-queue read-queue init-queue open-obj close-obj render-obj Arguments one of RED, GREEN, BLUE, WHITE, BLACK x y obj-number Explanation sets the current colour t ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
specification of the tiny-graph interface Procedure set-color erase translate move draw frame-rect fill-rect test-queue read-queue init-queue open-obj close-obj render-obj Arguments one of RED, GREEN, BLUE, WHITE, BLACK x y obj-number Explanation sets the current colour to the given colour clears the display to the current colour.
Language Definition and Implementation
- Australian Computer Science Communications
, 1989
"... Many languages have been designed to date, of which a large number have never been implemented and the majority are specified in a very imprecise manner. For a language to receive serious consideration among the computer science community, it generally must have been implemented after its design. Ho ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Many languages have been designed to date, of which a large number have never been implemented and the majority are specified in a very imprecise manner. For a language to receive serious consideration among the computer science community, it generally must have been implemented after its design. However, it is the matter of a precise definition which is often forgotten or ignored and yet it is one of the most important aspects of a language when considered in the context of the evolution of programming languages. The language definition is the vehicle by which the rules regarding syntax and semantics are clearly stated and conveyed. It allows for the comparison of languages independent of any implementation or machine architecture. Furthermore, by employing techniques with a formal basis, it is also possible to use the language definition as the source for the automatic generation of a language implementation. This strongly suggests that language designers should precisely define thei...
A Model of Communication in Ada using Shared Data Abstractions
- Advances in Computing and Information -- ICCI'90
, 1990
"... ions Chris Marlin & Michael Oudshoorn Department of Computer Science The University of Adelaide G.P.O. Box 498 Adelaide, S.A. 5001 Australia Dennis Freidel Hewlett Packard -- Colorado Networks Division 3404 East Harmony Road Fort Collins, Colorado 80525 U.S.A. Abstract Language-level concurren ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
ions Chris Marlin & Michael Oudshoorn Department of Computer Science The University of Adelaide G.P.O. Box 498 Adelaide, S.A. 5001 Australia Dennis Freidel Hewlett Packard -- Colorado Networks Division 3404 East Harmony Road Fort Collins, Colorado 80525 U.S.A. Abstract Language-level concurrency is becoming more widely available in programming languages, placing parallel programming features in the hands of many programmers for the first time. Unfortunately, the precise semantics of these features is frequently not well understood, principally because of the informal way in which such features are described. Typical of such informal description techniques is the manner in which technical English is used in the Ada Language Reference Manual to define the tasking facilities of Ada. This paper describes a formal model of the intertask communication aspect of the programming langauge Ada. The model is an information structure model whose precision is based on the use of shared data a...
Modelling Communication in Ada with Shared Data Abstractions
, 1998
"... ions Dennis Freidel Hewlett Packard -- Colorado Networks Division Chris Marlin yz & Michael Oudshoorn y The University of Adelaide April 30, 1998 Abstract Descriptions of parallel programming languages are typically presented in an entirely informal manner; similar informal descriptive techni ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
ions Dennis Freidel Hewlett Packard -- Colorado Networks Division Chris Marlin yz & Michael Oudshoorn y The University of Adelaide April 30, 1998 Abstract Descriptions of parallel programming languages are typically presented in an entirely informal manner; similar informal descriptive techniques are usually also the basis of comparisons between parallel programming languages. Such informal descriptions frequently lead to misunderstandings about the programming languages being described, and how they relate to one another. In this paper, we use shared data abstractions, an extension of abstract data types for parallel programming, as the basis for a model of inter-task communication in the programming language Ada. This approach leads to a precise description of the inter-task communication facility of Ada, as well as offering a basis upon which to compare parallel programming languages. Categories and Subject Descriptors: D.3.1 [Programming Languages]: Formal Definitions and Th...
Generating an Implementation of a Parallel Programming Language from a Formal Semantic Definition
- Australian Computer Science Communications
, 1992
"... ATLANTIS is a tool for the semi-automatic generation of interpretive language implementations from formal semantic definitions. This tool was originally designed to facilitate the implementation of sequential programming languages and the present paper describes how it has been adapted to also gener ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
ATLANTIS is a tool for the semi-automatic generation of interpretive language implementations from formal semantic definitions. This tool was originally designed to facilitate the implementation of sequential programming languages and the present paper describes how it has been adapted to also generate implementations of parallel programming languages. ATLANTIS is founded on a layered, information structure model and this paper examines the changes introduced into each layer of the model, focussing on the structure of the generated parse tree and the nature of the parallel interpreter generated from the programming language definition. 1.Introduction As the demand for more reliable software increases, so too does the need for formal definitions of programming languages. The difficulty experienced by language designers is that existing formalisms offer little assistance in the language design and implementation process. In fact, formalisms such as attribute grammars, 9,21 denotational s...
A formal specification of geometric refinements
- THE VISUAL COMPUTER JOURNAL, VOL
, 1999
"... The geometric refinements of 2D and 3D subdivisions are basic operations in geometric programming. They consist in partitioning their cells, i.e. their volumes, faces and edges, until no intersection exists between them and in achieving their topological restructuring. These crucial operations dese ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The geometric refinements of 2D and 3D subdivisions are basic operations in geometric programming. They consist in partitioning their cells, i.e. their volumes, faces and edges, until no intersection exists between them and in achieving their topological restructuring. These crucial operations deserve formal and precise definitions. We present, in this paper, new methods to formalize their design. Starting from a mathematical definition of the topological models and refinements, we present an algebraic specification of the operators needed to handle them. Then, we give a high-level and complete description of the refinement processes thanks to the use of rewrite systems. This approach allows us to exhibit integrity constraints for the handled objects and to focus on the conceptual and logical aspects of the refinement, avoiding tedious details of implementation. Finally, we show how the systems are enhanced to reflect choices of implementations and algorithmic improvements.
Rewriting-Based Derivation of Efficient Algorithms to Build Planar Subdivisions
, 1996
"... . Algebraic specifications allied to rewriting are used more and more often in design and logical prototyping of programs. We show how these techniques can be applied to a basic problem in computational geometry, namely the construction of planar subdivisions. We build up a simple, complete and conv ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
. Algebraic specifications allied to rewriting are used more and more often in design and logical prototyping of programs. We show how these techniques can be applied to a basic problem in computational geometry, namely the construction of planar subdivisions. We build up a simple, complete and convergent system of rules to cope with this problem and show how it is transformed to describe concrete and efficient algorithms such as plane-sweep ones. 1 Introduction Boolean (or set) operations in the plane is a crucial task in computational geometry, deserving a faultless and formal definition. Boolean operations amount to the refinement of superposed subdivisions, and thus, are an extension of line arrangements (see BentleyOttmann algorithm [1]). We generalize it to the self-refinement of embedded combinatorial maps. These problems have been approached incrementally [2] or more generally [3, 4, 5], the resulting algorithms beeing described by conventional methods. Our works rely on the u...
A Scheme for Interactive Graphics
, 1990
"... CONTENTS SUMMARY .................................................................................................. 1 INTRODUCTION ........................................................................................ 2 Graphics Today ............................................................... ..."
Abstract
- Add to MetaCart
CONTENTS SUMMARY .................................................................................................. 1 INTRODUCTION ........................................................................................ 2 Graphics Today ....................................................................................... 2 Tools for Graphics Software ................................................................... 2 Outline of the Paper ................................................................................ 3 Cooperation Needed ................................................................................ 3 Interpreters needed .................................................................................. 4 The Shell as the Central Tool .................................................................. 4 The Meta-Shell Concept ......................................................................... 5 Engineering a Shell ......................................
Formal Specification for Free-Form Curves and Surfaces
"... . This paper presents a formal description of curves and surfaces that have evaluation algorithms using control points. The frame of the algebraic specification allows us to unify most points of view by using modularity, genericity and ordered sorts. An experimentation prototype based on a translati ..."
Abstract
- Add to MetaCart
. This paper presents a formal description of curves and surfaces that have evaluation algorithms using control points. The frame of the algebraic specification allows us to unify most points of view by using modularity, genericity and ordered sorts. An experimentation prototype based on a translation of this specification into a typed functional language, namely ML, is currently developed. Keywords. Free-form curves and surfaces, B'ezier curves, Splines, Triangular surfaces, Algebraic specifications, Functional programming. 1 Introduction The development of unifying theories of curves and surfaces models, such as urn models [1] or simplicial algorithms [5] allows mathematicians and designers to integrate a lot of models of curves, surfaces and even volumes --- we will say varieties --- into a single system. In order to do so, several authors suggest to build an object-oriented framework [10, 14]. In such an approach, the primary task is to identify the objects classes and the associ...

