Leveraging Context-Oriented Programming to Implement Normative Rules in Autonomous Systems
Published in International Conference on Autonomous Agents and Multi-Agent Systems 2026
R. Casadei, M. De Sanctis, G. Filippone, S. Pettinari, G. Scoccia, N. Troquard. Leveraging Context-Oriented Programming to Implement Normative Rules in Autonomous Systems. International Conference on Autonomous Agents and Multi-Agent Systems. 3507–3509, 2026
Abstract
The increasing sensitivity to human aspects in autonomous systems engineering calls for principled approaches to embed normative concerns into their behaviour. Recent research has focused on expressing and validating sets of social, legal, ethical, empathetic, and cultural (SLEEC) concerns as rules, and on verifying that a system design adheres to them. However, to date, there is limited work related to the actual implementation and actuation of SLEECaware behaviours. Yet, we believe that operationalising SLEEC rules can enable responsible behaviour of autonomous systems and advance research on the topic. For this purpose, we propose an operational solution for ethical-aware autonomous systems. Specifically, we devise a principled approach, which we call CO-SLEEC (Context-Oriented SLEEC), connecting the normative setting of SLEEC rules to context-oriented programming (COP). CO-SLEEC promotes runtime adaptation and exhibition of context-dependent ethical behaviour through a modular and transparent design.
Download paper here
Cite as:
@inproceedings{10.65109/BLFA6735,
author = {Casadei, Roberto and De Sanctis, Martina and Filippone, Gianluca and Pettinari, Sara and Scoccia, Gian Luca and Troquard, Nicolas},
title = {Leveraging Context-Oriented Programming to Implement Normative Rules in Autonomous Systems},
year = {2026},
publisher = {International Foundation for Autonomous Agents and Multiagent Systems},
url = {https://doi.org/10.65109/BLFA6735},
booktitle = {Proceedings of the 25th International Conference on Autonomous Agents and Multiagent Systems},
pages = {3507–3509},
series = {AAMAS '26}
}
