University of SaskatchewanHARVEST
  • Login
  • Submit Your Work
  • About
    • About HARVEST
    • Guidelines
    • Browse
      • All of HARVEST
      • Communities & Collections
      • By Issue Date
      • Authors
      • Titles
      • Subjects
      • This Collection
      • By Issue Date
      • Authors
      • Titles
      • Subjects
    • My Account
      • Login
      JavaScript is disabled for your browser. Some features of this site may not work without it.
      View Item 
      • HARVEST
      • Electronic Theses and Dissertations
      • Graduate Theses and Dissertations
      • View Item
      • HARVEST
      • Electronic Theses and Dissertations
      • Graduate Theses and Dissertations
      • View Item

      interActors: A Model for Supporting Complex Communication in Concurrent Systems

      Thumbnail
      View/Open
      GENG-DISSERTATION-2017.pdf (1.320Mb)
      Date
      2017-06-07
      Author
      Geng, Hongxing 1974-
      Type
      Thesis
      Degree Level
      Doctoral
      Metadata
      Show full item record
      Abstract
      In concurrent systems, such as multi-core computers, parallel systems, cloud computing systems, and systems involving mobile devices, processes interact with each other. Protocols for interactions among processes are increasingly complex and diverse, which is in part responsible for making programming of concurrent systems difficult. Particularly, in a concurrent program, the code for communication protocols often intermixes with the code for its functional behaviors, compromising modularity and reusability. There is a growing body of work on separating communication concerns of processes from their functional concerns. Although they achieve some degree of separation, they have some disadvantages. For example, the number of communication participants is fixed in some approaches, or in other approaches, communication mechanisms, such as for establishing the initial rendezvous for communication participants is left to the processes. In other words, existing approaches either offer static protocols that cannot handle dynamically evolving number of participants in interactions, or offer complex initialization steps that are left mixed with functional concerns. I propose interActors, a model for supporting complex communications in concurrent systems. I treat a communication as a first-class object which consists of outlets, through which processes can connect to it, and handlers, which are responsible for handling communication logics. Outlets establish a boundary between communications and processes in an application. New outlets can be created if necessary, to handle dynamically changed communication patterns at run-time. We say communications are self-driven because they have outlets and handlers that are active and therefore they can move interactions forward. More complex communications can be constructed by composing simpler communications. Operational semantics and compositional semantics are developed by extending the Actor model of concurrency with support for complex communication. A prototype implementation is developed using Scala and Akka actor library. With the intention of restricting arbitrarily complex code in communications, I developed Communication Specification Language (CSL), which excludes loops from communications and only allows a small set of statements and expressions. interActors are evaluated using case studies and comparison with Reo, a leading coordination model and language. The evaluation shows that interActors offer advantages in terms of programmability, reusability, and modularity.
      Degree
      Doctor of Philosophy (Ph.D.)
      Department
      Computer Science
      Program
      Computer Science
      Supervisor
      Jamali, Nadeem
      Committee
      Keil, Mark; Roy, Chanchal; Bui, Francis
      Copyright Date
      April 2017
      URI
      http://hdl.handle.net/10388/7905
      Subject
      interActors
      Separation of Concerns
      Actors
      Concurrency
      Complex Communication
      Concurrent Programming
      Dynamic Protocols, Coordination Model and Language
      Collections
      • Graduate Theses and Dissertations
      University of Saskatchewan

      University Library

      © University of Saskatchewan
      Contact Us | Disclaimer | Privacy