PhD Research Proposal for the University of Cambridge

The Parallax Protocol

A Self-Healing, N-Version Programming Methodology

Utilising Generative AI and Object Constraint Language (OCL) for Consensus-Based Software Reliability

The Core Innovation

Reliability is not found in the code, but in the consensus between differing implementations of the same logic.

OCL Specification

Define behaviour using Object Constraint Language with pre-conditions, post-conditions and invariants as the mathematical ground truth.

Polyglot Generation

LLMs generate semantically identical implementations in C, Java and Python from the same specification, ensuring syntactic independence.

Consensus Voting

Execute all versions in parallel, cross-reference outputs and use majority voting to determine the correct result whilst identifying anomalies.

Why “Parallax”?

The optical metaphor provides the strongest conceptual fit for this methodology.

In astronomy, Parallax is the displacement in the apparent position of an object when viewed along two different lines of sight. This difference is used to calculate the true distance and position.

This methodology views the “Truth” (the Specification) through different “Angles” (Programming Languages). By overlapping these views, we eliminate the distortion (Bugs) inherent in any single angle to find the true coordinate.

Rosetta

Linguistic metaphor

Chorus

Musical metaphor

Quorum

Political metaphor

DIVA

Acronym

Why This Matters Now

The original N-Version Programming from the 1970s aerospace industry failed to gain mass adoption because writing the same software three times was cost-prohibitive for anyone except NASA or Boeing.

Large Language Models solve the cost problem. We can now generate 3, 5 or 10 versions for the “price” of one prompt.

The world is flooding with AI-generated code, which is often buggy or insecure (hallucinations). This methodology provides a Control Theory for AI—not just using AI, but building systems that verify and correct AI output.

golden_spec.yaml
Function: calculate_loan_interest
Inputs:
  - principal: float
  - rate: float
  - time: int
Constraints (OCL):
  - pre: principal > 0
  - pre: rate >= 0 and rate <= 100
  - pre: time > 0
  - post: result = principal * (rate/100) * time
  - invariant: result >= 0
Implementations_Required: [C, Java, Python]

Research Pillars

This methodology combines four foundational areas into a unified framework.

1

Formal Verification (OCL)

Object Constraint Language provides mathematical guardrails—pre-conditions, post-conditions and invariants—that force LLMs to adhere to a contract.

2

Generative AI (LLMs)

Large Language Models enable cost-effective generation of multiple independent implementations from a single specification.

3

N-Version Programming

Classic fault-tolerance technique from aerospace, now made economically viable through AI-driven code generation.

4

Observability (ELK/Grafana)

Real-time monitoring of consensus rates, hallucination indices and self-healing velocity through comprehensive telemetry.

Explore the Research

This documentation serves as Prior Art for Defensive Publication, a PhD proposal framework and a white paper overview.