Results 1 -
5 of
5
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...
Designing Configuration Management Tools for Dynamically Composed Systems
, 1998
"... The ability to construct a software system from separate pieces while the system is being used is a feature which has become more prevalent and important in recent years; in fact, the ability to dynamically compose a system has existed in various programming languages and computing systems for some ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
The ability to construct a software system from separate pieces while the system is being used is a feature which has become more prevalent and important in recent years; in fact, the ability to dynamically compose a system has existed in various programming languages and computing systems for some time. We use the term dynamically composed systems to refer to systems with this property. In general, dynamically composed systems suffer a number of problems, not the least of which is the difficulty in ascertaining what pieces comprise a system. Furthermore, the definition of how particular pieces are selected, what a consistent collection of pieces is, and how multiple versions of the same piece are handled when composing a system dynamically is typically ambiguous, and feedback to users or maintainers of the system with respect to these issues is often non-existent or too late. Traditional configuration management tools address such system composition and evolution issues, but only in a s...
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...

