Research Article

MAS4SysML: Un framework multi-agente per la generazione di modelli SysML v2 dal linguaggio naturale

DOI:

10.3791/70395

May 19th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Questo protocollo presenta MAS4SysML, un approccio multi-agente che genera automaticamente codice SysML v2 tramite divisione coordinata delle attività, richiedendo poche iterazioni di riparazione e riducendo significativamente i tempi di modellazione manuale migliorando al contempo l'efficienza della modellazione del sistema.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La generazione automatica di modelli SysML accurati a partire dai requisiti del linguaggio naturale può accelerare sostanzialmente l'adozione dell'Ingegneria dei Sistemi Basata su Modelli (MBSE) nello sviluppo di sistemi complessi. Tuttavia, l'uso di grandi modelli linguistici (LLM) per generare codice di modello spesso non rispetta i rigidi vincoli sintattici dei linguaggi di modellazione formale, e garantire costantemente l'allineamento semantico tra modelli generati e requisiti rimane una sfida. Per affrontare queste sfide, questo articolo presenta MAS4SysML, un framework collaborativo multi-agente per la generazione di codice SysML v2 che migliora la correttezza sintattica e la coerenza semantica con un budget di riparazione limitato. Il framework scompone un compito di modellazione in sottocompiti gerarchici, li formalizza come schede di lavoro strutturate e genera codice modello in modo bottom-up. Durante la generazione, viene utilizzato un ambiente ufficiale di validazione per la diagnostica della sintassi; Dopo il completamento, il framework verifica la coerenza semantica tra il codice e le schede di lavoro. Se la validazione sintattica o semantica fallisce, il framework ripara e rivalida iterativamente il codice all'interno di un budget di riparazione predefinito, guidato da feedback diagnostico, fino a quando i criteri di validazione non sono soddisfatti o il budget è esaurito. Per valutare il metodo proposto, costruiamo un dataset SysML v2 che copre cinque tipi di task principali—requisiti, casi d'uso, struttura, parametrici e state machine—e conduciamo esperimenti comparativi. I risultati mostrano che MAS4SysML riduce il tasso medio di errore sintattico a 2,63, aumenta la somiglianza semantica a 0,91 e supera complessivamente i metodi di generazione del codice esistenti.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

L'MBSE è diventato una metodologia chiave per l'analisi dei requisiti, la progettazione dell'architettura di sistema e la pianificazione della verifica nello sviluppo di apparecchiature complesse in ambiti come l'aviazione el'aerospaziale 1. Utilizzando linguaggi di modellazione unificati come SysML come backbone della modellazione, le informazioni — inclusi requisiti, struttura, comportamento e vincoli — possono essere organizzate in un framework modello coerente, migliorando la struttura dei processi e l'efficienza della collaborazioneinterdisciplinare 2. Tuttavia, con la crescita della scala di sistema, il numero di modelli da sviluppare aumenta di conseguenza, portando a un aumento costante del carico di lavoro della modellazione manuale SysML. Inoltre, i modellatori devono lavorare sotto rigidi vincoli sintattici e metodologici, che richiedono una notevole competenza e forti capacità di astrazione. Questi fattori sono diventati un importante collo di bottiglia nell'adozione ingegneristica di MBSE3.

Negli ultimi anni, gli LLM hanno dimostrato solide capacità nella comprensione del linguaggio naturale, nella rappresentazione strutturata delle informazioni e nella generazione di codice, offrendo nuove opportunità per automatizzare la modellazione MBSE dal linguaggio naturale al codicemodello 4. Studi precedenti hanno esplorato la generazione diretta di codice modello SysML utilizzandoLLM 5. Tuttavia, restano sfide significative. Sintatsicamente, il sistema di tipi, i meccanismi di scoping e la semantica di riferimento di SysML sono regolati da rigidi vincoli formali e sono spesso più complessi rispetto a quelli dei linguaggi di programmazionegenerici 6. Semanticamente, gli LLM possono non catturare completamente la logica comportamentale, le relazioni strutturali e i vincoli trasversali a strato livello, causando mancanza di relazioni, incoerenze logiche o modelliincompleti 7. Queste limitazioni ostacolano l'affidabilità, la controllabilità e l'interpretabilità degli approcci a generazione diretta.

Per affrontare queste sfide, questo articolo presenta MAS4SysML, un framework di generazione di codice SysML v2 composto da quattro ruoli agenti. Piuttosto che puntare direttamente alla generazione one-shot di un modello completo di sistema cross-view, questo studio si concentra sulla generazione e riparazione iterativa di più compiti rappresentativi di modellazione SysML v2. Guidata dalla decomposizione dei compiti e dalle schede task strutturate, integrando la generazione di codice, la diagnostica della sintassi a livello di strumento e la verifica della consistenza semantica, MAS4SysML stabilisce un flusso di lavoro a ciclo chiuso di generazione, validazione e riparazione. Questo design migliora la correttezza sintattica, la consistenza semantica e la completezza strutturale del codice generato con un budget di riparazione limitato.

