< Indietro | Avanti >

Lezione 7: Creazione e perfezionamento della dichiarazione di associazione modello-a-modello

Questa lezione spiega come creare una dichiarazione di associazione modello-a-modello nel modello di associazione. Questa dichiarazione di associazione contiene una regola di associazione personalizzata che, quando si esegue la trasformazione generata, crea un modello di output di destinazione il cui nome deriva dal modello di input di origine. Questa lezione inoltre mostra come modificare l'ordine in cui la trasformazione elabora le dichiarazioni di associazione nel modello di associazione.

Per ridenominare il modello di destinazione generato dalla trasformazione, è possibile creare una regola di associazione personalizzata tra gli oggetti di input e di output invece di creare una regola di associazione tra le funzioni degli oggetti di input e di output.

Per creare una dichiarazione di associazione modello-a-modello:

  1. Se il modello di associazione non è aperto nell'editor di associazione trasformazioni, nella vista Esplora package, fare doppio clic sul file .mapping nella cartella model.
  2. Nell'editor di associazione trasformazioni, nella sezione Root di associazione, fare clic con il tasto destro del mouse su Generalizza_Classi; quindi fare clic su Crea associazione.
  3. Nella finestra Nuova associazione, nel campo Nome associazione, immettere Model2Model e fare clic su OK. L'associazione viene visualizzata nella vista Struttura, e viene aperta nella sezione Root di associazione nell'area editor.

Aggiunta di oggetti di input e di output alla dichiarazione di associazione modello-a-modello

Dopo aver creato la dichiarazione di associazione modello-a-modello, è necessario aggiungervi un oggetto di input e un oggetto di output. In questa lezione, viene specificato un modello come oggetto di input e di output.

Per aggiungere un oggetto di input e un oggetto di output alla dichiarazione di associazione modello-a-modello:

  1. Fare clic sull'icona Aggiungi un oggetto di input, l'icona più a sinistra sulla barra degli strumenti che si sta modificando.
  2. Nella finestra Aggiunta input, nel riquadro Elemento, espandere uml, fare clic su Modello, quindi su OK.
  3. Fare clic sull'icona Aggiungi un oggetto di output, la seconda icona da sinistra nella barra degli strumenti dell'associazione che si sta modificando.
  4. Nella finestra Aggiunta output, nel riquadro Elemento, espandere uml, fare clic su Modello, quindi su OK.
  5. Fare clic su File > Salva.
È adesso possibile definire le regola di associazione tra gli oggetti di input e output.

Definizione delle regole di associazione secondaria e personalizzata

In questa lezione, vengono create le seguenti regole di associazione:
  • Una regola di associazione personalizzata che rinomina il modello di destinazione generato dalla trasformazione
  • Una regola di associazione secondaria che richiama il trasformatore Package2PackageTransform per trasformare i package nel modello

Per creare le regole di associazione nella dichiarazione di associazione:

  1. Creare una regola di associazione personalizzata che rinomina il modello di destinazione:
    1. Nell'area editor, fare clic sulla sezione superiore dell'oggetto di input del modello. Viene evidenziato l'intero oggetto di input del modello.
    2. Trascinare la maniglia dell'oggetto di input del modello sull'oggetto di output del modello.
    3. Nel nuovo elemento Associazione secondaria, fare clic sulla freccia verso il basso e selezionare Personalizzato.
    4. Fare clic con il tasto destro del mouse sull'elemento Personalizzato; quindi fare clic su Mostra in Proprietà.
    5. Nella vista Proprietà, nella scheda Dettagli, fare clic su Seriale.
    6. Nell'area di testo sotto il campo Codice, al di sotto della firma del metodo, specificare il seguente codice, che implementerà la regola di associazione personalizzata durante l'esecuzione della trasformazione: Model_tgt.setName(Model_src.getName()+"TgtModel");
    7. Fare clic su Applica.
    Nota: Per ridenominare il modello di destinazione, è anche possibile creare una regola di associazione personalizzata tra l'attributo name dell'oggetto di input e dell'oggetto di output e specificare lo stesso codice nella scheda Dettagli, invece di creare una regola di associazione tra gli oggetti di input e di output.
  2. Creare una regola di associazione secondaria che richiama l'associazione Package2Package creata nella Lezione 6: Creazione e perfezionamento della dichiarazione di associazione package-a-package:
    1. Trascinare la maniglia della funzione packagedElement sull'attributo packagedElement nell'oggetto di output del modello.
    2. Fare clic con il tasto destro del mouse sul nuovo elemento Associazione secondaria; quindi fare clic su Mostra in proprietà.
    3. Nella vista Proprietà, nella scheda Dettagli, nell'elenco Associazione, selezionare Package2Package.
  3. Fare clic su File > Salva.
Tutte le dichiarazioni di associazione e le regole di associazione richieste per questa esercitazione sono state create. È adesso possibile specificare l'ordine di elaborazione delle dichiarazioni di associazione.

Modifica dell'ordine di elaborazione delle dichiarazioni di associazione

È possibile modificare l'ordine di elaborazione delle dichiarazioni di associazione in un modello di associazione. La vista Struttura contiene le dichiarazioni di associazione nell'ordine in cui verranno elaborate durante l'esecuzione del codice della trasformazione generata. Modificando l'ordine di elaborazione, sarà possibile specificare le istruzioni di elaborazione per gli oggetti di input che potrebbero essere elaborati e utilizzati da una dichiarazione di associazione meno specifica.

Per questa esercitazione, specificare che la trasformazione generata elaborerà le dichiarazioni di associazione nel seguente ordine:
  • Model2Model
  • Package2Package
  • Class2Class
  • Class2Interface
  • Operation2Operation
  • Parameter2Parameter
  • Primitive2Primitive
Nota: In questa esercitazione, l'ordine delle dichiarazioni di associazione Model2Model e Package2Package è il più importante. Quando si esegue la trasformazione generata, poiché un modello è un package, il trasformatore Package2Package accetta un modello o un package. Se il trasformatore Package2Package è il primo ad essere elencato nella trasformazione, elaborerà e utilizzerà l'oggetto di input del modello. In questo scenario, il trasformatore Model2Model non elabora l'oggetto di input del modello, quindi la regola personalizzata creata nel trasformatore Model2Model non verrebbe eseguita.

Per modificare l'ordine di elaborazione delle dichiarazioni di associazione:

  1. Se la vista Struttura non è visualizzata, fare clic su Finestra > Mostra vista > Struttura.
  2. Nella vista Struttura, fare clic con il tasto destro del mouse sulla dichiarazione di associazione Model2Model; quindi fare clic su Ordine di esecuzione e su Sposta su. Ripetere questa procedura fino a quando la dichiarazione di associazione Model2Model non si trovi nella prima posizione dell'elenco.
  3. Ripetere il punto 2 per ciascuna dichiarazione di associazione fino ad ottenere lo stesso ordine delle dichiarazioni di associazione riportato precedentemente.
  4. Fare clic su File > Salva.
È adesso possibile generare il codice sorgente della trasformazione.
< Indietro | Avanti >

Feedback