24 research outputs found

    Integrating, Customizing, and Extending Environments with a Message-Based Architecture

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Transforming Databases with Recursive Data Structures

    Get PDF
    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
    corecore