I principali contributi sono riassunti come segue: (1) framework MAS4SysML. Proponiamo MAS4SysML, un framework multi-agente guidato da LLM che consente la generazione end-to-end, dai requisiti in linguaggio naturale fino al codice modello SysML v2 eseguibile, fornendo un percorso pratico per ridurre i costi di modellazione e migliorare l'efficienza della modellazione. (2) Parsing dei compiti e validazione duale. Introduciamo un meccanismo di analisi dell'albero della struttura del compito e uno schema di validazione duale (sintassi e semantica). Nel task parsing, gli obiettivi di modellazione vengono gerarchicamente scomposti e formalizzati in schede di lavoro strutturate. Per la validazione, la diagnostica sintattica sfrutta un ambiente ufficialedi validazione 8 per controllare il codice generato e restituire diagnostiche orientate alla riparazione, mentre la validazione semantica utilizza i campi chiave nelle schede di lavoro come riferimento per valutare la coerenza complessiva tra il modello generato e gli obiettivi di modellazione. (3) Valutazione sperimentale. Conduciamo esperimenti comparativi utilizzando il tasso di errore sintattico e il punteggio di consistenza semantica come metriche principali. I risultati mostrano che MAS4SysML riduce il tasso medio di errore sintattico a 2,63 e aumenta la somiglianza semantica a 0,91, superando i metodi di base in accuratezza e automazione della generazione.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Il processo di generazione del codice del framework MAS4SysML è riassunto nel File Supplementare 1. Va notato che questo studio non mira a ottenere la generazione one-shot di un modello di sistema completo a partire da un linguaggio naturale con una rigorosa coerenza incrociativa, inclusi requisiti, struttura, parametri e comportamento. Invece, il protocollo si concentra sulla generazione di diversi tipi rappresentativi di codice view SysML v2.

Fase I: Analisi del compito
Il flusso di lavoro inizia con l'analisi delle attività. Il sistema fornisce l'intento di modellazione in linguaggio naturale all'Agente di Generazione della Struttura del Compito, che produce un set di schede di lavoro. Per garantire che le generazioni successive siano eseguibili e riproducibili, ogni scheda di compito deve includere, al minimo, (i) un identificatore del compito, (ii) relazioni di dipendenza e (iii) informazioni di modellazione chiave per la validazione, come l'obiettivo di modellazione, i vincoli/condizioni al contorno, gli slot dei parametri, i valori di istanziazione e gli output attesi. Questa fase produce task_card_set, che funge da base unificata per la successiva generazione del codice dei modelli.

Fase II: Generazione iterativa del codice
Nella generazione iterativa, il sistema inizializza il contesto del codice prev_code a uno stato vuoto e genera codice per ogni scheda di compito in modo sequenziale secondo un ordine determinato dai campi di dipendenza. Per ogni scheda di attività, l'Agente di Generazione del Codice prende la scheda di compito corrente e il codice contestuale come input per produrre candidate_code e poi invoca immediatamente il Modulo di Validazione della Sintassi per il controllo. Il modulo valida il codice utilizzando l'ambiente ufficiale di validazione SysML v2 e restituisce i risultati diagnostici. Se la validazione ha successo, il candidate_code viene utilizzato per aggiornare prev_code e supporta la generazione successiva. Se la validazione fallisce, l'Agente di Riparazione del Codice viene attivato ed esegue modifiche minime e mirate guidate dalla diagnostica restituita, dopo di che il codice riparato viene nuovamente inviato per la rivalidazione. Questo ciclo di rivalidazione della riparazione è delimitato dal budget massimo di riparazione Kmax. Se la validazione ha successo entro il budget, la versione in uscita si aggiorna prev_code; altrimenti, dopo Ktentativi max , il sistema registra il guasto e prosegue con la successiva generazione della scheda di lavoro utilizzando l'ultima versione riparata come prev_code per evitare di bloccare il flusso di lavoro mantenendo la continuità contestuale.

Fase III: Validazione semantica
Dopo che il codice è stato generato per tutte le schede di attività, il flusso di lavoro procede alla validazione semantica. L'Agente di Validazione Semantica valuta la coerenza tra il codice finale e l'intento di modellazione utilizzando i campi chiave in task_card_set come riferimenti e produce i risultati della validazione semantica. Se la validazione ha successo, prev_code viene accettato come codice modello finale SysML v2. Altrimenti, il sistema genera un Rapporto di Deviazione Semantica che identifica i campi della scheda di lavoro non soddisfatti e l'ambito di revisione richiesto. L'Agente di Riparazione del Codice poi revisiona il codice di conseguenza e produce il codice del modello rivisto come risultato finale.

