SlideShare a Scribd company logo
1 of 24
KALIMUCHOPlate-forme pour applications réparties
dynamiquement reconfigurées
Kalimucho - Interopérabilité des Plate-formes Mobiles 1
IUT Bayonne, Pays Basque
M. DALMAU
P. ROOSE
Domaines d’application
• Applications sensibles au contexte
• S’adapter au lieu, au temps, aux ressources du périphérique, au
réseau …
Plutôt que d’adapter les données, adapter les applications
Push d’application et/ou de services de l’application
• Applications ubiquitaires
• Suivre l’utilisateur dans son quotidien
Migration d’applications et/ou de services de l’application
Multi modalité
• Domaines : modélisation et analyse de données urbaines,
incitation et gouvernance, réseaux et mobilité, lieux et
conditions de vie et de travail, réseaux sociaux, énergie …
• Objectif : nouveaux services contextualisés dans la ville
• Guidage selon préférences utilisateurs
• Inclut la gestion des handicaps physiques
• Réaction aux événements locaux (espace, temps ou thématiques)
• Accès à la multi-modalité :Bus, vélo, marche, voiture, TOUT
• Habitats intelligents (Smart Home)
• Santé (Smart Health)
Villes intelligentes (Smart Cities)
Kalimucho - Interopérabilité des Plate-formes Mobiles 3
Alarming
4
Adulte accompagnant
-Prend des photos/vidéo des
- dommages
- blessés
-Reçoit des instructions
Carte d’intervention / aide aux pompiers
+
Si la batterie est faible
=> Continuité de l’application
Par reconfiguration
dynamique
Organisations impliquées
Kalimucho - Interopérabilité des Plate-formes Mobiles
Communautés
• Création dynamique de communautés spontanées
Je suis en vacances au
Pays Basque du 15 au
31 juillet
Je fais une partie
d’exhibition de Pelote
Basque tous les jeudis
de juillet
Je vis au Pays
BasqueJe serais au Pays Basque en
Septembre pour l’été indien
Kalimucho - Interopérabilité des Plate-formes Mobiles 5
Kalimucho ?
 Plateforme (à service) pour applications pervasives à base de
composants
 Résout de nombreux problèmes :
 Applications Dynamiques [re-]déploiement sur périphériques mobiles
(smartphones, tablet, PC, etc.).
 Reconfigurations à chaud : Reconfiguration sans stopper l’application
 En fonction de besoins fonctionnels, énergétiques, matériels, utilisateur…
 Transfert d’informations entre composants logiciels
 Avec gestion automatique de passerelles
 Avec adaptation à la volée de données (complétion, format, modalité, etc.)
Kalimucho - Interopérabilité des Plate-formes Mobiles 6
Kalimucho !
 Mais permet également …
 De réaliser des installations instantanées et temporaires (short-lived
Installation/deployment ) sur des périphériques.
 Lorsque l’application est fermée, les composants déployés sont détruits.
 L’accès à des applications non résidentes (non prévues à l’avance)
 Des installations et des déploiements ad’hoc/contextualisés selon les
besoins du moment
 Sans passer par une opération guidée par l’utilisateur
 Sans « [android-]market » ou « any app-store »
