Overview
L3 Specification Language is identified in the evidence as a specification language used for formal instruction-set architecture modeling. In previous CHERI work, researchers used a formal model of the CHERI-MIPS ISA that was written in L3. The workflow compiled the L3 model to HOL4 and then used constraint solving to generate instruction sequences automatically. [formal-isa-model-in-l3; l3-to-hol4-workflow]
Role in CHERI instruction generation
The cited TestRIG paper describes an earlier CHERI testing approach in which tests were generated from a formal CHERI-MIPS ISA model written in L3. After compilation from L3 to HOL4, constraint solving was used to produce instruction sequences that reach a desired state while avoiding undefined behavior. [test-generation-from-l3-model]
Relationship to later model-based workflows
The same source notes that a similar approach was later applied to the CHERI ARM Morello instruction set starting from a Sail model, rather than an L3 model. This places L3 within a broader family of formal-model-driven testing and instruction-generation workflows, while the explicit L3 usage in the evidence is the CHERI-MIPS ISA model. [related-sail-morello-approach]
Technical significance
Within the evidenced workflow, L3 served as the source language for a formal ISA model that could be translated into a theorem-prover setting and connected to automated constraint-based instruction generation. The key technical path described is:
- Write a formal CHERI-MIPS ISA model in L3.
- Compile the L3 model to HOL4.
- Use constraint solving to automatically generate instruction sequences.
- Target desired architectural states while avoiding undefined behavior. [l3-to-hol4-workflow; constraint-solving-generation]