Modelli per il Reverse Engineering delle applicazioni Flash

Documenti analoghi
UML I diagrammi implementativi

Confronto tra strumenti e tecniche per il Reverse Engineering in Macromedia Flash e Microsoft Silverlight

Sviluppo e integrazione di strumenti a supporto del reverse engineering di applicazioni flash

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Corso di formazione ambientale Introduzione all utilizzo dei modelli previsionali per la valutazione dei livelli di campo elettromagnetico

Guida Utente. Come utilizzare lo strumento e-learning e fruire dei corsi on line

Uno strumento per la valutazione dell'accessibilità e della sicurezza negli edifici

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

RELAZIONE LA RELAZIONE SCOPO DELLA RELAZIONE FRONTESPIZIO INDICE PREMESSA CONCLUSIONI ARGOMENTI ESEMPI ELABORATI STUDENTI

Manuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit

I database. Introduzione alla teoria delle basi di dati

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software.

Distribuzioni campionarie. Antonello Maruotti

APPENDICE - Pratiche di radiazione Polo ACI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Alcune idee sui sistemi software e la loro architettura

TERNA SRM- Aste On Line Manuale Fornitore

LE TEORIE DELL ASSISTENZA INFERMIERISTICA

Manuale Pubblicazione esito di gara/affidamento diretto svolti al di fuori del sistema SICP

Strumenti per l automazione del testing di applicazioni web Javascript-based

Il modulo per la gestione dei contenuti web. AiP-CMS by Atena Informatica

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

Nota informativa. per l abilitazione del Responsabile di Convenzione. tramite Siatel e Siatel v2-puntofisco

Fattura Elettronica e Piattaforma Certificazione dei Crediti (PCC).

Valutazione del personale

Corso di Informatica

Normalizzazione. Definizione

Modulo 2 Data Base - Modello Relazionale

Manuale Utente CMMG Corso Medici Medicina Generale

Javascript e CSS nelle pagine WEB

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II. Laurea Magistrale in Ingegneria per l Ambiente e il Territorio

Anno Accademico 2007/2008

Introduzione alle macchine a stati (non definitivo)

Guida per l'installazione del certificato aggiornato della CA Intermedia per i certificati individuali di classe 2 di Trust Italia

Guida Compilazione Questionario SCUOLA DELL INFANZIA PARITARIA

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

PowerPoint passo dopo passo (step by step) Step 1 Avvia PowerPoint. Step 2 Scegli il Layout. Step 3 Crea la prima diapositiva

Analisi Curve di Carico

Procedura operativa per la gestione della funzione di formazione classi prime

Progettazione logica

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Università degli Studi di Genova. Corso di Laurea in Ingegneria Elettronica

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Packet Tracer: simulare utility PING

PG-SGSL 03 Definizione degli obiettivi e dei programmi

TECNICO SUPERIORE PER IL RILIEVO ARCHITETTONICO

Oggetto: Utility per la variazione massiva del codice IVA.

Progetto di un Interruttore a Combinazione

Offerta prodotti IVA e IRAP

Fondamenti di Informatica

Guida Utilizzo GUIDA UTILIZZO SISTEMA PRESENTAZIONE DOMANDE SOSPENSIONE/RIDUZIONE FSBA

Università di Torino. Torino 20 Febbraio, 2004

Lezione 3 Progettazione di siti

DOCUMENTAZIONE WEB RAIN - ACCESSO CLIENTI

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

LAUREA SPECIALISTICA IN GIURISPRUDENZA

UNIVERSITÀ DEGLI STUDI DI TRIESTE

Cultura Tecnologica di Progetto

Manuale Sito Videotrend

GEOPORTALE Arpa Piemonte Sistema Informativo Ambientale Geografico

Fabbisogno Finanziario partite contabili aperte effetti a scadere le partite presunte le scadenze ricorrenti Fabbisogno Finanziario

REGOLAMENTO DEL REGISTRO DEGLI INSIDERS

Compilazione on-line del Piano di Studio

Steel&Graphics srl Via Cà Nova Zampieri 4/E San Giovanni Lupatoto VR Tel. 045/ Fax. 045/

Università degli Studi di Udine

Progetto. Sito internet per la valorizzazione dei progetti di educazione ambientale

ANALISI DI SEGNALI TEMPO VARIANTI