Architettura e metodologia del modello
Architettura del modello
Il framework MAS4SysML, illustrato nella Figura 1, comprende quattro agenti collaborativi: l'agente di generazione della struttura del compito, l'agente di generazione del codice, l'agente di riparazione del codice e l'agente di validazione semantica. I modelli corrispondenti di prompt sono presentati nella Figura 2.

L'agente di generazione della struttura del compito esegue un'analisi semantica dell'intento di modellazione dell'input e genera schede di lavoro eseguibili e strutturate. Applica innanzitutto un meccanismo di decomposizione gerarchica dei compiti (vedi meccanismo di decomposizione gerarchica dei compiti) per scomporre l'obiettivo complessivo della modellazione in nodi di compito con confini semantici ben definiti, e poi costruisce una scheda di compito strutturata per ogni nodo. Successivamente, le schede di compito vengono ordinate secondo i campi di dipendenza di modellazione per garantire che la sequenza di esecuzione sia allineata con la struttura del codice finale, gettando così le basi per la generazione di codice bottom-up guidata dall'obiettivo globale di modellazione.

L'agente di generazione del codice genera progressivamente codice modello conforme a SysML v2 in base alle dipendenze di modellazione. Basandosi sugli artefatti di codice prodotti dai task genitori, l'agente esegue le corrispondenti operazioni di generazione del codice basate sui requisiti specificati in ogni scheda di attività, consentendo così un processo di costruzione a tappe — dai componenti locali fino al modello completo.

L'agente di riparazione del codice corregge gli errori nel codice generato in base ai risultati del modulo di validazione della sintassi (vedi modulo di validazione della sintassi) e ai risultati della validazione semantica. Per la riparazione sintattica, sfrutta il tipo di errore, la posizione e le informazioni contestuali restituite dal validatore di sintassi per sintetizzare strategie di riparazione mirate e generare codice corretto. Per la riparazione semantica, essa aggiusta le relazioni strutturali e logiche in base ai risultati della validazione semantica, garantendo coerenza semantica e completezza strutturale nel modello finale.

L'agente di validazione semantica valuta la coerenza semantica tra il codice completamente generato e le schede di compito utilizzando un meccanismo dedicato di validazione semantica (vedi meccanismo di validazione semantica). Attraverso la valutazione quantitativa, si garantisce che il codice generato rifletta accuratamente l'intento originale di modellazione, ottenendo così un allineamento preciso tra il codice del modello e i requisiti specificati.

Meccanismo gerarchico di decomposizione dei compiti
Come linguaggio di modellazione formale per sistemi complessi, SysML v2 presenta una sintassi strettamente accoppiata, strutture gerarchiche profondamente annidate e vincoli semantici a livelli trasversali. Ad esempio, un blocco di struttura di sistema può contenere più sottoparti, attributi e porte esprimendo contemporaneamente requisiti di prestazioni o comportamentali attraverso vincoli cross-layer. Queste strutture e vincoli creano dipendenze strutturali dall'alto verso il basso e relazioni di retroazione semantica dal basso verso l'alto. Con un approccio piatto e a generazione a singolo, mappare accuratamente tali dipendenze gerarchiche diventa una sfida, spesso portando a relazioni mancanti, incongruenze semantiche o alla perdita di informazioni sui vincoli.

Per affrontare questa sfida, sviluppiamo un metodo di parsing dell'intento di modellazione basato su alberi di attività che decompone gerarchicamente i requisiti di modellazione in linguaggio naturale. Come illustrato nella Figura 3, gli obiettivi di modellazione complessi sono scomposti in nodi di compito strutturati e tracciabili, permettendo al sistema di interpretare la semantica della modellazione in modo top-down e di identificare relazioni di dipendenze. In particolare, quando l'agente di generazione della struttura dei compiti riceve l'input dell'utente, prima sfrutta le capacità di parsing semantico degli LLM per identificare gli obiettivi principali della modellazione, le entità chiave e le loro dipendenze. Successivamente decompone ricorsivamente l'obiettivo di livello superiore in sottocompiti semanticamente indipendenti e li affina ulteriormente in compiti atomici che possono essere direttamente mappati alle operazioni di modellazione SysML v2, formando infine un albero completo della struttura dei compiti. Dopo la costruzione dell'albero delle attività, l'agente genera una scheda task strutturata per ogni nodo basata su un template predefinito. Il formato della scheda di compito è definito come segue:

TC = {id,O,N,K,P,V,C,D} (1)

