Results 1 - 10
of
10
The Software Information Base: A Server for Reuse
- VLDB Journal
, 1995
"... We present an experimental software repository system which provides organization, storage, management, and access facilities for reusable software components. The system, intended as part of an applications development environment, supports the representation of information about requirements, desi ..."
Abstract
-
Cited by 29 (11 self)
- Add to MetaCart
We present an experimental software repository system which provides organization, storage, management, and access facilities for reusable software components. The system, intended as part of an applications development environment, supports the representation of information about requirements, designs and implementations of software, and offers facilities for visual presentation of the software objects. The paper details the features and architecture of the repository system, the technical challenges and the choices made for the system development along, with a usage scenario which illustrates its functionality. The system has been developed and evaluated within the context of the ITHACA project, a technology integration, software engineering project sponsored by the European Communities through the ESPRIT programme. The aim of the project is to engineer an integrated reuse-centered application development and support environment based on object-oriented techniques. ############### *...
The Performance of Multiversion Concurrency Control Algorithms
- ACM Transactions on Computer Systems
, 1986
"... A number of multiversion concurrency control algorithms have been proposed in the past few yes.rs. These algorithms use previous versions of data items in order to improve the level of achievable concurrency. This paper describes a simulation study of the performance of several multiversion concurre ..."
Abstract
-
Cited by 26 (2 self)
- Add to MetaCart
A number of multiversion concurrency control algorithms have been proposed in the past few yes.rs. These algorithms use previous versions of data items in order to improve the level of achievable concurrency. This paper describes a simulation study of the performance of several multiversion concurrency control algorithms, investigating the extent to which they provide increases in the level of concurrency and also the CPU, I/O, and storage costs resulting from the use of multiple versions. The multiversion algorithms are compared with regard to performance with their single-version counterparts and also with each other. It is shown that each multiversion algorithm offers significant performance improvements despite the additional disk accesses involved in accessing old versions of data; the nature of the improvement depends on the algorithm in question. It is also shown that the storage overhead for maintaining old versions that may be required by ongoing transactions is not all that large under most circumstances. Finally, it is demonstrated that it is important for version maintenance to be implemented efficiently, as otherwise the cost of maintaining old versions could outweigh their concurrency benefits.
Computing, Cognition and Information Compression
- AI Communications
, 1993
"... This article develops the idea that the storage and processing of information in computers and in brains may often be understood as information compression. The article first reviews what is meant by information and, in particular, what is meant by redundancy, a concept which is fundamental in all ..."
Abstract
-
Cited by 15 (12 self)
- Add to MetaCart
This article develops the idea that the storage and processing of information in computers and in brains may often be understood as information compression. The article first reviews what is meant by information and, in particular, what is meant by redundancy, a concept which is fundamental in all methods for information compression. Principles of information compression are described. The major part of the article describes how these principles may be seen in a range of observations and ideas in computing and cognition: the phenomena of adaptation and inhibition in nervous systems; `neural' computing; the creation and recognition of `objects' and `classes' in perception and cognition; stereoscopic vision and random-dot stereograms; the organisation of natural languages; the organisation of grammars; the organisation of functional, structured, logic and object-oriented computer programs; the application and de-referencing of identifiers in computing; retrieval of information from dat...
Campbell: An Object-Oriented Model of Software Configuration Management
- in Proceedings of the 3rd International Workshop on Software Configuration Management
, 1991
"... Software configuration management (SCM) seeks to control the evolution of software systems. In this pa-per, we introduce a new object-oriented model of SCM that is based on the earlier research results of the SAGA project. The model is, we believe, more gen-eral and comprehensive than previous model ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Software configuration management (SCM) seeks to control the evolution of software systems. In this pa-per, we introduce a new object-oriented model of SCM that is based on the earlier research results of the SAGA project. The model is, we believe, more gen-eral and comprehensive than previous models and uses clasaes to define different kinds of SCM entities, meth-ods to define the operations applicable to the entities, and inheritance to denote generalization relationships between the classes. The paper presents the principal classes in the model, describes their structure and func-tionality, and explains their roles in the representation of SCM systems. 1
Time and cost tradeoff for distributed data processing
- Computers ind. Engng
, 1989
"... Abstract--An important design issue in distributed data processing systems is to determine optimal data distribution. The problem requires a tradeoff between time and cost. For instance, quick response time conflicts with low cost. The paper addresses the data distribution problem in this conflictin ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract--An important design issue in distributed data processing systems is to determine optimal data distribution. The problem requires a tradeoff between time and cost. For instance, quick response time conflicts with low cost. The paper addresses the data distribution problem in this conflicting environment. A formulation of the problem as a non-linear program is developed. An algorithm employing a simple search procedure is presented, which gives an optimal data distribution. An example is solved to illustrate the method.
The Effect of Join Selectivities on Optimal Nesting Order
- SIGMOD Record
, 1987
"... A heuristic query optimizer must choose the best way to process an incoming query. This choice is based on comparing the expected cost of many (or all) of the ways that a command might be processed. This expected cost calculation is determined by statistics on the sizes of the relations involved and ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A heuristic query optimizer must choose the best way to process an incoming query. This choice is based on comparing the expected cost of many (or all) of the ways that a command might be processed. This expected cost calculation is determined by statistics on the sizes of the relations involved and the selectivities of the operations being performed. Of course, such estimates are subject to error, and in this paper we investigate the sensitivity of the best query plan to errors in the selectivity estimates. We treat the common case of join queries and show that the optimal plan for most queries is very insensitive to selectivity inaccuracies. Hence, there is little reason for a data manager to spend a lot of effort making accurate estimates of join selectivities. 1.
The Serpent Runtime Architecture and Dialogue Model
, 1988
"... : The separation of the user interface portion of a software system from the functional portion is intended to enable the production of tools to deal with the user interface, and to raise the quality and modularity of resulting software systems. One class of such separation tools that have been d ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
: The separation of the user interface portion of a software system from the functional portion is intended to enable the production of tools to deal with the user interface, and to raise the quality and modularity of resulting software systems. One class of such separation tools that have been developed is the User Interface Management System (UIMS). This paper describes the runtime architecture and dialogue model of a particular UIMS named Serpent. Serpent uses existing software systems to create a UIMS based on a structured production model to specify the dialogue, and uses a database approach for communication between its internal layers. The model for the dialogue in Serpent supports simultaneity of subdialogues and presents the dialogue specifier with a model that views data as mapping from the application to the presentation. The database approach for communication between the layers provides a model that application programmers understand well and find easy to use. ...
Is Your Terminology In Safe Hands? Data Analysis, Data Modelling And Term Banks
"... In this paper we introduce the basic concepts behind data analysis and data modelling and relate these to terminological data, illustrating the implications of these concepts for both the terminology builder and user. We will also describe our experience of using these concepts and techniques in pro ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In this paper we introduce the basic concepts behind data analysis and data modelling and relate these to terminological data, illustrating the implications of these concepts for both the terminology builder and user. We will also describe our experience of using these concepts and techniques in projects including Translators Workbench, MULTILEX and TRANSTERM. The aim of this paper is, in effect, to elaborate the database terms "entities", "relationships", "attributes", "normal form", "data integrity", "data redundancy", "referential integrity" amongst others. We will describe how the most common techniques, such as entity-relationship modelling, can be applied to the very complex data structures that the terminology of today requires, and how this may be extended for future needs, such as object-oriented and knowledge-based term banks. Introduction Terminology management has progressed hand-in-hand with the establishment of terminology as a discipline being used in daily practice by...
CHAPTER SEVENTEEN DISTRIBUTED DATABASES
"... ion 17-1 is developed more thoroughly by Date #Date 83#, Kohler #Kohler 81#, 279 280 heuristics and Bernstein and Goodman #Bernstein 81#. Argus, described in Section 17-2, is the work of Barbara Liskov and her colleagues at M.I.T. #Liskov 83#. 17-1 DATABASE CONTROL Why distribute a database's dat ..."
Abstract
- Add to MetaCart
ion 17-1 is developed more thoroughly by Date #Date 83#, Kohler #Kohler 81#, 279 280 heuristics and Bernstein and Goodman #Bernstein 81#. Argus, described in Section 17-2, is the work of Barbara Liskov and her colleagues at M.I.T. #Liskov 83#. 17-1 DATABASE CONTROL Why distribute a database's data? Distribution greatly complicates constructing a correct database system. Two important motivations for the distribution of databases involve geography and reliability. Often, database users and data are themselves physically distributed. For example, banks keep databases of their customers' accounts. A bank with many dispersed o#ces may want local or regional processing centers to ease the transport of records and reduce the delay for inquiries. After all, most queries refer to local information and can be most economically processed locally. Nevertheless, the branches still need occasional, immediate access to the other regions' records. For example, if
C∀, a Study in Evolutionary Design in Programming Languages
, 2004
"... New programming languages appear constantly. Many of them are based on existing ones but differ sufficiently so they are incompatible (e.g., C/C++ and Java). Building on the C8 language (Ditchfield [47] and Bilson [16]), this thesis continues the C8 "evolutionary" approach to programming language de ..."
Abstract
- Add to MetaCart
New programming languages appear constantly. Many of them are based on existing ones but differ sufficiently so they are incompatible (e.g., C/C++ and Java). Building on the C8 language (Ditchfield [47] and Bilson [16]), this thesis continues the C8 "evolutionary" approach to programming language design based upon the very successful C programming language, preserving its syntax and semantics while extending it with features that considerably enhance its expressiveness. The evolutionary approach allows for the introduction of powerful abstraction mechanisms with minimal disruption to legacy code, truly "making the future safe for the past" [20]...

