SlideShare a Scribd company logo
Lub
A language for Dynamic Context
Oriented Programming
Steven Costiou
Mickaël Kerboeuf, Glenn Cavarlé, Alain Plantec
UMR CNRS 6285, Lab-STICC/MOCS
Université de Bretagne Occidentale
Drone 1 + GPS
Drone 2 + GPS
Target
Drone 2 NO GPS
GPS loss
Drone 1 + GPS
Unanticipated
Unanticipated
=
Not foreseen at design time
Unanticipated
=
Not foreseen at design time
=
The behavior we need was
not expected
▪ Schéma 4 : Adaptation proposition
GPS sharing
Drone 1 + GPS
Drone 2 NO GPS
Unanticipated behavior
adaptation at runtime
Minimal anticipation
Minimal anticipation
=
Anticipate the need to face
unanticipated adaptation
Minimal anticipation
=
Anticipate the need to face
unanticipated adaptation
=
Build Support
(frameworks)
Dynamic context oriented
programming (COP)
What we adapt:
Objects
● Instance based adaptation
● Adapted object preserve
their identity
How do we adapt ?
● Free adaptation strategy
● Easy and controlled
behavior selection
LUB
An extension of Pharo
Behavior adaptation through
dynamic lookup control
#pinPoint
Lookup base
#pinPoint
Lookup starts in the
object’s lookup base
Lookup
#pinPoint
Lub: a DSL for Dynamic Context Oriented Programming
New lookup base
lub := LookupBase
named: ‘PeerTrackerLookupBase’
targetClass: PeerPositionTracker
Lub: a DSL for Dynamic Context Oriented Programming
bind
positionTracker lookupBase: lub.
positionTracker pinPoint
lub := LookupBase
named: ‘PeerTrackerLookupBase’
targetClass: PeerPositionTracker
#pinPoint
#pinPoint
does-not-understand
#pinPoint
does-not-understand
#pinPoint
Selection of the behavior to
adapt ?
lub := LookupBase
named: ‘PeerTrackerLookupBase’
targetClass: PeerPositionTracker
with: #(#pinPoint).
positionTracker lookupBase: lub.
positionTracker pinPoint.
positionTracker position.
Lub: a DSL for Dynamic Context Oriented Programming
#pinPoint
#position
● Instance based
adaptation
● Adapted object
preserve their identity
Binding an object to a meta
object that controls the lookup
● Free adaptation
strategy
● Easy and controlled
behavior selection
Issues ?
States consistency with an
adaptation ?
pinpoint
^peerTracker pinPoint
Validation and consistency of
the adapted behavior ?
Experiments on a physical
device ?
Lub
A language for Dynamic Context
Oriented Programming
Steven Costiou
Mickaël Kerboeuf, Glenn Cavarlé, Alain Plantec
UMR CNRS 6285, Lab-STICC/MOCS
Université de Bretagne Occidentale

More Related Content

PPTX
The magic of machine translation 20 july 2017
PDF
Summarization and Abstraction using deep learning
PDF
PDF
The Magic of Text Summarization using Deep Networks
PDF
EENA 2018 - 10 Powerful tools to Supercharge Your Drone Operations
PDF
OpenPonk (formerly DynaCASE). The open modeling platform
PDF
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
PDF
Optimizing Parser Combinators
The magic of machine translation 20 july 2017
Summarization and Abstraction using deep learning
The Magic of Text Summarization using Deep Networks
EENA 2018 - 10 Powerful tools to Supercharge Your Drone Operations
OpenPonk (formerly DynaCASE). The open modeling platform
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
Optimizing Parser Combinators

Viewers also liked (13)

PDF
Explicit Composition Constructs in DSLs - The case of the epidemiological lan...
PDF
GemStone/64 product update and road map
PDF
Replicated Service Objects -- A Strategy for Distributed Applications
PDF
Perfection & Feedback Loops or: why worse is better
PDF
Test Selection with Moose In Industry - Impact of Granularity
PDF
Bloc: a Modern Core for Highly Dynamic Graphics
PDF
Prototyping Software Product Lines analysis with Pharo
PDF
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
PDF
Tugrik: A new persistence option for Pharo
PDF
Pillar: one language for all supports
PDF
The Glamorous Toolkit: Towards a novel live IDE
PDF
seamless – Object Oriented CMS System
PDF
Woden 2: Developing a modern 3D graphics engine in Smalltalk
Explicit Composition Constructs in DSLs - The case of the epidemiological lan...
GemStone/64 product update and road map
Replicated Service Objects -- A Strategy for Distributed Applications
Perfection & Feedback Loops or: why worse is better
Test Selection with Moose In Industry - Impact of Granularity
Bloc: a Modern Core for Highly Dynamic Graphics
Prototyping Software Product Lines analysis with Pharo
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
Tugrik: A new persistence option for Pharo
Pillar: one language for all supports
The Glamorous Toolkit: Towards a novel live IDE
seamless – Object Oriented CMS System
Woden 2: Developing a modern 3D graphics engine in Smalltalk
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
PDF
Directing Generative AI for Pharo Documentation
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
PDF
Analysing Python Machine Learning Notebooks with Moose
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
PDF
An Analysis of Inline Method Refactoring
PDF
Identification of unnecessary object allocations using static escape analysis
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
PDF
Encoding for Objects Matters (IWST 2025)
PDF
Challenges of Transpiling Smalltalk to JavaScript
PDF
Immersive experiences: what Pharo users do!
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
PDF
Cavrois - an Organic Window Management (ESUG 2025)
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
Micromaid: A simple Mermaid-like chart generator for Pharo
Directing Generative AI for Pharo Documentation
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
Analysing Python Machine Learning Notebooks with Moose
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
Package-Aware Approach for Repository-Level Code Completion in Pharo
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
An Analysis of Inline Method Refactoring
Identification of unnecessary object allocations using static escape analysis
Control flow-sensitive optimizations In the Druid Meta-Compiler
Clean Blocks (IWST 2025, Gdansk, Poland)
Encoding for Objects Matters (IWST 2025)
Challenges of Transpiling Smalltalk to JavaScript
Immersive experiences: what Pharo users do!
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
Cavrois - an Organic Window Management (ESUG 2025)
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
ai tools demonstartion for schools and inter college
PPTX
Introduction to Artificial Intelligence
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Digital Strategies for Manufacturing Companies
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
System and Network Administration Chapter 2
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
assetexplorer- product-overview - presentation
PDF
top salesforce developer skills in 2025.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Softaken Excel to vCard Converter Software.pdf
Reimagine Home Health with the Power of Agentic AI​
ai tools demonstartion for schools and inter college
Introduction to Artificial Intelligence
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
System and Network Administration Chapter 2
How to Migrate SBCGlobal Email to Yahoo Easily
Computer Software and OS of computer science of grade 11.pptx
Design an Analysis of Algorithms II-SECS-1021-03
wealthsignaloriginal-com-DS-text-... (1).pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Which alternative to Crystal Reports is best for small or large businesses.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
assetexplorer- product-overview - presentation
top salesforce developer skills in 2025.pdf
PTS Company Brochure 2025 (1).pdf.......
Softaken Excel to vCard Converter Software.pdf

Lub: a DSL for Dynamic Context Oriented Programming