Table of Contents
Fetching ...

Reflections on the design, applications and implementations of the normative specification language eFLINT

L. Thomas van Binsbergen, Christopher A. Esterhuyse, Tim Müller

TL;DR

This work analyzes the design and applications of the normative specification language eFLINT, a DSL that unifies declarative and procedural aspects to express and automate compliance with laws, policies, and contracts. It surveys related work, positions eFLINT as an action-centered, extensible framework capable of ex-ante and ex-post enforcement, formal interpretation, governance automation, and runtime reasoning in distributed settings, with formal semantics implemented via a Clingo translation and a legacy Haskell interpreter. The paper documents design decisions, exploration strategies, and empirical performance insights, highlighting trade-offs between expressiveness, explainability, and computability. By enabling formal interpretation, executable normative concepts, and scenario-based model checking, eFLINT supports transparent governance and auditability in complex socio-technical systems, while outlining future work on semantics, multi-agent orchestration, and incremental reasoning. The findings underscore the potential of combining normative reasoning with ASP-based tooling to tackle dynamic, cross-domain compliance challenges in practice.

Abstract

Checking the compliance of software against laws, regulations and contracts is increasingly important and costly as the embedding of software into societal practices is getting more pervasive. Moreover, the digitalised services provided by governmental organisations and companies are governed by an increasing amount of laws and regulations, requiring highly adaptable compliance practices. A potential solution is to automate compliance using software. However, automating compliance is difficult for various reasons. Legal practices involve subjective processes such as interpretation and qualification. New laws and regulations come into effect regularly and laws and regulations, as well as their interpretations, are subjected to constant revision. In addition, computational reasoning with laws requires a cross-disciplinary process involving both legal and software expertise. This paper reflects on the domain-specific software language eFLINT developed to experiment with novel solutions. The language combines declarative and procedural elements to reason about situations and scenarios respectively, explicates and formalises connections between legal concepts and computational concepts, and is designed to automate compliance checks both before, during and after a software system runs. The various goals and applications areas for the language give rise to (conflicting) requirements. This paper reflects on the current design of the language by recalling various applications, the requirements they imposed, and subsequent design decisions. As such, this paper reports on results and insights of an investigation that can benefit language developers within the field of automated compliance.

Reflections on the design, applications and implementations of the normative specification language eFLINT

TL;DR

This work analyzes the design and applications of the normative specification language eFLINT, a DSL that unifies declarative and procedural aspects to express and automate compliance with laws, policies, and contracts. It surveys related work, positions eFLINT as an action-centered, extensible framework capable of ex-ante and ex-post enforcement, formal interpretation, governance automation, and runtime reasoning in distributed settings, with formal semantics implemented via a Clingo translation and a legacy Haskell interpreter. The paper documents design decisions, exploration strategies, and empirical performance insights, highlighting trade-offs between expressiveness, explainability, and computability. By enabling formal interpretation, executable normative concepts, and scenario-based model checking, eFLINT supports transparent governance and auditability in complex socio-technical systems, while outlining future work on semantics, multi-agent orchestration, and incremental reasoning. The findings underscore the potential of combining normative reasoning with ASP-based tooling to tackle dynamic, cross-domain compliance challenges in practice.

Abstract

Checking the compliance of software against laws, regulations and contracts is increasingly important and costly as the embedding of software into societal practices is getting more pervasive. Moreover, the digitalised services provided by governmental organisations and companies are governed by an increasing amount of laws and regulations, requiring highly adaptable compliance practices. A potential solution is to automate compliance using software. However, automating compliance is difficult for various reasons. Legal practices involve subjective processes such as interpretation and qualification. New laws and regulations come into effect regularly and laws and regulations, as well as their interpretations, are subjected to constant revision. In addition, computational reasoning with laws requires a cross-disciplinary process involving both legal and software expertise. This paper reflects on the domain-specific software language eFLINT developed to experiment with novel solutions. The language combines declarative and procedural elements to reason about situations and scenarios respectively, explicates and formalises connections between legal concepts and computational concepts, and is designed to automate compliance checks both before, during and after a software system runs. The various goals and applications areas for the language give rise to (conflicting) requirements. This paper reflects on the current design of the language by recalling various applications, the requirements they imposed, and subsequent design decisions. As such, this paper reports on results and insights of an investigation that can benefit language developers within the field of automated compliance.

Paper Structure

This paper contains 36 sections, 6 figures, 1 table.

Figures (6)

  • Figure 1: Schematic overview of the processes of interpretation, qualification and assessment as taken from eflint and based on Searle searle1996.
  • Figure 2: A FLINT and eFLINT specification of the same act. Simplified example taken from doesburg2019.
  • Figure 3: An example translating eFLINT (top) to Clingo (bottom).
  • Figure 4: Speed in unfolding long derivation chains.
  • Figure 5: Speed in reasoning with substantial integer arithmetic.
  • ...and 1 more figures