In the early stages of software development, microservices architecture design is often driven by informal and semi-structured functional requirements, typically captured as user stories, and relies heavily on the experience of architects. In contrast, optimization-based decom- position and evaluation frameworks require structured specifications describing application operations, data access patterns, and architectural constraints. This misalignment creates an “input gap” that limits the applicability of such tools in early-stage contexts. This thesis explores the integration of Large Language Models (LLMs) into an optimization-based workflow to automate the transformation of semi-structured functional requirements into formal architectural specifications and to make implicit architectural constraints explicit. The proposed approach consists of a three-stage experimental pipeline. First, an LLM extracts a functional structure from user stories and the domain entity model, identifying read and write accesses to relevant entities and attributes for each operation. Second, an additional generation step infers co-location constraints between operations, representing architectural decisions not captured by optimization criteria alone. Third, the resulting specification is evaluated using Cromlech, a multi-objective optimization framework for microservice decomposition, which synthesizes candidate service partitions and assesses them through quantitative metrics such as Cohesion, Communication Cost, and Total Value. The methodology is evaluated on the Trainticket and Tutored case studies, com- paring different LLMs and analyzing both deterministic (T=0.0) and stochastic (T=1.0) configurations to estimate performance and stability. The results show that inferred constraints significantly influence the structure of the generated architectures and that models differ substantially in terms of consistency and robustness. The main contribution of this work is a reproducible methodology for integrating automated text extraction with optimization-based architectural synthesis, enabling systematic microservice decomposition even in the absence of detailed technical specifications.

Nelle fasi inziali dello sviluppo software, la progettazione dell’architettura dei microservizi è spesso guidata da requisiti funzionali informali e semi-strutturati, solitamente rappresentati come user story, e si basa in larga misura sull’esperienza degli architetti. Al contrario, i framework di scomposizione e valutazione basati sull’ottimizzazione richiedono specifiche strutturate che descrivono operazioni applicative, i modelli di accesso ai dati e i vincoli architettonici. Questo disallineamento crea un “input gap” che ne limita l’applicabilità nelle fasi iniziali. Questa tesi esplora l’integrazione di Large Language Models (LLM) in un flusso di lavoro basato sull’ottimizzazione per automatizzare la trasformazione di requisiti funzionali semi-strutturati in specifiche architettoniche formali e per rendere espliciti i vincoli architettonici impliciti. L’approccio proposto consiste in una pipeline sperimentale in tre fasi. In primo luogo, un LLM estrae una struttura funzionale dalle user story e dal modello di entità di dominio, identificando gli accessi in lettura e scrittura alle entità e agli attributi rilevanti per ciascuna operazione. In secondo luogo, un ulteriore passaggio di generazione deduce vincoli di co-locazione tra le operazioni, rappresentando decisioni architettoniche non catturate solo da criteri di ottimizzazione. In terzo luogo, la specifica risultante viene valutata utilizzando Cromlech, un framework di ottimizzazione multiobiet- tivo per la scomposizione dei microservizi, che sintetizza le partizioni di servizio candidate e le valuta attraverso metriche quantitative come coesione, costo di comunicazione e valore totale. La metodologia viene valutata sui casi di studio Trainticket e Tutored, confrontando diversi LLM e analizzando configurazioni sia deterministiche (T=0.0) che stocastiche (T=1.0) per stimare prestazioni e stabilità. I risultati mostrano che i vincoli dedotti influenzano significativamente la struttura delle architetture generate e che i modelli differiscono sostanzialmente in termini di coerenza e robustezza. Il contributo principale di questo lavoro è una metodologia riproducibile per integrare l’estrazione automatizzata del testo con la sintesi architettonica basata sull’ottimizzazione, consentendo la scomposizione sistematica dei microservizi anche in assenza di specifiche tecniche dettagliate.

Integrating Large Language Models in microservice architecture decomposition

RUSSO, RAFFAELE
2025/2026

Abstract

