16 research outputs found

    Next generation software environments : principles, problems, and research directions

    Get PDF
    The past decade has seen a burgeoning of research and development in software environments. Conferences have been devoted to the topic of practical environments, journal papers produced, and commercial systems sold. Given all the activity, one might expect a great deal of consensus on issues, approaches, and techniques. This is not the case, however. Indeed, the term "environment" is still used in a variety of conflicting ways. Nevertheless substantial progress has been made and we are at least nearing consensus on many critical issues.The purpose of this paper is to characterize environments, describe several important principles that have emerged in the last decade or so, note current open problems, and describe some approaches to these problems, with particular emphasis on the activities of one large-scale research program, the Arcadia project. Consideration is also given to two related topics: empirical evaluation and technology transition. That is, how can environments and their constituents be evaluated, and how can new developments be moved effectively into the production sector

    Java operating systems: design and implementation

    Get PDF
    Journal ArticleLanguage-based extensible systems such as Java use type safety to provide memory safety in a single address space. Memory safety alone, however, is not sufficient to protect different applications from each other. such systems must support a process model that enables the control and management of computational resources. In particular, language-based extensible systems must support resource control mechanisms analogous to those in standard operating-systems. They must support the separation of processes and limit their use of resources, but still support safe and efficient interprocess communication

    Direct Inter-Process Communication (dIPC): Repurposing the CODOMs architecture to accelerate IPC

    Get PDF
    In current architectures, page tables are the fundamental mechanism that allows contemporary OSs to isolate user processes, binding each thread to a specific page table. A thread cannot therefore directly call another process's function or access its data; instead, the OS kernel provides data communication primitives and mediates process synchronization through inter-process communication (IPC) channels, which impede system performance. Alternatively, the recently proposed CODOMs architecture provides memory protection across software modules. Threads can cross module protection boundaries inside the same process using simple procedure calls, while preserving memory isolation. We present dIPC (for "direct IPC"), an OS extension that repurposes and extends the CODOMs architecture to allow threads to cross process boundaries. It maps processes into a shared address space, and eliminates the OS kernel from the critical path of inter-process communication. dIPC is 64.12× faster than local remote procedure calls (RPCs), and 8.87× faster than IPC in the L4 microkernel. We show that applying dIPC to a multi-tier OLTP web server improves performance by up to 5.12× (2.13× on average), and reaches over 94% of the ideal system efficiency.We thank Diego Marr´on for helping with MariaDB, the anonymous reviewers for their feedback and, especially, Andrew Baumann for helping us improve the paper. This research was partially funded by HiPEAC through a collaboration grant for Lluís Vilanova (agreement number 687698 for the EU’s Horizon2020 research and innovation programme), the Israel Science Fundation (ISF grant 769/12) and the Israeli Ministry of Science, Technology and Space.Peer ReviewedPostprint (author's final draft

    A Survey of User Interfaces for Computer Algebra Systems

    Get PDF
    AbstractThis paper surveys work within the Computer Algebra community (and elsewhere) directed towards improving user interfaces for scientific computation during the period 1963–1994. It is intended to be useful to two groups of people: those who wish to know what work has been done and those who would like to do work in the field. It contains an extensive bibliography to assist readers in exploring the field in more depth. Work related to improving human interaction with computer algebra systems is the main focus of the paper. However, the paper includes additional materials on some closely related issues such as structured document editing, graphics, and communication protocols

    A stylus-based user interface for text : entry and editing

    Get PDF
    Thesis (S.B. and S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1991.Includes bibliographical references (leaves 96-100).A computer system with a user interface based on a stylus offers many potential benefits. A stylus is portable, usable with one hand, and works with a wide variety of systems, from notebook-sized computers to computers with wall-sized displays. In any new system, the methods by which a user manipulates textual information are important. This thesis explores the utility of stylus-based input for several text-related tasks, and informally studies a number of user interaction techniques. We describe a system for entering text with a stylus and investigate user interface techniques for interfacing with a text recognizer, concluding that a stylus is a feasible input device for entering small amounts of text. We also implement a simple text editing system utilizing gestural commands and explore the interactions of a stylus with some additional user interface techniques: scrolling and on-screen buttons. We discuss some alternatives in the design of such an editing system, including the use of "markup editing." We conclude that stylus-based systems can be easy to use and learn and lend themselves to the incorporation of knowledge about users' tasks.by Aaron Goodisman.S.B.and S.M

    An integrated programming environment for pseudo-code development, IPE-PC

    Get PDF
    An Integrated Programming Environment, IPE-PC, that supports pseudo-code development has been designed and implemented. This environment is based on a Pascal-like language which is designed according to the requirements of a language-based environment. The nucleus of IPE-PC is a language-based editor which represents programs as graphs internally. The same representation is used in every mode of the environment (i.e., editing, compilation, execution, debugging and translation). The system provides facilities to take advantage of both top-down and bottom-up programming. Stepwise refinement has been supported by providing comment structures that can be transformed into procedures. Bottom-up programming is supported because it is possible to create and save program segments which can be inserted to the programs at the appropriate points --Abstract, page ii

    SAGA: A project to automate the management of software production systems

    Get PDF
    The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management

    An illuminated workspace for iterative design

    Get PDF
    Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Architecture, 2002.Includes bibliographical references (leaves [79]-81).The rapid development of digital technology has led to the widespread of virtual or CAD based design environments. However, these tools lack a means of combing physical and digital representations in order to support the iterative design process. The illuminated workspace provides a self-contained design environment in which a number of physical, computational, statistical, and visual representations can be combined in a single creative space. This thesis describes a landscape design workbench called Illuminating Clay that allows designers to intuitively manipulate free-form physical models and simultaneously interact with computational analysis of these physical representations. This thesis shows how the system supports multiple forms of representation - physical models, 2-D images, digital models, and dynamic simulations - in the early stage of design and allows for an easy transition between physical and digital modeling in the process of landscape design.by Yao Wang.S.M

    Safe data structure visualisation

    Get PDF
    corecore