Integrating Event-Driven and Capsule-Oriented Programming

Date
2016-12-01
Authors
Maddox, Jackson
Journal Title
Journal ISSN
Volume Title
Publisher
Source URI
Altmetrics
Authors
Research Projects
Organizational Units
Journal Issue
Series
Abstract

Modern computer processors now commonly have multiple cores, each of which can do only one thing at a time. The Panini programming model helps programmers take advantage of this to improve the speed of their programs by sending messages to and from different capsules potentially residing on different cores. Event-driven programming allows one to be notified when some event occurs, which prevents needing to poll for the event. This project seeks to integrate both of these programming models into one. Multiple questions about this integration were answered. First is how events are defined in each capsule, second is how other capsules will subscribe to these events, third is how subscribers are notified in relation to message passing between capsules, and finally whether this integration of Panini and events preserves the properties of the Panini programming model that make it both easy and safe to use. To help answer these questions, I extended @Paninij, an implementation of Panini, with event-driven programming capabilities so that programmers can take advantage of both programming models simultaneously.

Description
Keywords
Citation