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.
A nested datatype, also known as a non-regular datatype, is a parametrised datatype whose declaration involves different instances of the accompanying type parameters. Nested datatypes have been mostly ignored in func...
详细信息
One of the major difficulties in controlling software development project cost overruns and schedule delays has been developing practical and accurate software cost models. Software development could be modeled as an ...
详细信息
One of the major difficulties in controlling software development project cost overruns and schedule delays has been developing practical and accurate software cost models. Software development could be modeled as an economic production process and we therefore propose a theoretical approach to software cost modeling. Specifically, we present the Minimum Software Cost Model (MSCM), derived from economic production theory and systems optimization. The MSCM model is compared with other widely used software cost models, such as COCOMO and SLIM, on the basis of goodness of fit and quality of estimation using software project data sets available in the literature. Judged by both criteria, the MSCM model is comparable to, if not better than, the SLIM, and significantly better than the rest of the models. In addition, the MSCM model provides some insights about the behavior of software development processes and environment, which could be used to formulate guidelines for better software project management polic es and practices.
作者:
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.
Renovation of business-critical software is becoming increasingly important. We identify fundamental notions and techniques to aid in system renovation and sketch some basic techniques: generic language technology to ...
详细信息
暂无评论