AppliDE : modélisation et génération d applications pour smartphones

Documents pareils
Générer du code à partir d une description de haut niveau

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Maîtrisez la modernisation de votre patrimoine applicatif

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

LA MOBILITE : ACTEURS, OUTILS,

Projet de développement

Environnements de développement (intégrés)

Recommandations techniques

Point sur les solutions de développement d apps pour les périphériques mobiles

Optimiser pour les appareils mobiles

Stage Ingénieur en développement logiciel/modélisation 3D

Une méthode d apprentissage pour la composition de services web

TD/TP 1 Introduction au SDK d Android

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6

MOBILE BANKING. Accès à vos opérations bancaires avec «BL Mobile Banking»

Avanade et Xamarin : la voie rapide vers la réussite mobile.

Installation et prise en main

Xavier Costa. «Write once, run anywhere»

SOMMAIRE. 3. Comment Faire? Description détaillée des étapes de configuration en fonction du logiciel de messagerie... 3

Formation WinDev Mobile

Eclipse Process Framework et Telelogic Harmony/ITSW

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Dafoe Présentation de la plate-forme UIMA

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Vérifier la qualité de vos applications logicielle de manière continue

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Avant-propos Certificats et provisioning profiles

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Nathalie REY DIPLOMES UNIVERSITAIRES

Forthcoming Database

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

ED STIC - Proposition de Sujets de Thèse. pour la campagne d'allocation de thèses 2013

Spétechs Mobile. Octobre 2013

Device Management Premium & Samsung Knox

Les Architectures Orientées Services (SOA)

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

ThinkMobile. Mobile & Tablets Consulting. Android Agile R&D Blackberry Multiplatform Windows Phone Massive Downloads Marketing Appstores

Vers l urbanisation agile d un client mobile ios/android natif, économique, flexible et pérenne

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Présentation de l entreprise :

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Drive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas»

Tivoli Endpoint Manager Introduction IBM Corporation

WINDOWS Remote Desktop & Application publishing facile!

Mise en œuvre des serveurs d application

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Relions les hommes à l entreprise Linking people to companies

Bitdefender GravityZone

CATALOGUE DES FORMATIONS LANGUES

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Un environnement de déploiement automatique pour les applications à base de composants

Réflexion sur la mise en place d'un système mobile d'aide à la navigation destiné aux services d'urgence basée sur une solution libre.

Fidéliser les collaborateurs tout en améliorant leurs compétences

Le programme de formation continue à distance des professionnels de l information en Tunisie

Introduction du test dans la modélisation par aspects

EXALOGIC ELASTIC CLOUD MANAGEMENT

SharePoint 2013 Développez en.net pour personnaliser SharePoint (Apps, REST, CSOM et Azure)

IBM Endpoint Manager for Mobile Devices

AJOUTER UN COMPTE DE MESSAGERIE SUR UN SMARTPHONE

Utilisation de l ingénierie des modèles pour la conception collaborative de produits mécaniques

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

Offres de stages 2011/2012

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Oracle WebLogic Server Standard Edition

Catalogue Formations Jalios

A / BIOGRAPHY : Doctorat en Sciences Economiques et de Gestion (Ph.D.), Louvain School of Management Université catholique de Louvain

Présentation de l entreprise. et de son innovation

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

Génie logiciel (Un aperçu)

MF-Test. Les tests de non-régression de vos applications mainframe

Page : N 1. Guide utilisateur Ma Banque

Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o

Cours en ligne Développement Java pour le web

A DISTANCE : BANQUE and Je VeUX, où Je VeUX. tions QU Mes opéra

Bourses d excellence pour les masters orientés vers la recherche

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

LoggerNet 4.0. Logiciels pour centrales de mesure

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Windows Phone conçu pour les entreprises.

Discussion et implémentation dans un dispositif de scénarisation, d une évaluation diagnostique de l apprenant

Environnement Zebra Link-OS version 2.0

Agile&:&de&quoi&s agit0il&?&

Élasticité des applications à base de services dans le Cloud

MailStore Server 7 Caractéristiques techniques

Vulgarisation Java EE Java EE, c est quoi?

Les Systèmes d Information Géographique dans l Entreprise

Transcription:

