Model Driven Software Development con Eclipse, StatechartUMC



Похожие документы
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Guida all uso di Java Diagrammi ER

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Registratori di Cassa

MANUALE D USO DELLA PIATTAFORMA ITCMS

L ambiente di sviluppo Android Studio

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

developed by Emanuele De Carlo

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

MICROSOFT WORD LA STAMPA UNIONE

Introduzione a Dev-C++

The Enterprise Service BUS. Manuale utente - VulCon

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Manuale Operativo per la firma digitale

Tale attività non è descritta in questa dispensa

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Manuale Operativo per la firma digitale

Eclipse - Nozioni Base

SOMMARIO... 3 INTRODUZIONE...

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

MODULO STAMPA BOLLETTINO PDF

Generazione Automatica di Asserzioni da Modelli di Specifica

Corso Eclipse. Prerequisiti. 3 Window Builder

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

5.2 UTILIZZO DELL APPLICAZIONE

Progetto di Ingegneria del Software 2. SWIMv2

Compilatore risorse display grafico LCD serie IEC-line

Raggruppamenti Conti Movimenti

Corso Eclipse. Prerequisiti. 1 Introduzione

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

CdL in Medicina Veterinaria - STPA AA

GUIDA AL PRONTUARIO MOBILE

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Gestione delle Cartelle dei Messaggi di Posta Elettronica

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

Guida. Macchina Scratch

FORMAZIONE PROFESSIONALE

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

2. Guida all uso del software IrfanView

Guida all uso di. a cura dell Area Economia Applicata (AEA) - IPI

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Introduzione. Installare EMAS Logo Generator

Sistema GEFO. Guida all utilizzo Presentazione delle domande

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

APPUNTI POWER POINT (album foto)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Ingegneria del Software 1: Eclipse

MANUALE PORTALE UTENTE IMPRENDITORE

Manuale utente Volta Control

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Identificare le classi in un sistema

Manuale Utente Albo Pretorio GA

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

PIATTAFORMA DOCUMENTALE CRG

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

2015 PERIODO D IMPOSTA

ACCESSO AL SISTEMA HELIOS...

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Software Gestionale Politiche Giovanili

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Modellazione dei dati in UML

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Creare diagrammi di Gantt con Visio 2003

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

SW Legge 28/98 Sommario

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

Introduzione all uso di Eclipse

Manuale per la configurazione di AziendaSoft in rete

Invio SMS. DM Board ICS Invio SMS

Utilizzare Event Viewer

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

Mon Ami 3000 Ratei e Risconti Calcolo automatico di ratei e risconti

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Installazione e caratteristiche generali 1

5.6.1 REPORT, ESPORTAZIONE DI DATI

Транскрипт:

Model Driven Software Development con Eclipse, StatechartUMC Aldi Sulova Istituto di Scienza e Tecnologie dell Informazione A. Faedo - CNR Via G. Moruzzi 1, 56124 Pisa, Italy aldi.sulova@isti.cnr.it Abstract. StatechartUMC è un editor grafico che semplifica la generazione del codice testuale associato ad un UMC statechart. Tale codice rappresenta l input per il model checker UMC [1]. StatechartUMC applica la tecnica MDSD (Model Driven Software Development) ed il lavoro per la sua costruzione si suddivide in varie fasi: definizione del modello di dominio, costruzione di un editor grafico per creare istanze del modello, trasformazioni da modelli predefiniti standard (UML) e scrittura di generatori di codice. Tutto questo è realizzato mediante tools open source basati sulla piattaforma Eclipse [2]: Eclipse RCP [3], Eclipse Modeling Framework (EMF) [4], Graphical Modeling Framework (GMF) [5] e Open Architecture Ware (oaw4) [6]. Key words: MDSD, Eclipse, EMF, GMF, oaw4, RCP 1 Introduzione L obiettivo principale di StatechartUMC è di semplificare la creazione dell istanza di input per il model checker UMC. Senza approfondire le conoscenze su UMC, possiamo dire che un istanza di input viene espressa come un modello a nodi ed archi basato su statecharts UML. A questo punto si può pensare ad uno strumento che modella graficamente le istanze e a partire da queste genera il codice testuale eseguibile da UMC. L idea di base è quella di definire un modello attraverso diagrammi dai quali poter eseguire operazioni di verifica e validazione e naturalmente ottenere completamente o parzialmente il codice. Sicuramente creare un diagramma è più semplice che scrivere il corrispondente codice testuale. L applicazione dell approccio MDSD allo strumento risulta essere la scelta più ragionevole. L MDSD è un tentativo di portare il processo di sviluppo software verso un livello più alto eliminando quasi completamente la scrittura del codice e inserendo un concetto nuovo di sorgente : il modello. Per realizzare gli obiettivi sono utilizzati tre frameworks open source della piattaforma Eclipse: EMF, GMF ed oaw4. La funzionalità principale di EMF è di ricevere in input il modello di dominio Parte del Progetto EU Sensoria IST-2005-016004 e del progetto PRIN 2007 D-ASAP