Dove id è l'identificatore unico del nodo del compito, O come obiettivo del compito, N come descrizione in linguaggio naturale del compito, K indica gli elementi semantici principali di SysML v2 che possono essere coinvolti nel compito, includendo principalmente def/requisito, parte def/parte, port def/port, difesa elemento, attributo def/attributo e stato/transizione. Le relazioni tra questi elementi sono principalmente espresse tramite connect (connessioni strutturali), elementi di input/output sulle porte (flussi di informazioni/materiali) e condizioni di trigger/guard delle transizioni della macchina a stati (ad esempio, comandi, stato di salute e vincoli di soglia), C come regole semantiche o condizioni al contorno, P come slot parametrizzabili all'interno del compito come nomi di attributi, tipi di dati o tipi compositi, V come valori istanziati per ogni slot e D come dipendenze di modellazione tra compiti dove depend_on specifica gli output richiesti da altri compiti prima di generare il codice del compito corrente, fornisce indica gli output prodotti dopo il completamento del compito e consuma rappresenta gli input esterni richiesti dal compito.

Modulo di validazione della sintassi
Un modulo di validazione della sintassi è costruito sulla base dell'implementazione pilota SysML v2. Invocando le interfacce di parser e validatore, il modulo analizza e verifica la correttezza sintattica del codice del modello SysML v2 generato. I criteri di validazione del modulo derivano principalmente dalla specifica del linguaggio SysML v2, così come dalle regole grammaticali, dalle regole di risoluzione dell'ambito e dai meccanismi correlati di controllo dei vincoli implementati nello strumento Pilot. In particolare, la validazione esamina se le dichiarazioni degli elementi sono ben formate, se le strutture a blocchi sono complete, se le annotazioni di tipo sono valide, se nomi e riferimenti possono essere risolti con successo e se i costrutti di modellazione come porte, connessioni, stati e transizioni soddisfano i requisiti del linguaggio.

Dopo che l'agente di generazione del codice produce il frammento di codice per il compito corrente, l'output viene inoltrato al modulo di validazione della sintassi, dove lo script di validazione analizza il codice e restituisce i risultati sotto forma di informazioni diagnostiche strutturate. I risultati della validazione sono riportati come segue:

e1 = (tipoi, posi, msgi) (2)

Dove ei indica l'elenco dei problemi rilevati per il compito di modellazione corrente, ogni voce contiene il tipo di erroretipo i, la posizione dell'errore pos i e il messaggio diagnosticoi .

Ad esempio, se il codice generato contiene un errore di sintassi come "un attributo non è tipizzato da una definizione di attributo", il modulo di validazione restituisce il seguente messaggio diagnostico:

'tipo' : 'errore'
'messaggio' : 'ERRORE: Un attributo deve essere tipizzato in base alla definizione di attributo.' (3)
'posizione' : 'riga 7 colonna: 3'

Quando il risultato della validazione ei 0, le informazioni di errore raccolte ei vengono inoltrate all'agente di riparazione del codice per ulteriori correzioni. Pertanto, il processo di riparazione del codice non è una modifica senza vincoli, ma una revisione mirata guidata dalle informazioni diagnostiche esplicite restituite dal parser e dal validatore.

Meccanismo di validazione semantica
Il meccanismo di validazione semantica utilizza campi chiave di scheda di lavoro che hanno corrispondenze esplicite e tracciabili al codice del modello come ancoraggi semantici. Valuta la coerenza semantica a livello di modello, fornendo così criteri espliciti e applicabili per la successiva riparazione del modello. In particolare, per ogni scheda di lavoro TCi, i seguenti campi sono utilizzati come riferimenti semantici chiave: (i) l'obiettivo di modellazione Oi, (ii) vincoli semantici e condizioni al contorno Ci, (iii) valori istanziati degli slot parametrici Vi, e (iv) output attesi dopo il completamento del compito Di['provider']. Questi campi impongono vincoli semantici complementari al modello generato da molteplici prospettive: realizzazione dell'intento di modellazione, soddisfacimento dei vincoli, coerenza dell'istanziazione dei parametri e completezza degli output del modello—permettendo una decisione di principio sul fatto che il codice del modello soddisfi i requisiti di modellazione senza richiedere assunzioni aggiuntive.

Basandoci su questi campi chiave, definiamo una funzione decisionale di coerenza semantica multi-campo:

figure-protocol-1 (4)

dove I(·) indica una funzione indicatrice uguale a 1 se tutte le sotto-funzioni di decisione tra parentesi sono valide, e 0 altrimenti. Questa decisione binaria distingue esplicitamente tra gli stati di soddisfazione dei requisiti di modellazione e quelli che richiedono ulteriori riparazioni, fornendo una condizione di trigger deterministica per il successivo processo di riparazione semantica. La decisione complessiva è determinata congiuntamente dalle seguenti quattro sotto-funzioni decisionali:

