As concurrent software systems become larger, the interaction of their components is becoming more complex. This interaction may limit reuse, making it difficult to validate design and correctness and perhaps forcing ...
详细信息
ISBN:
(纸本)0769510809
As concurrent software systems become larger, the interaction of their components is becoming more complex. This interaction may limit reuse, making it difficult to validate design and correctness and perhaps forcing reengineering of these systems in order to meet future requirements. In order to reduce this complexity and to build stable and adaptable concurrent software systems, we present an approach that emphasizes the separation of interaction components from the functional components.
We give a necessary and sufficient condition for when a set-theoretic function can be written using the recursion operator fold, and a dual condition for the recursion operator unfold. The conditions are simple, pract...
We give a necessary and sufficient condition for when a set-theoretic function can be written using the recursion operator fold, and a dual condition for the recursion operator unfold. The conditions are simple, practically useful, and generic in the underlying datatype.
The purpose of my HCI research is to use the Design Patterns approach to establish a framework to support designing WIMP User Interfaces. In this paper I will introduce the WIMP+ User Interfaces and the idea to use th...
详细信息
ISBN:
(纸本)1581132484
The purpose of my HCI research is to use the Design Patterns approach to establish a framework to support designing WIMP User Interfaces. In this paper I will introduce the WIMP+ User Interfaces and the idea to use the Acquisition-Computation-Expression-Execution [6] (ACEE) Design Pattern to build the framework.
作者:
Chris McDonaldKamran KazemiProgramming
Languages and Systems Group Department of Computer Science The University of Western Australia Nedlands Western Australia 6907
Parallel algorithms are often introduced to students by describing the geometric topologies formed by communicating processes and often the geographic relationships between them. However, the two most common message p...
ISBN:
(纸本)9781581132137
Parallel algorithms are often introduced to students by describing the geometric topologies formed by communicating processes and often the geographic relationships between them. However, the two most common message passing environments used in teaching, PVM and MPI, each provide only rudimentary support for the specification and execution of process topologies. There is a strong need for better syntactic and semantic support for process topologies in these environments, so that students may concentrate on the algorithms being studied, and not have to wrestle with the environments' infrastructure. This paper first motivates, and then describes the use of additional support within PVM and MPI which addresses this need.
Separation of concerns is at the heart of software development, and although its benefits have been well established, the core problem remains how to achieve it. For complex software systems the solution is still deba...
Separation of concerns is at the heart of software development, and although its benefits have been well established, the core problem remains how to achieve it. For complex software systems the solution is still debatable and it is a major research area. Object Oriented programming (OOP) works well only if the problem at hand can be described with relatively simple interface among objects. Unfortunately, this is not the case when we move from sequential programming to concurrent and distributed programming. The September 1993 CACM issue was devoted to the problematic marriage between OOP and Concurrency [Cohen 93]. Since then, numerous workshops, articles and books have attempt to tackle the problem. The core complexity is that concurrent and distributed systems manifest over more than one dimension. Features such as scheduling, synchronization, fault tolerance, security, testing and verifications are all expressed in such a way that they tend to cut across different objects. Hence, simple object interfaces are violated and the traditional OOP benefits no longer hold. One of the current attempts to resolve this issue is the Aspect Oriented Software Architecture. To address this multi-dimensional structure of concurrent systems we distinguish between components and aspects. Aspects are defined as properties of a system that do not necessarily align with the system’s functional components but tend to cut across functional components, increasing their interdependencies, and thus affecting the quality of the software. Although not bound to OOP, Aspect-Oriented programming (AOP) is a paradigm proposal that retains the advantages of OOP and aims at achieving a better separation of concerns. In this paper we provide an assessment of AOP and we discuss the architecture of an aspect-oriented framework. The goals of our proposal is to achieve an improved separation of concerns in both design, and implementation, to provide adaptability, and to support the complex interaction
A lack of adequate and flexible topology support in the popular message passing systems such as Parallel Virtual Machine was a major factor in the development of our Virtual Process Topology Environment. This parallel...
详细信息
Nested datatypes generalise regular datatypes in much the same way that context-free languages generalise regular ones. Although the categorical semantics of nested types turns out to be similar to the regular case, t...
详细信息
Nested datatypes generalise regular datatypes in much the same way that context-free languages generalise regular ones. Although the categorical semantics of nested types turns out to be similar to the regular case, the fold functions are more limited because they can only describe natural transformations. Practical considerations therefore dictate the introduction of a generalised fold function in which this limitation can be overcome. In the paper we show how to construct generalised folds systematically for each nested datatype, and show that they possess a uniqueness property analogous to that of ordinary folds. As a consequence, generalised folds satisfy fusion properties similar to those developed for regular datatypes. Such properties form the core of an effective calculational theory of inductive datatypes.
This paper puts forward the Graphical Interactive Diagnosing, Testing and Slicing System (GIDTS) which is a graphical programming environment for PROLOG programs. The IDTS part of the system integrates Shapiro's I...
详细信息
GUI design isn't simply a matter of putting a nice front-end on a capable program. It requires thought about the way in which people might be expected to use a system, and investigation of the ways that they actua...
详细信息
GUI design isn't simply a matter of putting a nice front-end on a capable program. It requires thought about the way in which people might be expected to use a system, and investigation of the ways that they actually use it. Jape's GUI has been designed to be as simple as possible, so that it will not get in the way of the business of proof. It is designed to be minimal in the information that it displays and the gestures that it requires from the user. In this paper we introduce and give a rationale for the design of Jape's user interface, then note some of its drawbacks.
A lack of adequate and flexible topology support in the popular message passing systems such as Parallel Virtual Machine was a major factor in the development of our Virtual Process Topology Environment. This parallel...
详细信息
A lack of adequate and flexible topology support in the popular message passing systems such as Parallel Virtual Machine was a major factor in the development of our Virtual Process Topology Environment. This parallel programming environment provides high level abstractions for interprocess communication, relieving the application developer of the cumbersome task of mapping logical neighbours to their task identifiers within message passing systems. The novel approach of separating topological specification from the APIs provided extreme flexibility to the developers of the applications using regular topologies. We believed that the task of supporting process topologies could be made even easier and, in this paper present our new method which uses recurrence relations to define topologies. Within the new environment, the recurrence relationships can be passed to the topology server which then is used in the generation of the topological specification.
暂无评论