Kalimucho - Interopérabilité des Plate-formes Mobiles 7
Principes
Kalimucho est une plateforme pour applications réparties
dont l’architecture peut être modifiée pendant que
l’application fonctionne.
• L’application :
• Constituée de composants distribués sur les différentes machines
• Un composant est une mini application pouvant avoir une
interface et capable d’échanger des données avec d’autres
• Les composants sont téléchargés et installés à la demande, ils
sont supprimés dès qu’ils ne sont plus utilisés
• Les composants sont reliés entre eux par des connecteurs
• La plateforme
• Modifie l’architecture de l’application
• A la demande de l’application (de l’utilisateur)
• En fonction du contexte
Kalimucho - Interopérabilité des Plate-formes Mobiles 8
Ce que fait la plateforme
• Créer/Supprimer des composants
• Créer/Supprimer des connecteurs
• Migrer des composants et assurer les reconnexions
• Ajouter/Supprimer/Dupliquer des connexions
• Récupérer les informations de contexte :
• Des composants (QdS, activité)
• Des connecteurs (QdS, circulation d’info)
• De l’infrastructure matérielle (batterie, CPU, mémoire, réseau)
• De l’environnement (capteurs)
• De l’application (demandes de reconfigurations)
Kalimucho - Interopérabilité des Plate-formes Mobiles 9
Applications auto-reconfigurables
L’application demande des reconfigurations à la plateforme
par exemple à l’initiative de l’utilisateur.
Supervision Récupération du contexte
Application
Infrastructure matérielle
Environnement
Autres
plateformes
Demande de
reconfiguration
reconfiguration
États + événements
États + événements
Kalimucho - Interopérabilité des Plate-formes Mobiles 10
Prise de décision
La plateforme décide de reconfigurations de
l’application en fonction du contexte
Supervision Récupération du contexte
Application
Prise de décision
Autres
plateformes
États + événementsreconfiguration
États + événements
Module de
test Fichier
de
configurations
La prise de décision n’est pas encore
implémentée, elle est simulée par un
module de test
Kalimucho - Interopérabilité des Plate-formes Mobiles 11
Infrastructure matérielle
Environnement
Partie applicative (composants)
• Composants (Osagaia)
• Cycle de vie géré par le modèle Osagaia
• Accès aux flux d’E/S (lecture/écriture + événements)
• Accès aux ressources (propres, matérielles et services de la PF)
Kalimucho - Interopérabilité des Plate-formes Mobiles 12
Le code et les ressources sont chargés dynamiquement
(dépôt de composants + caches de dépôts)
Partie applicative (connecteurs)
• Connecteurs (Korrontea)
• Transfert d’objets + possibilité de traitement (CM)
• La route pour relier 2 composants est recherchée par la PF (création
de connecteurs relais pour réseaux hétérogènes ou disjoints).
Kalimucho - Interopérabilité des Plate-formes Mobiles 13
Partie applicative (connecteurs)
• Possibilité de connexion en Wifi ou filaire
• Établissement automatique de routes directes
ou par relais
• Possibilité de connexion en GSM
• Mise en place d’un service de proxy installable sur toutes les
plateformes sur PC
• Détection des connexions/déconnexions/reconnexions
• Routage automatique via un proxy pour les mobiles en GSM
Proxy
Kalimucho - Interopérabilité des Plate-formes Mobiles 14
Langage de commande
• Composants
• CreateComponent nom classe [entrée1 entrée2 …] [sortie1 sortie2 …]
• La liste des E/S peut être vide: [null]
• Une entrée peut être étiquetée "not_used" et être utilisée plus tard
• RemoveComponent nom
• SendComponent nom vers
• DisconnectInputComponent nom connecteur
• ReconnectInputComponent nom numéro nouveau_connecteur
• DisconnectOutputComponent nom connecteur
• DuplicateOutputComponent nom numéro nouveau_connecteur
Kalimucho - Interopérabilité des Plate-formes Mobiles 15
Langage de commandes
• Connecteurs
• CreateConnector nom de vers
• de et/ou vers peuvent être "internal"
• RemoveConnector nom
• Contexte
• ReadState
• ReadContainerState nom
• ReadQoS nom
• nom est le nom d’un composant ou d’un connecteur
• SendApplicationList
Kalimucho - Interopérabilité des Plate-formes Mobiles 16
Exemple illustré (architecture)
• Une PF kalimucho sur chaque périphérique (PC, téléphone
et tablette)
• Une PF de test qui remplace la prise décision (fichier de test)
et récupère les infos de contexte
Tablette
(Xoom)
Dépôts de
composants
PF pour
test
Fichiers de test
réseau
PF
Appli
Téléphone(Nexus)
PC portable
PF
Appli Appli
PF
Kalimucho - Interopérabilité des Plate-formes Mobiles 17
Etape 1
Déploiement :
Capture de vidéo par le téléphone et envoi vers le PC
Commandes envoyées aux PFs
Nexus  CreateComponent video application.video.VideoAcquisition [null] [c1]
PC  CreateComponent affichagevideo application.affichevideo.AfficheVideo [c1] [null]
PC  CreateConnector c1 Nexus internal
Xoom
Kalimucho - Interopérabilité des Plate-formes Mobiles 18
Etape 1 Etape 2
Migration :
Affichage de la vidéo déplacée du PC vers la tablette
Commandes envoyées aux PFs
PC  SendComponent affichagevideo Xoom
Xoom
Kalimucho - Interopérabilité des Plate-formes Mobiles 19
Etape 2 Etape 3
Changement de service :
Vidéo remplacée par photos envoyées vers le PC et la tablette
Commandes envoyées aux PFs
Nexus  RemoveComponent video
Xoom  RemoveComponent affichagevideo
Xoom  RemoveConnector c1
Nexus  CreateComponent photo application.camera.ImageAcquisition [null] [c3]
PC  CreateConnector c3 Nexus internal
PC  CreateComponent affichage application.camera.AfficheImage [c3 not_used] [null]
Xoom  CreateComponent affichage application.images.AfficheImage [c4 not_used] [null]
Nexus  CreateConnector c4 internal Xoom
Nexus  DuplicateOutputComponent photo 0 c4
Etape 1
Xoom
X
X
X
Kalimucho - Interopérabilité des Plate-formes Mobiles 20
Etape 4
Enrichissement de service :
Affichage des photos sur PC taguées par la position GPS
de l’expéditeur
Commandes envoyées aux PFs
Nexus  CreateComponent acquisition application.GPS.GPSAcquisition [null] [c5]
Nexus  CreateConnector c5 internal PC
PC  ReconnectInputComponent affichage 1 c5
Etape 2 Etape 3Etape 1
Xoom
Kalimucho - Interopérabilité des Plate-formes Mobiles 21
Complexité / Performance
Version taille du code
lignes de
code
classes
PC 624 Ko(1) 11 629 192
Android 708 Ko(2) 15 860 293
Commande Temps d’exécution sur Nexus One
Création de composant 450 à 750 ms (2Ko de code téléchargé)
Suppression de composant
15 ms (dépend de l’activité du composant
mais limité par la PF)
Création de connecteur interne 3 à 15 ms
Création de connecteur distribué 10 à 100 ms
Suppression de connecteur interne 3 à 15 ms
Suppression de connecteur distribué 3 à 25 ms
Déconnexion / Reconnexion 2 à 7 ms
Migration de composant 650 à 950 ms (2Ko de code téléchargé)
Kalimucho - Interopérabilité des Plate-formes Mobiles 22
(1) Taille du byte code
(2) Taille de l’application installée
Kalimucho en bref
• Résultat de plusieurs Thèses de doctorat
• Kalimucho ne fait rien ! C’est une plateforme logicielle distribuée aidant à la conception (aspect
non présenté ici), au déploiement et à l’adaptation de structure d’applications distribuées à base de
composants logiciels s’exécutant sur des périphériques mobiles hétérogènes.
• Flexible (migration, remplacement, reconfigurations dynamiques, contexte, etc.)
• Adaptations à la volée des applications => un pas vers les “eternal/long life applications”
• Facile
• De développer des composants dédiés
• Framework spécifique disponible (Modèles de composants/Connecteurs)
• API de services de la plateforme
• De déployer les composants et créer des scénarios
• Utilisation d’un langage dédié simple
• Dépôt de Brevets et transfert de technologie en cours
• APP : IDDN FR001130009000SP201300010100
C’est une “espèce” d’OS distribué
Kalimucho - Interopérabilité des Plate-formes Mobiles 23
Démo ?
Kalimucho - Interopérabilité des Plate-formes Mobiles 24

