Our open-source software serves as a proof of concept for research ideas.
PILOTS is a declarative programming language for data stream analytics. With PILOTS, we introduced the notions of error signatures, and mode likelihood vectors, to detect and isolate sensor failures as exhibited in redundant data streams. PILOTS has been successfully used to detect aircraft sensor failures in data recovered from actual commercial accidents, such as detecting the pitot tube failures in Air France 447 within 5 seconds. In addition, a module to compute wind-aware trajectories for loss of thrust emergencies in < 50ms, presented at DASC 2018, is being used as a reference implementation for UAVs by NASA.
MilkyWay@Home is a volunteer computing project to study the structure and evolution of our galaxy. With MilkyWay@Home, we introduced asynchronous and robust evolutionary algorithms to fit geometric models of the Sagittarius dwarf galaxy, which is rotating around the Milky Way once every half a billion years, creating streams of stars as it crosses the galactic disk. It was one of the first BOINC projects to use GPUs to speed up computations, at the time reaching a peak of 2 Petaflop/s. It is currently being used for N-body simulations of the galaxy to study potential dark matter distributions consistent with current observations of tidal streams. As of April 2019, it has granted 412,671,926,286 credits to 225,366 users all over the world, and it averages from 200 to 600 Teraflop/s. A 1 GFlop/s computer donating 24 hours full time receives 200 BOINC credits. That is, Milky-Way@Home has performed since its inception 4.126×10^11×10^9×24×3600/200=1.782×10^23 floating point operations. That is, what a 1 Petaflop/s (10^15 floating point operations per second) dedicated supercomputer would do in 1.782 × 10^8 seconds, or 5 years and 7 months.
SALSA is a concurrent programming language that has been used extensively for research and teaching. With SALSA, we introduced novel linguistic abstractions for concurrency coordination—named tokens, join blocks, and first-class continuations—and for distributed computing—universal actors, and it is the only actor language in existence that implements garbage collection of mobile distributed actors. The paper that introduced the language has 273 Google Scholar citations as of April 2019.