• We present Lub, an object-oriented pattern for fine grained unanticipated adaptation. • We discuss the difficulties of unanticipated adaptation. • We evaluate Lub on a simulation with a fleet of drones which is dynamically adapted. • The Lub pattern is discussed in regard to the literature. Autonomous systems have to evolve in complex environments and their software must adapt to various situations. Although it is common to anticipate adaptations at design time, it becomes a more complex issue when facing unpredictable contexts at runtime, especially if applications cannot be stopped. We introduce Lub, a pattern designed to extend object oriented languages with fine grained unanticipated adaptations. Lub is based on dynamic instrumentation of the lookup, and allows objects to acquire behaviors from another class than their own. A Pharo Smalltalk implementation of Lub is evaluated through a performance analysis and a running example of a fleet of drones facing unexpected GPS problems. Lub is then discussed from the unanticipated software adaptation perspective.
Read full abstract