Automated Generation of Platform-Variant Applications from - - PowerPoint PPT Presentation

automated generation of platform variant applications
SMART_READER_LITE
LIVE PREVIEW

Automated Generation of Platform-Variant Applications from - - PowerPoint PPT Presentation

Automated Generation of Platform-Variant Applications from Platform-Independent Models via Templates Nuno Amlio, Christian Glodt, Frederico Pinto, Pierre Kelsen University of Luxembourg Introduction Manual code development is expensive


slide-1
SLIDE 1

Automated Generation of Platform-Variant Applications from Platform-Independent Models via Templates

Nuno Amálio, Christian Glodt, Frederico Pinto, Pierre Kelsen University of Luxembourg

slide-2
SLIDE 2

Introduction

Manual code development is expensive Platform-diversity: need to support various platforms Not easy to focus on design within code- based development

slide-3
SLIDE 3

Talented people may be inspired to create novel applications, but only few have the time, energy and technical skill to dig into the intricacies of low-level programming…

slide-4
SLIDE 4

Model-Driven Development

Raise level of abstraction from code to models Sw development focused on design Reduce reliance on code experts

slide-5
SLIDE 5

Model-Centric approach

All platform-code generated from functional models (PIMs) Models are total: structure+behaviour Use of abstraction enables coverage of various platforms Early experimentation from models

slide-6
SLIDE 6

Our Approach

Product families described as PIMs Platform-specific artifacts generated from templates A catalogue of templates per platform

slide-7
SLIDE 7

Our Languages

To describe PIMS: visual language EP+OCL To describe Templates: FTL Both languages have formal semantics

slide-8
SLIDE 8

EP

EP structures models around classes Classes comprise events and properties Details of events described in OCL EP models divided into domains Domains represent different subject matters Domains are linked using bridges

slide-9
SLIDE 9

FTL (I)

Expresses templates of any target language Generation is based on substitutions We used a java implementation of FTL theory (integrated in Democles)

slide-10
SLIDE 10

FTL (II)

module JavaClassCat Class == public class 《ClName》{ 〚private 《propName》 : 《propTy》;〛 〚ClassMethod〛 }∎

slide-11
SLIDE 11

FTL (III)

public class Book { private title : String; private isbn : String; }

slide-12
SLIDE 12

Legend EP Modelling and platform-generation framework EP Modelling FTL Platform Mappings instantiation EP Model

  • f App X

FTL Catalogue for platform A FTL Catalogue for platform B

EP Model Mapping for platform A EP Model Mapping for platform B Platform A Code for App X Platform B Code for App X OCL Translators OCL Translator for language A OCL Translator for language B

definition component

Our Approach

slide-13
SLIDE 13

Running Example

Simple Library Browser

slide-14
SLIDE 14

FTL Template Catalogues

/ / Catalogue of FTL templates / / for the Android platform module AndroidCat import CoreJava import AndroidGUI import AndroidPersistence import JavaStringUtils import AndroidSupport Templates catalogue for the Android

slide-15
SLIDE 15

EP Model

slide-16
SLIDE 16

Demonstration…

slide-17
SLIDE 17

Evaluation (I)

From same EP PIM: generated code for iPhone and Android Platform application described in terms of abstract concepts Could be developed by non-platform experts

iPhone Android FTL Catalogue 1745 1661 Generated Code 7119 5702

slide-18
SLIDE 18

Conclusions (I)

EP Model is platform-independent Platform-specificity and variability hidden in templates catalogue Not everything describable in OCL Mapping EP Domain define generic events

slide-19
SLIDE 19

Conclusions (II)

FTL templates provide separate medium

  • ver which experts can express their

knowledge Use of EP models benefits usability. Templates not so easy to develop Platform catalogues are reusable assets living repository of knowledge

slide-20
SLIDE 20

Conclusions (III)

Use of EP enables formal model analysis event propagation and animation Experimentation of design decisions using generated code

slide-21
SLIDE 21

Future Work

Apply approach to larger case study Verification of EP models