EA2014 OSforWSN

From air
Jump to navigation Jump to search
icône du marketplace

Présentation

  • Enseignants : Georges-Pierre Bonneau, Didier Donsez (EA2014)
  • Sujet : OS for WSN
  • Date : 10 octobre 2014
  • Auteur : El Hadji Malick FALL <Firstname DOT Name AT e DOT ujf-grenoble DOT fr>
  • Lien vers les slides de la présentation : [1]

Résumé

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum eget arcu sed volutpat. Fusce vel orci faucibus, fermentum lorem sed, molestie ipsum. Cras justo diam, pharetra nec libero eu, ultricies porttitor sapien.

Mots Clés

Firefox, Smartphone, Libre, Open-source, HTML5, CSS, Javascript

Abstract

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum eget arcu sed volutpat. Fusce vel orci faucibus, fermentum lorem sed, molestie ipsum. Cras justo diam, pharetra nec libero eu, ultricies porttitor sapien.

Key Words

Firefox OS, Free software, smartphone, open-sources, HTML5, CSS, Javascript

Synthèse

Un capteur en réseau est défini comme un ensemble d’éléments électroniques de taille réduite, composé essentiellement d'un détecteur, d'un microcontrôleur, d’une batterie, d'un émetteur-récepteur et d'une antenne. Ces capteurs peuvent être reliés ensemble pour former un réseau sans fil. Un réseau de capteurs sans fil est donc un réseau ad hoc composé d’un grand nombre de noeuds qui désignent ces capteurs capables de récolter, de transmettre et renseigner sur plusieurs données de manière autonome.

L’utilisation des capteurs sans fil est aujourd’hui de plus en plus requise dans des domaines tels que la supervision et la sécurité. Ils se basent sur des protocoles pour communiquer entre eux et proposent des programmes et des réseaux embarqués. A leur début, ces capteurs étaient uniquement composé d’un système dédié à une application précise (Par exemple, capteur permettant de relever la température ambiante d’un milieu, est uniquement constitué d’un thermomètre électronique et d’un afficheur digital). Avec de nouvelles contraintes comme la recherche applicative, ils sont aujourd’hui gérés par des systèmes d’exploitation spécialisés.

Ces systèmes d’exploitation pour capteur en réseau, appelés également WSN, sont par conséquent des systèmes d'exploitation embarqués au sein de capteurs en réseau. Développé et soutenu par l’université américaine de Berkeley, TinyOS est un des premiers systèmes d'exploitation conçus pour les réseaux de capteurs. Il est aujourd’hui le plus répandu et celui qui nous intéressera en particulier.

Les systèmes d'exploitation pour réseaux de capteurs et leurs caractéristiques

Les nœuds qui composent un réseau de capteur subissent de nombreuse contraintes. Ils sont tout d’abord limités par la capacité de leur batterie, la puissance de leur processeur et leur faible capacité de communication.

Un système d’exploitation devient alors nécessaire. En se présentant comme une interface entre les ressources matérielles limitées et des applications distribuées, il permet de faciliter la programmation des applications, mais aussi d’optimiser les utilisations de ressources. En effet il est capable de de gérer de nombreuses tâches telles que l’allocation de ressource sur les périphériques, l’interruption et la gestion et la planification de tâches, sans oublier la gestion du réseau support.

Architecture

L’architecture d'un système d'exploitation ainsi que sur la façon de fournir des services aux programmes d'application sont des caractéristiques essentielles.

Nous distinguons 4 types quatre types d'architectures de système d'exploitation :

  • Monolithique : Les services fournis par le système d'exploitation sont mis en œuvre séparément et chaque service fournit une interface pour d'autres services.
  • Micro Noyau : le noyau fournit le strict minimum pour assurer le fonctionnement du système. La plupart des fonctionnalités du système d'exploitation est fournie via des serveurs au niveau utilisateur comme un serveur de fichiers, un serveur de mémoire
  • Modulaire ou composant : le système d'exploitation met en œuvre des services sous la forme de couches.
  • Machine virtuelle : Le principe d'une machine virtuelle est d'intégrer le système d'exploitation à l'application de l'utilisateur

Modèle d’exécution et ordonnancement

On distingue 3 modèles d'exécution pour les réseaux de capteurs :

  • Événementiel (Event-based) : qui donne la priorité aux événements.
  • Multi Thread (Thread-based) : gestion de la préemption et de la concurrence
  • Hybrid : qui combine les 2 modèles précédents

En ce qui concerne l’ordonnancement, il y a deux catégories :

  • L'ordonnancement en temps réel pour les applications en temps réel
  • L’ordonnancement en temps partagé adapté aux événements asynchrones

Marché

Tous les chiffres de cette parties sont issus de l'IDC.

A l'heure actuelle, Android et Ios représentent 96% du marché du smartphone. Les pays émergents représente 75% des ventes de smartphone en 2014. Enfin il faut également savoir que le prix moyen pour un terminal Android est de 316$ et de 600$ pour un Iphone ou Ipad.