AppliDE : modélisation et génération d applications pour smartphones Principes d une Ligne de Produits Logiciels pour applications mobiles Clément Quinton Christophe Demarey Nicolas Dolet Laurence Duchien Equipe-Projet INRIA ADAM, Université Lille 1, LIFL UMR CNRS 8022 INRIA Lille - Nord Europe 40 Avenue Halley - Park Plaza - Bât A 59 650 Villeneuve d Ascq prenom.nom@inria.fr RÉSUMÉ. Le développement d applications pour téléphones intelligents s est complexifié avec l arrivée de nouvelles plates-formes. Cet article explique comment réaliser une application pour terminaux mobiles en utilisant des Lignes de Produits Logiciels (LPL). Les LPL permettent de concevoir et développer une famille de produits logiciels qui prend en compte des facteurs de variation tout en minimisant les coûts et les temps de réalisation. Nous introduisons le cadre logiciel APPLIDE, qui réalise des LPL pour téléphones intelligents avant d exposer son fonctionnement au cours d une démonstration. ABSTRACT. The availability of new mobile platforms has made the development of smartphone applications more complicated. This paper explains how to develop an application for mobile devices using Software Product Lines (SPL). Considering variation factors, SPL allows the conception and the development of a software products family minimizing realization cost and time. We present the APPLIDE framework, which provides SPL for smartphones, and we show how it works with a short demonstration. MOTS-CLÉS : Ligne de Produits Logiciels, Ingénierie Dirigée par les Modèles, métamodèle, gabarits, génération de code, téléphones intelligents. KEYWORDS: Software Product Line, Model-Driven Engineering, meta-model, templates, code generation, smartphones.

1. Introduction L arrivée des téléphones intelligents (en anglais smartphones) sur le marché de la téléphonie mobile a ouvert de nouvelles perspectives à leurs utilisateurs. En effet, ces smartphones doivent leur succès aux nombreuses applications qu ils proposent. A l origine réservées au seul iphone, elles sont aujourd hui accessibles sur l ensemble de ces terminaux mobiles via des places de marché. Pour toucher un plus large public, l application développée doit être disponible au plus tôt pour un maximum de smartphones, quel que soit leur système d exploitation (iphone, Android, Windows Phone 7 ou autre). Mais comment développer et déployer rapidement une application sur des environnements aussi hétérogènes? Cet article propose une solution qui repose à la fois sur les principes des Lignes de Produits Logiciels (LPL) et sur l Ingénierie Dirigée par les Modèles (IDM) et qui est réalisée dans le cadre logiciel APPLIDE. 2. AppliDE Les LPL permettent de définir des produits logiciels à partir de diagrammes de caractéristiques (en anglais features). La sélection des features permet de dériver des produits ayant des caractéristiques communes et appartenant à un même domaine (Kang et al., 1990, Pohl et al., 2005). Les produits obtenus sont sensiblement différents les uns des autres : on parle alors de variabilité. Notre proposition, APPLIDE, permet d automatiser la dérivation d applications pour différentes plates-formes cibles à partir d un même modèle. La variabilité se retrouve dans les exigences fonctionnelles et non fonctionnelles requises par l application mais également au niveau de l environnement technique de celle-ci, chaque plate-forme possédant son propre langage de développement 1. Pour le déployer sur différentes plates-formes d exécutions, nous nous baserons sur les techniques de l IDM en proposant des générateurs personnalisés vers ces plates-formes. Le métamodèle d APPLIDE capture les concepts permettant de choisir (i) les fonctionnalités souhaitées au sein de l application (envoi de mail, de SMS, activation du GPS), (ii) les différentes sources de données requises (fichier, Web Service ou base de données) et (iii) les éléments graphiques utilisés (vues sous forme de listes, boutons, labels, champs de saisie). Le développeur sélectionne les éléments souhaités et modélise donc l application sans se soucier de la plate-forme sur laquelle elle sera déployée. Les fichiers sources de l application finale, propres à chaque plateforme cible, sont ensuite obtenus en exécutant les générateurs de code d APPLIDE. Cas d utilisation typique de l IDM et des transformations, APPLIDE peut facilement être étendu afin de supporter une nouvelle plate-forme cible, en ajoutant de nouveaux générateurs. Sous forme de gabarits de génération, ceux-ci ont un faible coût de mise en place et de maintenance. L utilisation d APPLIDE permet ainsi de minimiser les coûts et les temps de réalisation. A partir d un même modèle, on obtient le code source natif des n plates-formes cibles, là où un processus de développement classique requiert n développements dans n langages différents. 1. L extraction d un diagramme de features à partir de l implémentation d APPLIDE est en cours pour supporter de futurs raisonnements.

