RaC Background

Rules as Code Background

(Rules as Code + OpenFisca) training series, session one.

Created by Hamish Fraser

Rules as Code

“To understand how to design rules-as-code projects it's important to understand what they are.”

Different Perspectives

  1. Constitutional considerations
  2. Policy development
  3. Public service

Perspective 1

Constitutional considerations

1. Constitutional considerations

Separation of Powers 1/3

  • The Legislature
      -writes the law
  • The Executive
      -initiates & implements
  • The Judiciary
      -interprets & enforces



⇒ Separation of Powers
(Checks and balances to avoid concentration of power)

Enabled by attributes of natural language

1. Constitutional considerations

Separation of Powers 2/3

Natural Language

Socially agreed shared language. Words find meaning from context. ​

Written symbols gain meaning through their association to natural language. ​

A rule is applied to scenarios through interpretation

Computer Code

Specific instructions defining one singular interpretation by machine.​

Shares symbols with natural language; only one "meaning" to a machine.​

Requires scenarios to fit the singular interpretation.​​

1. Constitutional considerations

Separation of Powers 3/3

“When law is expressed in code, the question of how the law should be interpreted is subsumed into the code itself.”​

https://hamish.dev/research/lac/part-three#para263

1. Constitutional considerations

Rule of Law 1/3

Principles​

Everyone is subject to the law​

The law should be clear, & clearly enforceable​​

There should be an independent, impartial judiciary​​​

1. Constitutional considerations

Rule of Law 2/3

“Legislative complexity is a growing challenge across the Commonwealth statute book” 1​​
“It undermines the rule of law” ​2.​​
“The Rule of Law requires that the law is simple, clear and accessible. Yet English law has in become increasingly more complex, unclear and inaccessible” 3.​​

(1) Measuring Legislative Complexity​
(2) When laws become too complex
(3) ENGLISH LAW AND DESCENT INTO COMPLEXITY

1. Constitutional considerations

Rule of Law 3/3

Complexity is not the issue; humans are complex​​

The law being “clear” is the principle

Computers can make complexity clear​

1. Constitutional considerations

Summary

RaC as interpretation of law works when:

  • it upholds the role of natural language (Separation of powers)​
  • it makes the law more clear​ (Rule of Law principles)

“Highly reliable interpretations” are already valuable​

Perspective 2

Policy Development

2. Policy Development

Introduction

Structured analysis​

Digital models​​

Preserving institutional knowledge​

2. Policy Development

Structured analysis 1/4

The first step to explaining policy to a computer​

Natural language rule, example Residential areas

Natural language city planning rules

Natural language rule, example Residential areas

Analysis of planning zones​​​

2. Policy Development

Structured analysis 2/4

Finding the structural “things”​

Object orientated type “objects”​​

“This thing is also that thing”​

Mapping hierarchy/relationships​

2. Policy Development

Structured analysis 3/4

Multi-Disciplinary Team (Better Rules)​

Programmers are bringing Structural Analysis​

“Not everyone’s brains are wired that way”​​

Humility critical for team dynamics​​

2. Policy Development

Structured analysis 4/4

Clarity is hard when mental models not shared​

Programmer role needed to: provide consumable models & reduce reliance on words/labels​​​

Goal: avoid “talking past” by utilising concrete examples​​​

Perspective 3

Public Service

3. Public Service

Rules as Code already exists

Computer systems and operations​

Big P policy + Small P policy + Operations all blended

Analysis of systems is difficult​

3. Public Service

Intentional Rules as Code

Layered approach that clearly identifies and separates code based on authoritative source.​

Highly referenced code back to natural language rules for scrutiny and maintenance.

Open-source like approach that allows for open challenging of interpretation work​

3. Public Service

Better Rules

Policy development that utilises RaC.​

Test case utilisation for analysing impact.

RaC plus data for large/small scale explorations​

Better Rules for Government

3. Public Service

Summary

Full structural reform can “close the loop”​

Data from RaC usage/application informing policy development.

Allow for more data drive decision making​


Hotkeys

  • f: full screen

  • s: speaker notes

  • b: pause

  • / / space: navigate through slides

  • cltr / alt + click to zoom