(1) Modellazione della coerenza degli obiettivi:

Φ0 (TCi,c f) = I(consist(c f,0 i)) (5)

dove Consist(cf,0 i) indica se il codice modello cf è semanticamente coerente con l'obiettivo di modellazione0 i specificato nella scheda di lavoro.

(2) Soddisfazione dei vincoli semantici:

Φc (TCi,c f) = I(Soddisfy(c f,C i)) (6)

dove Satisfy(c f,C i) indica se il codice modello cf soddisfa i vincoli semantici e le condizioni al contorno Ci specificate nella scheda di lavoro.

(3) Coerenza dei parametri:

Φc (TCi,c f) = I(Instant(c f,V i)) (7)

dove Instant(c f,V i) indica se i valori dei parametri istanziati Vi nella scheda di lavoro sono riflessi in modo coerente nel codice del modello.

(4) Consistenza dell'uscita:

figure-protocol-2(8)

dove Artefacts(cj) indica se gli output attesi dalla scheda di lavoro sono presenti nel codice finale del modello, servendo come misura della completezza del risultato generato.

Questi giudizi di coerenza sono implementati dall'Agente di Validazione Semantica sfruttando la capacità di comprensione semantica dell'LLM; Il processo di ragionamento interno dell'agente non altera la definizione formale o l'uso della funzione di coerenza.

Attraverso questo controllo della consistenza semantica multi-campo, il modello generato può essere validato campo per campo per garantire che ogni obiettivo di modellazione, condizione di vincolo, configurazione dei parametri e output atteso venga adeguatamente soddisfatto. Questo processo non solo fornisce un innesco esplicito per la successiva riparazione semantica, ma fornisce anche prove semantiche tracciabili lungo tutta la pipeline di generazione, migliorando così l'affidabilità e la coerenza del modello generato.

Dati sperimentali e valutazione
Dati sperimentali
Il codice del modello SysML v2 non è un normale codice software; i suoi reperti generati mostrano caratteristiche distintive della modellazione formale. Le diverse visioni coinvolgono tipicamente categorie distinte di elementi fondamentali di modellazione, come requisiti, parti, porte, attributi, stati e transizioni, che differiscono sostanzialmente per stili di dichiarazione, forme organizzative e strutture compositive. Inoltre, il codice del modello deve soddisfare molteplici vincoli, tra cui il riferimento dei tipi, la nidificazione gerarchica, i vincoli di connessione e il riutilizzo semantico tra gli elementi.

Per valutare in modo completo le prestazioni del metodo proposto sotto diverse complessità di modellazione, viene costruito un dataset di codice che copre cinque tipi rappresentativi di viste del modello—requisiti, casi d'uso, struttura, parametrici e macchine a stati. Queste viste del modello corrispondono rispettivamente alla specifica dei requisiti, all'interazione funzionale, alla composizione strutturale, alla rappresentazione dei vincoli parametrici e alla descrizione della logica comportamentale nella modellazione dei sistemi. Valutare il framework separatamente su diversi tipi di viste modello consente un'analisi più dettagliata della sua applicabilità sotto diverse caratteristiche della struttura del codice e condizioni di vincolo di modellazione.

Ogni tipo di vista modello contiene 15 istanze di modello create manualmente, risultando in un dataset di N = 75 modelli SysML v2. Il dataset copre molteplici ambiti ingegneristici, tra cui aerospaziale, automotive, medico e sistemi smart home, e tutti i modelli hanno superato con successo l'ambiente ufficiale di validazione SysML v2, garantendo una rigorosa conformità sintattica.

Successivamente, abbiamo generato una corrispondente descrizione dell'intento di modellazione in linguaggio naturale per ciascun modello. Per migliorare l'efficienza costruttiva, abbiamo utilizzato il modello di prompt mostrato nel File Supplementare 2 e abbiamo impiegato GPT-4o per produrre le descrizioni iniziali. GPT-4o è stato selezionato per la sua solida comprensione semantica e le capacità di estrazione di informazioni, che gli permettono di catturare con precisione gli elementi principali del modello senza allucinazioni e di generare descrizioni di intento di modellazione simili a quelleumane 9. Per garantire accuratezza ed eliminare ambiguità, tutte le descrizioni generate sono state revisionate manualmente e perfezionate da ricercatori con una formazione in ingegneria dei sistemi. Esempi rappresentativi per diversi tipi di modelli sono mostrati nella Tabella 1.

Metriche di valutazione
Utilizziamo le seguenti tre metriche chiave per valutare la qualità del codice del modello SysML v2 generato:

Tasso medio di errore sintattico (SER)
Questa metrica quantifica la proporzione di errori sintattici rilevati quando il codice del modello generato viene validato rispetto alle regole sintattiche ufficiali di SysML v2. Viene calcolato come:

figure-protocol-3(9)

dove Ei indica il numero di errori sintattici identificati nel i-esimo modello generato. Questa metrica riflette fino a che punto il codice del modello generato aderisce alla specifica formale della sintassi SysML v2.

Punteggio di coerenza semantica (SCS)
Questa metrica valuta quanto accuratamente e in modo completo il codice del modello generato cattura l'intento semantico espresso nelle specifiche di modellazione in linguaggio naturale. In particolare, estraiamo unità semantiche dall'intento di modellazione — come entità di sistema, componenti partecipanti, funzioni core o scenari comportamentali, e condizioni chiave o vincoli — e le confrontiamo con le unità semantiche presenti nel codice del modello generato. La consistenza semantica si calcola come:

figure-protocol-4(10)

dove U rappresenta l'insieme delle unità semantiche estratte dall'intento di modellazione, e figure-protocol-5 rappresenta l'insieme delle unità semantiche identificate nel codice generato. figure-protocol-6 indica il numero di unità correttamente catturate dal codice del modello generato. Un valore SCS più alto indica una copertura semantica e un allineamento più forti.

Valutazione della qualità umana
Le metriche automatizzate tradizionali come BLEU e CodeBLEU valutano principalmente la somiglianza a livello superficiale o l'eseguibilità del codice, ma non catturano se il modello comprenda davvero o esprima correttamente la semantica di modellazione prevista. Queste metriche sono limitate nella valutazione della coerenza semantica, della completezza degli elementi chiave e dell'allineamento con l'intento dimodellazione 10. Al contrario, la valutazione umana può identificare con maggiore precisione problemi come elementi semantici mancanti, incongruenze logiche, ridondanza strutturale o allucinazioni non supportate, fornendo così una valutazione piùaffidabile 11. Motivati da queste limitazioni, progettiamo un framework di valutazione umana per i modelli SysML v2 generati composto da tre criteri: (1) Correttezza: il modello generato deve riflettere accuratamente l'intento di modellazione, mantenere la coerenza strutturale e logica con gli obiettivi del compito e non contenere ambiguità semantica, elementi mancanti o estensioni errate. (2) Leggibilità: il codice del modello dovrebbe essere chiaro e facile da comprendere, con una denominazione coerente, una struttura coerente e una gerarchia ben organizzata che supporti l'ispezione e la successiva manutenzione. (3) Integrità: il modello dovrebbe mostrare una logica strutturale completa, riferimenti incrociati coerenti e nessun tipo indefinito o catena di dipendenza interrotta, garantendone l'usabilità per l'analisi e l'integrazione a valle. Abbiamo invitato ricercatori con esperienza nella modellazione SysML a valutare ogni modello generato su una scala a tre punti, dove 1 indica la qualità più bassa e 3 la più alta. Durante la valutazione, ai valutatori è stato permesso di confrontare il codice del modello generato con il modello di accuratezza sul terreno per garantire una valutazione più accurata e completa.

Linea di base
Abbiamo selezionato più basi di valutazione per i test comparativi rispetto al metodo proposto, tra cui:
CodeCoT12: Combina il ragionamento a catena di pensiero con un meccanismo di auto-verifica, permettendo al modello di ragionare esplicitamente durante la generazione e auto-correggere errori sintattici, migliorando così la qualità del codice e la coerenza semantica.

Auto-pianificazione 13: Introduce una pipeline di generazione di codice in due fasi in cui il modello pianifica prima i passaggi della soluzione e poi genera codice secondo il piano, migliorando efficacemente la coerenza logica e l'interpretabilità per compiti complessi.

Auto-modifica14: Adotta un paradigma iterativo di generazione e modifica che esegue il codice generato e corregge automaticamente gli errori in base al feedback di runtime, affinando continuamente l'output.
CodeChain 15: Utilizza la generazione modulare e la revisione iterativa scomponendo compiti complessi in moduli funzionali indipendenti e migliorando la solidità strutturale e la qualità complessiva attraverso molteplici round di ottimizzazione.

Auto-debugging16: Dota il modello di capacità autonome di debugging e spiegazione. Attraverso un processo a ciclo chiuso di generazione, esecuzione e debug, migliora sostanzialmente la correttezza in compiti di programmazione complessi senza intervento umano.

MapCoder17: Costruisce un framework collaborativo multi-fasi composto da quattro agenti—recupero, pianificazione, codifica e debogging—che simulano fedelmente il flusso di lavoro di programmazione umana e consentono la generazione a circuito chiuso dalla comprensione dei compiti alla verifica dei risultati.