SCHEDA PROGETTO. 1.1 Denominazione progetto Indicare denominazione del progetto. 1.2 Responsabile del progetto Indicare il responsabile del progetto.

Manuale Accesso Enti Esterni

SCADENZA FASE VALORE ECONOMICO DATA. Scadenza 0 Avviamento Progetto ,00 02/12/2013. Scadenza 1 I SAL ,00 28/02/2014

L area pubblica è costituita da un portale informativo attraverso il quale è possibile effettuare la diffusione dell informazione.

Applicazione dei PLC nei servizi di trasporto e distribuzione dell energia. Pietro Zambon Omron Electronics

GUIDA PRATICA AL NUOVO

La programmazione in materia di difesa del suolo, della costa e bonifica: le pagine web in Ermes Ambiente

Guida all uso della piattorma elearning QUICKPLACE

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

12 Il mercato del lavoro dei politici

Comprendere come vengono prodotti i manufatti di uso comune. Capire la relazione tra le tecniche di produzione adottate e la qualità del prodotto

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Informatica per la grafica-modulo A_Grafica strumenti e tecniche 40. Informatica per la grafica-modulo C_Animazione per il multimediale 24

Geografia dell UE. Simone Bozzato

Sistema DANTE. Scheda prodotto SISTEMA DANTE

Rotary International Distretto 2040 Ge.Ro. - Gestionale Rotary

SETA Selection Tool del Sistema ARTIST

Aspettative e motivazioni degli utenti dei corsi di formazione del Comune di Milano: un indagine conoscitiva

Input/output in C e in C++

Magia? No! Semplicemente, siamo professionisti del settore della Visualizzazione e ci avvaliamo delle tecniche più innovative.

Relatore: Prof. Ferdinando Auricchio. Correlatore: Ing. Boatti Elisa, Ing. Marconi Stefania. Tesi di Laurea di: Andrea Bacchetta

NUVOLA COMUNICAZIONI

Linguaggio C: introduzione

L IPERTESTO E LA POESIA

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

CONTROLLI AUTOMATICI Ingegneria della Gestione Industriale e della Integrazione di Impresa

Ridimensionamento Immagini

L impresa. Sistemi di governo valutazione e controllo. Costi - 6

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Al sistema lo studente accede tramite CODICE FISCALE e PIN (il PIN viene attribuito dalla Segreteria Studenti ad immatricolazione avvenuta).

ISCRIZIONI E MAV ON-LINE

Modulo 17: Invio del BF tramite

Manutenzione periodica al PIANO DEI CONTI

Transcript:

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Modelli per il Reverse Engineering delle applicazioni Flash Anno Accademico 2005/2006 Relatore Ch.mo prof. Porfirio Tramontana candidato Vincenzo Guadagno Matr. 041/003408

Presentazione Outline Il Macromedia Flash, insieme al linguaggio ActionScript in esso contenuto, è una delle tecnologie maggiormente in ascesa in ambito tecnologico negli ultimi anni. Grazie alla sua interfaccia intuitiva ed alla sua semplicità di utilizzo, viene usato spesso anche da chi non è esperto di linguaggi di programmazione e di scripting. Non sono presenti attualmente in letteratura scientifica molti lavori riguardanti l analisi e l astrazione delle applicazioni Flash. Ed è questo il punto cruciale dal quale si è partiti per lo sviluppo dell elaborato che si sta per presentare. Si vuole infatti: Analizzare ed astrarre le Applicazioni Flash ad un livello di più alto di quello dell utilizzatore. Consentire la catalogazione degli elementi in esse contenuti. Permettere eventuali reingegnerizzazioni delle applicazioni stesse. 2

Macromedia Flash per il web Il Macromedia Flash attualmente viene utilizzato soprattutto nell'ambito della costruzione di pagine web. Sempre più spesso, infatti, durante la navigazione, ci si imbatte in siti: interamente realizzati tramite questa tecnologia; che contengano come contenuti speciali delle animazioni Flash. La crescita in questo campo è stata così rapida che tutti i principali browser hanno installati al proprio interno dei plug-in in grado di leggere le animazioni inserite nelle pagine web. 3

Letteratura delle applicazioni Flash Nonostante l enorme sviluppo, non sono presenti ad oggi, documenti che riconoscano le applicazioni Flash quali oggetti con una propria autonomia ed una loro struttura interna. Nella letteratura esistente si fa riferimento ad un applicazione Flash come un semplice oggetto contenuto in una pagina web. Pagina web <embed src=. swf > Flash Object Questa situazione risulta un handicap per una tecnologia in forte ascesa, che vive indipendentemente dal contesto in cui la si pone e merita, senz altro, un analisi più accurata ed approfondita. 4

