Questa tecnica implica l'utilizzo del modello concettuale su una base in evoluzione, per gestire lo sviluppo di un'applicazione e supporta la nozione di round-trip engineering. Dopo che un architetto ha creato un modello di livello classe dettagliato utilizzando UML, questo modello diventa la base per un modello di codice 3GL. L'architetto applica una trasformazione direttamente al modello per generare la struttura o, in molti casi, il codice di compilazione effettivo, per l'applicazione.
Lo sviluppatore è quindi libero di sviluppare il modello di codice mentre l'architetto continua a progettare il modello UML di livello elevato. Questo flusso di lavoro parallelo causa una divergenza tra il modello UML e il modello di codice, rendendo difficile la collaborazione, ma la configurazione iniziale della trasformazione supporta la riconciliazione del modello e le trasformazioni di inoltro ed inversa.
Per ridurre il rischio, che aumenta man mano che i modelli divergono, l'architetto esegue una trasformazione inversa nel modello di codice, creando un'istantanea temporanea utilizzata dall'architetto in un'operazione di riconciliazione per unire in modo selettivo le modifiche nel modello concettuale. Una volta uniti i modelli, una trasformazione può quindi essere applicata per aggiornare il codice a livello di implementazione, riportando le modifiche del modello concettuale dell'architetto indietro nel modello di codice. Questo processo può essere ripetuto con la frequenza necessaria in tutto il processo di sviluppo. Entrambi i modelli continuano ad evolversi in parallelo e vengono riconciliati in punti di controllo predefiniti.
Il protocollo in cui lo sviluppo di modelli concettuali è utilizzato al meglio in questi casi:
Questo metodo può essere utilizzato dall'intero team, dall'architetto allo sviluppatore.
L'approccio dello sviluppo di modelli concettuali fornisce un controllo rigido. L'implementazione del codice riflette in qualsiasi momento la specifica dell'architettura. L'approccio determina anche una codifica manuale minore, una maggiore ripetibilità, una qualità più elevata, un numero minore di errori e la possibilità di apportare modifiche al progetto in qualsiasi fase di sviluppo, il che rende questo approccio molto semplice.
L'approccio Sviluppo di modelli concettuali fornisce un controllo rigido e la possibilità di creare una fix e applicarla a tutta l'applicazione; le modifiche minori possono essere difficili da implementare ed è difficile evitare che il processo di trasformazione interferisca in tali modifiche minori.