Multi-platform mobile development has never been as relevant as it is today. Every year, markets are flood with new and more powerful mobile devices, that pack several sensors, allow for richer user interactions, and run one of several operating systems. This scenario has put software developers in a troublesome situation, in which several versions of the same application — one for each major mobile platform – has to be developed, tested and supported. To partially address this problem, an entire ecosystem of multi-platform development tools has appeared, promising to help developers reduce the overhead caused by the implementation of a cross-platform application. Even though these solutions operate under different assumptions and use different levels of abstraction, they ultimately require developers to program using an intermediate programming language, which is later transformed into its native equivalent, or run within a constraint environment, like a web browser. Developers, however, have fewer options in the modeling world. With the recent adoption by the Object Management Group (OMG) of a new standard \cite{ifml-standard} an opportunity for a Model Driven solution has arisen. The standard introduces the Interaction Flow Modeling Language or IFML, which can be used in tandem with UML, to describe the fundamental aspects of modern mobile, web and desktop applications. In this way, a set of code generators — one for each major mobile platform – could be developed, to transform the IFML and UML models of an application, into their native equivalents. A solution like this will benefit from the advantages offered by a Model Driven approach, allowing developers to focus in the design of the differential aspects of their applications, instead of having to worry about the implementation details. To approach this Model Driven solution, our project focuses in the development of iOS applications with IFML, through the development of a code generation tool. Additionally, building on the experience and knowledge gathered in the generation process, we propose a set of extensions for the IFML metamodel, that aim to broaden the scope and modeling capabilities of the language.

Lo sviluppo delle applicazioni mobili multi-piattaforma non aveva avuto la rilevanza che ha nella attualità. Oggi anno il mercato offre nuovi e più potenti dispositivi mobili con un numero importante di sensori che arricchiscono l’interazione con l’usuario e che si eseguono in un ampio numero di sistemi operativi. Questo scenario a lasciato gli sviluppatori in una situazione un poco problematica, richiedendo un esteso numero di versioni di una stessa applicazione – una per oggi principale piattaforma mobile. Per affrontare parzialmente questa problematica e aiutare gli sviluppatori, è apparso un intero ecosistema di strumenti, che promettono ridurre il lavoro addizionale nella implementazione di una applicazione per diverse piattaforme. Queste soluzioni vengono svolte sotto diverse assunzioni e usano diversi livelli di astrazione. Nonostante, lo sviluppo richiede in definitiva l’utilizzo di un linguaggio intermedio che successivamente sarà trasformato nel linguaggio nativo equivalente o eseguito in un ambiente vincolato come un web browser. Gli sviluppatori, tuttavia, hanno altre opzioni dentro il mondo della modellazione. Con la recente adozione di un nuovo standard \cite{ifml-standard}, da parte del Object Management Group (OMG), è sorta una opportunità per le soluzioni Model Driven. Questo standard introduce il Interaction Flow Modeling Language o IFML che può essere utilizzato di pari passo con UML per descrivere gli aspetti fondamentali delle applicazioni mobili. In questo modo una serie di generatori di codice – uno per oggi grande piattaforma mobile – potrebbe essere sviluppato per trasformare i modelli IFML e UML di una applicazione, nei loro codice nativo equivalente. Una soluzione come questa si beneficia dei vantaggi offerti da un approccio Model Driven, permettendo agli sviluppatori di concentrarsi nella progettazione degli aspetti delle loro applicazioni, invece di doversi preoccupare dei dettagli d'implementazione. Per affrontare la soluzione Model Driven, il nostro progetto si concentra nella realizzazione d’applicazioni per iOS con IFML, attraverso lo sviluppo di uno strumento per la generazione di codice. Inoltre, basandoci sull'esperienza e le conoscenze riuniti nel processo di generazione, proponiamo una serie di estensioni per il metamodello di IFML, che mirano ad ampliare gli scopi e la capacità di modellazione del linguaggio.

Model driven development of iOS apps with IFML

ACERO SALAZAR, FELIX JAVIER
2013/2014

Abstract

