Home // ADAPTIVE 2017, The Ninth International Conference on Adaptive and Self-Adaptive Systems and Applications // View article


Pure Embedding of Evolving Objects

Authors:
Max Leuthäuser

Keywords: Scala; evolving objects; object-oriented programming; dispatch

Abstract:
Scripting languages are extraordinarily popular due to their very flexible object model. Dynamic extensions (i.e., adding, removing and manipulating behavior and state) allow for the evolution and adaption of objects to context changes at runtime. Introducing this flexibility into a statically typed, object-oriented language would improve programmability and separation of concerns beyond the level of what one could usually gain with inheritance, mixins, traits or manually adapted design-patterns. They often lead to object-schizophrenia or the need for hand-crafted, additional management code. Although there were already attempts bringing flexible objects into statically typed languages with the benefits of an explicitly crafted core calculus or type system, they need their own compiler and tooling which limits the usability, e.g., when dealing with existing legacy code. This work presents an embedding of dynamically evolving objects via a lightweight library approach, which is pure in the sense, that there is no need for a specific compiler or tooling. It is written in Scala, which is both a modern object-oriented and functional programming language. Our approach is promising to solve practical problems arising in the area of dynamical extensibility and adaption like role-based programming.

Pages: 22 to 30

Copyright: Copyright (c) IARIA, 2017

Publication date: February 19, 2017

Published in: conference

ISSN: 2308-4146

ISBN: 978-1-61208-532-6

Location: Athens, Greece

Dates: from February 19, 2017 to February 23, 2017