Contesto delle web applications (1) Il modello di Conallen Il modello UML che si vuole realizzare colloca le F.A. in un contesto ben delineato nel campo delle web applications, detto modello di Conallen. Nella pubblicazione di questa teoria, Conallen ha utilizzato alcuni meccanismi di estensione di UML al fine di poter avere a disposizione strumenti per modellare i vari componenti relativi alle pagine web, i collegamenti tra esse ed il loro contenuto dinamico. Ciò che ha proposto è riportato di seguito: 5

Contesto delle web applications (2) UML for Flash Una sfida è stata da qualche anno lanciata da alcuni ricercatori, i quali, sulla base del modello di Conallen, hanno pensato di estendere il tutto alle applicazioni Macromedia Flash. Il Flash Player è inteso come un Browser aggiuntivo che consente la visualizzazione dell animazione. La Flash Movie è l animazione vera e propria, che comunica con il classico Web Browser e possiede all interno una serie di Movie Clip, anche loro in grado di comunicare eventualmente tra loro. 6

Contesto delle web applications (3) Il precedente tentativo di estendere il modello di Conallen alle applicazioni Flash non è mai stato portato a termine, poiché è risultato difficile creare un modello per le applicazioni ed interfacciarlo effettivamente. Nel precedente modello è mostrata solo la parte dinamica di un applicazione, collegando solo Movie Clips alla Flash Movie La divisione tra Flash player e browser web non ha senso. Il nostro obiettivo è creare un metamodello generale per le Applicazioni Flash 7

Obiettivo Ciò che si vuole realizzare è un approfondimento di tutto quanto legato alla realtà delle applicazioni Flash, che abbia, come fine ultimo, la realizzazione di un modello Orientato agli Oggetti (OO) di più alto livello, il quale evidenzi i legami tra gli elementi di una Flash Application e qualsiasi altro oggetto esterno all applicazione. Punto di partenza Pagina web con animazione flash all interno Conoscenza del Flash e dell AS Reverse Engineering Processi di estrazione e di astrazione Obiettivo MODELLO OO 8

Metodologia adottata La strategia che verrà adottata per il raggiungimento degli obiettivi è quella del Reverse Engineering, secondo il paradigma Goals Models Tools. Goals Goals: Si fissano gli obiettivi da raggiungere mediante RE. Modello OO Models: Si fissa una strategia e si decide effettivamente quali documenti realizzare. Models Meta-modello UML Tools: Si producono gli strumenti necessari per perseguire gli obiettivi. Tools Flash Decompiler 9

Prima fase: estrazione dei dati Per giungere al meta-modello proposto, la prima fase è quella relativa all estrazione delle informazioni da una generica applicazione Flash. Per tale processo si è usato il Flash Decompiler: File Shockwave Flash Decompiler Dati dell animazione correlati e divisi in cartelle Tra le cartelle più significative che vengono restituite dal decompiler annoveriamo: TEXT BUTTON SCRIPT FRAME SHAPE IMAGE SPRITE SOUND 10

Seconda fase: Astrazione del meta-modello (1) Dalle informazioni estratte dal Flash Decompiler è possibile ricavare che una generica applicazione Flash è costituita dai seguenti elementi: Per ognuno di tali elementi sarà costruita una classe UML e verranno ricercate le relazioni tra le varie classi, in modo da ottenere un Class Diagram generale rappresentante l animazione Flash nel suo complesso. 11

Seconda fase: Astrazione del meta-modello (2) Prime tre classi individuate La classe Flash Movie rappresenta l animazione nel suo complesso. La classe Frame rappresenta il generico fotogramma, la fotografia dell animazione in un preciso istante. La classe Text contiene testi statici che è possibile apporre allo stage di lavoro. 12

Seconda fase: Astrazione del meta-modello (3) La gerarchia della classe Object Il linguaggio ActionScript definisce una serie di classi, dette ActionScript classes, ognuna delle quali rappresenta una tipologia di elemento (o effetto) che possiamo ritrovare nell applicazione. Possiamo astrarre da una classe ActionScript padre (la classe Object), una serie di classi figlie, ognuna contenente attributi e metodi specifici. Per ogni classe ActionScript definiremo una classe UML. 13

