MDDTools3: passaggio a nuova piattaforma

  • Stampa
  • E-mail
Lunedì 25 Agosto 2014

oaw 2 eclipse modelingE' in fase di realizzazione il passaggio degli MDD Tools ad una nuova piattaforma base (eclipse + tecnologie abilitanti al model driven development).

Di seguito spieghiamo le motivazioni, i benefici, e gli impatti che questo potrà avere sui progetti.

 

Cosa cambia

I dettagli tecnici della migrazione sono principalmente una questione che interessa il gruppo di sviluppo dei tool MDD, in quanto la migrazione è relativa alle tecnologie abilitanti al model driven devlopment (definizione DSL, generazione di codice, ...), quelle sulle quali sono costruiti i tool MDD. Verrà effettuato un refactoring interno del prodotto in modo da utilizzare le nuove tecnologie. Per il progetto utilizzatore del tool queste informazioni possono tranquillamente essere considerate principalmente a carattere informativo, pertanto le riportiamo a tale scopo.

L'evoluzione riguarda:
  1. il passaggio alla nuova versione di platform eclipse (4.4 - luna)
  2. l'introduzione di una dipendenza da JDK 1.7 per l'esecuzione del tool sul client di sviluppo
  3. il passaggio a nuove versioni delle tecnologie EMF (e collegate)
  4. l'introduzione della tecnologia sirius che sarà in futuro utilizzata per la realizzazione di editor grafici dei modelli.

Non vi sono invece evoluzioni per quanto riguarda la target platform, ovvero il codice generato e le librerie utilizzate a runtime dal codice generato saranno identiche a quelle generate dalle ultime versioni stabili dei tool della serie 2. L'unica differenza riguarda la dismissione di una cartuccia ausiliaria di servicegen che permetteva di generare un report grafico delle orchestrazioni modellate. Questa carenza, resasi necessaria dalla indisponibilità con la versione Luna di parte delle tecnologie utilizzate per realizzarla, verrà in futuro colmata con la predisposizione di un più utile editor grafico delle orchestrazioni.


Perchè migriamo

I motivi per la migrazione sono molteplici:
  • Eclipse Indigo è ormai una versione piuttosto obsoleta di eclipse: come conseguenza alcune delle nuove tecnologie abilitanti non sarebbero utilizzabili senza una migrazione ad eclipse-Luna
  • Le nuove versioni di EMF e tecnologie collegate introducono nuove funzioni che potranno essere utilizzate in futuro per migliorare vari aspetti dell'utilizzo dei tool (user experience, velocità, ...). In particolare sono state svolte alcune valutazioni che indicano nella tecnologia sirius un promettente strumento per la realizzazione di editor grafici dei modelli (la cui mancanza è a tutt'oggi una importante carenza dei tool).
In sintesi, così come era stato per la migrazione ad Indigo, la migrazione a Luna avrà come effetto benefico la possibilità di migliorare più agevolmente gli strumenti, utilizzando le tecnologie allo stato dell'arte.


Impatti sui progetti

Gli impatti sui progetti sono minimi e riassumibili come segue.
  • Progetto esistente
    • è necessario installare il JDK 1.7 sul client
    • è necessario scaricare il nuovo bundle(*) basato su Eclipse Luna sul quale dovranno essere installati i nuovi plugin.
(*) al momento è disponibile solo il bundle per Windows con JDK 32 bit

Nel caso in cui il progetto fosse già in precedenza attestato sulle ultime versioni stable dei plugin con  piattaforma 2.x la rigenerazione non comporterà variazioni nel codice generato rispetto alla versione di partenza. In caso contrario l'impatto sarà lo stesso del passaggio alla ultima versione stable della serie 2.x.

  • Progetto nuovo
    • le procedure di creazione di un nuovo progetto sono le stesse per la versione 2.x
    • anche il resto dell'operatività (modellazione, generazione) è pressochè immutata

Conversione del Workspace

I workspace creati per eclipse-indigo vengono convertiti in un nuovo formato interno al momento della prima apertura con eclipse-luna. E' importante notare che dopo tale operazione il workspace non sarà più utilizzabile con eclipse-indigo.


Coesistenza tra le varie versioni

Le versioni di plugin 2.x (realizzate con la vecchia piattaforma) non sono più utilizzabili con la nuova, e viceversa non viene più testata la compatibilità dele versioni di plugin 3.x con il bundle basato su indigo.

Politiche di supporto per le varie versioni

La prima versione relativa alla nuova piattaforma sarà convenzionalmente numerata 3.0.0 per tutti i plugin. Di seguito la corrispondenza con le versioni precedenti
  • guigen 3.0.0 ⇒ guigen 2.6.0
  • servicegen 3.0.0 ⇒ servicegen 2.3.0
  • datagen 3.0.0 ⇒ datagen 2.0.2

Il prospetto riportato nel paragrafo "versioni supportate" della sezione "overview" riassume alcuni degli aspetti di evoluzione da tenere in considerazione.

Disponibilità

Il bundle basato su Luna e la prima versione latest dei tre plugin è disponibile dal 25/08/2014. Sono state conseguentemente aggiornate le istruzioni di installazione.