Multi-platform mobile development has never been as relevant as it is today. Every year, markets are flood with new and more powerful mobile devices, that pack several sensors, allow for richer user interactions, and run one of several operating systems. This scenario has put software developers in a troublesome situation, in which several versions of the same application — one for each major mobile platform – has to be developed, tested and supported. To partially address this problem, an entire ecosystem of multi-platform development tools has appeared, promising to help developers reduce the overhead caused by the implementation of a cross-platform application. Even though these solutions operate under different assumptions and use different levels of abstraction, they ultimately require developers to program using an intermediate programming language, which is later transformed into its native equivalent, or run within a constraint environment, like a web browser. Developers, however, have fewer options in the modeling world. With the recent adoption by the Object Management Group (OMG) of a new standard \cite{ifml-standard} an opportunity for a Model Driven solution has arisen. The standard introduces the Interaction Flow Modeling Language or IFML, which can be used in tandem with UML, to describe the fundamental aspects of modern mobile, web and desktop applications. In this way, a set of code generators — one for each major mobile platform – could be developed, to transform the IFML and UML models of an application, into their native equivalents. A solution like this will benefit from the advantages offered by a Model Driven approach, allowing developers to focus in the design of the differential aspects of their applications, instead of having to worry about the implementation details. To approach this Model Driven solution, our project focuses in the development of iOS applications with IFML, through the development of a code generation tool. Additionally, building on the experience and knowledge gathered in the generation process, we propose a set of extensions for the IFML metamodel, that aim to broaden the scope and modeling capabilities of the language.
ING - Scuola di Ingegneria Industriale e dell'Informazione
19-dic-2014
2013/2014
Lo sviluppo delle applicazioni mobili multi-piattaforma non aveva avuto la rilevanza che ha nella attualità. Oggi anno il mercato offre nuovi e più potenti dispositivi mobili con un numero importante di sensori che arricchiscono l’interazione con l’usuario e che si eseguono in un ampio numero di sistemi operativi. Questo scenario a lasciato gli sviluppatori in una situazione un poco problematica, richiedendo un esteso numero di versioni di una stessa applicazione – una per oggi principale piattaforma mobile. Per affrontare parzialmente questa problematica e aiutare gli sviluppatori, è apparso un intero ecosistema di strumenti, che promettono ridurre il lavoro addizionale nella implementazione di una applicazione per diverse piattaforme. Queste soluzioni vengono svolte sotto diverse assunzioni e usano diversi livelli di astrazione. Nonostante, lo sviluppo richiede in definitiva l’utilizzo di un linguaggio intermedio che successivamente sarà trasformato nel linguaggio nativo equivalente o eseguito in un ambiente vincolato come un web browser. Gli sviluppatori, tuttavia, hanno altre opzioni dentro il mondo della modellazione. Con la recente adozione di un nuovo standard \cite{ifml-standard}, da parte del Object Management Group (OMG), è sorta una opportunità per le soluzioni Model Driven. Questo standard introduce il Interaction Flow Modeling Language o IFML che può essere utilizzato di pari passo con UML per descrivere gli aspetti fondamentali delle applicazioni mobili. In questo modo una serie di generatori di codice – uno per oggi grande piattaforma mobile – potrebbe essere sviluppato per trasformare i modelli IFML e UML di una applicazione, nei loro codice nativo equivalente. Una soluzione come questa si beneficia dei vantaggi offerti da un approccio Model Driven, permettendo agli sviluppatori di concentrarsi nella progettazione degli aspetti delle loro applicazioni, invece di doversi preoccupare dei dettagli d'implementazione. Per affrontare la soluzione Model Driven, il nostro progetto si concentra nella realizzazione d’applicazioni per iOS con IFML, attraverso lo sviluppo di uno strumento per la generazione di codice. Inoltre, basandoci sull'esperienza e le conoscenze riuniti nel processo di generazione, proponiamo una serie di estensioni per il metamodello di IFML, che mirano ad ampliare gli scopi e la capacità di modellazione del linguaggio.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2014_12_Acero.pdf

Open Access dal 26/11/2015

Descrizione: Testo della tesi
Dimensione 2.14 MB
Formato Adobe PDF
2.14 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/101444