More Related Content

Viewers also liked (19)

Dulce veleidad
Dulce veleidadDulce veleidad
Dulce veleidad
 
Algoritmos y estructuras de datos
Algoritmos y estructuras de datosAlgoritmos y estructuras de datos
Algoritmos y estructuras de datos
 
Circulaire guéant
Circulaire      guéantCirculaire      guéant
Circulaire guéant
 
Leidy
LeidyLeidy
Leidy
 
Excel07cb
Excel07cbExcel07cb
Excel07cb
 
555 Flipflop
555 Flipflop555 Flipflop
555 Flipflop
 
Triangulos
TriangulosTriangulos
Triangulos
 
Trbajo practico n 1
Trbajo practico n 1Trbajo practico n 1
Trbajo practico n 1
 
Patrimoni Nucli Antic
Patrimoni Nucli AnticPatrimoni Nucli Antic
Patrimoni Nucli Antic
 
Diapositivas sytem pure water
Diapositivas sytem pure waterDiapositivas sytem pure water
Diapositivas sytem pure water
 
French Daniel Katechia
French  Daniel KatechiaFrench  Daniel Katechia
French Daniel Katechia
 
Platges de Menorca
Platges de MenorcaPlatges de Menorca
Platges de Menorca
 
La organi..[1]
La organi..[1]La organi..[1]
La organi..[1]
 
Didier bodas de sangre
Didier bodas de sangreDidier bodas de sangre
Didier bodas de sangre
 
