Creazione trasformazione - Note sul rilascio

© Copyright International Business Machines Corporation 2006. Tutti i diritti riservati. Limitazioni previste per gli Utenti del Governo degli Stati Uniti - L'uso, la duplicazione o la divulgazione sono limitati dal GSA ADP Schedule Contract con la IBM Corp.

Note sul rilascio

1.0 Limitazioni
   1.1 I profili UML predefiniti non vengono associati automaticamente durante la creazione di un'associazione da un modello a UML
   1.2 Nelle conversioni da un modello all'altro, il supporto di fusione è disponibile solo in modelli di destinazione con estensione contentTypes
   1.3 Durante la creazione di conversioni da un modello all'altro, i modelli Ecore specificati come input o output devono avere genmodel corrispondenti
   1.4 È necessario specificare un file come contenitore di destinazione in una configurazione di conversione da un modello all'altro
   1.5 L'integrazione della creazione di conversione con conversioni JET non è automatica
2.0 Problemi noti e soluzioni temporanee
   2.1 I metamodelli UML non vengono aggiunti automaticamente alle associazioni da un modello all'altro
   2.2 Le conversioni a e da proprietà filtrate possono essere visualizzate danneggiate nell'editor di associazione
   2.3 L'eliminazione dell'unico riferimento a un modello in un file di associazione comporta l'eliminazione del modello dal file di associazione
   2.4 L'opzione runSilent può essere selezionata nell'editor di configurazione conversione da un modello all'altro se la modalità di unione è automatica o visiva
   2.5 Gli errori di unione potrebbero verificarsi durante l'associazione da un modello a uml con un profilo registrato, se l'id di registrazione del profilo non viene utilizzato
   2.6 Durante la generazione del codice da modelli di associazione, i file del progetto di base inclusi 'plugin.xml' e 'MANIFEST.MF' non sono registrati

1.0 Limitazioni

1.1 I profili UML predefiniti non vengono associati automaticamente durante la creazione di un'associazione da un modello a UML

Durante la creazione di una conversione da un modello all'altro, se la destinazione è un modello UML 2, i profili UML predefiniti non vengono associati automaticamente. Ad esempio, il profilo UML default.epx  non viene associato automaticamente. Occorre associare tali profili manualmente o utilizzare il framework UMLDefaultLibrariesAddRule. È possibile aggiungere manualmente tale framework a una conversione se la destinazione è una EClass del modello UML.

Per aggiungere il framework a una conversione, aggiungere il seguente codice alla conversione:

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated NOT
     */
    protected void addTransformElements(Registry registry) {
 add(new UMLDefaultLibrariesAddRule());
     addGeneratedTransformElements(registry);
     // È possibile aggiungere ulteriori elementi di conversione dopo quelli generati in questo contesto
     // Ricordare di rimuovere la tag @generated o di aggiungere NOT a tale tag
    }

1.2 Nelle conversioni da un modello all'altro, il supporto di fusione è disponibile solo in modelli di destinazione con estensione contentTypes

