Code reusability is the cornerstone of object-oriented programming. Reuse mechanisms such as inheritance and trait composition lay at the basis of a whole range of software engineering practices with the goal to improve software quality and reliability. In this paper we investigate code reuse mechanisms for actors, and find that it is currently difficult to specify the behaviour of an actor out of reusable parts. We discuss different kinds of code reuse mechanisms in different kinds of actor model, and we motivate why these mechanisms are currently unsatisfactory. As a possible solution we define a new reuse mechanism based on delegation-based trait composition. In a nutshell, the mechanism allows programmers to compose the behaviour of actors, and every time a compound behaviour is spawned into an actor, it will cause multiple actors to be spawned (one for each independent behaviour). Some messages will be automatically delegated to the actor that implements the desired functionality. We provide an implementation of this model in a prototype Active Object language called Stella, and we formalise a subset of Stella using a small-step operational semantics to unambiguously define the different steps involved in our reuse mechanism.
Original languageEnglish
Title of host publicationLecture Notes in Computer Science
PublisherSpringer Verlag
ISBN (Print)978-3-030-22495-0
Publication statusAccepted/In press - 12 Apr 2019
EventIFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2019) - Technical University of Denmark, Kongens Lyngby, Denmark
Duration: 17 Jun 201921 Jun 2019
Conference number: 19


ConferenceIFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2019)
Abbreviated titleDAIS
CityKongens Lyngby
Internet address

    Research areas

  • actors, delegation, active objects, code reusability

ID: 45370423