Investigacion juridica
Investigacion juridicaInvestigacion juridica
Investigacion juridica
 
Planclase
PlanclasePlanclase
Planclase
 
Diaporama
DiaporamaDiaporama
Diaporama
 
Mi familia
Mi familiaMi familia
Mi familia
 
Cosquin
CosquinCosquin
Cosquin
 

Similar to Kalimucho

SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvamine17157
 
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Microsoft Technet France
 
Cas de la refonte de STM.info
Cas de la refonte de STM.infoCas de la refonte de STM.info
Cas de la refonte de STM.infoTP1
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérienceClaude Coulombe
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de baseMariem ZAOUALI
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Microsoft Ideas
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Trader's - Quick Software Line
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Anne-Marie Pinna-Dery
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
LA VIRTUALISATION DANS TOUS SES ETATS ! Du datacenter au poste de travail
LA VIRTUALISATION DANS TOUS SES ETATS !Du datacenter au poste de travailLA VIRTUALISATION DANS TOUS SES ETATS !Du datacenter au poste de travail
LA VIRTUALISATION DANS TOUS SES ETATS ! Du datacenter au poste de travaillelud
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
AtelierENP - 12 décembre 2012
AtelierENP - 12 décembre 2012AtelierENP - 12 décembre 2012
AtelierENP - 12 décembre 2012CCI Yonne
 
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdfComment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdfAitAddiHajar
 

Similar to Kalimucho (20)

SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
 
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
 
Openstack proposition
Openstack propositionOpenstack proposition
Openstack proposition
 
Cas de la refonte de STM.info
Cas de la refonte de STM.infoCas de la refonte de STM.info
Cas de la refonte de STM.info
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérience
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
 
12-Factor
12-Factor12-Factor
12-Factor
 
On Board Computer Subsystem.pdf
On Board Computer Subsystem.pdfOn Board Computer Subsystem.pdf
On Board Computer Subsystem.pdf
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
LA VIRTUALISATION DANS TOUS SES ETATS ! Du datacenter au poste de travail
LA VIRTUALISATION DANS TOUS SES ETATS !Du datacenter au poste de travailLA VIRTUALISATION DANS TOUS SES ETATS !Du datacenter au poste de travail
LA VIRTUALISATION DANS TOUS SES ETATS ! Du datacenter au poste de travail
 
fati projet.pptx
fati projet.pptxfati projet.pptx
fati projet.pptx
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
AtelierENP - 12 décembre 2012
AtelierENP - 12 décembre 2012AtelierENP - 12 décembre 2012
AtelierENP - 12 décembre 2012
 
§T-expNC_Study.pdf
§T-expNC_Study.pdf§T-expNC_Study.pdf
§T-expNC_Study.pdf
 
§T-expNC_Study
§T-expNC_Study§T-expNC_Study
§T-expNC_Study
 
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdfComment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
 

More from iCOMMUNITY

Session flash - Rencontre Inria Industrie Bio-informatique et outils numériq...
Session flash  - Rencontre Inria Industrie Bio-informatique et outils numériq...Session flash  - Rencontre Inria Industrie Bio-informatique et outils numériq...
Session flash - Rencontre Inria Industrie Bio-informatique et outils numériq...iCOMMUNITY
 
Innovative city convention 2013 - Workshop 1 - Numtech - e-buisson
Innovative city convention 2013 - Workshop 1 - Numtech - e-buissonInnovative city convention 2013 - Workshop 1 - Numtech - e-buisson
Innovative city convention 2013 - Workshop 1 - Numtech - e-buissoniCOMMUNITY
 
innovative city convention - Workshop 1 - Ville de Nancy - c guidat
innovative city convention - Workshop 1 - Ville de Nancy - c guidatinnovative city convention - Workshop 1 - Ville de Nancy - c guidat
innovative city convention - Workshop 1 - Ville de Nancy - c guidatiCOMMUNITY
 
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaron
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaronInnovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaron
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaroniCOMMUNITY
 
Innovative city convention 2013 - Workshop 1 - Inria - Florent Genou
Innovative city convention 2013 - Workshop 1 - Inria - Florent GenouInnovative city convention 2013 - Workshop 1 - Inria - Florent Genou
Innovative city convention 2013 - Workshop 1 - Inria - Florent GenouiCOMMUNITY
 