Auto-Collaborazione18: Organizza il sistema come un team di programmazione virtuale con ruoli come analista, programmatore e tester, migliorando le prestazioni complessive nella generazione complessa di codice attraverso la collaborazione basata sui ruoli e il feedback iterativo.

Configurazione sperimentale
Per garantire equità e comparabilità tra gli esperimenti, abbiamo innanzitutto valutato diversi LLM mainstream utilizzando un approccio di generazione diretta del codice per stabilire la performance di base. Sulla base di questi risultati iniziali, il LLM con le migliori prestazioni è stato selezionato come modello unificato di backbone per tutti gli esperimenti successivi. Successivamente abbiamo confrontato il framework proposto per MAS4SysML con molteplici metodi rappresentativi di generazione di codice. Tutte le interazioni LLM sono state condotte utilizzando un'impostazione di temperatura fissa (T = 0,2) per minimizzare la casualità durante la generazione. Per ogni compito di modellazione, il numero massimo di iterazioni di riparazione in MAS4SysML è stato impostato su Kmax = 3. Tutti i metodi di base venivano eseguiti con la stessa configurazione sperimentale di MAS4SysML per garantire la coerenza dei risultati e l'equità sperimentale. Lo script Python del metodo MAS4SysML è fornito come Supplementary File 3.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Valutazione del modello di base
Abbiamo prima selezionato diversi LLM mainstream e condotto test preliminari di prestazioni utilizzando generazione diretta modello-a-codice, tra cui CodeX(175B)19, CodeGen-Mono(16.1B)20, PaLM Coder(62B)21, Alphacode(1.1B)22, Incoder(6.7B)23 e code-davinci-002(175B)24. Come mostrato nella

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Proponiamo MAS4SysML, un framework collaborativo multi-agente per la generazione di codice di modelli SysML v2 semi-automatizzata. Il quadro è composto da quattro agenti funzionalmente complementari. Durante la generazione, (i) decompone gerarchicamente i requisiti di modellazione in linguaggio naturale utilizzando una struttura basata su alberi di attività e li formalizza in schede di lavoro strutturate, e (ii) genera codice modello SysML v2 in modo bottom-up, guidato dai vincoli e dall...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Gli autori non hanno conflitti di interesse. Gli strumenti AI/LLM venivano utilizzati solo durante la costruzione del dataset. In particolare, per costruire un dataset di valutazione, abbiamo utilizzato uno strumento di IA per generare enunci di problemi di modellazione in linguaggio naturale corrispondenti ai modelli SysML v2 creati manualmente (cioè generando la "descrizione del compito" dato un modello SysML v2 costruito dall'autore), formando coppie input-output per il benchmarking. Oltre a questo scopo limitato, l'IA non è stata utilizzata per generare il metodo proposto, i risultati sperimentali, le analisi dei dati, le figure/tabelle o alcun testo manoscritto.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Questa ricerca è supportata dal Civil Aerospace Project (D020101) dell'Amministrazione Statale Cinese per la Scienza, la Tecnologia e l'Industria per la Difesa Nazionale.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
LangChainLangChain (progetto open-source)v1.0.8; https://github.com/langchain-ai/langchainFramework per l'interazione con LLM e l'orchestrazione degli agenti
LangGraphLangChain (progetto open-source)v1.0.3; https://github.com/langchain-ai/langgraphFramework di esecuzione del flusso di lavoro multi-agente
PythonPython Software Foundation3.10.x; https://www.python.org/downloads/release/python-3100/Linguaggio di programmazione principale per l'implementazione di MAS4SysML
Implementazione pilota di SysML v2Gruppo di Gestione degli Oggetti (OMG)(fornire versione di rilascio/tag); https://github.com/Systems-Modeling/SysML-v2-Pilot-ImplementationUtilizzato per la validazione della sintassi e l'analisi dei modelli

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Miller, W. D. The Future of Systems Engineering: Realizing the Systems Engineering Vision 2035. Transdisciplinarity and the Future of Engineering. , IOS Press. (2022).
  2. Kirshner, M. J. A. Model-based systems engineering cybersecurity for space systems. Aerospace. 10 (2), 116(2023).
  3. Bajaj, M., Friedenthal, S., Seidewitz, E. J. I. Systems modeling language (sysml v2) support for digital engineering. Insight. 25 (1), 19-24 (2022).
  4. Cibrián, E., Olivert-Iserte, J., Llorens, J., Álvarez-Rodríguez, J. M. J. An agent-based approach for the automatic generation of valid sysmlv2 models in industrial contexts. Comput Ind. 172, 104350(2025).
  5. Dehart, J. K. Leveraging large language models for direct interaction with SysML v2. INCOSE International Symposium, 34, 2168-2185 (2024).
  6. Erikstad, S. O. Multi-agent LLMs and MBSE for developing design optimization models. ICCAS 2024 - International Conference on Computer Applications in Shipbuilding, Genoa, Italy, , (2024).
  7. Molnár, V., et al. Towards the formal verification of SysML v2 models. Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems, , (2024).
  8. Friedenthal, S. J. I. Requirements for the next generation systems modeling language (sysml® v2). Insight. 21 (1), 21-25 (2018).
  9. Wu, Y., et al. Evaluating GPT-4o's embodied intelligence: A comprehensive empirical study. TechRxiv. , (2025).
  10. Wu, Z., Rybak, V. Evaluation methods for code generation models. , Available from: https://libeldoc.bsuir.by/bitstream/123456789/56939/1/Zhong_Wu_Evaluation.pdf (2024).
  11. Harkous, H., Groves, I., Saffari, A. Have your text and use it too! End-to-end neural data-to-text generation with semantic fidelity. Proceedings of the 28th International Conference on Computational Linguistics, Barcelona, Spain, , (2020).
  12. Wei, J., et al. Chain-of-thought prompting elicits reasoning in large language models. NIPS'22: Proceedings of the 36th International Conference on Neural Information Processing System, New Orleans, LA, USA, , (2022).
  13. Jiang, X., et al. Self-planning code generation with large language models. ACM Trans Softw Eng Method. 33 (7), 182(2024).
  14. Zhang, K., Li, Z., Li, J., Li, G., Jin, Z. Self-edit: Fault-aware code editor for code generation. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics, Toronto, Canada, , (2023).
  15. Le, H., et al. Codechain: Towards modular code generation through chain of self-revisions with representative sub-modules. arXiv. , (2023).
  16. Chen, X., Lin, M., Schärli, N., Zhou, D. J. aP. A. Teaching large language models to self-debug. arXiv. , (2023).
  17. Islam, M. A., Ali, M. E., Parvez, M. R. J. aP. A. Mapcoder: Multi-agent code generation for competitive problem solving. arXiv. , (2024).
  18. Dong, Y., Jiang, X., Jin, Z., Li, G. Self-collaboration code generation via chatgpt. ACM Trans Softw Eng Method. 33 (7), 189(2024).
  19. Chen, B., et al. Codet: Code generation with generated tests. arXiv. , (2022).
  20. Nijkamp, E., et al. Codegen: An open large language model for code with multi-turn program synthesis. arXiv. , (2022).
  21. Chowdhery, A., et al. Palm: Scaling language modeling with pathways. J Mach Learn Res. 24 (1), 240(2023).
  22. Kolter, J. Z. Alphacode and "data-driven" programming. Science. 378 (6624), 1056(2022).
  23. Fried, D., et al. Incoder: A generative model for code infilling and synthesis. arXiv. , (2022).
  24. Chen, M. J. Evaluating large language models trained on code. arXiv. , (2021).
  25. Chiang, W. -L., et al. Chatbot arena: An open platform for evaluating LLMs by human preference. Proc Mach Learn Res, 235, 8359-8388 (2024).
  26. Glm, T., et al. ChatGLM: A family of large language models from GLM-130B to GLM-4 all tools. arXiv. , (2024).
  27. Introducing MPT-7B: A new standard for open-source, commercially usable LLMs. AI Research. , Available from: https://www.databricks.com/blog/mpt-7b (2023).
  28. Chiang, W. -L., et al. Vicuna: An open-source chatbot impressing gpt-4 with 90%* chatgpt quality. , ORKG. Available from: https://orkg.org/papers/R602383 (2023).
  29. Huggingchat. , Available from: https://huggingface.co/chat/ (2024).
  30. Sun, Z., et al. Principle-driven self-alignment of language models from scratch with minimal human supervision. arXiv. , (2023).
  31. Ye, J., et al. A comprehensive capability analysis of GPT-3 and GPT-3.5 series models. arXiv. , (2023).
  32. Luo, Z., et al. Wizardcoder: Empowering code large language models with evol-instruct. arXiv. , (2023).
  33. Roziere, B., et al. Code llama: Open foundation models for code. arXiv. , (2023).
  34. Rodola, G. Psutil documentation. , Psutil. Available from: https://psutil.readthedocs.io/en/latest (2020).
  35. Akundi, A., Ontiveros, J., Luna, S. Text-to-model transformation: Natural language-based model generation framework. Systems. 12 (9), 369(2024).
  36. Wang, Y., et al. Generating SysML behavior models via large language models: an empirical study. Proceedings of the 16th International Conference on Internetware, , (2025).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

SysML Model GenerationMulti Agent FrameworkNatural Language RequirementsModel Based Systems EngineeringSemantic ConsistencySyntactic CorrectnessLarge Language ModelsCode ValidationTask DecompositionSemantic Alignment

Related Articles