Partant de ce constat, la stratégie de Firefox OS est de viser le marché des pays émergents. Cela passe donc par la proposition de Smartphone embarquant Firefox OS pour un prix le plus bas possible. Ceci est rendu possible via des partenariats avec des fabricants comme ZTE, Huawei, ou Alcatel (on peut trouver un smartphone Firefox OS en Inde pour 25 dollars). Mozilla applique également cette stratégie dans d'autres pays plus développés comme la France en proposant un smartphone pour 80 euros.

Fonctionnement et Création d'une application

Schéma d'une application Firefox OS

schéma de la création d'une application Firefox OS

Considérons que nous partons d'une application web existante. La transformer en application Firefox OS est assez simple. Il faut tout d'abord ajouter un fichier manifest contenant le nom de l'application, sa page web de démarrage , des informations sur l'auteur ainsi que les permissions demandées (par exemple pour utiliser la géolocalisation). Il faut ensuite modifier notre application en utilisant les webapi créées dans le cadre du projet Firefox OS. Ce sont ces api qui permettent à l'application d’interagir avec le hardware. Enfin il faut ajouter divers éléments comme les icônes utilisées pour l'application ou ajouter un bouton ou un script appelant la fonction installant l'application.

exemple basique d'un manifest

Comment partager son application Firefox OS

Il existe deux grande familles d'applications dans Firefox OS : les hosted et les packaged.

Les hosted sont des applications Firefox OS de base, non compressé. Elles sont disponible sur un serveur, comme un site web basique. Leur particularité est que pour fonctionner elles nécessitent un accès en ligne.

Les packaged sont des applications Firefox OS zippées auxquelles on ajoute un autre manifest nommé mini_manifest. Ces applications une fois installées peuvent fonctionner en mode hors ligne.

Les applications peuvent soit être déployer sur une machine appartenant au développeur de l'application (sur un serveur Apache par exemple) ou bien être mise en ligne sur le marketplace de Firefox OS

Le market Firefox OS

La deuxième solution pour publier son application est de passer via le market officiel : Firefox Marketplace

Ce Marketplace contient environ 4000 applications dont la moitié sont de type hosted. De plus à peu prés 1000 applications sont compatible soit avec Android soit avec Firefox.

Pour pouvoir uploader son application sur le market, il faut passer deux étapes:

  • Le submission check-list : ici le développeur remplit un formulaire avec le nom de l'application, sa description, si elle est hosted ou packaged, payante ou gratuite ,... Il passe également un test pour obtenir une certification (limite d'age conseillée pour pouvoir utiliser l'application)
  • Le reviewer test: Ici des membres du projet Firefox OS vont tester l'application au niveau sécurité (pas de suppression de données utilisateur), utilisabilité (On affiche pas une page designé pour un écran d'ordinateur sur un smartphone), ou encore un contrôle de copyright et de non infraction aux conditions d'utilisation. Si l'application est rejetée, un retour est fait au développeur pour savoir sur quels points il doit travailler.

Comparaison avec les principaux concurrents

Dans cette partie nous allons comparer Firefox OS avec différents acteurs du monde du smartphone sur différents points (nombre de terminaux, d'applications,...)

  • Au niveau du nombre de terminaux, il existe à l'heure actuelle 11 smartphone différent accueillant nativement Firefox OS. Un nombre si faible comparé à Android ou à Windows Phone possède toutefois un avantage : les tests pour une applications sont plus simple à mettre en place, et on peut imaginer avoir moins de problèmes de compatibilité entre les différents téléphones. Le désavantage est par contre un choix drastiquement limité pour le client, sachant de plus que tout les smartphones ne sont pas disponibles dans tout les pays.
  • Via le multi-plateforme, les applications Firefox OS peuvent toucher un public plus nombreux que les applications Android ou Ios. En effet comme les applications Firefox OS peuvent s'installer pour certaines sur un terminal Android ou sur un ordinateur pourvu du navigateur Firefox, le nombre de client potentiel est très élevé.
  • Le nombre d'applications sur le market est très faible : ~4000. Certes les applications peuvent être hébergée sur un serveur par leurs développeurs, mais pour la plupart des personnes, la référence pour obtenir une application reste le market officiel.
  • L'utilisation des technologies Web permet de s'adresser à un nombre de développeurs plus élevés que l'utilisation de langages de programmation objets comme java ou Objective C.

Conclusion

En conclusion, Firefox OS est un système d'exploitation libre et open source pour smartphone permettant de créer des applications multi-plateforme via l'utilisation de technologies web. Il se veut également comme une introduction au smartphone pour des gens ne connaissant pas encore ce domaine. On peut néanmoins se demander comment cet OS va se comporter face à la concurrence de Google OS (basé également sur les technologies web) et d' Android sur le marché des pays émergents. Enfin comme nous l'avons vu plus tôt, 50% des applications Firefox OS nécessite une connexion internet pour pouvoir fonctionner. La qualité du réseau et le prix des forfait avec une connexion internet mobile dans les pays émergents est donc un élément crucial pour le futur de Firefox Os.

Notes et références

Recherche Documentaire

Firefox OS :

Lien pour les chiffres :

Démos

Lien vers l'application Firefox OS boilerplate :accés