Upload
madeline-godin
View
107
Download
5
Embed Size (px)
Citation preview
Patrons et Intergiciel Patrons et Intergiciel pour Spour Systèmesystèmes EmbarquésEmbarqués
::
versvers un un langagelangage de motifs de motifs
D. BELLEBIA – 11/11/2007 NSY208 CNAM
IntroductionIntroduction
• Omniprésents
• Connexions sans fils: wifi, Bluetooth
• Intergiciel
• Système Embarqué = Composant
• Modèles de conception
• Langage de motifs
PlanPlan
• Etude de cas pour l’interconnexion• Intergiciel : définition, finalité et architecture• Exigences de l’intergiciel• Acteurs et cas d’utilisation• Modèles de conception • Résultats
PlanPlan
• Etude de cas pour l’interconnexion• Intergiciel : définition, finalité et architecture
• Exigences de l’intergiciel
• Acteurs et cas d’utilisation
• Modèles de conception & Langage de motifs
• Résultats
Interconnexion de plusieurs systèmesInterconnexion de plusieurs systèmes
BD
INTRANET
GSM
PlanPlan
• Etude de cas pour l’interconnexion
• Intergiciel : définition, finalité et architecture• Exigences l’intergiciel
• Acteurs et cas d’utilisation
• Modèles de conception & Langage de motifs
• Résultats
Définition et buts de l’intergicielDéfinition et buts de l’intergiciel
• Système réseau
• Abstractions communes
• Masquer
• Simplifier
Architecture d’un intergicielArchitecture d’un intergiciel
Intergiciel
Application A Application B
Windows
COMMUNICATION
S60
PlanPlan
• Etude de cas pour l’interconnexion
• Intergiciel : définition, finalité et architecture
• Exigences de l’intergiciel• Acteurs et cas d’utilisation
• Modèles de conception & Langage de motifs
• Résultats
Exigences fonctionnellesExigences fonctionnelles
• Composition – besoin d’organiser, de structurer les systèmes
• Notifications– coordination entre plusieurs systèmes
• Communication asynchrone– systèmes mobiles
• Découverte ad hoc– réseaux, systèmes, services
Exigences techniquesExigences techniques
• Flexibilité– Téléphone, TINI, Assistants Personnels,…
• Sécurité– Authentification et autorisations
• Gestion des ressources– taille mémoire physique < 128 ko
• Configuration– Nature des systèmes, services et protocoles
PlanPlan
• Etude de cas pour l’interconnexion
• Intergiciel : définition, finalité et architecture
• Exigences de l’intergiciel
• Acteurs et cas d’utilisation• Modèles de conception & Langage de motifs
• Résultats
ActeursActeurs
• Humains :– Intégrateur/Administrateur– Développeur– Utilisateur
• Machine :– Système Embarqué Composite– Système Embarqué Simple– Supervision
System
Composition
Integrateur
SystemEmbarque
Utilisateur
SEComposite
SESimple
Développeur
Visualisation
Cas d’utilisation / StructurationCas d’utilisation / Structuration
System
Composition
Integrateur
SystemEmbarque
Utilisateur
SEComposite
SESimple
Observation
Notification
Développeur
Visualisation
Réaction
Cas d’utilisation / NotificationsCas d’utilisation / Notifications
System
Composition
Publication
Subscribe
Integrateur
SystemEmbarque
Utilisateur
SEComposite
SESimple
Observation
Notification
Développeur
Visualisation
Réaction
Cas d’utilisation / Comm. asynchroneCas d’utilisation / Comm. asynchrone
System
Composition
Publication
Subscribe
Integrateur
SystemEmbarque
Renouvellement
Utilisateur
SEComposite
SESimple
Eviction
Obtention
Observation
Notification
Location
Développeur
Visualisation
Réaction
Cas d’utilisation / Ressources mémoireCas d’utilisation / Ressources mémoire
System
Composition
Publication
Subscribe
Integrateur
SystemEmbarque
Arrivée
Départ
Renouvellement
Utilisateur
SEComposite
SESimple
Eviction
Obtention
Observation
Notification
Location
Développeur
Visualisation
Réaction
Cas d’utilisation / Réseau ad hocCas d’utilisation / Réseau ad hoc
System
Composition
Configuration
Publication
Subscribe
Integrateur
SystemEmbarque
Arrivée
Départ
Mise à jour
Renouvellement
Utilisateur
SEComposite
SESimple
Eviction
Obtention
Observation
Notification
Location
Développeur
Visualisation
Réaction
Cas d’utilisation / AdaptabilitéCas d’utilisation / Adaptabilité
System
Composition
Configuration
Publication
Subscribe
Integrateur
SystemEmbarque
Arrivée
Départ
Mise à jour
Renouvellement
Utilisateur
SEComposite
SESimple
Eviction
Obtention
Observation
Notification
Location
Identification et Autorisation
Développeur
Visualisation
Réaction
Cas d’utilisation / SécuritéCas d’utilisation / Sécurité
Cas d’utilisation / SupervisionCas d’utilisation / SupervisionSystem
Composition
Configuration
Publication
Subscribe
Integrateur
SystemEmbarque
Arrivée
Départ
Mise à jour
Renouvellement
Utilisateur
Monitoring
SEComposite
SESimple
Eviction
Obtention
Contrôleur
Observation
Notification
Location
Identification et Autorisation
Développeur
Visualisation
Réaction
PlanPlan
• Etude de cas pour l’interconnexion
• Intergiciel : définition, finalité et architecture
• Exigences de l’intergiciel
• Acteurs et cas d’utilisation
• Modèles de conception & Langage de motifs• Résultats
ModèlesModèles de conception de conception
• Christophe Alexander 1975
• Solution récurrente à un problème dans un certain contexte
• GoF 1995
Langage de motifsLangage de motifs
• Définition– Ensemble de modèles pour résoudre un problème complexe
– Règles qui expliquent comment et quand appliquer les modèles
– Chaque modèle dépend à la fois du modèle plus petit qu’il contient et des modèles plus larges qui le contiennent
– Réseau de connexions
– Variété infinie de constructions
Sélection de motifsSélection de motifs
Multi-couches
Micronoyau
Architecture
Notre langage de motifs
Multi-couches
Micronoyau
Architecture
Fabrique abstraite
Singleton
Abstraction et création d'instance
unicité
Enveloppe
Notre langage de motifs
Multi-couches
Micronoyau
Visiteur
Composite
Topologie réseau
Architecture
Fabrique abstraite
Singleton
Abstraction et création d'instance
unicité
Instance de SE
Enveloppe
Notre langage de motifs
Multi-couches
Micronoyau
Visiteur
Composite
Stratégie
Procuration
Topologie réseau
Architecture
Communication réseau
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Recepteur
Notre langage de motifs
Multi-couches
Micronoyau
Visiteur
Composite
Pub/ Sub
Stratégie
Procuration
Observateur
Topologie réseau
Architecture
Communication réseau
Notifications
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Recepteur
Notre langage de motifs
Multi-couches
Micronoyau
Visiteur
Composite
Pub/ Sub
Stratégie
Procuration
Observateur
Topologie réseau
Architecture
Communication réseau
Notifications
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Traitement des requêtes
Recepteur
Invocateur
Commande
Notre langage de motifs
Multi-couches
Micronoyau
Visiteur
Composite
Pub/ Sub
Stratégie
Procuration
Observateur
Topologie réseau
Architecture
Communication réseau
Notifications
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Traitement des requêtes
Recepteur
Invocateur
Commande
Notre langage de motifs
Multi-couches
Micronoyau
Configurateur
Intercepteur
Visiteur
Composite
Pub/ Sub
Stratégie
Procuration
Observateur
CdR
Topologie réseau
Architecture
Communication réseau
Configuration
Notifications
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Traitement des requêtes
Recepteur
Invocateur
Commande
Notre langage de motifs
Multi-couches
Micronoyau
Configurateur
Intercepteur
Visiteur
Composite
Pub/ Sub
Stratégie
Procuration
Observateur
CdR
Leasing
Eviction
Topologie réseau
Architecture
Communication réseau
Mémoire
Configuration
Notifications
Fabrique abstraite
Singleton
Abstraction et création d'instance
Requêteur
Empaqueteur
unicité
Instance de SE
Enveloppe
Traitement des requêtes
Recepteur
Invocateur
Commande
Notre langage de motifs
PlanPlan
• Etude de cas pour l’interconnexion
• Intergiciel : définition, finalité et architecture
• Exigences de l’intergiciel
• Acteurs et cas d’utilisation
• Modèles de conception & Langage de motifs
• Résultats
Système d’exploitation(Windows, S60)
Serveur(Brazil HTTP ou Bluetooth)
ArchitectureArchitecture
Couche micronoyau(Noyau, Internes et Externes)
Couche application(Espace utilisateur)
INT
ER
GIC
IEL
Machine Virtuelle Java
StructurationStructuration
BD
INTRANET
GSM
CompositeComposite
Arborescence logique des systèmes interconnectés pour l’étude de cas
BUS
Serveur
Capteur
Base de données Imprimante Ordinateur portable
Téléphone mobile
ObservateurObservateur
La base journal en tant qu’observateur de l’ordinateur portable
VisiteurVisiteur
VisiteurVisiteur
VisiteurVisiteur
ConfigurateurConfigurateur# Type du système embarqué : composite ou simple _FACADE=CompositeThing
_THING_ID=PC-PORTABLE
#Token use to split strings
_TOKENS_SEPA=,
# Liste des intercepteurs_INTERCEPTORS_PKAG=kernel.external.interceptors.
_INTERCEPTORS_LIST=LoggingInterceptor,ResourceMgmtInterceptor,SecurityInterceptor,ServiceLocatorInterceptor,
ServiceInvocatorInterceptor
# Services externes _KERNEL_EXTERNAL_SERVICES_PKAG=kernel.external.services.
_KERNEL_EXTERNAL_SERVICES_LIST=BluetoothDeviceListener
_KERNEL_EXTERNAL_SERVICES_LIST_SIZE=5
BluetoothDeviceListener.Timestamp=60
# Liste des services applicatifs_APPLI_SERVICES_PKAG=appli.commands.
_APPLI_SERVICES_LIST=discovery,configuration,composition,observation,visite
_APPLI_DEFAULT_SERVICE=discovery
# Protocoles supportés _RUNNING_PROTOCOLS=bluetooth,http
#_RUNNING_PROTOCOLS=bluetooth
bluetooth.main=bluetooth.server.BTL2CAPServer
_SERVICE_UUID=c09d19beb8cf49b792ab79df77940762
#The logger class
_LOGGER=nesmid.util.Func
_LOGGING_URL=http://localhost:2222
MesuresMesuresModule Taille en kilo-octets
Fichiers communs (partagés par tous les modules)
18,6
Le serveur Brazil en mode web 26,1
Le serveur Brazil en mode Bluetooth 22,1
Parseur XML 3
Environnement d’exécution AspectJ 1,9
Total 72
Taille mémoire des modules externes
MesuresMesures
Motif de conception Taille en kilo-octets
Composite 4,3
Commande 0,4
Chaine de responsabilité 1
Fabrique 2
Intercepteur 8,2
Observer/Pub-Sub 7,2
Visiteur 0,9
Total 24
Taille mémoire des motifs compris dans le module micronoyau
MesuresMesuresMotif de conception Taille en kilo-octets
Eviction 1.5
Leasing 3.7
Empaqueteur 2,8
Procuration 2,3
Requeteur 2,6
Stratégie 4,9
Total 12,6
Taille des motifs compris dans le module services internes
MesuresMesures
Services Taille en kilo-octets
Système 7,4
Application 28
Total 35,4
Taille de l’implémentation des services système et applicatifs
ConclusionConclusion
• Intergiciel léger, flexible et extensible• Approche modèles de conception• PLOP 2006
• Sécurité• Réseau Adhoc• Code mobile• Langage de motifs