Research Project Title:
Aspect-Oriented Programming for Distributed and IoT Systems
abstract:The language Edge-C presents the distributed systems programmer with a familiar sequential model of computation. The compiler does the work of translating this intuitive format into explicitly concurrent Scala code whose execution is managed by a custom JVM run-time system in accordance with specified consistency guarantees. Edge-C is designed to be more expressive than similar aspect-oriented frameworks, permitting various network topologies, data sharing, and communication protocols. I will focus on either or both of the following: adding compiler support for low-level IoT devices and protocols that are not equipped to run a fully-fledged JVM runtime, and implementing a Rust-based runtime to improve efficiency and expand the set of supported concurrent schemes.
I thought SuperUROP would be a great introduction -- I've done research in biophysics and written software at internships, but never worked on computer science research. This project in particular sits at the intersection of distributed systems (which I came to love in 6.824) and programming language design, which I've wanted to work on since I first started coding.