Innovative city convention 2013 - Workshop 1 - Fing - Thierry Marcou
Innovative city convention 2013 - Workshop 1 - Fing - Thierry MarcouInnovative city convention 2013 - Workshop 1 - Fing - Thierry Marcou
Innovative city convention 2013 - Workshop 1 - Fing - Thierry MarcouiCOMMUNITY
 
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...iCOMMUNITY
 
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...iCOMMUNITY
 
Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013
  Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013  Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013
Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013iCOMMUNITY
 
Reconnaissance automatique d'activités humaines dans des réseaux de caméras
Reconnaissance automatique d'activités humaines dans des réseaux de camérasReconnaissance automatique d'activités humaines dans des réseaux de caméras
Reconnaissance automatique d'activités humaines dans des réseaux de camérasiCOMMUNITY
 
Urbanisme et réalité augmentée
Urbanisme et réalité augmentéeUrbanisme et réalité augmentée
Urbanisme et réalité augmentéeiCOMMUNITY
 
Une réponse aux besoins des industriels pour la communication sans fil des éq...
Une réponse aux besoins des industriels pour la communication sans fil des éq...Une réponse aux besoins des industriels pour la communication sans fil des éq...
Une réponse aux besoins des industriels pour la communication sans fil des éq...iCOMMUNITY
 
Simuler, évaluer et optimiser : une stratégie énergétique territoriale
Simuler, évaluer et optimiser : une stratégie énergétique territoriale Simuler, évaluer et optimiser : une stratégie énergétique territoriale
Simuler, évaluer et optimiser : une stratégie énergétique territoriale iCOMMUNITY
 
Ecoffices AxIS
Ecoffices AxISEcoffices AxIS
Ecoffices AxISiCOMMUNITY
 
Web de donnees et web semantique fabien_gandon
Web de donnees et web semantique fabien_gandonWeb de donnees et web semantique fabien_gandon
Web de donnees et web semantique fabien_gandoniCOMMUNITY
 
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...iCOMMUNITY
 
Présentation Aerys
Présentation Aerys Présentation Aerys
Présentation Aerys iCOMMUNITY
 
Une plateforme pour une orchestration sûre de services convergents
Une plateforme pour une orchestration sûre de services convergentsUne plateforme pour une orchestration sûre de services convergents
Une plateforme pour une orchestration sûre de services convergentsiCOMMUNITY
 
Neomades crosscompilation
Neomades crosscompilationNeomades crosscompilation
Neomades crosscompilationiCOMMUNITY
 

More from iCOMMUNITY (20)

Session flash - Rencontre Inria Industrie Bio-informatique et outils numériq...
Session flash  - Rencontre Inria Industrie Bio-informatique et outils numériq...Session flash  - Rencontre Inria Industrie Bio-informatique et outils numériq...
Session flash - Rencontre Inria Industrie Bio-informatique et outils numériq...
 
Innovative city convention 2013 - Workshop 1 - Numtech - e-buisson
Innovative city convention 2013 - Workshop 1 - Numtech - e-buissonInnovative city convention 2013 - Workshop 1 - Numtech - e-buisson
Innovative city convention 2013 - Workshop 1 - Numtech - e-buisson
 
innovative city convention - Workshop 1 - Ville de Nancy - c guidat
innovative city convention - Workshop 1 - Ville de Nancy - c guidatinnovative city convention - Workshop 1 - Ville de Nancy - c guidat
innovative city convention - Workshop 1 - Ville de Nancy - c guidat
 
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaron
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaronInnovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaron
Innovative city convention 2013 - Workshop 1 - Conseil Général 06 p-savaron
 
Innovative city convention 2013 - Workshop 1 - Inria - Florent Genou
Innovative city convention 2013 - Workshop 1 - Inria - Florent GenouInnovative city convention 2013 - Workshop 1 - Inria - Florent Genou
Innovative city convention 2013 - Workshop 1 - Inria - Florent Genou
 
Innovative city convention 2013 - Workshop 1 - Fing - Thierry Marcou
Innovative city convention 2013 - Workshop 1 - Fing - Thierry MarcouInnovative city convention 2013 - Workshop 1 - Fing - Thierry Marcou
Innovative city convention 2013 - Workshop 1 - Fing - Thierry Marcou
 
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...
Innovative city convention 2013 - Workshop 1 Overcoming the smart city challe...
 
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...
Projet européen ELLIOT : l'implication des citoyens/professionnels dans la co...
 
Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013
  Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013  Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013
Inria Workshop 2 - Présentation Anne-Céline Lamballe - Innovative City 2013
 
