This paper puts forward the Graphical Interactive Diagnosing, Testing and Slicing System (GIDTS) which is a graphical programming environment for PROLOG programs. The IDTSpart of the system integrates Shapiro's In...
ISBN:
(纸本)9781581131376
This paper puts forward the Graphical Interactive Diagnosing, Testing and Slicing System (GIDTS) which is a graphical programming environment for PROLOG programs. The IDTSpart of the system integrates Shapiro's Interactive Diagnosis Algorithm with the Category Partition Testing Method (CPM) and a slicing technique performing the algorithmic debugging and functional testing of PROLOG programs. The integration of IDTS with a graphical user interface (GUI) supports the whole functionality of IDTS and provides a user-friendly environment giving the user more information on the state of the debugging process. GIDTS extends IDTS to a complete programming environment. It allows one to handle the debugging of complex programs using the extended syntax and semantics of PROLOG in a very flexible way. A static code diagnosis has also been implemented. In addition GIDTS supports debugging-directed editing of the source program, and a quick source code navigation via any of the tools (for example: the debugger, the static call graph and the information retriever). All these features are supported by the graphical user interface.
In this paper we explain how recursion operators can be used to structure and reason about program semantics within a functional language. In particular, we show how the recursion operator fold can be used to structur...
ISBN:
(纸本)9781581130249
In this paper we explain how recursion operators can be used to structure and reason about program semantics within a functional language. In particular, we show how the recursion operator fold can be used to structure denotational semantics, how the dual recursion operator unfold can be used to structure operational semantics, and how algebraic properties of these operators can be used to reason about program semantics. The techniques are explained with the aid of two main examples, the first concerning arithmetic expressions, and the second concerning Milner's concurrent language CCS. The aim of the paper is to give functional programmers new insights into recursion operators, program semantics, and the relationships between them.
The Fudgets system is a toolkit for developing graphical applications in the lazy functional programming language Haskell. In this paper we develop an operational semantics for a subset of this system, inspired by ide...
ISBN:
(纸本)9781581130249
The Fudgets system is a toolkit for developing graphical applications in the lazy functional programming language Haskell. In this paper we develop an operational semantics for a subset of this system, inspired by ideas from concurrency theory. A semantic theory based on bisimulation is defined and shown to be a congruence. We consider two applications of this theory: firstly, some equational rules useful for reasoning about Fudget programs are verified; secondly, we show how the operational semantics can be used to check the correctness of implementations of the Fudgets system.
作者:
Chris McDonaldKamran KazemiProgramming
Languages and Systems Group Department of Computer Science The University of Western Australia Crawley Western Australia 6907
The parallel programming community has long recognized the need for a simple programming environment offering interprocess communication between heterogeneous systems. As the Parallel Virtual Machine environment, PVM,...
ISBN:
(纸本)9780897918893
The parallel programming community has long recognized the need for a simple programming environment offering interprocess communication between heterogeneous systems. As the Parallel Virtual Machine environment, PVM, has emerged to meet this goal, an increasing number of educational institutions are choosing PVM to support their teaching of parallel and distributed computing using networks of workstations. However, it is often the nature of PVM's design and implementation that can severely limit its success in a teaching environment. This paper first motivates and then describes improvements to the PVM environment which increase both robustness and efficiency in an educational setting.
Fail-safety is a system attribute which ensures that a program either completes its execution satisfying its post-conditions in the normal manner or signals its failure to do so to its operating environment. Such an a...
详细信息
Fail-safety is a system attribute which ensures that a program either completes its execution satisfying its post-conditions in the normal manner or signals its failure to do so to its operating environment. Such an attribute is desirable of any system as it ensures the correctness of results which are produced. A very few modern sequential programminglanguages offer program fail-safety through the judicious use of a well designed exception handling mechanism. In this paper the exception handling techniques used in those sequential systems are developed to provide the guidelines for fail-safe concurrent system design. (C) 1997 Elsevier science Ltd.
作者:
Chris McDonaldProgramming
Languages and Systems Group Department of Computer Science The University of Western Australia Crawley Western Australia
One of the greatest benefits provided by computer networks, in particular local area networks, is the ability to access files served by other computers in a network. Whereas file system concepts are first introduced i...
ISBN:
(纸本)9780897917575
One of the greatest benefits provided by computer networks, in particular local area networks, is the ability to access files served by other computers in a network. Whereas file system concepts are first introduced in Operating Systems units, many file system concepts need to be readdressed and generalized in later computer Networks units. Moreover, as students become increasingly familiar with internetworking and programs such as ftp, many of the strong links between the Operating Systems and computer Networks units may be reinforced. This paper discusses the successes experienced with two strongly related projects offered in our third year computer Networks unit. Each project requires students to support a minimal distributed file system by implementing user-level libraries which redefine a handful of operating system system calls supporting remote file access.
Since the mid-1970s, and with the development of each new programming paradigm there has been an increasing interest in exceptions and the benefits of exception handling. With the move towards programming for ever mor...
详细信息
Since the mid-1970s, and with the development of each new programming paradigm there has been an increasing interest in exceptions and the benefits of exception handling. With the move towards programming for ever more complex architectures, understanding basic facilities such as exception handling as an aid to improving program reliability, robustness and comprehensibility has become much more important. Interest has sparked the production of many papers both theoretical and practical, each giving a view of exceptions and exception handling from a different standpoint. In an effort to provide a means of classifying exception handling models which may be encountered, a taxonomy is presented in this paper. As the taxonomy is developed some of the concepts of exception handling are introduced and discussed. The taxonomy is applied to a number of exception handling models in some contemporary programminglanguages and some observations and conclusions offered.
The left context in LR-based parsing is the sequence of states in the parsing stack. The right context is the vocabulary strings to appear for a given left context. We propose an efficient method of computing right co...
详细信息
The left context in LR-based parsing is the sequence of states in the parsing stack. The right context is the vocabulary strings to appear for a given left context. We propose an efficient method of computing right context for LR-based syntax error repair. The efficiency of our method is achieved from removing some redundancies in the method of previous work.
We extend static filtering in [8], a query optimization strategy based on seminaive evaluation on system graphs, so that it can efficiently handle stratified programs without extra overhead. The computation of static ...
详细信息
We extend static filtering in [8], a query optimization strategy based on seminaive evaluation on system graphs, so that it can efficiently handle stratified programs without extra overhead. The computation of static filters is formalized as a transformation so that the least fixed point of the transformation can be the static filters. The static filtering on stratified programs is shown to be complete with respect to the iterated fixed point semantics.
A syntactic error repair model is proposed, and is defined as a partial function from strings to sentences. The replacement of a substring of a string with a substring of a sentence is described by a repair pattern, w...
详细信息
A syntactic error repair model is proposed, and is defined as a partial function from strings to sentences. The replacement of a substring of a string with a substring of a sentence is described by a repair pattern, which is roughly a pair of strings of grammar symbols. The model can be efficient with some restriction on repair patterns. An LR-based implementation of the model is discussed.
暂无评论