<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-29T05:35:14Z</responseDate><request verb="GetRecord" identifier="oai:odr.chalmers.se:20.500.12380/311659" metadataPrefix="dim">https://odr.chalmers.se/server/oai/request</request><GetRecord><record><header><identifier>oai:odr.chalmers.se:20.500.12380/311659</identifier><datestamp>2026-07-01T00:40:14Z</datestamp><setSpec>Technology</setSpec><setSpec>com_20.500.12380_11</setSpec><setSpec>com_20.500.12380_1</setSpec><setSpec>col_20.500.12380_30</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="author">Usman, Muhammad</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department" lang="sv">Chalmers tekniska högskola / Institutionen för data och informationsteknik</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department" lang="en">Chalmers University of Technology / Department of Computer Science and Engineering</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2026-06-30T09:29:18Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2026</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="submitted"/>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/20.500.12380/311659</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract">Modern CI/CD pipelines rely on structured event data to provide traceability, automation, and observability 
across the software development lifecycle. The Eiffel protocol addresses this need by formally specifying 
build, test, and deployment events through JSON Schemas, making it well-suited for schema-driven tooling. 
Despite this, practical integration of Eiffel events into CI/CD pipelines remains largely improvised, and no 
widely adopted approach exists for Windows-based environments. This thesis investigates how a schema
driven and AI-assisted approach can be used to automatically generate a Windows PowerShell module that 
creates, validates, and sends Eiffel events while remaining testable and maintainable. 
A Python-based generator was developed that parses the official Eiffel event JSON Schemas and produces 
PowerShell modules exposing cmdlets for event creation, schema validation, and publication to RabbitMQ. 
An AI model, GPT-4.1, is integrated as a controlled build-time repair mechanism and is permitted to modify 
generator logic when system tests fail, but never allowed to change the human-written tests themselves. 
The entire workflow of generation, testing, building, and releases is automated through GitHub Actions and 
published via GitHub Releases. The resulting product scales from a single event and version to the full Eiffel 
event registry by treating new events as new registry entries rather than as new code, with self-correcting 
validation gates that catch regressions automatically.</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso">eng</dim:field>
   <dim:field mdschema="dc" element="setspec" qualifier="uppsok">Technology</dim:field>
   <dim:field mdschema="dc" element="title">Schema driven AI-Assisted Generation of PowerShell Modules for Eiffel Events in CI/CD Pipelines - Developing and testing AI-Assisted PowerShell modules from JSON schemas for creating, validating and sending Eiffel Events</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="degree" lang="sv">Examensarbete på kandidatnivå</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="degree" lang="en">Bachelor Thesis</dim:field>
   <dim:field mdschema="dc" element="type" qualifier="uppsok">M2</dim:field>
   <dim:field mdschema="others" element="access-status">open.access</dim:field>
</dim:dim></metadata></record></GetRecord></OAI-PMH>