Reconnaissance automatique d'activités humaines dans des réseaux de caméras
Reconnaissance automatique d'activités humaines dans des réseaux de camérasReconnaissance automatique d'activités humaines dans des réseaux de caméras
Reconnaissance automatique d'activités humaines dans des réseaux de caméras
 
Urbanisme et réalité augmentée
Urbanisme et réalité augmentéeUrbanisme et réalité augmentée
Urbanisme et réalité augmentée
 
Une réponse aux besoins des industriels pour la communication sans fil des éq...
Une réponse aux besoins des industriels pour la communication sans fil des éq...Une réponse aux besoins des industriels pour la communication sans fil des éq...
Une réponse aux besoins des industriels pour la communication sans fil des éq...
 
Simuler, évaluer et optimiser : une stratégie énergétique territoriale
Simuler, évaluer et optimiser : une stratégie énergétique territoriale Simuler, évaluer et optimiser : une stratégie énergétique territoriale
Simuler, évaluer et optimiser : une stratégie énergétique territoriale
 
Ecoffices AxIS
Ecoffices AxISEcoffices AxIS
Ecoffices AxIS
 
Web de donnees et web semantique fabien_gandon
Web de donnees et web semantique fabien_gandonWeb de donnees et web semantique fabien_gandon
Web de donnees et web semantique fabien_gandon
 
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
 
Présentation Aerys
Présentation Aerys Présentation Aerys
Présentation Aerys
 
Une plateforme pour une orchestration sûre de services convergents
Une plateforme pour une orchestration sûre de services convergentsUne plateforme pour une orchestration sûre de services convergents
Une plateforme pour une orchestration sûre de services convergents
 
Neomades crosscompilation
Neomades crosscompilationNeomades crosscompilation
Neomades crosscompilation
 
Macchiato
MacchiatoMacchiato
Macchiato
 

Kalimucho

  • 1. KALIMUCHOPlate-forme pour applications réparties dynamiquement reconfigurées Kalimucho - Interopérabilité des Plate-formes Mobiles 1 IUT Bayonne, Pays Basque M. DALMAU P. ROOSE
  • 2. Domaines d’application • Applications sensibles au contexte • S’adapter au lieu, au temps, aux ressources du périphérique, au réseau … Plutôt que d’adapter les données, adapter les applications Push d’application et/ou de services de l’application • Applications ubiquitaires • Suivre l’utilisateur dans son quotidien Migration d’applications et/ou de services de l’application Multi modalité
  • 3. • Domaines : modélisation et analyse de données urbaines, incitation et gouvernance, réseaux et mobilité, lieux et conditions de vie et de travail, réseaux sociaux, énergie … • Objectif : nouveaux services contextualisés dans la ville • Guidage selon préférences utilisateurs • Inclut la gestion des handicaps physiques • Réaction aux événements locaux (espace, temps ou thématiques) • Accès à la multi-modalité :Bus, vélo, marche, voiture, TOUT • Habitats intelligents (Smart Home) • Santé (Smart Health) Villes intelligentes (Smart Cities) Kalimucho - Interopérabilité des Plate-formes Mobiles 3
  • 4. Alarming 4 Adulte accompagnant -Prend des photos/vidéo des - dommages - blessés -Reçoit des instructions Carte d’intervention / aide aux pompiers + Si la batterie est faible => Continuité de l’application Par reconfiguration dynamique Organisations impliquées Kalimucho - Interopérabilité des Plate-formes Mobiles
  • 5. Communautés • Création dynamique de communautés spontanées Je suis en vacances au Pays Basque du 15 au 31 juillet Je fais une partie d’exhibition de Pelote Basque tous les jeudis de juillet Je vis au Pays BasqueJe serais au Pays Basque en Septembre pour l’été indien Kalimucho - Interopérabilité des Plate-formes Mobiles 5
  • 6. Kalimucho ?  Plateforme (à service) pour applications pervasives à base de composants  Résout de nombreux problèmes :  Applications Dynamiques [re-]déploiement sur périphériques mobiles (smartphones, tablet, PC, etc.).  Reconfigurations à chaud : Reconfiguration sans stopper l’application  En fonction de besoins fonctionnels, énergétiques, matériels, utilisateur…  Transfert d’informations entre composants logiciels  Avec gestion automatique de passerelles  Avec adaptation à la volée de données (complétion, format, modalité, etc.) Kalimucho - Interopérabilité des Plate-formes Mobiles 6
  • 7. Kalimucho !  Mais permet également …  De réaliser des installations instantanées et temporaires (short-lived Installation/deployment ) sur des périphériques.  Lorsque l’application est fermée, les composants déployés sont détruits.  L’accès à des applications non résidentes (non prévues à l’avance)  Des installations et des déploiements ad’hoc/contextualisés selon les besoins du moment  Sans passer par une opération guidée par l’utilisateur  Sans « [android-]market » ou « any app-store » Kalimucho - Interopérabilité des Plate-formes Mobiles 7
  • 8. Principes Kalimucho est une plateforme pour applications réparties dont l’architecture peut être modifiée pendant que l’application fonctionne. • L’application : • Constituée de composants distribués sur les différentes machines • Un composant est une mini application pouvant avoir une interface et capable d’échanger des données avec d’autres • Les composants sont téléchargés et installés à la demande, ils sont supprimés dès qu’ils ne sont plus utilisés • Les composants sont reliés entre eux par des connecteurs • La plateforme • Modifie l’architecture de l’application • A la demande de l’application (de l’utilisateur) • En fonction du contexte Kalimucho - Interopérabilité des Plate-formes Mobiles 8
  • 9. Ce que fait la plateforme • Créer/Supprimer des composants • Créer/Supprimer des connecteurs • Migrer des composants et assurer les reconnexions • Ajouter/Supprimer/Dupliquer des connexions • Récupérer les informations de contexte : • Des composants (QdS, activité) • Des connecteurs (QdS, circulation d’info) • De l’infrastructure matérielle (batterie, CPU, mémoire, réseau) • De l’environnement (capteurs) • De l’application (demandes de reconfigurations) Kalimucho - Interopérabilité des Plate-formes Mobiles 9
  • 10. Applications auto-reconfigurables L’application demande des reconfigurations à la plateforme par exemple à l’initiative de l’utilisateur. Supervision Récupération du contexte Application Infrastructure matérielle Environnement Autres plateformes Demande de reconfiguration reconfiguration États + événements États + événements Kalimucho - Interopérabilité des Plate-formes Mobiles 10
  • 11. Prise de décision La plateforme décide de reconfigurations de l’application en fonction du contexte Supervision Récupération du contexte Application Prise de décision Autres plateformes États + événementsreconfiguration États + événements Module de test Fichier de configurations La prise de décision n’est pas encore implémentée, elle est simulée par un module de test Kalimucho - Interopérabilité des Plate-formes Mobiles 11 Infrastructure matérielle Environnement
  • 12. Partie applicative (composants) • Composants (Osagaia) • Cycle de vie géré par le modèle Osagaia • Accès aux flux d’E/S (lecture/écriture + événements) • Accès aux ressources (propres, matérielles et services de la PF) Kalimucho - Interopérabilité des Plate-formes Mobiles 12 Le code et les ressources sont chargés dynamiquement (dépôt de composants + caches de dépôts)
  • 13. Partie applicative (connecteurs) • Connecteurs (Korrontea) • Transfert d’objets + possibilité de traitement (CM) • La route pour relier 2 composants est recherchée par la PF (création de connecteurs relais pour réseaux hétérogènes ou disjoints). Kalimucho - Interopérabilité des Plate-formes Mobiles 13
  • 14. Partie applicative (connecteurs) • Possibilité de connexion en Wifi ou filaire • Établissement automatique de routes directes ou par relais • Possibilité de connexion en GSM • Mise en place d’un service de proxy installable sur toutes les plateformes sur PC • Détection des connexions/déconnexions/reconnexions • Routage automatique via un proxy pour les mobiles en GSM Proxy Kalimucho - Interopérabilité des Plate-formes Mobiles 14
  • 15. Langage de commande • Composants • CreateComponent nom classe [entrée1 entrée2 …] [sortie1 sortie2 …] • La liste des E/S peut être vide: [null] • Une entrée peut être étiquetée "not_used" et être utilisée plus tard • RemoveComponent nom • SendComponent nom vers • DisconnectInputComponent nom connecteur • ReconnectInputComponent nom numéro nouveau_connecteur • DisconnectOutputComponent nom connecteur • DuplicateOutputComponent nom numéro nouveau_connecteur Kalimucho - Interopérabilité des Plate-formes Mobiles 15
  • 16. Langage de commandes • Connecteurs • CreateConnector nom de vers • de et/ou vers peuvent être "internal" • RemoveConnector nom • Contexte • ReadState • ReadContainerState nom • ReadQoS nom • nom est le nom d’un composant ou d’un connecteur • SendApplicationList Kalimucho - Interopérabilité des Plate-formes Mobiles 16
  • 17. Exemple illustré (architecture) • Une PF kalimucho sur chaque périphérique (PC, téléphone et tablette) • Une PF de test qui remplace la prise décision (fichier de test) et récupère les infos de contexte Tablette (Xoom) Dépôts de composants PF pour test Fichiers de test réseau PF Appli Téléphone(Nexus) PC portable PF Appli Appli PF Kalimucho - Interopérabilité des Plate-formes Mobiles 17
  • 18. Etape 1 Déploiement : Capture de vidéo par le téléphone et envoi vers le PC Commandes envoyées aux PFs Nexus  CreateComponent video application.video.VideoAcquisition [null] [c1] PC  CreateComponent affichagevideo application.affichevideo.AfficheVideo [c1] [null] PC  CreateConnector c1 Nexus internal Xoom Kalimucho - Interopérabilité des Plate-formes Mobiles 18
  • 19. Etape 1 Etape 2 Migration : Affichage de la vidéo déplacée du PC vers la tablette Commandes envoyées aux PFs PC  SendComponent affichagevideo Xoom Xoom Kalimucho - Interopérabilité des Plate-formes Mobiles 19
  • 20. Etape 2 Etape 3 Changement de service : Vidéo remplacée par photos envoyées vers le PC et la tablette Commandes envoyées aux PFs Nexus  RemoveComponent video Xoom  RemoveComponent affichagevideo Xoom  RemoveConnector c1 Nexus  CreateComponent photo application.camera.ImageAcquisition [null] [c3] PC  CreateConnector c3 Nexus internal PC  CreateComponent affichage application.camera.AfficheImage [c3 not_used] [null] Xoom  CreateComponent affichage application.images.AfficheImage [c4 not_used] [null] Nexus  CreateConnector c4 internal Xoom Nexus  DuplicateOutputComponent photo 0 c4 Etape 1 Xoom X X X Kalimucho - Interopérabilité des Plate-formes Mobiles 20
  • 21. Etape 4 Enrichissement de service : Affichage des photos sur PC taguées par la position GPS de l’expéditeur Commandes envoyées aux PFs Nexus  CreateComponent acquisition application.GPS.GPSAcquisition [null] [c5] Nexus  CreateConnector c5 internal PC PC  ReconnectInputComponent affichage 1 c5 Etape 2 Etape 3Etape 1 Xoom Kalimucho - Interopérabilité des Plate-formes Mobiles 21
  • 22. Complexité / Performance Version taille du code lignes de code classes PC 624 Ko(1) 11 629 192 Android 708 Ko(2) 15 860 293 Commande Temps d’exécution sur Nexus One Création de composant 450 à 750 ms (2Ko de code téléchargé) Suppression de composant 15 ms (dépend de l’activité du composant mais limité par la PF) Création de connecteur interne 3 à 15 ms Création de connecteur distribué 10 à 100 ms Suppression de connecteur interne 3 à 15 ms Suppression de connecteur distribué 3 à 25 ms Déconnexion / Reconnexion 2 à 7 ms Migration de composant 650 à 950 ms (2Ko de code téléchargé) Kalimucho - Interopérabilité des Plate-formes Mobiles 22 (1) Taille du byte code (2) Taille de l’application installée
  • 23. Kalimucho en bref • Résultat de plusieurs Thèses de doctorat • Kalimucho ne fait rien ! C’est une plateforme logicielle distribuée aidant à la conception (aspect non présenté ici), au déploiement et à l’adaptation de structure d’applications distribuées à base de composants logiciels s’exécutant sur des périphériques mobiles hétérogènes. • Flexible (migration, remplacement, reconfigurations dynamiques, contexte, etc.) • Adaptations à la volée des applications => un pas vers les “eternal/long life applications” • Facile • De développer des composants dédiés • Framework spécifique disponible (Modèles de composants/Connecteurs) • API de services de la plateforme • De déployer les composants et créer des scénarios • Utilisation d’un langage dédié simple • Dépôt de Brevets et transfert de technologie en cours • APP : IDDN FR001130009000SP201300010100 C’est une “espèce” d’OS distribué Kalimucho - Interopérabilité des Plate-formes Mobiles 23
  • 24. Démo ? Kalimucho - Interopérabilité des Plate-formes Mobiles 24