Nella creazione di conversioni da un modello all'altro, per utilizzare il supporto "fuse" nel modello di destinazione, occorre disporre dell'estensione "org.eclipse.core.runtime.contentTypes" in un plugin, nello spazio di lavoro Eclipse. È possibile specificare tale estensione in un plugin il cui nome dominio derivi dal dominio del modello di destinazione. Per ulteriori informazioni su tale estensione, consultare la documentazione del punto di estensione nel progetto Confronto/Unione. Ciò consente di generare una strategia di fusione sofisticata per il proprio modello di destinazione. Per una strategia EMF più semplice, è possibile specificare la seguente estensione (sostituire "xxx" con l'estensione del file di destinazione):

<extension
  point="org.eclipse.core.runtime.contentTypes">
  <file-association
   content-type="com.ibm.xtools.comparemerge.emf.emfContentType"
  file-extensions="xxx"/>
 </extension>

1.3 Durante la creazione di conversioni da un modello all'altro, i modelli Ecore specificati come input o output devono avere genmodel corrispondenti

Durante la creazione di conversioni da un modello all'altro, i modelli Ecore specificati come input o output devono avere genmodel corrispondenti. Per creare genmodel, è possibile utilizzare la procedura guidata Modello EMF. Assicurarsi di generare il codice dopo la creazione di genmodel.  Occorre registrare i genmodel nel workbench di sviluppo o tali genmodel devono trovarsi nello stesso percorso dei modelli Ecore corrispondenti. I genmodel devono avere estensione del nome file .genmodel, un nome simile e le stesse maiuscole/minuscole dei modelli Ecore. Altrimenti il motore di creazione conversioni non riesce a individuare il genmodel. In tal caso, tale motore disabilita la generazione del codice.

1.4 È necessario specificare un file come contenitore di destinazione in una configurazione di conversione da un modello all'altro

Quando si crea una configurazione di conversione per una conversione da un modello all'altro, è necessario specificare un file che rappresenti il modello di destinazione, anche se tale file è vuoto. Non è possibile specificare un URI come contenitore di destinazione.

Per creare un modello Ecore vuoto, nella pagina principale della procedura guidata o dell'editor di configurazione conversione, fare clic sul pulsante Crea nuovo contenitore di destinazione e specificare un file con l'estensione del modello di destinazione.

1.5 L'integrazione della creazione di conversione con conversioni JET non è automatica

Per integrare una conversione da un modello all'altro come front end per una conversione JET (da modello a testo), è necessario aggiungere manualmente un'istanza del framework JETRule alle regole 'postProcessing' della RootTransformation situata nel provider di conversioni. Il seguente esempio mostra il codice che è necessario includere nella classe che fornisce le conversioni. Occorre sostituire 'xxx' con l'id della conversione JET.

    /**
     * Crea una conversione root. È possibile aggiungere ulteriori regole alla conversione qui
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param transform La conversione root
     * @generated NOT
     */
    protected RootTransformation createRootTransformation(ITransformationDescriptor descriptor) {
        return new RootTransformation(descriptor, new MainTransform()) {
                   protected void addPostProcessingRules() {
                            add(new JETRule("xxx"));
                   }
        };
   }

2.0 Problemi noti e soluzioni temporanee

2.1 I metamodelli UML non vengono aggiunti automaticamente alle associazioni da un modello all'altro

Per generare conversioni che immettono o emettono modelli UML, specificare un metamodello UML come input e/o output root, della specifica di associazione.  L'aggiunta di un profilo UML alla specifica di associazione non aggiunge automaticamente il metamodello UML.

Soluzione temporanea: aggiungere il metamodello UML facendo clic sul pulsante Aggiungi modello nell'editor e nella procedura guidata Associazione di trasformazione da un modello all'altro.

2.2 Le conversioni a e da proprietà filtrate possono essere visualizzate danneggiate nell'editor di associazione

Gli endpoint dei connettori di associazione potrebbero non venire visualizzati se un utente passa dalla modalità di filtro delle funzioni "Di base" a quella "Intermedia" o "Avanzata", quindi crea le associazioni e quindi ritorna alla modalità "Di base". Ciò potrebbe comportare la visualizzazione di connettori di associazione di cui non è possibile collegare gli endpoint. Tale problema interessa soltanto l'aspetto delle associazioni. Le associazioni e il codice di origine che la conversione genera dalle associazioni non sono interessati.

Soluzione temporanea: correggere l'aspetto delle associazioni specificando la modalità di filtro effettiva al momento della creazione delle associazioni.

2.3 L'eliminazione dell'unico riferimento a un modello in un file di associazione comporta l'eliminazione del modello dal file di associazione

Quando un file associazioni non contiene più alcuna associazione che specifichi degli elementi da un modello come input o output di associazioni, il modello viene "eliminato" dal file di associazioni. Il controllo dei modelli non utilizzati viene effettuato ogni volta che viene eliminato un input o output di associazioni.Vengono conservati degli elenchi separati nel file associazioni per gli input e gli output.

Soluzione temporanea: è necessario aggiungere il modello al file di associazione, prima di poter selezionare gli elementi da tale modello come input o output di associazione. Fare clic sul pulsante Aggiungi modello nell'editor di associazione per aggiungere il modello al file di associazione.

2.4 L'opzione runSilent può essere selezionata nell'editor di configurazione conversione da un modello all'altro se la modalità di unione è automatica o visiva

Nell'editor di configurazione conversione per conversioni generate da un modello all'altro, l'opzione runSilent può essere specificata con qualsiasi modalità di unione, inclusa quella automatica o visiva. Se la modalità di unione viene impostata come automatica o visiva, l'opzione runSilent forza la strategia di unione non presidiata se il supporto di fusione viene trovato per il modello di destinazione. Altrimenti, viene utilizzata una strategia di unione di sovrascrizione.

2.5 Gli errori di unione potrebbero verificarsi durante l'associazione da un modello a uml con un profilo registrato, se l'id di registrazione del profilo non viene utilizzato

Durante la creazione di un modello di associazione trasformazione dal metamodello Ecore al metamodello UML con profili, è consigliabile verificare l'URI del profilo che verrà utilizzato nei modelli UML di destinazione. Per impostazione predefinita, viene utilizzato l'URI del profilo specificato nell'editor di associazione. Se si specifica un URI di risorsa, viene convertito in un URI del plugin equivalente.

Soluzione temporanea: è possibile specificare un URI diverso nella proprietà di sovrascrizione profileURI dell'apposita pagina. Fare clic sulla sezione root nell'editor di associazione, per visualizzare la pagina di proprietà. Nota: se si utilizza un profilo registrato, è possibile specificare l'URI con cui il profilo è registrato, se tale URI è diverso dal profilo utilizzato automaticamente. Una mancata riuscita di tale operazione comporta il caricamento, da parte del profilo registrato, ripetitivo nella serie di risorse, che a sua volta provoca problemi di unione o fusione.

2.6 Durante la generazione del codice da modelli di associazione, i file del progetto di base inclusi 'plugin.xml' e 'MANIFEST.MF' non sono registrati

Durante la generazione del codice da modelli di associazione nelle conversioni da un modello all'altro, i file del progetto di base, tra cui plugin.xml e manifest.mf vengono generati se non è possibile individuarli. Potrebbe essere necessario modificare tali file dopo che sono stati generati.

Soluzione temporanea: