Purdue University Graduate School
Browse
thesis.pdf (489.95 kB)

DESIGNING AGORA: A SHARED MULTI-USER PROGRAMMING ENVIRONMENT

Download (489.95 kB)
thesis
posted on 2022-09-19, 16:18 authored by Thomas Allen KennellThomas Allen Kennell

Shared programming systems typically fall into one of two categories: systems to distribute code between users, and systems to allow shared access to editing or debugging facilities. Version-control systems allow distribution of code and are often more than adequate for large-scale software development occurring over a long period of time, but they can become unwieldy for fast iterative or exploratory development in which multiple users wish to participate. In these situations, shared editors or pair programming tools may suffice,with the caveat that any user of the system can typically modify any of the code at will. Rather than connecting several users to the same editor session, it would be more effective to allow users to maintain separate sessions while quickly sharing selected chunks of code at will.

To enable this paradigm, we have designed a new interpreter to allow distributed users to selectively share code and data at run-time. Our solution consists of a bytecode virtual machine back-end with access to a shared environment and a management mechanism to control creation and usage of these resources. By providing access to interpreter sessions overa network connection, we do not tie our interpreter to executing code from any one particular programming language, allowing any conforming front-end compiler and user interface to be used. This solution allows the development burden of shared programs to be distributed dynamically between users at run-time through the shared environment while still affording control over what and when to share, thereby facilitating more effective incremental or experimental multi-user programming.

History

Degree Type

  • Master of Science in Electrical and Computer Engineering

Department

  • Electrical and Computer Engineering

Campus location

  • West Lafayette

Advisor/Supervisor/Committee Chair

Milind Kulkarni

Additional Committee Member 2

Xiaokang Qiu

Additional Committee Member 3

Christopher Brinton

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC