6,364 research outputs found

    Modularity in action.GNU/Linux and free/Open source sotfware development model unleashed.

    Get PDF
    Organizational and managerial theories of modularity applied to the design and production of complex artifacts are used to interpret the rise and success of Free/Open Source Software methodologies and practices in software engineeringmodularity; software project management; free/open source software; division of labor; coordination; information hiding

    Exploring the Duality between Product and Organizational Architectures: A Test of the Mirroring Hypothesis

    Get PDF
    A variety of academic studies argue that a relationship exists between the structure of an organization and the design of the products that this organization produces. Specifically, products tend to "mirror" the architectures of the organizations in which they are developed. This dynamic occurs because the organization's governance structures, problem solving routines and communication patterns constrain the space in which it searches for new solutions. Such a relationship is important, given that product architecture has been shown to be an important predictor of product performance, product variety, process flexibility and even the path of industry evolution. We explore this relationship in the software industry. Our research takes advantage of a natural experiment, in that we observe products that fulfill the same function being developed by very different organizational forms. At one extreme are commercial software firms, in which the organizational participants are tightly-coupled, with respect to their goals, structure and behavior. At the other, are open source software communities, in which the participants are much more loosely-coupled by comparison. The mirroring hypothesis predicts that these different organizational forms will produce products with distinctly different architectures. Specifically, loosely-coupled organizations will develop more modular designs than tightly-coupled organizations. We test this hypothesis, using a sample of matched-pair products. We find strong evidence to support the mirroring hypothesis. In all of the pairs we examine, the product developed by the loosely-coupled organization is significantly more modular than the product from the tightly-coupled organization. We measure modularity by capturing the level of coupling between a product's components. The magnitude of the differences is substantial - up to a factor of eight, in terms of the potential for a design change in one component to propagate to others. Our results have significant managerial implications, in highlighting the impact of organizational design decisions on the technical structure of the artifacts that these organizations subsequently develop.Organizational Design, Product Design, Architecture, Modularity, Open-Source Software.

    EOS: A project to investigate the design and construction of real-time distributed embedded operating systems

    Get PDF
    The EOS project is investigating the design and construction of a family of real-time distributed embedded operating systems for reliable, distributed aerospace applications. Using the real-time programming techniques developed in co-operation with NASA in earlier research, the project staff is building a kernel for a multiple processor networked system. The first six months of the grant included a study of scheduling in an object-oriented system, the design philosophy of the kernel, and the architectural overview of the operating system. In this report, the operating system and kernel concepts are described. An environment for the experiments has been built and several of the key concepts of the system have been prototyped. The kernel and operating system is intended to support future experimental studies in multiprocessing, load-balancing, routing, software fault-tolerance, distributed data base design, and real-time processing

    Strategic perspectives on modularity

    Get PDF
    In this paper we argue that the debate on modularity has come to a point where a consensus is slowly emerging. However, we also contend that this consensus is clearly technology driven. In particular, no room is left for firm strategies. Typically, technology is considered as an exogenous variable to which firms have no choices but to adapt. Taking a slightly different perspective, our main objective is to offer a conceptual framework enabling to shed light on the role of corporate strategies in the process of modularization. From interviews with academic design engineers, we show that firms often consider product architecture as a critical variable to fit their strategic requirements. Based on design sciences, we build an original approach to product modularity. This approach, which leaves an important space for firms' strategic choices, proves also to seize a large part of the industrial reality of modularity. Our framework, which is a first step towards the consideration of strategies within the framework of modularity, gives an account for the diversity of industrial logics related to product modularization.product modularity ; corporate strategy ; technological determinism

    50 years of isolation

    Get PDF
    The traditional means for isolating applications from each other is via the use of operating system provided “process” abstraction facilities. However, as applications now consist of multiple fine-grained components, the traditional process abstraction model is proving to be insufficient in ensuring this isolation. Statistics indicate that a high percentage of software failure occurs due to propagation of component failures. These observations are further bolstered by the attempts by modern Internet browser application developers, for example, to adopt multi-process architectures in order to increase robustness. Therefore, a fresh look at the available options for isolating program components is necessary and this paper provides an overview of previous and current research on the area

    The driver concept for the DLR Lightweight Robot III

    Get PDF
    In this paper we present the synchronization and driver architecture of the DLR LWR-III, which supplies an easy to use interface for applications. For our purpose we abstracted the robot hardware entirely from the control algorithms using the common device driver concept of modern operating systems. The software architecture is split into two modular parts. On the one side, there are device drivers that communicate with the hardware components. On the other side, there are realtime ap- plications realized as Simulink Models, which provide advanced control algorithms. This ensures a clean separation between the two modules and provides a communication over a common and approved interface. Furthermore we investigated how we can ensure synchronization to the hardware over the device driver interfaces and how we can ensure that it meets hard realtime requirements. The main result of this paper is to realize a synchronization between LWR-III hardware and Simulink control applications while targeting small latencies with respect to hard realtime requirements. The design is implemented and verified on WindRiverTM VxWorksTM

    Active networks: an evolution of the internet

    Get PDF
    Active Networks can be seen as an evolution of the classical model of packet-switched networks. The traditional and ”passive” network model is based on a static definition of the network node behaviour. Active Networks propose an “active” model where the intermediate nodes (switches and routers) can load and execute user code contained in the data units (packets). Active Networks are a programmable network model, where bandwidth and computation are both considered shared network resources. This approach opens up new interesting research fields. This paper gives a short introduction of Active Networks, discusses the advantages they introduce and presents the research advances in this field

    A Study of Dynamic Optimization Techniques: Lessons and Directions in Kernel Design

    Get PDF
    The Synthesis kernel [21,22,23,27,28] showed that dynamic code generation, software feedback, and fine-grain modular kernel organization are useful implementation techniques for improving the performance of operating system kernels. In addition, and perhaps more importantly, we discovered that there are strong interactions between the techniques. Hence, a careful and systematic combination of the techniques can be very powerful even though each one by itself may have serious limitations. By identifying these interactions we illustrate the problems of applying each technique in isolation to existing kernels. We also highlight the important common under-pinnings of the Synthesis experience and present our ideas on future operating system design and implementation. Finally, we outline a more uniform approach to dynamic optimizations called incremental partial evaluation
    • …
    corecore