(Domain Model, il meta-modello) e di fornire come output una serie di classi Java completamente implementate, che realizzano i vincoli, le relazioni e le associazioni descritte nel modello di partenza. Il primo passo nel processo di sviluppo dell applicazione è la definizione del meta-modello, quindi l identificazione delle entità principali del dominio che naturalmente, parlando di statecharts, saranno gli stati e le transizioni. Per modellare il dominio, EMF mette a disposizione un editor grafico con una notazione molto simile all UML. Il passo successivo la connessione tra EMF e GMF. Lo scopo di GMF è facilitare lo sviluppo di istanze grafiche del meta-modello, creando editor grafici dotati di funzionalità quali drag & drop, copia/incolla, undo e redo: una classica applicazione GMF, ad esempio, è un editor che consente di disegnare diagrammi di vario tipo, con la possibilità di collegare tra loro le figure, ridimensionarle e spostarle. In sostanza con GMF le entità identificate nella prima fase hanno anche una rappresentazione grafica, dove le transizioni connettono tra loro gli stati. Un diagramma con stati e transizioni definisce un istanza di input per UMC. Dalla rappresentazione grafica si può arrivare al codice testuale utilizzando oaw4. oaw4 [6] è un framework che definisce varie funzionalità per i modelli generati a partire da un meta-modello EMF. Sostanzialmente fornisce 3 linguaggi testuali che sono utili in diversi contesti: Check (.chk), per la verifica della correttezza del modello, Xpand (.xpt), per controllare l output del processo di generazione ed Xtend (.ext), per definire librerie con operazioni generali, utilizzabili da Check ed Xpand. Xtend viene utilizzato anche in un contesto di trasformazione di modelli. La verifica della correttezza risulta essere un attività molto utile nel processo di definizione del modello. In una situazione normale, un istanza di input, può avere un numero elevato di entità grafiche, quindi è molto importante mantenere una certa coerenza con il modello di dominio. 2 Funzionalità Attualmente il tool fornisce tre funzionalità: validazione dei modelli, verifica della correttezza rispetto alla definizione del meta-modello, generazione del codice testuale dell istanza di input per UMC, importazione e trasformazione di modelli da UML a UMC, nel paragrafo precedente abbiamo detto che il meta-modello UMC è molto simile al metamodello UML per le macchine a stati. In questo caso altri tool UML (MagicDraw) si possono utilizzare per definire il modello UMC. References 1. Franco Mazzanti. Designing UML Models with UMC (ref. UMC V3.6 build p-april 2009), http://fmt.isti.cnr.it/umc/v3.6/umc.html. 2. Eclipse Project. http://www.eclipse.org/ 3. EclipseRich Client Platform. http://wiki.eclipse.org/index.php/rich Client Platform 4. Eclipse Modeling Framework. http://www.eclipse.org/modeling/emf/ 5. Graphical Modelling Framework. http://www.eclipse.org/modeling/gmf/ 6. Open Architecture Ware project. http://www.openarchitectureware.org/

