Questa esercitazione descrive come creare, configurare ed eseguire una trasformazione modello-a-modello utilizzando
gli strumenti di associazione disponibili in
IBM Rational modeling products. Dopo aver creato
un progetto di associazione trasformazioni, ed aver creato e perfezionato i modelli di associazione nel progetto,
sarà possibile generare il codice per la trasformazione modello-a-modello. Dopo aver generato il codice sorgente della
trasformazione, sarà possibile configurare ed eseguire la trasformazione in un workbench di runtime.
In questa esercitazione,
viene creata una trasformazione modello-a-modello che trasforma le classi di un modello di origine in interfacce e
in classi di implementazione in un modello di destinazione. La classe di implementazione generata
copia le operazioni nella classe di origine e l'interfaccia generata richiede copie solo delle operazioni
pubbliche della classe di origine.
Per questa esercitazione potrebbero essere necessari alcuni componenti installabili facoltativi. Per assicurarsi di aver installato i componenti facoltativi
appropriati, fare riferimento all'elenco dei requisiti del sistema.
Una
trasformazione è un tipo di strategia di implementazione di modelli che utilizza un elemento di origine,
o un insieme di elementi, e li modifica in un nuovo elemento di destinazione o insieme di elementi. Le trasformazioni consentono una transizione tra modelli e codice, e tra modelli di diversi livelli di astrazione.
La creazione di una trasformazione è un processo basato sui modelli che consente di creare
trasformazioni che contengono informazioni dettagliate sull'implementazione o di creare trasformazioni
che specificano le relazioni tra modelli o metamodelli.
Il progetto di associazione trasformazioni modello-a-modello
consente di specificare metamodelli di origine e destinazione e di creare un modello di associazione che definisce
la relazione tra gli elementi nei metamodelli.
È possibile generare codice sorgente della trasformazione estensibile in modo incrementale, che implementa le relazioni. Lavorando con questo livello di astrazione, sarà possibile concentrarsi sul dominio del problema invece
che sul dominio della soluzione.
Le fasi
principali del processo di creazione
di trasformazioni modello-a-modello sono: - Creazione di un progetto di associazione trasformazioni
modello-a-modello che contiene un modello di associazione. Un progetto di
associazione può contenere più modelli di associazione. Quando si crea un progetto di associazione, il servizio
di trasformazione registra una trasformazione. Ciascuna trasformazione ha un provider di trasformazione,
un trasformatore chiamato MainTransform, e un trasformatore per ciascuna dichiarazione di associazione nel progetto.
- Aggiunta dichiarazioni di associazione, chiamate
anche associazioni, al modello di associazione. Un modello di associazione può contenere una o più dichiarazioni di associazione.
- Aggiunta di regole di associazione alle dichiarazioni di associazione nel modello di associazione.
- Generazione del codice sorgente della trasformazione dal modello o dai modelli di associazione
nel progetto di associazione.
Gli strumenti di creazione della trasformazione modello-a-modello generano una trasformazione per
ciascun modello di associazione nel progetto di associazione. Per ciascuna dichiarazione di associazione, gli strumenti
di creazione generano un file di origine Java
che implementa un trasformatore. Per ciascuna regola di associazione di spostamento o personalizzata in una dichiarazione
di associazione, viene generata una regola nel codice sorgente del trasformatore. Per ciascuna regola di associazione secondaria
in una dichiarazione di associazione, viene generato un estrattore di contenuto nel codice sorgente del trasformatore.
Obiettivi di apprendimento
Questa esercitazione
è composta da due moduli che è necessario completare in sequenza. In questi moduli verranno completate le seguenti
attività:
- Creare un progetto di creazione trasformazioni modello-a-modello che contiene un
framework di trasformazione e un modello di associazione
- Creare dichiarazioni di associazione nel modello di associazione
- Perfezionare le dichiarazioni di associazione completando le seguenti attività:
- Specificare un oggetto di input e un oggetto di output per ciascuna dichiarazione di associazione
- Creare regole di associazione definendo le relazioni tra gli attributi degli oggetti di
input e di output in una dichiarazione di associazione
- Generare e compilare il codice sorgente della trasformazione
- Configurare un workbench di runtime per verificare il funzionamento della trasformazione modello-a-modello
- In un workbench di runtime, creare ed applicare una configurazione di trasformazione che esegue la trasformazione
modello-a-modello
Tempo necessario
Lo svolgimento
di questa esercitazione dovrebbe durare circa 60 minuti. Se si analizzano altri concetti correlati, l'esercitazione potrebbe richiedere più tempo.
Destinatari
I destinatari di questa esercitazione sono
gli sviluppatori.
Requisiti del sistema
Per eseguire questa
esercitazione, è necessario che il componente di creazione trasformazioni sia installato.
È anche necessario abilitare
la funzionalità di Modeling.
Prerequisiti
Per eseguire
questa esercitazione, è necessario conoscere i seguenti concetti:
- EMF (Eclipse Modeling Framework)
- Progetti di plug-in Eclipse
- Modelli Ecore
- Workbench Eclipse