Professional Documents
Culture Documents
tudiant : NGUYEN Van Tien Promotion 12 Superviseurs : HO Tuong Vinh, PhD NGO Van Hien, PhD
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Histoire de rvision
Date Le 3 janvier 2007 Le 16 mai 2007 Le 23 juillet 2007 Version 1.0 2.0 finale Description Rapport du premier semestre Rapport Initiale de deuxiem semestre Rapport final Auteur NGUYEN Van Tien NGUYEN Van Tien NGUYEN Van Tien
Page 2
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Sommaire
Introduction.......................................................................................................... 6 Travail thorique ................................................................................................... 7 2.1 Introduction gnrale du systme embarqu....................................................... 7 2.1.1 Dfinition du systme embarqu ................................................................. 7 2.1.2 Domaines dapplication .............................................................................. 7 2.1.3 Caractristiques principales ........................................................................ 7 2.2 Mthodes pour le dveloppement du logiciel ....................................................... 8 2.3 Mobile-D : une mthodologie pour le dveloppement des applications mobiles ......... 9 2.3.1 Introduction du Mobile-D ........................................................................... 9 2.3.2 Pourquoi Mobile-D est adapt mobile application....................................... 10 2.3.3 Mobile-D en dtail................................................................................... 11 2.3.3.1 Explore ................................................................................................. 12 2.3.3.2 Initialize ................................................................................................ 12 2.3.3.3 Productionize ......................................................................................... 13 2.3.3.4 Stabilize ................................................................................................ 14 2.3.3.5 System test & fix .................................................................................... 14 2.3.4 Evaluation de la mthode Mobile-D............................................................ 14 2.4 Technologies et outils pour le dveloppement des logiciels mobiles ...................... 15 2.4.1 Introduction gnrale .............................................................................. 15 2.4.2 Java 2 Micro Edition J2ME ........................................................................ 15 2.4.3 Microsoft Windows Embedded................................................................... 21 2.4.4 Les outils de dveloppement J2ME du march ............................................. 22 3 Travail pratique ................................................................................................... 23 3.1 Introduction de l'application pratique ............................................................... 23 3.2 Principe du fonction du systme ...................................................................... 23 3.3 Processus, technologies et outils choisis pour le dveloppement du systme.......... 24 3.4 Analyse et conception .................................................................................... 25 3.4.1 Cas dutilisation ...................................................................................... 26 3.4.2 Le diagramme de classe........................................................................... 26 3.4.3 Le diagramme de squence ...................................................................... 29 3.5 Implmentation ............................................................................................ 30 3.5.1 Introduction gnrale de programmation de Bluetooth en Java...................... 30 3.5.2 Programmation pour la communication entre tlphone portable et l'oridinateur 33 3.5.3 Programmation pour le contrle automatique de la souris ............................. 36 3.6 Test sur les simulateurs diffrents ................................................................... 36 3.7 Empaquetage et dploiement.......................................................................... 37 3.8 valuation du processus propos..................................................................... 37 4 Conclusion et perspective ..................................................................................... 39 Rfrence ................................................................................................................. 40 1 2
Page 3
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Liste de figures
Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 1 : Les phases de la mthode Mobile-D 2 : Les tapes de chaque phase de la mthode Mobile-D 3 : Les tapes du test du systme 4 : Architecture de J2ME 5 : Architecture de J2ME 6 : La bibliothque de J2ME 7 : Rsultat de program HelloWorld 8 : Principe de fonction du systme 9 : Processus utilis 10 : Cas dutilisation 11 : La diagramme de classe 12 : Les classes dans paquet computer 13 : Les classes dans paquet mobile 14 : Le diagramme de squence pour recherche des oridinateurs 15 :Le diagramme de squence pour contrle distance 16 :Le diagramme de squence pour lordinateur (serveur) 17 : Architecture de Bluetooth 18 : APIs de Bluetooth en architecture de J2ME 11 12 14 16 17 18 21 23 25 26 26 27 28 29 29 30 31 32
Page 4
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Liste de tableaux
Tableau Tableau Tableau Tableau Tableau Tableau Tableau Tableau Tableau 1 2 3 4 5 6 7 8 9 : : : : : : : : : Comparaison des mthodes agiles ................................................................. 8 Mobile-D et caractriques du dveloppement du logiciel mobile ........................ 10 Les tches de chaque tape de la phase Explore ............................................ 12 Les tches de chaque tape de la phase Initialze............................................ 13 Les tches de chaque tape de la phase Productionize .................................... 13 Les outils pour chaque tape ....................................................................... 24 Les outils de conception ............................................................................. 25 Java Bluetooth Development Kit .................................................................. 32 Le rsultat dest test ................................................................................... 37
Page 5
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
1 Introduction
Aujourd'hui, les appareils que nous utilisons dans notre vie quotidienne contiennent une quantit croissante de logiciel. Il s'agit d'appareils et de terminaux mobiles tels que des ordinateurs personnels ou PDA, des tlphones mobiles, les voitures, etc. Ces systmes ont des exigences spcifiques, comme la taille rduite de la mmoire, la ncessit de traiter certaines informations en temps rel, etc. Ce TPE a pour but de faire une tude sur les techniques et les outils ensuite le processus pour le dveloppement de ce type de systme. Dans le premier semestre, jai dj fini mon tude thorique sur le processus, les technologies et outils pour le dveloppement des applications sur systmes mobiles (en particulier sur tlphones mobiles). Dans deuxime semestre l, je construis une application relle en fonction dun processus laide de la technologie J2ME et les outils correspondants. Cest un systme qui permet de tlcommander un portable partir un quipement mobile. Le reste de ce rapport est organis comme suit. La deuxime partie prsente le travail thorique. La troisime partie prsente application relle que je construis. La fin, cest une conclusion et perspective.
Page 6
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
2 Travail thorique
2.1 Introduction gnrale du systme embarqu
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
galement que le problme de la scurit des systmes embarqus doivent tre rsolu. Dans ce TPE, je ne mintresse que une type de systme embarqu particulier qui est plus utilise dans la vie quotidienne, cest le tlphone portable. Les parties suivantes se concentrent donc sur le processus, la technologie et les outils pour le dveloppement des applications sur ce type de systme.
2.2
Actuellement, il existe plusieurs mthodes pour le dveloppement du logiciel. On sappelle les mthodes agiles. Cette partie a pour but de prsenter et de comparer ces mthodes. Les mthodes de dveloppement dites mthodes agiles visent rduire le cycle de vie du logiciel (donc acclrer son dveloppement) en dveloppant une version minimale, puis en intgrant les fonctionnalits par un processus itratif bas sur une coute client et des tests tout au long du cycle de dveloppement. L'origine des mthodes agiles est lie l'instabilit de l'environnement technologique et au fait que le client est souvent dans l'incapacit de dfinir ses besoins de manire exhaustive ds le dbut du projet. Le terme agile fait ainsi rfrence la capacit d'adaptation aux changements de contexte et aux modifications de spcifications intervenant pendant le processus de dveloppement. En 2001, 17 personnes mirent ainsi au point le manifeste agile dont la traduction est la suivante : * * * * individus et interactions plutt que processus et outils dveloppement logiciel plutt que documentation exhaustive collaboration avec le client plutt que ngociation contractuelle ouverture au changement plutt que suivi dun plan rigide
Grce aux mthodes agiles, le client est pilote part entire de son projet et obtient trs vite une premire mise en production de son logiciel. Le tableau suivant va comparer les mthodes agiles existantes. Tableau 1 : Comparaison des mthodes agiles Mthode RUP (Rational Unified Process) Points cls Modle complet du dveloppement de logiciel, inclut le soutien doutils. tche de rle conduite par activit. Caractristiques Modlisation daffaires, soutien doutils Imperfection RUP na aucune limitation dans le cadre dutilisation. Manque des description comment rduire, comment changer. Les pratiques individuelles sont bien adaptes dans plusieurs situations mais les pratiques de gestion et de vue gnral sont moins
P12 - IFI
XP (Extreme Programming)
Refectoring Devoir refaire conception du systme de faon continue pour amliorer sa performance et sa capacit de rponse aux changements.
Page 8
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
attentives. FDD (Feature Driven Development) Processus avec 5 tapes, dveloppement se basant sur les composants objet orient. Trs petite itration : de heures 2 semaines. Application les principes agiles pour modliser : culture agile, organisation du travail pour soutenir la communication, simplicit La simplicit de mthode, conception et implmentation du systme par des caractristiques, modlisation dobjet. Rflexion agile est aussi applique pour modlisation. FDD ne concentre que sur la conception et limplmentation.
AM (Agile Modeling)
Cest une bonne philosophie supplmentaire pour modlisation professionnelle. Cependant, il est dans le cadre dautre mthode (RUP) ASD concentre plus sur le concept et la culture que la pratique logicielle.
Culture adaptative, collaboration, dveloppement itratif se basant sur component conduit par mission Une famille de mthodes. Chacune a mmes valeurs fondamentales de noyau et principes. Techniques, rles, outils et standards varient.
Principe de conception de mthode. Capable de choisir une mthode la plus adapte se basant sur la taille de projet.
Scrum
Scrum spcifie en dtail comment grer la cycles de 30 jours mais la intgration et le test dacceptation ne sont pas dtailes.
2.3
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Les ralisateurs visent fournir une application mobile entirement fonctionnelle de faon incrmentale dans plusieurs itrations. Le travail de dveloppement est divis en diffrentes phases qui sont l'explorez, initialisez, productionize, stabilisez, et test et corrig de systme. Les pratiques des diffrentes phases se composent de neuf principaux lments : phase et tape, ligne d'architecture, mobile dveloppement test-conduit, intgration continue, programmation en binme, mtrique, amlioration du processus de logiciel agile, client offsite, et concentration de lUtilisateur-Centr.
En raison du changement lev des exigences, on a besoin de lapproche de dveloppement incrmental et itratif
Incertitude leve, dynamique environnement : Centaines de nouveau les tlphones portables sont fabriqus chaque anne Majorit de logiciel mobile sont dvelopps par micro (<10) ou moyens (<250) socit. La taille de lquipe est souvent infrieur 20 personnes.
Les petites quipes peuvent ragir plus rapidement, partager linformation, documentation ncessaire nest pas beaucoup, etc.
Client identifiable
Nombre potentiellement illimit dutilisateurs. Client d'affaires plus facile identifier, par exemple. distributeur. Utilise souvent Java et C++
Flexible, extensive,etc.
Majorit de logiciel mobile existant sont pour le but de divertissement. Les quipements mobiles sont non fiable. Tandis que mobiles les systmes sont complexes et
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Petit systme
La taille des applications mobiles varie, mais gnralement elles sont moins que 10000 lignes de code. Les cycles de dveloppement varient. En gnrale, applications mobiles peuvent tre dvelopps de 1 6 mois.
partir du tableau au-dessus, on peut conclure que Mobile-D est adapt au le dveloppement de lapplication mobile.
Figure 1 : Les phases de la mthode Mobile-D La phase explore se concentre sur la planification et tablir le nouveau projet. Par consquent, la base pour l'excution du dveloppement de logiciel le produit est tablie. Dans cette phase, documents crs a pu tre le plan de projet, document initial de exigences, description de processus, plan de mesure, et ligne description d'architecture. La phase initialize se concentre sur la prparation et la vrification de tout le problme de dveloppement concernant le projet. Les buts principaux de cette phase sont que lquipe de dveloppement du projet peut comprendre globalement le projet. Dautre part, son but est de prparer toutes les ressources ncessaires, plans de projet, et toutes les problmes critiques de dveloppement. Ainsi, des documents suivants ont pu tre crs : document darchitecture de logiciel et document de description de conception, fonctionnalits implmentes,notes de ralisateur, illustrations d'interface utilisateur, et test de acceptation. La phase productionionize se concentre sur limplmentation de la fonctionnalit requise dans le produit. Dans cette phase, les documents crs peuvent inclure la documentation de test dacceptation, les cartes des tches, la liste de dfaut, et le rapport de statut quotidien. La phase stabilize se concentre sur finissage de limplmentation, laugmentation et assurance de la qualit de produit. La documentation du produit devrait tre finie dans cette phase. La phase system test & fix concentre sur produire le systme sans erreur en examinant le
NGUYEN Van Tien Page 11 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
systme, fournir des informations des dfauts trouvs, et corriger les dfauts. Par consquent, des documents suivants ont pu tre crs : release final (examin et systme stable), documentation des dfauts trouvs, rapport de test de systme, et log de test. Figure 2 reprsente les tapes de chaque phase.
Figure 2 : Les tapes de chaque phase de la mthode Mobile-D Chaque phase est reprsente en dtail dans les parties suivantes.
2.3.3.1 Explore
La phase explore est ralise en 3 tapes pour obtenir 3 buts suivants : Etablissement des groupes de stakeholders ncessaires dans la planification et la surveillance du projet Dfinition du port du projet Planification du projet en considrant des problme concernant lenvironnement, personnelle, et processus Tableau 3 reprsente les tapes et les tches correspondantes de cette phase Tableau 3 : Les tches de chaque tape de la phase Explore tape Stakeholder Establishment Scope Definition Project Establishment Tches 1. tablissement de client 2. tablissement du groupe de stakeholder 1. Dterminer les exigences initiales 2. Planification initiale du projet 1. Slection de lenvironnement 2. Allocation personnelle 3. Dfinition de la ligne de larchitecture 4. tablissement du processus
2.3.3.2 Initialize
La phase Initialize est ralise en 4 tapes pour obtenir 3 buts principaux suivants :
NGUYEN Van Tien Page 12 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Laugmentation de la comprhension de quipe du projet : Cela est ralise en se basant sur les exigences initiales et la description de la ligne de larchitecture. Prparation les ressources physiques, techniques, humaines et la communication avec client ; prparation du plan du projet et des solutions pour tous les problmes critiques du dveloppement. Cette phase assure que elles sont toutes prtes pour la ralisation des exigences du client. Tableau 3 reprsente les tapes et les tches correspondantes de cette phase Tableau 4 : Les tches de chaque tape de la phase Initialze tape Project setup Tches 1. Installation de lenvironnement, ressources techniques et physiques 2. Enseignement dveloppement pour lquipe du
3. tablissement la mthode pour la communication avec client Planning day in 0 iteration Working day in 0 iteration 1. Planification de la ligne de architecture 2. Analyse des exigences initiales 1. Peut implmenter quelques fonctionnalits noyaux du systme 2. Rsoudre des problmes critiques de dveloppement sans crire le code source
2.3.3.3 Productionize
La phase Productionize est ralise en 3 tapes pour obtenir 2 buts principaux suivants : Implmentation de la fonctionnalit prioritaire par client au produit. Concentrer sur la fonctionnalit cruciale, la fonctionnalit de noyau. Tableau 5 reprsente les tapes et les tches correspondantes de cette phase Tableau 5 : Les tches de chaque tape de la phase Productionize tape Planning day Tches 1. Analyse des exigences 2. Planification de itration 3. Gnration du test de lacceptance 4. Revue de test de lacceptance Working day 1. Documentation 2. Dveloppement test-rduit 3. Programmation programming) 5. Refractoring existant Release day : en binme (pair
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
2.3.3.4 Stabilize
La phase Stabilize est ralise en 3 tapes pour obtenir 3 buts principaux suivants : Finissage de limplmentation du produit Amlioration et assurance de la qualit du produit Finissage de la documentation du produit Dans cette phase, il y a 4 tapes : planning day, working day, documentation wrap-up, release day. Les tches des trois tapes planning day, working day, release day sont identiques aux celles de la phase productionize. Le but de ltape documentation wrap-up est de finir la documentation de conception, de UI et de architecture du logiciel. Il faut assurer que les documents crs dans cette tape sont courts, saillants, utiles, comprhensibles et cohrents avec le le code source.
Il y a 4 tapes : une pour test du systme et les trois pour corriger les dfauts. Le but de ltape System test est de identifier les dfauts dans le logiciel et produire les informations concernant ces dfauts pour les corriger.
Figure 3 : Les tapes du test du systme Les trois tapes pour corriger les dfauts est une itration normale similaire la phase productionize. 2.3.4 Evaluation de la mthode Mobile-D A mon avis, la mthode-D possde les avantages et les dsavantags comme suit. Avantages Mobile-D est bien adapt au dveloppement de logiciel mobile ralis par petite quipe Capable de satisfaire rapidement au changement des besoins des utilisateur grce aux courte itration (les phases initialize, productionize, stabilize) Programmation en binme dans ltape working day de chaque itration est trs efficace.
NGUYEN Van Tien Page 14 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
La documentation du logiciel est complte. Lenseignement de chaque tape est claire et en dtail Facile contrler lavancement du projet Tches de chaque tape sont dtaills Dsavantags Mobile-D est conue pour adapter au petit systme dvelopp par petit quipe -> peut ntre pas adapter pour complexe systme daffaire (eg M-commerce) sur le tlphone portable dans le futur. Il ny a aucune denseignant sur la slection des technologies et les outils pour dveloppements le logiciel mobile. Dans la partie suivante, je vais prsenter les technologies et les outils pour le dveloppement des applications sur le tlphone portable.
2.4
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Les configurations : Elles dfinissent une plate-forme minimale en terme de services concernant un ou plusieurs profiles donns. Les machines virtuelles : En fonction de la cible, la machine virtuelle pourra tre allge afin de consommer plus ou moins de ressources (KVM, CVM, ) Le systme dexploitation : Lenvironnement doit sadapter au systme dexploitation existant (Windows CE, Palm Os, SavaJe, )
Figure 4 : Architecture de J2ME Cette architecture en couche a pour but de factoriser pour des familles de produits donnes un ensemble dAPI permettant une application de sexcuter sur plusieurs terminaux sans modification de code. Dans cette optique, la plate-forme propose deux configurations : CDC (Connected Device Configuration) : Spcifie un environnement pour des terminaux connects de forte capacit tels que les set top boxes , les tlphones cran, la tlvision numrique, CLDC (Connected Limited Device Configuration) : Cible les priphriques ressources limites ou faibles tels que les tlphones mobiles, les assistants personnels, ou les priphriques lgers sans fil (wireless) Voyons de plus prs les contraintes en terme de ressources imposes par ces deux configurations.
Page 16
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Figure 5 : Architecture de J2ME CDC (Connected Device Configuration) Les caractristiques de lenvironnement matriel propos par la configuration CDC sont : Minimum de 512Ko de ROM et 256Ko de RAM, processeur 32 bits Une connexion rseau obligatoire (sans fil ou pas) Support des spcifications compltes de la machine virtuelle Java (CVM)
Cette configuration sinscrit donc dans le cadre dune architecture Java presque complte. CLDC (Connected Limited Device Configuration) Cette configuration sadresse aux terminaux lgers tels que les tlphones mobiles ou les assistants personnels. Ces priphriques tant limits en terme de ressources, lenvironnement classique ne permet pas de respecter les contraintes doccupation mmoire lis ces appareils. J2ME dfinie donc un ensemble dAPI spcifiques CLDC et destines utiliser les particularits de chaque terminal dune mme famille (profile). La liste suivante rsume lensemble de ces caractristiques : Minimum de 160Ko 512Ko de RAM, processeur 16 ou 32 bits, vitesse 16Mhz ou plus Alimentation limite, prise en charge dune batterie Connexion rseau non permanente, sans fil. Interface graphique limite ou inexistante
Dfini par un sous-ensemble de classes Java sexcutant dans la KVM (KiloByte Virtual Machine). Cette configuration sinscrit donc dans une logique dconomie de ressources avec une KVM de 40 80 Ko sexcutant 30 80% moins vite quune JVM normale. Il ny aucun compilateur Just-In-Time ni mme de prise en charge des nombres flottants. Quant au Multi-threading et au Ramasse miettes, ils demeurent supports.
Page 17
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Toutefois, CLDC nintgre pas la gestion des interfaces graphiques, la persistance ou les particularits de chaque terminal. Ces aspects ne sont pas de sa responsabilit. Le tableau suivante rsume les packages et classes prsentes dans cette couche : Liste des packages de CLDC Java.io Java.lang Java.util Javax.microedition.io Fournit la gestion des flux dentres/sorties Classes de base du langage (types, ) Contient les collections et classes utilitaires Classes permettant de se connecter via TCP/IP
MIDP (Mobile Information Device Profile) MIDP est la base de limplmentation des classes lies un profile donn. Vous y trouverez les mthodes permettant de grer laffichage, la saisie utilisateur et la gestion de la persistance (base de donnes). Il existe aujourdhui deux implmentations majeures de profiles MIDP. Lune, plus spcifique, destine aux Assistants de type Palm Pilot (PalmOs) et lautre, totalement gnrique, propose par Sun comme implmentation de rfrence (RI). Ces profiles sont en libre tlchargement sur le site de Sun et intgrent plusieurs mulateurs permettant de tester les applications de manire logicielle. Les API lies MIDP font aussi partie de ce package : Liste des packages de CLDC javax.microedition.lcdui javax.microedition.midlet javax.microedition.rms Fournit la gestion de linterface utilisateur (contrles, ) Socle technique destin grer le cycle de vie des midlets Base de donnes persistante lgre
Page 18
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
LAPI lcdui est charge de grer lensemble des contrles graphiques proposs par ce profile. Quant la gestion des vnements, elle suit le modle des listeners du J2SE avec un CommandListener appel en cas dactivation dun contrle. Pour finir, io et rms, eux, fournissent les routines ncessaires aux entres/sorties rseau et la prise en charge dune zone physique de stockage. Les Midlets Les Midlets sont l'lment principal d'une application Java embarque. Pour bien saisir leur mode de fonctionnement, il suffit de prendre comme analogie les Applets ou les Servlets. Le cycle de vie dune Applet est gr par un conteneur, en loccurrence le Navigateur Web, dont le rle est dinteragir avec celle-ci sous la forme de mthodes de notifications prdfinies (init(),paint(),destroyed(),). Une servlet possde les mmes caractristiques quune Applet except le fait que le conteneur est un moteur de servlet (Tomcat, WebSphere, WebLogic, ). Quant aux Midlets, ils reprsentent le pendant des Applets et des Servlets pour J2ME avec comme conteneur votre tlphone mobile ou votre assistant personnel. Ainsi, en cas de mise jour dune application embarque, un simple tlchargement de code Midlet est ncessaire partir dun quelconque serveur. De cette manire, un programme dvelopp pour un profile donn est en mesure de sexcuter sur tous les priphriques correspondant cette famille. Cest aussi une manire de dcoupler le socle technique des applicatifs puisque le seul lien existant entre les logiciels embarqus et le terminal est lAPI J2ME.
A quoi ressemble le code d'une Midlet ? Et bien par rapport ce qui vient dtre dit, vous imaginez aisment que le code dune MidLet ne peut tre foncirement diffrent de celui dune Applet. Nous nous intresserons ces programmes lorsque nous aborderons le comparatif avec larchitecture de Microsoft. Pour lheure, regardons de lautre cot ce que Microsoft propose en terme doffre embarque. Il sera difficile dmettre un jugement tranch quant larchitecture adopte de part et dautre tellement leur mise en uvre diffrent. Mais nous tcherons dillustrer leurs approches respectives tout en gardant un il critique et la fois objectif dans notre analyse. Une Simple program : HelloWorld.java // contient les lments de base import javax.microedition.midlet.*; // contient les lments permettant de grer l'interface import javax.microedition.lcdui.*; public class HelloWorld extends MIDlet implements CommandListener {
NGUYEN Van Tien Page 19 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
public HelloWorld() { // fait un lien avec l'affichage _display = Display.getDisplay(this); // creation d'un objet formulaire sur lequel on peut placer des composants _form1 = new Form("Test de HelloWorld"); // creation d'un bouton pour sortir du programme _commandExit = new Command("Exit", Command.SCREEN,1); // creation d'un champ de texte contenant notre Hello World _textField1 = new TextField("","Hello World !",15,TextField.ANY); // ajout des composants au formulaire _form1.addCommand(_commandExit); _form1.append(_textField1); _form1.setCommandListener(this); } // vnement excut au dmarrage de l'application public void startApp() { // affichage du formulaire _display.setCurrent(_form1); } // vnement excut lors de la mise en pause de l'application public void pauseApp() { } // vnement excut lorsque l'application se termine public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { // lors du clic sur le bouton Exit if (c == _commandExit) { // appel manuel la fonction de fermeture destroyApp(false); // on demande au manager de fermer l'application notifyDestroyed(); } }
}
Rsultat
Page 20
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Systme dexploitation prenant en compte cette contrainte. Bref, Microsoft propose une panoplie de composants systmes en tout genre et adapts tout type de besoin, charge ensuite lintgrateur de dfinir sa propre configuration. Cette approche compare Java est donc sensiblement diffrente. Nous nous intresserons plus aux appareils de types tlphones mobiles et assistants qu'aux terminaux complexes (Routeurs, SmartPhone, etc ...). Dans ce cadre, la cible sera Windows CE et plus prcisment Windows CE .NET travers son environnement de dveloppement Smart Device Extensions pour Visual Studio .NET. Le .NET Compact Framework et Windows CE.NET Avec lavnement du Framework .NET, la partie embarque de loffre de Microsoft a subi quelques volutions majeures. Ainsi, le .NET Compact Framework en version bta a fait son apparition au sein de larchitecture avec une philosophie proche de J2ME pour Java : Un ensemble dAPI allgs permettant de rpondre aux exigences des priphriques en terme de ressources. Pour l'heure, .NET CF se destine aux plate-formes Windows CE bien quil ait t conu pour tre portable. A l'avenir, nous pourrions trs bien voir apparatre des versions Windows CE destines d'autres OS. Enfin, il est noter quil existe des machines virtuelles Java permettant dexcuter une application J2ME sur Windows CE. Ainsi, MicroJBlend, une extension de la KVM de Sun, propose nativement ce genre de solution (Applix Software). L'architecture embedded de Microsoft n'intgre pas de notion de configuration ou de profile proprement parl telle quil en existe dans Java. Smart Device Extensions (SDE) Les Smart Devices Extensions sont des outils permettant dtendre les capacits de Visual Studio .NET dans le but de fournir un environnement totalement intgr de bout en bout. SDE propose ainsi un mulateur PocketPC et Windows CE ainsi quune extension de lIDE permettant de concevoir graphiquement les applications mobiles tout en se conformant au Compact Framework . La cration dun programme destin aux pocketPC se fait exactement sur le mme principe quune application classique VB.NET ou C# . 2.4.4Les outils de dveloppement J2ME du march Il existe plusieurs environnements de dveloppement (IDE) proposant l'intgration de l'API J2ME directement dans l'diteur sur le principe de SDE .NET avec la possibilit de lancer l'excution et le dbogage directement dans l'outil : Le MobileSet Plug-In de JBuilder : tlchargeable sur le site de Borland Forte de Sun : Le J2ME Toolkit pouvant tre paramtr l'installation comme un Plug-In de Forte. Visual Age Micro Edition (connu aussi sous le nom de VAME) : Permet de tester des applications J2ME sous WebSphere Studio en ciblant des mulateurs tels que les PocketPC (Compaq iPaq), Palm, etc ... Oracle 9i DS : Un plug-in pour l'IDE d'Oracle, JDeveloper. Eclipse : Cet IDE OpenSource promit un bel avenir intgrera un Plug-In qui permettra de dvelopper des applications J2ME contenant la librairie graphique SWT destination de divers priphriques (PocketPC, Palm, Mobiles, ...) Eclipse : Netbean IDE avec Mobility Pack permet de dvelopper des applications mobiles
Page 22 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
3 Travail pratique
3.1 Introduction de l'application pratique
Jai fait un systme qui permet de contrle lordinateur distance. Ce systme se compose de deux sous-systmes : un marche sur le tlphone portable et lautre marche sur lordinateur. Deux sous-systmes se connectent laide de la technologie Bluetooth. Avec ce systme lutilisateur ct de tlphone portable peut contrler le souris de lordinateur dans le cadre disponible du signal de Bluetooth. Ce systme fournit lutilisateur deux fonctionnalit : recherche des ordinateurs et contrle des ordinateurs distance.
3.2
Figure 8 : Principe de fonction du systme Recherche des ordinateurs Le sous-systme sur lordinateur bluetooth marche comme un serveur pour attendre la connexion de tlphone portable. Quand lutilisateur lance le sous-systme ou clique sur le bouton search, le tlphone portable bluetooth va dtecter les ordinateurs qui lattendent. Une liste des ordinateurs trouvs est affiche sur lcran pour que lutilisateur choisisse pour le contrler distance. Contrle de lordinateur distance Lordinateur attente toujours des donnes partir de tlphone portable.
NGUYEN Van Tien Page 23 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Lutilisateur slectionne un ordinateur dans la liste des ordinateurs trouvs. Lutilisateur du tlphone portable touche un bouton sur le mobile phone. Le sous-systme qui marche sur tlphone portable va vrifier si ce bouton est bouton dfinit pour but de contrle distance. Si oui, il va envoyer de donne vers lordinateur. Le sous-systme cot de lordinateur reoit de donne qui est le code de bouton que lutilisateur a touch. Il va le comparer avec les codes dfinis de contrle pour contrler de faon automatique la souris Par exemple, si sur tlphone portable lutilisateur clique sur le bouton gauche (code = 253), lordinateur va dplacer la souris vers gauche. Tous les cas de contrle est reprsents dans la Figure 8
3.3
Processus Le processus Mobile-D que je prsente dans la partie 2.3 est adapt au le dveloppement de logiciel mobile. Mais pour appiquer ce processus, il faut avoir un lquipe pour que on puisse profiter ses points fort (par exemple techniques de programmation en binme). En fait, dans le cadre de ce TPE, je suis un seul pour construire ce systme avec le temps limit. Je choisis donc le processus que jai dj propos dans le premier semestre pour le dveloppement de ce systme. Ce processus est reprsent dans la Figure 9. Ce processus se compose 6 tapes : Analyse et conception, implmentation, test sur des simulateurs, empaquetage, test avec des quipements rels diffrents et dploiement. Je vais prsenter les technologies et outils que jutilise dans chaque tape du dveloppement. Technologies et outils Tableau 6 : Les outils pour chaque tape tape Analyse et conception Implmentation Rational rose Technologie : J2ME IDE : Netbean Java Bluetooth Development Kit : Bluecove2.0 J2MEUnit J2ME Wireless Toolkit Bluetooth outil
Page 24
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre Exigences
1. Analyse et conception
2. Implmentation
Non
4. Empaquetage
Oui
Des eureurs ?
Non 6. Dploiement
Finir
3.4
Analyse et conception
Dans cette tape, je analyse et conoit le systme en fonction de la mthodologie de conception dobjet oriente. Il existe beaucoup de outils pour concevoir le systme dobjet orient en UML par exemple Rational Rose, Eclipse UML2, Netbean avec enterprise pack, AgroUML, etc. On doit faire attention que la conception de linterface dutilisateur et des donnes doivent adapter aux caractristiques des quipements mobiles. Tableau 7 : Les outils de conception Outil Rational Rose Modeler Eclipse UML Netbean UML Aris 6 Collaborative suite Enterprise Architects UML Altova UModel Describe
NGUYEN Van Tien
URL http://www306.ibm.com/software/awdtools/developer/rose/modeler/ http://www.eclipseuml.com/ http://uml.netbeans.org/downloads.html http://www.ids-scheer.de/produkte.htm http://www.sparxsystems.com.au/ http://www.altova.com/downloadtrialumodel.html?gclid=CPn zsOubuo0CFQp4TAod4D8mFg http://www.embarcadero.com/products/describe/describe_da tasheet.htm
Page 25 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Pour mon application, jutilise le logiciel Rational Rose 2002 de lIBM pour la conception.
Page 26
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
ComputerBTHandle computerApp : ComputerApp localDevice : LocalDevice server : StreamConnectionNotifier conn : StreamConnection inputStream : InputStream SERVER_UUID : UUID ATTRIBUTE_ID : int processorThread : Thread ComputerBTHandle() run() setupDiscoverable() openService() processRequest() finalize()
Page 27
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
RemoteControlGUI exit : Command back : Command direction : String parentMidlet : MobileMidlet controlledComputer : BluetoothComputer btHandle : MobileBTHandle RemoteControlGUI() BluetoothComputer getControlledComputer() setControlledComputer() paint() commandAction() keyPressed()
MobileMidlet display : Display mainGUI : MainGUI remoteControlGUI : MobileMidlet MobileBTHandle btHandle MobileMidlet() exitMIDlet() viewMainGUI() viewRemoteControlGUI() MobileBTHandle parentMidlet : RemoteControlGUI localDevice : LocalDevice discoAgent : DiscoveryAgent computerList : Vector remoteDevices : Vector connection : StreamConnection os : OutputStream processorThread : Thread SERVER_UUID : UUID ATTRIBUTE_ID : int state : int controlledComputer : BluetoothComputer data : int MobileBTHandle() run() deviceDiscovered() servicesDiscovered() serviceSearchCompleted() searchBluetoothComputer() mySearchDevice() mySearchService() sendAction() processUserEvent() requestSearch() requestControl() requestSend()
MainGUI parentMidlet : RemoteControlGUI exitCommand : Command searchCommand : Command controlCommand : Command computerList : Vector btHandle : MobileBTHandle MainGUI() commandAction() viewBTComputerList() controlComputer()
Page 28
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
: MainGUI
: MobileBTHandle
: MainGUI
: RemoteControlGUI
: MobileMidlet
: MobileBTHandle
requestControl( )
sendAction( )
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
: ComputerApp
: ComputerBTHandle
3.5
Implmentation
Dans la phase de limplmentation, il y a deux problme principaux : programmation pour la communication entre le tlphone portable et lordinateur ; et la programmation pour le contrle de la souris. Ils sont prsents dans cette partie. Dans cette tape, on peut utiliser la technologies J2ME de Sun ou .Net mobile de Microsoft. Jai choisi la technologie J2ME en utilisant IDE Netbean avec Mobility Pack plugin. Netbean permet de crite le code source en Java, le compiler et ensuit lancer le programme sur les simulateurs qui y sont intgrs.
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Il n'y a aucune eu manire normalise pour le dveloppement des applications de Bluetooth jusqu' lapparition de JSR 82. JSR 82 permet de concentrer sur le dveloppement des applications plutt que le dtail bas niveau de Bluetooth. JSR 82 est un pont entre application et le matriel de bluetooth. Pour le faire, JSR 82 fournit deux paquetages principaux : javax.bluetooth est le noyau dAPI de Bluetooth et ; javax.obex se compose dAPIs servis au protocole dchange dobjet OBEX.
Figure 17 : Architecture de Bluetooth JSR 82 est prvu pour fournir les possibilits suivantes : Dcouvrir les quipements et les services Inscrire les services Etablir les connexions RFCOMM, L2CAP, et OBEX entre les quipements Utiliser ces connexions pour envoyer et recevoir des donnes. Grer et contrler les connexions de communication Fournir la scurit pour ces activits.
Les APIs sont conus pour que les dveloppeurs puissent utiliser le langage Java pour construire de nouveaux profils de Bluetooth sur ces APIs tant que les spcifications de couche de noyau ne changent pas. JSR 82 comprend les APIs qui sont utiliss pour le fonctionnement dOBEX et L2CAP de sorte que de futurs profils de Bluetooth puissent tre implments dans Java. La Figure 18 indique la place approprie des APIs pour quelles soient adaptes aux spcifications de larchitecture de CLDC/MIDP. Programmation des applications
NGUYEN Van Tien Page 31 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Chaque application Bluetooth se compose de 5 parts suivants : linitialisation de stack, la gestion de l'quipement, la dcouverte de l'quipement, la dcouverte du service, la comunication. Les APIs de chaque part sont utiliss dans le systme que je construis. La partie suivant va prsenter comment utiliser ces APIs dans ce systme.
Figure 18 : APIs de Bluetooth en architecture de J2ME Programmation Bluetooth sur lordinateurs Pour le tlphone portable soutenant Bluetooth, JSR82 peut tre intgr et il est disponible pour que le dveloppeur puisse utiliser. Mais pour utiliser JSR sur loridinateur, il faut avoir un Java Bluetooth Development Kit. Java Bluetooth Development Kit founit des APIs de programmation de Bluetooth sur ordinateur. Tableau 8 : Java Bluetooth Development Kit Plateformes Nom de socite javax.bluetoot javax.obex Systme Java h assistant assistant dexpoitation Atinav Avetana Oui Oui Oui Oui J2SE, J2ME J2SE Win-32, Linux, Pocket PC Win-32, Mac OS X, Linux, Pocket PC WinXP SP2 WinXP SP2 beaucoup
J2SE J2SE Des platesformes assistant javax.comm Des platesformes assistant javax.comm J2SE, J2ME
JavaBluetooth.org
Oui
Non
beaucoup
Rococo
Oui
Oui
Linux, Palm OS
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Cependant, on utilise la classe RemoteDevice pour collecter des informations de lquipement distance (dans le cadre du signal Bluetooth). Par exemple : ... // retrieve the device that is at the other end of // the Bluetooth Serial Port Profile connection, // L2CAP connection, or OBEX over RFCOMM connection RemoteDevice remote = RemoteDevice.getRemoteDevice( javax.microedition.io.Connection c); // retrieve the Bluetooth address of the remote device String remoteAddress = remote.getBluetoothAddress(); // retrieve the name of the remote Bluetooth device String remoteName = local.getFriendlyName(true); ... La classe de RemoteDevice fournit galement des mthodes pour authentifier, autoriser, ou chiffrer des donnes transfres entre les quipements locaux et distance. La dcouverte de l'quipement
Page 33
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
J2ME fournit la classe DiscoveryAgent et inteface DiscoveryListener pour trouver les quipements et les accder. Lquipement Bluetooth peut utiliser la classe DiscoveryAgent pour obtenir la liste dquipements accessibles. La mthode de DiscoveryAgent.startInquiry place le dispositif dans un mode d'enqute. Par exemple : ... // retrieve the discovery agent DiscoveryAgent agent = local.getDiscoveryAgent(); // place the device in inquiry mode boolean complete = agent.startInquiry(); Quand l'enqute est accomplie ou annule, DiscoveryListener.inquiryCompleted est appel. On utilise la mthode DiscoveryAgent.retrieveDevices pour avoir la liste dquipement, par exemple : ... // retrieve the discovery agent DiscoveryAgent agent = local.getDiscoveryAgent(); // return an array of pre-known devices RemoteDevice[] devices = agent.retrieveDevices(DiscoveryAgent.PREKNOWN); ... La dcouverte du service Avant qu'un service puisse tre dcouvert, il doit d'abord tre enregistr sur le serveur. Le serveur est responsable de : Crer un service record qui dcrit le service offert Ajouter un service record la base de donnes de dcouverte du service du serveur (SDDB), il est visible et disponible pour les clients potentiels Enregistrer les mesures de scurit de Bluetooth lies au service Accepter les connexions en provenance du client. Mettre jour un service record dans la base de donne SDDB. Supprimer un service record
Pour crer un nouveau service record qui reprsente les service, on appelle Connector.open avec un argument d'URL de connexion de serveur : ... StreamConnectionNotifier service = (StreamConnectionNotifier) Connector.open("someURL"); Obtenir le service record cr par lquipement de serveur : ServiceRecord sr = local.getRecord(service); Indiquez que le service est prt accepter une connexion du client : StreamConnection connection = (StreamConnection) service.acceptAndOpen(); Quand le serveur est prt quitter, fermer la connexion et enlever le service record : service.close(); ... La communication : transmission entre le tlphone portable et loridinateur
Page 34
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Pour que lquipement local utilise le service sur lquipement distance, tous les deux doivent partager un protocole commun de communication. Le serveur (ordinateur) doit : Construire lURL qui indique comment connecter serveur et le stocke dans service record Rendre le service record disponible au client Accepter la connexion partir du client Envoyer et recevoir des donnes du et au serveur ... // assuming the service UID has been retrieved String serviceURL = "btspp://localhost:"+serviceUID.toString()); // more explicitly: String ServiceURL = "btspp://localhost:10203040607040A1B1C1DE100;name=SPP Server1"; try { // create a server connection StreamConnectionNotifier notifier = (StreamConnectionNotifier) Connector.open(serviceURL); // accept client connections StreamConnection connection = notifier.acceptAndOpen(); // prepare to send/receive data byte buffer[] = new byte[100]; String msg = "hello there, client"; InputStream is = connection.openInputStream(); OutputStream os = connection.openOutputStream(); // send data to the client os.write(msg.getBytes()); // read data from client is.read(buffer); connection.close(); } catch(IOException e) { e.printStackTrace(); } ... Pour tablir la connexion au serveur, le client (tlphone portable) doit : Initialiser la dcouverte de service pour rendre le service record Construire la connexion URL utilisant le service record Ouvrir une connexion au serveur Envoyer et recevoir des donnes du et au serveur ... // (assuming we have the service record) // use record to retrieve a connection URL String url = record.getConnectionURL( record.NOAUTHENTICATE_NOENCRYPT, false); // open a connection to the server StreamConnection connection = (StreamConnection) Connector.open(url); // Send/receive data try { byte buffer[] = new byte[100]; String msg = "hello there, server"; InputStream is = connection.openInputStream(); OutputStream os = connection.openOutputStream(); // send data to the server
NGUYEN Van Tien Page 35 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
os.write(msg.getBytes); // read data from the server is.read(buffer); connection.close(); } catch(IOException e) { e.printStackTrace(); } ...
3.6
Dans ce systme, il y a deux tapes test : test de la communication entre tlphone portable et lordinateur et test du contrle de la souris. Le test de la communication se compose de types de test : test sur les simulateurs et test sur lquipement rel. Test sur les simulateurs diffrents Aprs la compilation avec succs, on peut choisir quelques simulateurs et puis lancer l'application sur chacun des simulateurs pour la tester. Si on dtecte ses erreurs, on retourne ltape implmentation ou conception. Dans cette tape, on utilise des simulateurs de Wireless J2ME Toolkit pour tester si lapplication marche bien sous la plate-forme commune de modlisation dun tlphone portable. Puisque chaque famille de tlphone mobile a des caractristiques propres, une application peut bien marcher sur une machine mais pas sur lautre. On utilise donc ensuite des simulateurs de
NGUYEN Van Tien Page 36 P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
chaque marque de tlphone mobile (Nokia, Samsung, Siemens, Sonny Errisson, etc.) pour savoir si lapplication peut marcher sous la plate-forme de chaque famille de tlphone mobile. Cela a pour but dconomiser le temps de tester sur lquipement rel car des simulateurs de chaque marque est plus similaire son environnement rel que les autres simulateurs. Quand on a install un simulateur sur ordinateur, NetBean va le dtecter. Cela veut dire que l'on peut tester lapplication sur tous les simulateurs en utilisant NetBean. Test sur lquipement rel Aprs le dploiement sur le tlphone mobile, on doit tester lapplication pour garantir qu'elle marche bien sur une machine relle. S'il y a des erreurs, on a besoin de retourner ltape de limplmentation ou ltape de conception pour la modification et la correction. Tableau 9 : Le rsultat dest test Phone Ordinateur Simulateur - simulateur Nokia 6131 PC Bluetooth Dongle Nokia 6131 Bluetooth Portable Nokia 7610 Bluetooth Portable Dtection lquipement Oui Oui Oui Oui de Transmission de donne Oui Une fois Une fois Non
Test du contrle de la souris sur lordinateur : a marche bien en utilisant la class java.awt.Robot. La communication entre le tlphone portable et lordinateur marche de faon non stable, le systme marche donc de faon non stable. Lordinateur ne reoit quune fois la donn partir de tlphone mobile, la souris est donc contrl une fois. Ensuite, la connexion est coupe.
3.7
Empaquetage et dploiement
Aprs avoir test avec succs sur des simulateurs diffrents, on a besoin de crer des fichiers JAR et JAD de lapplication pour dployer sur lquipement rel. NetBean peut le faire automatiquement et on peut trouver ces deux fichiers dans le sous-rpertoire ../dist dans rpertoire de projet. Avec Wireless J2ME Toolkit, on aura ces deux fichier aprs avoir cliqu sur le menu Project/Package/Create Pakage (ou Create Obfuscated Pakage) . Pour dployer une application sur un tlphone portable, on utilise un rseau entre ordinateur et tlphone portable par USB ou Bluetooth ou autre techonologie pour recopier les fichiers .JAR et .JAD de lapplication vers le tlphone mobile. La plupart de tlphones mobiles disponible Java permettent d'installer J2ME application sous forme de .JAR. Cest facile de cliquer sur le fichier .JAR pour que tlphone mobile installe automatiquement cette application. Jai install le programme laide de Bluetooth connexion.
3.8
Avantages Cycle de logiciel est courte, elle est donc adapte au logiciel mobile Facile appliquer : les tapes sont claires avec des outils soutenants Peut tre appliqu pour les applications de la taille petite dvelopps par une seule personne ou petite quipe. Dsavantages Il naborde pas la faon de communication avec le client -> difficile adapter au le dveloppement des applications des entreprises
Page 37
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Page 38
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
4 Conclusion et perspective
Maintenant, le tlphone portable joue un rle de plus en plus important dans la vie quotidienne. Il est ncessaire davoir une mthode pour le dveloppement du logiciel mobile. Mobile-D est une mthode propose par VTT [10] pour rsoudre ce problme. En profitant les avantages de RUP, XP et Crystal ; Mobile-D est bien adapt au logiciel mobile qui est dvelopp par petit quipe (<20 personnes). Les avantages de cette mthode est la cycle courte afin de satisfaire les exigences des utilisateurs et le changement rapide de la technologie mobile. Autre point fort de cette mthode est lapproche de programmation en binme. Dans lavenir, je pense que cest intressant davoir des petits quipes des tudiants qui utilise Mobile-D pour explorer la relle puissance de cette mthode dans le dveloppement du logiciel mobile. J2ME est une bonne slection parmi plusieurs technologies pour les applications mobiles. Avec Netbean, il est facile de dvelopper des logiciels mobiles qui crits en J2ME. Ds sa naissance, la technologie Bluetooth a beaucoup dapplications utiles. Dans ce TPE, jutilise cette technologie en faisant la combinaison avec J2ME pour construire un systme qui permet de contrler lordinateur distance partir de tlphone portable. Il nest pas trs difficile pour trouver que le dveloppement du logiciel mobile a besoin de beaucoup defforce pour le test intgration. Dans le future, on peut ajouter les nouvelles fonctions pour le systme de contrle de lordinateur distance : afficher lcran de lordinateur sur le tlphone portable, choisir une application particulire pour contrler (Power point, Winamp, etc.). Cela peut tre ralis en quipe en appliquant la mthode Mobile-D.
Page 39
P12 - IFI
Outils et mthodes pour le dveloppement des applications embarques TPE : Deuxime semestre
Rfrences
[1] [2] [3] Real-Time Concepts for Embedded Systems Qing Li with Caroline Yao, CMP Books 2003. Introduction to Embedded Systems, ICS 212 Winter 2002 Prof. R. Gupta http://www1.ics.uci.edu/~rgupta/ics212/w2002/intro.pdf Les systmes embarqus : une introduction Patrice Kadionik, Matre de Confrences l'ENSEIRB, Dcembre 2005 http://www.enseirb.fr/cosynux/grand_public/embedded_intro_2006.pdf [4] Programmation sur PDA http://www.kallisys.com/files/newton/Waba/ECE-200211/Programmation_sur_PDA.pdf [5] J2ME Wireless toolkit http://java.sun.com/products/sjwtoolkit/ [6] [7] Sun ONE Studio, Mobile Edition http://wwws.sun.com/software/sundev/jde/studio_me/index.html Nokia Developer's Suite http://forum.nokia.com/ [8] Netbean 5.0 http://www.netbeans.org/downloads/ [9] Siemens Mobility Toolkit http://www.siemens-mobile.de/ [10] [11] [12] Mobile-D http://agile.vtt.fi/mobiled.html Keynote: Mobile software development - the business opportunity of today, Pekka Abrahamsson J2ME tutorial http://developers.sun.com/mobility/midp/articles/wtoolkit/ [13] Using the Java APIs for Bluetooth Wireless Technology, Part 1 - API Overview, C.Enrique Ortiz http://developers.sun.com/mobility/apis/articles/bluetoothintro/ JSR-000082 JavaTM APIs for Bluetooth http://jcp.org/aboutJava/communityprocess/final/jsr082/index.html AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE, Pekka Abrahamsson http://www.mit.jyu.fi/opetus/kurssit/jot/2005/kalvot/agile%20sw%20development.pdf
[14] [15]
Page 40
P12 - IFI