Seconda fase: Astrazione del meta-modello (4) E possibile associare le azioni più disparate ad un qualunque oggetto dell animazione, raccolte dal decompilatore in un unico script. All interno di un oggetto di tipo Script AS possono essere definite funzioni e classi, nonché inclusi file ActionScript esterni. La classe Script AS La classe EvHand, rappresenta un event handler method definito dal progettista 14

Seconda fase: Astrazione del meta-modello (5) Class Diagram Il Class Diagram generale di un applicazione Flash si ottiene mettendo insieme i diagrammi presentati nelle precedenti slides secondo le seguenti considerazioni. Non è possibile che esistano un pulsante, un movie clip, o un immagine senza almeno un frame che li contenga. Ad ogni oggetto della classe Frame o di qualunque altra classe ActionScript è possibile associare uno script e, quindi, un istanza della classe Script AS. 15

Estensione proposta del Modello di Conallen From Conallen Model All atto del lancio di una pagina web contenente un animazione Flash, da un lato si crea la pagina web, dall altro, tramite il plug-in Flash interno del browser, si fa partire l animazione. All interno dell animazione tutti gli oggetti si dispongono nel modo giusto secondo le relative relazioni di contenimento. 16

Casi di studio Si è applicato il meta-modello elaborato allo studio di due specifiche applicazioni Flash: Una pagina web completamente realizzata in Flash, quale la home page del sito www.sepsa.it Un semplice videogioco 17

Un primo caso di studio (1) Estrazione delle informazioni Applichiamo il Flash Decompiler al sito www.sepsa.it. Il decompilatore individua: 97 oggetti di tipo Shape; 9 immagini; nessun morph o video; 1 oggetto di tipo Sound; 106 oggetti di tipo Text; 16 Buttons; 14 Frames; 13 Sprites; 27 oggetti di tipo Script. 18

Un primo caso di studio (2) Astrazione Object Diagrams L animazione esaminata è composta da quattordici frames, per ognuno dei quali è stato costruito un Object Diagram di dettaglio, come quello presentato in figura, relativo al Frame 2 19

Un primo caso di studio (3) Astrazione Activity Diagram Nella figura successiva è mostrata in maggiore dettaglio la sequenza nella riproduzione dei frames. 20

Un primo caso di studio (4) Astrazione Sequence Diagrams Mediante i Sequence Diagrams si vuole mostrare come può cambiare lo scenario temporale in funzione di ciò che il progettista decide sulla base di due fattori: 1. come eventualmente egli stesso costruisce l animazione; 2. come l utente può comandarla nel caso in cui gli venga data libertà in questo senso. Click di un pulsante che richiede una pagina web 21

Un ulteriore caso di studio (1) Estrazione delle informazioni Applichiamo il Flash Decompiler all applicazione labirinto.swf. Il decompilatore individua: 10 oggetti di tipo Shape; 1 immagine; nessun morph, sound o video; 1 oggetto di tipo Text; 83 Buttons; 82 Frames; 1 Sprite; 166 oggetti di tipo Script. 22

Un ulteriore caso di studio (2) Astrazione Object Diagrams L animazione esaminata è composta da 82 frames, per ognuno dei quali può essere costruito un Object Diagram di dettaglio, come quello presentato in figura, relativo al Frame 2 23

Un ulteriore caso di studio (3) Astrazione Sequence Diagrams Per l applicazione esaminata esistono un numero molto elevato di possibili percorsi nel labirinto. Per ognuno di essi possiamo costruire un Sequence Diagram. Nel seguito ne presentiamo uno rappresentante una sequenza di mosse che ci porta ad un vicolo cieco. 24

Possibili estensioni future E possibile, infine, prevedere i possibili sviluppi futuri del lavoro illustrato in questa tesi. Nella costruzione del metamodello abbiamo supposto di poter estrarre dall animazione tutte le informazioni necessarie. Alcune le abbiamo ottenute col Flash Decompiler, ma, al fine di poter utilizzare appieno il metamodello elaborato, sono necessarie ulteriori informazioni non restituite dal decompilatore. Il passo successivo, quindi, è sicuramente quello di implementare dei tool che possano estrarre informazioni aggiuntive dell animazione e organizzarle al fine di inserirle, ad esempio, in un database. 25