3. Travaux connexes T. Young, quant à lui, a développé dans ses travaux une LPL pour mobiles J2ME en utilisant les techniques de la Programmation Orientée Aspects (Young, 2005). Dans le contexte industriel, les sociétés Mobile Distillery 2 ou Neomades 3 proposent chacune un outil permettant le portage d applications mobiles développées en JavaME vers d autres plates-formes. D autres cadres logiciels, comme par exemple Appcelerator 4, Tino 5 ou PhoneGap 6, traduisent du code HTML et JavaScript en code source iphone ou Android. Par notre approche, APPLIDE est indépendant du langage de programmation mais également de la plate-forme cible. 4. Conclusion Dans cet article, nous avons montré comment l Ingénierie Dirigée par les Modèles peut supporter l implémentation d une Ligne de Produits Logiciels dédiée au développement d applications pour smartphones. Dans la continuité de ce travail, la prise en compte des informations proposées par les capteurs de ces smartphones permet d envisager une adaptation à l exécution de ces applications. Les travaux de l équipe ADAM avec la thèse de Carlos Parra (Parra, 2011) vont dans ce sens avec en particulier le projet FUI CAPPUCINO 7 qui vise à concevoir, déployer et exécuter des applications mobiles sensibles au contexte et capables de s adapter dynamiquement en fonction des services disponibles. 5. Bibliographie Kang K. C., Cohen S. G., Hess J. A., Novak W. E., Peterson A. S., Feature-Oriented Domain Analysis (FODA) Feasibility Study, Technical report, Carnegie-Mellon University Software Engineering Institute, November, 1990. Parra C., Towards Dynamic Software Product Lines : Unifying Design and Runtime Adaptations, Thèse de doctorat, INRIA - Université Lille 1, France, 2011. Pohl K., Böckle G., Linden F. J. v. d., Software Product Line Engineering : Foundations, Principles and Techniques, Springer-Verlag, 2005. Young T., Using AspectJ to Build a Software Product Line for Mobile Devices, Master s thesis, University of British Columbia, Vancouver, Canada, 2005. 2. Mobile Distillery :http ://www.mobile-distillery.com 3. Neomades :http ://www.neomades.com 4. Appcelerator :http ://www.appcelerator.com 5. Tino :http ://www.tinomobile.com/index.php 6. PhoneGap :http ://www.phonegap.com 7. CAPPUCINO :http ://www.cappucino.fr

Remerciements Ce travail a été soutenu par le Ministère Français de l Education Nationale et de la Recherche, le Conseil Régional du Nord-Pas de Calais et le FEDER via le Contrat de Projets Etat Region (CPER) 2007-2013. APPENDIX A. Démonstration Afin d illustrer notre approche, nous avons réalisé une étude de cas en développant une application mobile pour iphone et Android. Cette application, inspirée des outils de Gestion de la Relation Client (GRC), offre les fonctionnalités suivantes : (i) connexion au serveur, (ii) affichage de la liste des clients en fonction du profil identifié, (iii) détail d un client et (iv) possibilité de le contacter par mail, sms ou appel et de le localiser sur une carte. La démonstration est décomposée en trois phases : une phase de sélection et de modélisation, une phase de génération de code et une phase de déploiement (Figure 1). Figure 1. Processus de développement avec APPLIDE. Phase 1, sélection des features, composition et modélisation de l application. En utilisant les outils d Eclipse Modeling Framework (EMF), nous créons un modèle auquel nous ajoutons tous les éléments nécessaires à son bon fonctionnement : source de données requise (un Web Service fournissant les opérations de connexion et de récupération de la liste des clients), objets métiers manipulés (objet Client) et les différentes vues (écran de connexion, liste des clients, détail d un client, établissement d un devis) de l interface graphique (Figure 2).

Figure 2. Application GRC, écran de connexion sur Android et iphone. Phase 2, génération de code. Les générateurs de code ont été développés sous la forme de gabarits Acceleo. Dans le cadre de cette démonstration, ce sont près de 1500 lignes de code qui sont générées. Après l avoir modélisée et générée, l application est entièrement fonctionnelle et n a nécessité aucun ajout en termes de développement. Phase 3, déploiement. Les fichiers source natifs générés (Objective-C pour iphone, Java pour Android) sont exportés afin d être utilisés dans leur projet respectif. Chaque projet est ensuite compilé et exécuté dans son environnement de développement dédié. Les applications peuvent enfin être déployées sur les terminaux mobiles. L application a également été testée sur ipad et fonctionne parfaitement. Avec la LPL d APPLIDE, elle pourrait facilement être portée sur d autres plates-formes (Windows Mobile 7, Bada, Palm) à condition d incorporer les générateurs de code correspondant dans la LPL.