Software to Generate Linux Executables for Sending Eiffel Events Based on JSON Schemas at Nexer - Schema-driven code generation using large language models
Hämtar...
Ladda ner
Publicerad
Författare
Typ
Examensarbete på kandidatnivå
Bachelor Thesis
Bachelor Thesis
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
The Eiffel Protocol is a set of JSON-based event types used for traceability in
continuous integration and continuous delivery (CI/CD) pipelines. Each event type
is formally defined by a JSON Schema, and multiple versions of each event exist.
Creating sender programs that produce valid Eiffel events has traditionally been a
manual and error-prone process, particularly given the large number of event–version
combinations involved.
This thesis presents the design and implementation of a software system that auto
mates the generation of Linux-executable command-line tools for creating, validating, and sending Eiffel events via RabbitMQ. The system uses a schema-driven approach where the official Eiffel JSON Schemas serve as the primary structural source
of truth for code generation. Additional helper logic is used to handle compatibility differences, prompt construction, example generation, and runtime integration
details that are not fully captured by the schemas alone. A Python-based orchestration pipeline constructs prompts from the schemas and uses the OpenAI GPT-4o
language model to generate Rust source code for each event–version pair. The generated code is then compiled, executed, and validated against the corresponding
schema in an iterative feedback loop.
The resulting system successfully generates and validates 223 sender programs covering all officially published Eiffel event types and schema versions. Each generated
sender is packaged as an independent Rust binary crate with deterministic integration tests. A wrapper CLI tool provides both an interactive guided mode and a
passthrough mode for automation. The complete system includes CI/CD pipelines
for automated testing, schema synchronization, and release packaging via GitHub
Actions.
The findings suggest that AI-assisted code generation combined with rigorous schema
based validation is a viable approach for producing correct, schema-conformant tools
at scale, although the quality of the generated output is highly sensitive to prompt
design.
Beskrivning
Ämne/nyckelord
Eiffel Protocol, JSON Schema, code generation, large language models, Rust, CLI, continuous integration, RabbitMQ
