47
Patrons et Intergiciel Patrons et Intergiciel pour S pour S ystèmes ystèmes Embarqués Embarqués : : vers vers un un langage langage de motifs de motifs D. BELLEBIA – 11/11/2007 NSY208 CNAM

Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Embed Size (px)

Citation preview

Page 1: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 2: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

IntroductionIntroduction

• Omniprésents

• Connexions sans fils: wifi, Bluetooth

• Intergiciel

• Système Embarqué = Composant

• Modèles de conception

• Langage de motifs

Page 3: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 4: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 5: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Interconnexion de plusieurs systèmesInterconnexion de plusieurs systèmes

BD

INTRANET

GSM

Page 6: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 7: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Définition et buts de l’intergicielDéfinition et buts de l’intergiciel

• Système réseau

• Abstractions communes

• Masquer

• Simplifier

Page 8: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Architecture d’un intergicielArchitecture d’un intergiciel

Intergiciel

Application A Application B

Windows

COMMUNICATION

S60

Page 9: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 10: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 11: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 12: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 13: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

ActeursActeurs

• Humains :– Intégrateur/Administrateur– Développeur– Utilisateur

• Machine :– Système Embarqué Composite– Système Embarqué Simple– Supervision

Page 14: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

System

Composition

Integrateur

SystemEmbarque

Utilisateur

SEComposite

SESimple

Développeur

Visualisation

Cas d’utilisation / StructurationCas d’utilisation / Structuration

Page 15: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

System

Composition

Integrateur

SystemEmbarque

Utilisateur

SEComposite

SESimple

Observation

Notification

Développeur

Visualisation

Réaction

Cas d’utilisation / NotificationsCas d’utilisation / Notifications

Page 16: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 17: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 18: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 19: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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é

Page 20: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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é

Page 21: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 22: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 23: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

ModèlesModèles de conception de conception

• Christophe Alexander 1975

• Solution récurrente à un problème dans un certain contexte

• GoF 1995

Page 24: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 25: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Sélection de motifsSélection de motifs

Page 26: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Multi-couches

Micronoyau

Architecture

Notre langage de motifs

Page 27: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

Multi-couches

Micronoyau

Architecture

Fabrique abstraite

Singleton

Abstraction et création d'instance

unicité

Enveloppe

Notre langage de motifs

Page 28: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 29: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 30: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 31: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 32: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 33: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 34: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 35: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 36: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

StructurationStructuration

BD

INTRANET

GSM

Page 37: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 38: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

ObservateurObservateur

La base journal en tant qu’observateur de l’ordinateur portable

Page 39: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

VisiteurVisiteur

Page 40: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

VisiteurVisiteur

Page 41: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

VisiteurVisiteur

Page 42: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 43: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 44: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 45: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 46: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

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

Page 47: Patrons et Intergiciel pour Systèmes Embarqués : vers un langage de motifs D. BELLEBIA – 11/11/2007NSY208 CNAM

ConclusionConclusion

• Intergiciel léger, flexible et extensible• Approche modèles de conception• PLOP 2006

• Sécurité• Réseau Adhoc• Code mobile• Langage de motifs