278 research outputs found

    Object-Oriented Programming Language Facilities for Concurrency Control

    Get PDF
    Concurrent object-oriented programming systems require support for concurrency control, to enforce consistent commitment of changes and to support program-initiated rollback after application-specific failures. We have explored three different concurrency control models -- atomic blocks, serializable transactions, and commit-serializable transactions -- as part of the MELD programming language. We present our designs, discuss certain programming problems and implementation issues, and compare our work on MELD to other concurrent object-based systems

    A distributed Web document database and its supporting environment

    Get PDF
    [[abstract]]We propose a new Web documentation database as a supporting environment of the Multimedia Micro-University project. The design of this database facilitates a Web documentation development paradigm that we have proposed earlier. From a script description to its implementation as well as testing records, the database and its interface allow the user to design Web documents as virtual courses to be used in a Web-savvy virtual library. The database supports object reuse and sharing, as well as referential integrity and concurrence. In order to allow real-time course demonstration, we also propose a simple course distribution mechanism, which allows the pre-broadcast of course materials. The system is implemented as a three-tier architecture which runs under MS Windows and other platforms.[[conferencetype]]ĺś‹éš›[[conferencedate]]19990706~19990708[[conferencelocation]]Red Sea, Egyp

    A Multi-Faceted Software Reusability Model: The Quintet Web.

    Get PDF
    Over the past decade, problems in software development and maintenance have increased rapidly. The size of software has grown explosively, complexity of software applications has increased, the nature of software applications has become more critical, and large quantities of software to be maintained have accumulated. During the same time, the productivity of individual software engineers has not improved proportionally. Software reusability is widely believed to be a key to help overcome the ongoing software crisis by improving software productivity and quality. However, the promise of software reusability has not yet been fulfilled. We present a multi-faceted software reusability model, a Quintet Web, that enables designers to reuse software artifacts from all phases. The Quintet Web consists of links of five types of reuse support information among existing document blocks: semantic, horizontal, hierarchical, syntactic, and alternative relationships. The five types of reuse support information are named the Semantic Web, the Horizontal Web, the Vertical Web, the Syntactic Web, and the Alternative Web. The Semantic Web defines the operational functionality of each software block. The Horizontal Web links functionally identical blocks of all phases. The Vertical Web identifies hierarchical relationships of software blocks. The Syntactic Web forms a chain from the declaration of each variable to its uses for all variables. The Alternative Web enables software developers to select an alternative algorithm for an identical functionality. The Quintet Web supports both software development and maintenance. When the Quintet Web is applied to development process, it provides software developers a means to check the consistency of the software being developed. The Quintet Web model is independent of a specific software development method

    Code Reuse in Open Source Software Development: Quantitative Evidence, Drivers, and Impediments

    Get PDF
    The focus of existing open source software (OSS) research has been on how and why individuals and firms add to the commons of public OSS code—that is, on the “giving” side of this open innovation process. In contrast, research on the corresponding “receiving” side of the innovation process is scarce. We address this gap, studying how existing OSS code is reused and serves as an input to further OSS development. Our findings are based on a survey with 686 responses from OSS developers. As the most interesting results, our multivariate analyses of developers’ code reuse behavior point out that developers with larger personal networks within the OSS community and those who have experience in a greater number of OSS projects reuse more, presumably because both network size and a broad project experience facilitate local search for reusable artifacts. Moreover, we find that a development paradigm that calls for releasing an initial functioning version of the software early—as the “credible promise” in OSS—leads to increased reuse. Finally, we identify developers’ interest in tackling difficult technical challenges as detrimental to efficient reuse-based innovation. Beyond OSS, we discuss the relevance of our findings for companies developing software and for the receiving side of open innovation processes, in general

    ROO - a model for object-oriented reuse.

    Get PDF
    Both object-orientation and the Internet make the widespread reuse of software a possibility. Unfortunately, the potential benefits from these facilities have not been forthcoming. One reason for this is the lack of a coherent model for software development and reuse. This paper proposes such a model which is based upon modelling software components using state transition machines. Reuse is made possible by defining matching relations between component descriptions in terms of machine simulations. Both the development process and matching relations are given a formal semantics

    Industry Platforms and Ecosystem Innovation

    Get PDF
    This paper brings together the recent literature on industry platforms and shows how it relates to managing innovation within and outside the firm as well as to dealing with technological and market disruptions and change over time. First, we identify distinct types of platforms. Our analysis of a wide range of industry examples suggests that there are two predominant types of platforms: internal or company-specific platforms, and external or industry-wide platforms. We define internal (company or product) platforms as a set of assets organized in a common structure from which a company can efficiently develop and produce a stream of derivative products. We define external (industry) platforms as products, services, or technologies that act as a foundation upon which external innovators, organized as an innovative business ecosystem, can develop their own complementary products, technologies, or services. Second, we summarize from the literature general propositions on the design, economics, and strategic management of platforms. Third, we review the case of Intel and other examples to illustrate the range of technological, strategic, and business challenges that platform leaders and their competitors face as markets and technologies evolve. Finally, we identify practices associated with effective platform leadership and avenues for future research to deepen our understanding of this important phenomenon and what firms can do to manage platform-related competition and innovation

    Using domain specific languages to capture design knowledge for model-based systems engineering

    Get PDF
    Design synthesis is a fundamental engineering task that involves the creation of structure from a desired functional specification; it involves both creating a system topology as well as sizing the system's components. Although the use of computer tools is common throughout the design process, design synthesis is often a task left to the designer. At the synthesis stage of the design process, designers have an extensive choice of design alternatives that need to be considered and evaluated. Designers can benefit from computational synthesis methods in the creative phase of the design process. Recent increases in computational power allow automated synthesis methods for rapidly generating a large number of design solutions. Combining an automated synthesis method with an evaluation framework allows for a more thorough exploration of the design space as well as for a reduction of the time and cost needed to design a system. To facilitate computational synthesis, knowledge about feasible system configurations must be captured. Since it is difficult to capture such synthesis knowledge about any possible system, a design domain must be chosen. In this thesis, the design domain is hydraulic systems. In this thesis, Model-Driven Software Development concepts are leveraged to create a framework to automate the synthesis of hydraulic systems will be presented and demonstrated. This includes the presentation of a domain specific language to describe the function and structure of hydraulic systems as well as a framework for synthesizing hydraulic systems using graph grammars to generate system topologies. Also, a method using graph grammars for generating analysis models from the described structural system representations is presented. This approach fits in the context of Model-Based Systems Engineering where a variety of formal models are used to represent knowledge about a system. It uses the Systems Modeling Language developed by The Object Management Group (OMG SysML™) as a unifying language for model definition.M.S.Committee Chair: Paredis, Chris; Committee Member: McGinnis, Leon; Committee Member: Schaefer, Dir
    • …
    corecore