In the early stages of software development, microservices architecture design is often driven by informal and semi-structured functional requirements, typically captured as user stories, and relies heavily on the experience of architects. In contrast, optimization-based decom- position and evaluation frameworks require structured specifications describing application operations, data access patterns, and architectural constraints. This misalignment creates an “input gap” that limits the applicability of such tools in early-stage contexts. This thesis explores the integration of Large Language Models (LLMs) into an optimization-based workflow to automate the transformation of semi-structured functional requirements into formal architectural specifications and to make implicit architectural constraints explicit. The proposed approach consists of a three-stage experimental pipeline. First, an LLM extracts a functional structure from user stories and the domain entity model, identifying read and write accesses to relevant entities and attributes for each operation. Second, an additional generation step infers co-location constraints between operations, representing architectural decisions not captured by optimization criteria alone. Third, the resulting specification is evaluated using Cromlech, a multi-objective optimization framework for microservice decomposition, which synthesizes candidate service partitions and assesses them through quantitative metrics such as Cohesion, Communication Cost, and Total Value. The methodology is evaluated on the Trainticket and Tutored case studies, com- paring different LLMs and analyzing both deterministic (T=0.0) and stochastic (T=1.0) configurations to estimate performance and stability. The results show that inferred constraints significantly influence the structure of the generated architectures and that models differ substantially in terms of consistency and robustness. The main contribution of this work is a reproducible methodology for integrating automated text extraction with optimization-based architectural synthesis, enabling systematic microservice decomposition even in the absence of detailed technical specifications.
ING - Scuola di Ingegneria Industriale e dell'Informazione
26-mar-2026
2025/2026
Nelle fasi inziali dello sviluppo software, la progettazione dell’architettura dei microservizi è spesso guidata da requisiti funzionali informali e semi-strutturati, solitamente rappresentati come user story, e si basa in larga misura sull’esperienza degli architetti. Al contrario, i framework di scomposizione e valutazione basati sull’ottimizzazione richiedono specifiche strutturate che descrivono operazioni applicative, i modelli di accesso ai dati e i vincoli architettonici. Questo disallineamento crea un “input gap” che ne limita l’applicabilità nelle fasi iniziali. Questa tesi esplora l’integrazione di Large Language Models (LLM) in un flusso di lavoro basato sull’ottimizzazione per automatizzare la trasformazione di requisiti funzionali semi-strutturati in specifiche architettoniche formali e per rendere espliciti i vincoli architettonici impliciti. L’approccio proposto consiste in una pipeline sperimentale in tre fasi. In primo luogo, un LLM estrae una struttura funzionale dalle user story e dal modello di entità di dominio, identificando gli accessi in lettura e scrittura alle entità e agli attributi rilevanti per ciascuna operazione. In secondo luogo, un ulteriore passaggio di generazione deduce vincoli di co-locazione tra le operazioni, rappresentando decisioni architettoniche non catturate solo da criteri di ottimizzazione. In terzo luogo, la specifica risultante viene valutata utilizzando Cromlech, un framework di ottimizzazione multiobiet- tivo per la scomposizione dei microservizi, che sintetizza le partizioni di servizio candidate e le valuta attraverso metriche quantitative come coesione, costo di comunicazione e valore totale. La metodologia viene valutata sui casi di studio Trainticket e Tutored, confrontando diversi LLM e analizzando configurazioni sia deterministiche (T=0.0) che stocastiche (T=1.0) per stimare prestazioni e stabilità. I risultati mostrano che i vincoli dedotti influenzano significativamente la struttura delle architetture generate e che i modelli differiscono sostanzialmente in termini di coerenza e robustezza. Il contributo principale di questo lavoro è una metodologia riproducibile per integrare l’estrazione automatizzata del testo con la sintesi architettonica basata sull’ottimizzazione, consentendo la scomposizione sistematica dei microservizi anche in assenza di specifiche tecniche dettagliate.
File allegati
File Dimensione Formato  
2026_03_Russo_Executive Summary.pdf

accessibile in internet per tutti

Descrizione: testo executive summary
Dimensione 942.18 kB
Formato Adobe PDF
942.18 kB Adobe PDF Visualizza/Apri
2026_03_Russo_Tesi.pdf

accessibile in internet per tutti

Descrizione: testo tesi
Dimensione 14.66 MB
Formato Adobe PDF
14.66 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/252246