To adequately deal with the unpredictable and dynamic environments normative frameworks are typically deployed in, mechanisms for modifying the norms at runtime are crucial. We present the syntax and operational semantics of generic programming constructs to facilitate runtime norm modification, allowing a programmer to specify when and how the norms may be changed by external agents or by the normative framework. The norms take on the form of conditional obligations and prohibitions, which instantiate detached obligations and prohibitions (instances). We present rule-based constructs for runtime modification of the norms and their instances, and a mechanism for automatically updating the instances when their underlying norms change. Categories and Subject Descriptors I.2 [Artificial Intelligence]: Programming Languages and Software; D.3 [Programming Languages]: Miscellaneous General Terms Languages, Design, Theory Keywords Dynamic Norms, Programming, Operational Semantics
Nick A. M. Tinnemeier, Mehdi Dastani, John-Jules C