dc.contributor.advisor | Wadler, Philip | |
dc.contributor.advisor | Sannella, Don | |
dc.contributor.author | He, Jiansen | |
dc.date.accessioned | 2015-02-16T16:29:07Z | |
dc.date.available | 2015-02-16T16:29:07Z | |
dc.date.issued | 2014-11-27 | |
dc.identifier.uri | http://hdl.handle.net/1842/9933 | |
dc.description.abstract | The robustness of actor-based concurrent applications can be improved
upon by (i) employing failure recovery mechanisms such as the supervision
principle, or (ii) using typed messages to prevent ill-typed communication.
This thesis explores to what extent the supervision principle can work with
typed messages. This thesis evaluates the hypothesis by building a new library
called TAkka in the Scala language on top of the existing Akka library,
where Akka provides supervised actors and TAkka adds typed messaging.
The TAkka library mixes static and dynamic type checking to make sure that
dynamically typed distributed resources and statically typed local resources
have consistent types. Our notion of typed actor can publish itself as different
types when used by different parties so that messages of unexpected types are
prevented at the senders’ side. In TAkka, messages for supervision purposes
are treated in a special way so that a supervisor can interact with child actors of
different types. This thesis evaluates the TAkka library by porting 23 small and
medium sized Akka applications to their TAkka equivalents. Results show that
Akka programs can be gradually upgraded to TAkka equivalents with minimal
runtime and code size overheads. Finally, TAkka includes two auxiliary
libraries for reliability assessment. This thesis confirms that the supervision
principle and typed messages can be merged in an actor library for building
real world applications. | en_US |
dc.language.iso | en | en_US |
dc.publisher | The University of Edinburgh | en_US |
dc.relation.hasversion | HE, J. (2013). Freebench. https://github.com/Jiansen/FreeBench. | en_US |
dc.relation.hasversion | HE, J. (2014). TAkka. https://github.com/Jiansen/TAkka. | en_US |
dc.relation.hasversion | HE, J. (2014). TAkka Play. https://github.com/Jiansen/TAkka-Play. | en_US |
dc.relation.hasversion | He, J., Wadler, P., and Trinder, P. (2014). Typecasting Actors: from Akka to Takka. Scala 2014. | en_US |
dc.subject | actor-based applications | en_US |
dc.subject | Akka | en_US |
dc.subject | concurrent programs | en_US |
dc.subject | TAkka | en_US |
dc.title | Type-parameterized actors and their supervision | en_US |
dc.type | Thesis or Dissertation | en_US |
dc.type.qualificationlevel | Doctoral | en_US |
dc.type.qualificationname | MPhil Master of Philosophy | en_US |