Results 1 - 10
of
15
Binary Component Adaptation
, 1998
"... Abstract. Binary component adaptation (BCA) allows components to be adapted and evolved in binary form and on-the-fly (during program loading). BCA rewrites component binaries before (or while) they are loaded, requires no source code access and guarantees release-to-release compatibility. That is, ..."
Abstract
-
Cited by 72 (1 self)
- Add to MetaCart
Abstract. Binary component adaptation (BCA) allows components to be adapted and evolved in binary form and on-the-fly (during program loading). BCA rewrites component binaries before (or while) they are loaded, requires no source code access and guarantees release-to-release compatibility. That is, an adaptation is guaranteed to be compatible with a new binary release of the component as long as the new release itself is compatible with clients compiled using the earlier release. We describe our implementation of BCA for Java and demonstrate its usefulness by showing how it can solve a number of important integration and evolution problems. Even though our current implementation was designed for easy integration with Sun’s JDK 1.1 VM rather than for ultimate speed, measurements show that the load-time overhead introduced by BCA is small, in the range of one or two seconds. With its flexibility, relative simple implementation, and low overhead, binary component adaptation could significantly
A Domain-Specific Software Architecture for Adaptive Intelligent Systems
- IEEE Transactions on Software Engineering
, 1995
"... A good software architecture facilitates application system development, promotes achievement of functional requirements, and supports system reconfiguration. We present a domain-specific software architecture (DSSA) that we have developed for a large application domain of adaptive intelligent syste ..."
Abstract
-
Cited by 57 (19 self)
- Add to MetaCart
A good software architecture facilitates application system development, promotes achievement of functional requirements, and supports system reconfiguration. We present a domain-specific software architecture (DSSA) that we have developed for a large application domain of adaptive intelligent systems (AISs). The DSSA provides: (a) an AIS reference architecture designed to meet the functional requirements shared by applications in this domain, (b) principles for decomposing expertise into highly reusable components, and (c) an application configuration method for selecting relevant components from a library and automatically configuring instances of those components in an instance of the architecture. The AIS reference architecture incorporates features of layered, pipe and filter, and blackboard style architectures. We describe three studies demonstrating the utility of our architecture in the sub-domain of mobile office robots and identify software engineering principles embodied in ...
Directed Improvisation by Computer Characters
- Proceedings of the International Joint Conference on Artificial Intelligence
, 1995
"... We present a directed improvisation paradigm, in which computer characters improvise a joint course of behavior that follows users' directions, but also engages and entertains users with the novelty, life-like qualities, and performance properties of their improvisations. We present requirements for ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
We present a directed improvisation paradigm, in which computer characters improvise a joint course of behavior that follows users' directions, but also engages and entertains users with the novelty, life-like qualities, and performance properties of their improvisations. We present requirements for improvisational characters that differ from the usual requirements for conventional computer agents and present an architecture that is designed to meet the new requirements. Two implemented characters exploit some of these architectural features to meet simple versions of the requirements. Finally, we illustrate the utility of improvisational characters for a variety of applications related to the arts and entertainment, including a suite of interaction modes in our testbed environment, a Virtual Theater for Children. 1. Introduction To improvise is to perform a new work in real time, without detailed preparation and by making use of the resources at hand. When improvisation is constrain...
The Pan Language-Based Editing System
- ACM Transactions on Software Engineering and
, 1991
"... Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information conc ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan, paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.
Recursive Adaptable Grammars
- Master’s Thesis, Worchester Polytechnic Institute
, 1998
"... Context-Free Grammars (CFGs) are a simple and intuitively appealing formalism for the description of programming languages, but lack the computational power to describe many common language features. Over the past three decades, numerous extensions of the CFG model have been developed. Most of these ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Context-Free Grammars (CFGs) are a simple and intuitively appealing formalism for the description of programming languages, but lack the computational power to describe many common language features. Over the past three decades, numerous extensions of the CFG model have been developed. Most of these extensions retain a CFG kernel, and augment it with a distinct facility with greater computational power. However, in all the most powerful CFG extensions, the clarity of the CFG kernel is undermined by the opacity of the more powerful extending facility. An intuitively appealing strategy for CFG extension is grammar adaptability, the principle that declarations in a program effectively modify the context-free grammar of the programming language. An adaptable grammar is equipped with some formal means for modifying its own CFG kernel. Most previous adaptable grammar formalisms have, unfortunately, failed to realize the potential clarity of this concept. In this thesis, a representative samp...
Directed Improvisation
, 1994
"... We introduce "directed improvisation," a new paradigm for human-computer interaction (HCI). Users direct computer "characters" with abstract instructions and constraints. The characters improvise behaviors that follow the directions, express their personal styles, and meet other objectives. We illus ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
We introduce "directed improvisation," a new paradigm for human-computer interaction (HCI). Users direct computer "characters" with abstract instructions and constraints. The characters improvise behaviors that follow the directions, express their personal styles, and meet other objectives. We illustrate directed improvisation with our current testbed application, a Computer-Animated Improvisational Theater for children, and discuss its properties as an HCI paradigm. KEYWORDS : Interaction Paradigm, Intelligent systems, Educational applications, Entertainment applications. 1. INTRODUCTION To improvise is to invent, create, or perform a new work in real time, without detailed preparation and often by making use of the resources at hand. Improvisation may be constrained by self-imposed or exogenously supplied directions. The resulting "new work" realizes a prescribed structure in an inventive form. The most striking examples of "directed improvisation" occur in the theater [8, 10, 22,...
Using Virtual Subsystems in Project Management
- National University of Singapore, Singapore
, 1993
"... Software project management cannot be performed without a sufficient understanding of the entire software system. When it comes to making informed project-related decisions, management personnel require a high-level understanding of the entire system and in-depth information on selected components. ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Software project management cannot be performed without a sufficient understanding of the entire software system. When it comes to making informed project-related decisions, management personnel require a high-level understanding of the entire system and in-depth information on selected components. Unfortunately, many software systems are so complex and/or old that such information is not readily available. Reverse engineering -- the process of extracting system abstractions and design information from existing software systems -- can provide some of this missing information. This paper outlines how risk analysis and project management can be improved through the use of virtual subsystems created through reverse engineering.
Abstraction in Programming - working definition
, 1999
"... ion in Programming --- working definition by John N. Shutt Computer Science Technical Report Series WORCESTER POLYTECHNIC INSTITUTE Computer Science Department 100 Institute Road, Worcester, Massachusetts 01609-2280 Abstraction in Programming --- working definition John N. Shutt jshutt@ ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
ion in Programming --- working definition by John N. Shutt Computer Science Technical Report Series WORCESTER POLYTECHNIC INSTITUTE Computer Science Department 100 Institute Road, Worcester, Massachusetts 01609-2280 Abstraction in Programming --- working definition John N. Shutt jshutt@cs.wpi.edu Computer Science Department Worcester Polytechnic Institute Worcester, MA 01609 December 1999 Abstract This paper investigates the nature of the process in programming by which a new level of abstraction is constructed by building upon an existing one. The process is called abstraction. The purpose of the investigation is to provide an informal characterization of abstraction, as a conceptual foundation for subsequent development of a mathematical theory of abstraction. Contents 1 Introduction 1 2 Other senses of `abstraction' 1 2.1 Metaphysics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.1.1 Universals . . . . . . . . . . . . . . . . . . . . . ....
A Framework for the Computer Aided Spatial Education through Geographic Microworlds
, 1993
"... This paper specifies the requirements of computer aided educational software for geography. For this it draws on two lines of research: one is education and in particular the utilization of computers as an aid to teaching and learning; the other is psychology of space cognition. Understanding-and ..."
Abstract
- Add to MetaCart
This paper specifies the requirements of computer aided educational software for geography. For this it draws on two lines of research: one is education and in particular the utilization of computers as an aid to teaching and learning; the other is psychology of space cognition. Understanding-and misunderstandings- of spatial concepts as well as geographic skills needed-and often lacking- are translated into requirements for geographic education. The concept of Logo-like microworlds is used to host these requirements in the form of software (authoring) environment prerequisites. 1. Introduction A frequent observation regarding people's understanding of and reasoning on spatial and geographical matters, is that "common sense understanding and use of spatial information and spatial relations is error ridden, naive and very incomplete, resulting in misconceptions and misunderstandings" [10] and that "knowledge of the environment is incomplete, distorted, asymmetric, discontinuous...
BMC Bioinformatics BioMed Central Methodology article Systems biology driven software design for the research enterprise
, 2007
"... © 2008 Boyle et al; licensee BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License ..."
Abstract
- Add to MetaCart
© 2008 Boyle et al; licensee BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License

