24 research outputs found
Recommended from our members
SMILE/ MARVEL: Two Approaches to Knowledge-Based Programming Environments
This technical report consists of three related papers in the area of intelligent assistance for software development and maintenance. Intelligent Assistance without Artificial Intelligence describes SMILE, a software engineering environment that assists teams of programmers without using AI technology. An Architecture for Intelligent Assistance in Software Development presents an AI approach to generalizing the capabilities of SMILE. Granularity Issues in a Knowledge-Based Programming Environment briefly describes MARVEL, an intelligent assistant based on this AI approach, and compares it to SMILE
Integrating, Customizing, and Extending Environments with a Message-Based Architecture
Message-based architectures have typically been used for integrating an engineer‘s set of tools as in FIELD and SoftBench. This paper presents our experience using a message-based architecture to integrate complex, multi-user environments. Where this style of control integration has been effective for encapsulating independent tools within an environment, we show that these techniques are also useful for integrating environments themselves. Our experience comes from our integration of two types of process-centered software development environments: a groupware application that implements a Fagan-style code inspection process and a software development process environment where code inspection is a single step in the overall process. We use a message-based mechanism to federate the two process engines such that the two process formalisms complement rather than compete with each other. Moreover, we see that the two process engines can provide some synergy when used in a single, integrated software process environment, Specifically, the integrated environment uses the process modeling and enactment services of one process engine to customize and extend the code inspection process implemented in a different process engine. The customization and extension of the original collaborative application was accomplished without modifying the application. This was possible because the integration mechanism was designed for multi-user, distributed evironments and encouraged the use of an environment‘s services by other environments. The results of our study indicate that the message-based architecture originally conceived for tool-oriented control integration is equally well-suited for environment integration
Incremental Process Support for Code Reengineering
Reengineering a large code base can be a monumental task, and the situation becomes even worse if the code is concomitantly being modified. For the past two years, we have been using the Marvel process centered environment (PCE) for all of our software development and are currently using it to develop the Oz PCE (Marvel's successor). Towards this effort, we are reengineering Oz's code base to isolate the process engine, transaction manager, and object management system as separate components that can be mixed and matched in arbitrary systems. In this paper, we show how a PCE can guide and assist teams of users in carrying out code reengineering while allowing them to continue their normal code development. The key features to this approach are its incremental nature and the ability of the PCE to automate most of the tasks necessary to maintain the consistency of the code base
Data Migration in an Object-Oriented Software Development Environment
As software systems grow from small systems developed by a handful of people to large, complex systems developed by hundreds of people, the environment in which they are developed evolves. Large software systems contain vast quantities of data that must migrate to new development environments. Object-oriented software development environments (OOSDEs) have received research attention recently, and seem destined to become commonplace for software development of these large systems. System growth involves data migration, a problem that must be solved before OOSDEs become practical tools. Data migration includes immigration (import) of systems developed using traditional facilities, reorganization of systems supported by object-oriented databases (objectbases), and schema evolution as the class structure of the objectbase changes. This thesis presents graphics-oriented tools -- Marvelizer and Organ -- that solve the first two problems for the Marvel OOSDE. Marvelizer and Organ have been implemented and used on Marvel itself
VOODB: A Generic Discrete-Event Random Simulation Model to Evaluate the Performances of OODBs
International audiencePerformance of object-oriented database systems (OODBs) is still an issue to both designers and users nowadays. The aim of this paper is to propose a generic discrete-event random simulation model, called VOODB, in order to evaluate the performances of OODBs in general, and the performances of optimization methods like clustering in particular. Such optimization methods undoubtedly improve the performances of OODBs. Yet, they also always induce some kind of overhead for the system. Therefore, it is important to evaluate their exact impact on the overall performances. VOODB has been designed as a generic discrete-event random simulation model by putting to use a modelling approach, and has been validated by simulating the behavior of the O2 OODB and the Texas persistent object store. Since our final objective is to compare object clustering algorithms, some experiments have also been conducted on the DSTC clustering technique, which is implemented in Texas. To validate VOODB, performance results obtained by simulation for a given experiment have been compared to the results obtained by benchmarking the real systems in the same conditions. Benchmarking and simulation performance evaluations have been observed to be consistent, so it appears that simulation can be a reliable approach to evaluate the performances of OODBs
A Formal Lazy Replication Regime for Spreading Conversion Functions over Objectbases
This paper introduces a functional-flavored formalization of objectbase evolution processes. It also determines features of the failure equivalence concept between the two main approaches for the fulfillment of database conversions: immediate and lazy updates.Laboratorio de Investigación en Nuevas TecnologÃas Informática
Databases for Software Engineering Environments - The Goal has not yet been attained
We argue that, despite a substantial number of proposed and existing new database systems, a suitable database system for software development environments and especially process-centred environments does not yet exist. We do so by first reviewing and refining the requirements for such systems. We then review a number of available and archetypical database systems and show that they do not meet these requirements
Implementing Activity Structures Process Modeling On Top Of The MARVEL Environment Kernel
Our goal was to implement the activity structures model defined by Software Design & Analysis on top of the MARVEL environment kernel. This involved further design of the activity structures process definition language and enaction model as well as translation and run-time support in terms of facilities provided by MARVEL. The result is an elegant declarative control language for multi-user software processes, with data and activities defined as classes and rules in the previously existing MARVEL Strategy Language. Semantics-based concurrency control is provided by a combination of the MARVEL kernel‘s lock and transaction managers and the send/receive synchronization primitives of the activity structures model
Recommended from our members
Marvel Implementor's Guide
This document is an implementor's manual for the MARVEL software development environment. It discusses the technical details of the system, rather than providing a description of the system. It is intended for those people doing actual development work on MARVEL. References are provides throughout the manual for background information
Transforming Databases with Recursive Data Structures
This thesis examines the problems of performing structural transformations on databases involving complex data-structures and object-identities, and proposes an approach to specifying and implementing such transformations.
We start by looking at various applications of such database transformations, and at some of the more significant work in these areas. In particular we will look at work on transformations in the area of database integration, which has been one of the major motivating areas for this work. We will also look at various notions of correctness that have been proposed for database transformations, and show that the utility of such notions is limited by the dependence of transformations on certain implicit database constraints. We draw attention to the limitations of existing work on transformations, and argue that there is a need for a more general formalism for reasoning about database transformations and constraints.
We will also argue that, in order to ensure that database transformations are well-defined and meaningful, it is necessary to understand the information capacity of the data-models being transformed. To this end we give a thorough analysis of the information capacity of data-models supporting object identity, and will show that this is dependent on the operations supported by a query language for comparing object identities.
We introduce a declarative language, WOL, based on Horn-clause logic, for specifying database transformations and constraints. We also propose a method of implementing transformations specified in this language, by manipulating their clauses into a normal form which can then be translated into an underlying database programming language. Finally we will present a number of optimizations and techniques necessary in order to build a practical implementation based on these proposals, and will discuss the results of some of the trials that were carried out using a prototype of such a system