Results 1 -
8 of
8
Regis: A Constructive Development Environment for Distributed Programs
- Distributed Systems Engineering Journal
, 1994
"... Regis is a programming environment aimed at supporting the development and execution of distributed programs. It embodies a constructive approach to the development of programs based on separating program structure from communication and computation. The emphasis is on constructing programs from mul ..."
Abstract
-
Cited by 87 (20 self)
- Add to MetaCart
Regis is a programming environment aimed at supporting the development and execution of distributed programs. It embodies a constructive approach to the development of programs based on separating program structure from communication and computation. The emphasis is on constructing programs from multiple parallel computational components which cooperate to achieve the overall goal. The environment is designed to easily accommodate multiple communication mechanisms and primitives. Both the computational and communication elements of Regis programs are programmed in the Object Oriented programming language C++. The elements are combined into distributed programs using the configuration language Darwin. The paper describes programming in Regis through a set of small example programs drawn from the implementation of an Active Badge system. Keywords configuration programming, dynamic reconfiguration, inter-process communication, distributed programming language, software development enviro...
The Discrete Time ToolBus - a software coordination architecture
, 1998
"... . The notion of "time" plays an important role when coordinating ..."
Abstract
-
Cited by 52 (12 self)
- Add to MetaCart
. The notion of "time" plays an important role when coordinating
On-Line Software Version Change
, 1994
"... what constitutes an "acceptable" behavior of such a process. We capture this notion in our definition of the validity of an on-line change. We define an on-line change to be valid if some time after the change, the process reaches a reachable state of the new program version. Thus, validity ensures ..."
Abstract
-
Cited by 27 (0 self)
- Add to MetaCart
what constitutes an "acceptable" behavior of such a process. We capture this notion in our definition of the validity of an on-line change. We define an on-line change to be valid if some time after the change, the process reaches a reachable state of the new program version. Thus, validity ensures that following a change, the process starts behaving like the new version of the program after a "transition period". We first consider validity of on-line changes to programs written in sequential procedure based languages. For this purpose, a very simple model in which procedures and functions are not allowed is first considered. State is modelled as a mapping from variable names to values. For this model, we show that it is undecidable to find whether or not a given on-line change is valid. This result has important consequences. It means that computable necessary and sufficient conditions for validity of change can not be obtained. Undecidability in this simple model also
On-line Software Version Change Using State Transfer Between Processes
, 1993
"... this paper, we describe a system for on-line software version change for software written in the C language. When the change is initiated by the user, the system instantiates a new process with the new version of the software, transfers state from the old process to the new one at an appropriate tim ..."
Abstract
-
Cited by 20 (4 self)
- Add to MetaCart
this paper, we describe a system for on-line software version change for software written in the C language. When the change is initiated by the user, the system instantiates a new process with the new version of the software, transfers state from the old process to the new one at an appropriate time, and transfers the control to the new process. The user sees a minimal delay in this switchover
The ToolBus - a component interconnection architecture -
, 1994
"... Building large, heterogeneous, distributed software systems poses serious problems for the software engineer; achieving interoperability of software systems is still a major challenge. We describe an experiment in designing a generic software architecture for solving these problems. To get control o ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
Building large, heterogeneous, distributed software systems poses serious problems for the software engineer; achieving interoperability of software systems is still a major challenge. We describe an experiment in designing a generic software architecture for solving these problems. To get control over the possible interactions between software components ("tools") we forbid direct inter-tool communication. Instead, all interactions are controlled by a "script" that formalizes all the desired interactions among tools. This leads to a component interconnection architecture resembling a hardware communication bus, and therefore we will call it a "ToolBus". We describe tool interactions in process-oriented "ToolBus scripts" featuring, amongst others, (1) sequential composition, choice and iteration of processes; (2) handshaking (synchronous) communication of messages; (3) asynchronous communication of notes to an arbitrary number of processes; (4) note subscription; (5) dynamic process cr...
SOFA Component Revision Identification
, 2000
"... In the area of component software, the work so far has concentrated primarily on the key issues of architecture specification and component updating. However, the problems of maintaining application consistency and versioning of components as they evolve have received less attention, and the availab ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In the area of component software, the work so far has concentrated primarily on the key issues of architecture specification and component updating. However, the problems of maintaining application consistency and versioning of components as they evolve have received less attention, and the available solutions are either ad-hoc or not well suited for component applications. In this paper we evaluate these solutions and present a new approach to component versioning developed for the SOFA architecture.
The Central Control: an introduction
, 1995
"... In this paper, we describe the Central Control, a software component that enables several symbolic systems to cooperate and exchange data. The Central Control will be used as the basis of the comprehensive solver that can provide a common access to all the programs developed within the posso esprit/ ..."
Abstract
- Add to MetaCart
In this paper, we describe the Central Control, a software component that enables several symbolic systems to cooperate and exchange data. The Central Control will be used as the basis of the comprehensive solver that can provide a common access to all the programs developed within the posso esprit/bra project. The Central Control has been designed to be the kernel of an environment for scientic computations which can offer a common and concurrent access to several tools needed by the scientist and the engineer: general purpose and specialized computer algebra systems, visualization tools, links with numerical libraries and tools to manipulate numerical programs etc. The user can interact with the Central Control through one or more (graphical) user interfaces. The Central Control is a Scheme interpreter extended with new primitive types and procedures.
Uniform Resource Visualization (URV): Software, Services
- Services and Software,” Dagstuhl Seminar on Performance Analysis and Distributed Computing
, 2003
"... Computing environments continue to increase in scale, heterogeneity, and hierarchy, with resource usage varying dynamically during program execution. Computational and data grids and distributed collaboration environments are examples. To understand performance and gain insights into developing appl ..."
Abstract
- Add to MetaCart
Computing environments continue to increase in scale, heterogeneity, and hierarchy, with resource usage varying dynamically during program execution. Computational and data grids and distributed collaboration environments are examples. To understand performance and gain insights into developing applications that efficiently use the system resources, performance visualization has proven useful. However, visualization tools often are specific to a particular resource or level in the system, possibly with fixed views, and thus limit a user's ability to observe and improve performance. Information integration is necessary for system-level performance monitoring. Uniform resource visualization (URV) is a component-based framework being developed to provide uniform interfaces between resource instrumentation (called resource monitoring components, RMC) and performance views (called visualization components, VC). URV supports services for connecting VCs to RMCs, and creating multi-level views, as well as visual schema definitions for sharing and reusing visualization design knowledge.

