Combining Event-driven and Capsule-oriented Programming to Improve Integrated System Design

dc.contributor.author Maddox, Jackson
dc.contributor.department Computer Science
dc.date 2018-02-18T16:01:54.000
dc.date.accessioned 2020-06-30T01:57:09Z
dc.date.available 2020-06-30T01:57:09Z
dc.date.issued 2017-07-01
dc.description.abstract <p>As concurrent software becomes more pervasive, models that provide both safe concurrency and modular reasoning become more important. Panini is one such model, and provides both sparse and cognizant interference based around the concept of capsules. Additionally, web frameworks, Graphical User Interface (GUI) libraries, and other projects are event-driven in nature, making events a commonly used programming paradigm for certain tasks. However, it would be difficult to use Panini in an event-driven manner, where there may be multiple capsules interested in a given event. Therefore, by integrating capsules and events one would be able to apply Panini's modular reasoning to commonly event-driven tasks more easily. Several challenges must be addressed in he integration. These are defining the semantics of event messages, scheduling of handlers to maximize concurrency, and how to keep to Panini's current semantics which allow modular reasoning. To solve this problem, @Paninij, an implementation of Panini, is extended to add event mechanisms to capsules. As a result, this new combined model allows capsules to interact using both procedures and event announcements. This extension of Panini is helpful for writing concurrent, modular software that lends itself more naturally to event-driven programming.</p>
dc.identifier archive/lib.dr.iastate.edu/cs_techreports/382/
dc.identifier.articleid 1383
dc.identifier.contextkey 10446351
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/382
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/20218
dc.source.bitstream archive/lib.dr.iastate.edu/cs_techreports/382/paper.pdf|||Fri Jan 14 23:53:15 UTC 2022
dc.subject.disciplines Programming Languages and Compilers
dc.subject.keywords concurrency
dc.subject.keywords implicit invocation
dc.title Combining Event-driven and Capsule-oriented Programming to Improve Integrated System Design
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
paper.pdf
Size:
102.21 KB
Format:
Adobe Portable Document Format
Description:
Collections