A Appendice A.1 URL StatechartUMC è disponibile per le piattaforme windows, linux e mac. Gli eseguibili sono scaricabili dalla pagina http://fmt.isti.cnr.it/umc/umcdistr/ A.2 Utilizzo dell editor grafico In questa sezione descriviamo l editor grafico e illustriamo tutti i passi necessari per un suo corretto utilizzo. Il layout grafico dell editor è suddiviso in 4 viste principali (Figura 1): editor view, definizione del modello grafico, outline view, offre una visione minimizzata del modello grafico, navigator view, lista dei progetti e file creati. È da notare che l applicazione utilizza un ambiente di lavoro workspace dove vengono salvati i progetti e i file. Quindi, tutto quello che si crea è disponibile sotto questa directory, properties view, lista delle proprietà di ciascun componente dell editor. Eseguire l applicazione Statechart UMC. Nella schermata principale scegliere la voce File-New-New Project. Un nuovo progetto verrà creato con due directory: diagram, contiene la definizione grafica del modello, model, contiene la rappresentazione XML del modello, basata sulla definizione del meta-modello. Scegliere File-New-New UMC Diagram per creare un nuovo statechart. Ogni file rappresenta un singolo statechart. Fig. 1. Creare un nuovo statechart UMC Creare il modello utilizzando gli elementi nella paletta a destra dell editor. In seguito viene data una breve descrizione sul significato degli elementi.

A.3 Componenti dell editor Questa sezione descrive il modo in cui i componenti della grammatica UMC sono rappresentati nell editor grafico. Class: un singolo file nel progetto rappresenta una singola classe nel modello (Figura 1). InitialState, State, FinalState Fig. 2. InitialState, State, FinalState Composite Sequential State Fig. 3. Composite Sequential State

Parallel State Fig. 4. Parallel State Transition Fig. 5. Transition

Variables Fig. 6. Variables Nella figura seguente viene mostrato un esempio semplice di un statechart diagram UMC. UMC Statechart Diagram Fig. 7. UMC Statechart Diagram

A.4 Lista degli oggetti Oltre alle classi si deve creare anche una lista di oggetti. (Un istanza di input per il model checker UMC deve specificare anche una lista di oggetti. Per approfondimenti si invita la lettura del manuale di riferimento.) Nella voce File del menu selezionare New-New Object List. Nella finestra aperta, scegliere il progetto di destinazione del nuovo file da creare e premere OK. Il file si trova nella directory diagram del progetto selezionato e ha l estensione.objectlist. A.5 Generazione del codice Una volta definito il modello grafico si può procedere con la generazione del codice testuale che, a sua volta, può essere utilizzato come input per il model checker UMC. Inizialmente si esegue la generazione in codice testuale delle singole classi. Aprire il diagramma della classe per la quale si vuole avere il codice testuale: nel menu principale scegliere Model - Generate Text File. Dopo l esecuzione del comando il nuovo file.umc è disponibile nella cartella generated. Fig. 8. Generazione del codice Un file nel progetto rappresenta una singola classe nel modello. Per creare il file testuale finale contenenti tutte le classi create, includendo anche la lista degli oggetti, si procede come segue: nel menu Model scegliere la voce Generate Final Text File, nella nuova finestra aperta selezionare il progetto per il quale si vuol avere il file testuale finale generato e premere OK. Se la generazione è andata a buon fine il file generatedfinal.umc deve essere disponibile nella cartella generated del progetto selezionato.

A.6 Verifica della correttezza del modello L editor gestisce gli errori sul modello in due modi: utilizzando la voce Validate nella sezione Diagram del menu, Fig. 9. validazione del modello se la generazione del codice non andata a buon fine una lista con gli errori viene visualizzata nella parte bassa del layout grafico dell editor. Fig. 10. Errori

A.7 Importazione e trasformazione di modelli UML StatechartUMC offre la possibilità di importare un statechart UML creato con Magic Draw. Nel menu Model scegliere la voce Import MagicDraw UML State Machine, nella finestra aperta scegliere il file.uml per il quale generare il corrispondente file.umc model. Fig. 11. MagicDraw UML statechart Dopo l esecuzione del comando una nuova finestra elenca tutti i file.umc model generati dalla trasformazione. Da notare che un file.uml può contenere diverse istanze di statecharts UML. Da questa procedura si ottiene solo la definizione del statechart UMC. Per ottenere anche il diagramma seguire i passi seguenti: nel menu File scegliere la voce Initialize UMC statechart diagram, selezionare il file.umc model e premere Finish. Nella schermata principale verrà visualizata la rappresentazione grafica del modello scelto.