Plan L’approche objets Les normes OSI Compléments aux normes OSI Les travaux du NM Forum le TMN SNMP (V1, V2, V3, RMON) Comparaison des approches 1 1 1
L’encapsulation I N T E R F A C METHODES CHAMPS 2 2 2 2
Les classes Deux composantes : composante statique : les données, composées de champs. Ils caractérisent l'état des objets pendant l'exécution du programme. composante dynamique : les procédures appelées méthodes, qui représentent le comportement commun des objets appartenant à la classe. Les méthodes manipulent les champs des objets et caractérisent les actions pouvant être effectuées par les objets. 3 3 3
Exemple de classe Classe Article Champs référence désignation prixHT quantité Méthodes Prix TTC (): retourner (1.186 * prixHT) prixtransport (): retourner (0.05 * prixHT) retirer (q) quantité <---- quantité - q ajouter (q) quantité <---- quantité + q 4 4 4
L’instanciation La classe décrit l'objet Elle sert de modèle pour construire les instances Les instances sont reproduites par moulage La liste des champs est détenue par la classe Les instances possèdent les valeurs Les méthodes ne sont pas dupliquées 5 5 5
Exemple d'instanciation Article référence désignation prixHT quantité prixTTC prix transport retirer ajouter 30341 kimono 495.00 1000 60021 TV portable 2480.00 100 Instance de 6 6 6 6
L' héritage Mise en commun des caractéristiques communes à plusieurs classes Les classes sont spécialisées par définition de sous-classes Une sous-classe partage les variables et les méthodes de sa super-classe On dit qu'elle hérite des propriétés de sa super-classe Deux techniques permettent de spécialiser une classe : l'enrichissement : de nouvelles variables et/ou de nouvelles méthodes sont définies la substitution : une nouvelle définition est donnée à une méthode. 7 7 7
Définition des classes par héritage Classe vêtement Superclasse Article Variables d'instance taille coloris Méthodes Classe ArticleDeLuxe Superclasse Article Variable d'instance Méthodes prixTTC () : retourner (1.25*prixHT) 8 8 8
Le graphe d' héritage La relation d'héritage lie une classe à sa super-classe La représentation graphique de la relation forme le graphe d'héritage La relation d'héritage est transitive Le terme superclasse désigne toute classe dont hérite une classe donnée La structuration en classe apporte une modularité importante La plupart des langages possèdent des bibliothèques de classes prédéfinies Par exemple en Smalltalk-80 : LinkedList, Form (objets graphiques), Process, Sémaphore, ... 9 9 9
Graphe d’héritage OBJET Article référence désignation prixHT quantité prixTTC prixtransport retirer ajouter ElectroMénager ArticleDeLuxe Vêtement duréegarantie poids validergarantie coloris taille Aspirateur niveausonore rayonaction débit dépression Téléviseur typetube largeurécran télécom- mande CaviarFrais provenance Chemise typecol typemanches nbpoches 10 10 10 10
Le graphe d' héritage Graphe d'héritage simple L'héritage multiple Le graphe d'héritage est un arbre la fermeture transitive de la relation d'héritage est un ordre total L'héritage multiple Une classe peut posséder plusieurs superclasses directes Pas d'arborescence, mais un graphe orienté sans circuit Certaines classes sont crées pour former des "réservoirs d'héritages". Elles ne seront pas instanciées. Dans certains langages, elles sont dites abstraites. Avantages : augmenter la modularité et éviter des duplications 11 11 11
Héritage multiple OBJET Article Alimélectrique Transport Périssable référence désignation prixHT quantité retirer ajouter Transport typeemballage datelivraison prixtransport Alimélectrique voltage impédence puissance consommation Fragile Périssable température Electroménager duréegarantie poids validitégarantie Articledeluxe prixTTC Crèmerie datelimite Vêtement coloris taille Aspirateur niveausonore rayonaction débit dépression Téléviseur typetube largeurécran télécommande Caviarfrais provenance Œufs Chemise typecol typemanches nbpoches 12 12 12 12
Relation «est un» OBJET Article Transport Périssable Fragile Electroménager duréegarantie poids validitégarantie Articledeluxe prixTTC OBJET Article référence désignation prixHT quantité retirer ajouter Crèmerie datelimite Aspirateur niveausonore rayonaction débit dépression Téléviseur typetube largeurécran télécommande Caviarfrais provenance Œufs Chemise typecol typemanches nbpoches Vêtement coloris taille Périssable température prixtransport Fragile Transport typeemballage datelivraison 13 13 13 13
Recherche de la méthode à appliquer Cas de l'héritage simple Le graphe d'héritage d'une classe est une liste ordonnée de classes. La méthode sera recherchée par un parcours de bas en haut de cette liste. Exemple : Méthode prixTTC de la classe Téléviseur : Arbre d'héritage de la classe Téléviseur : Téléviseur, Article DeLuxe, Article, Objet La méthode sélectionnée sera celle de la classe ArticleDeLuxe 14 14 14
Recherche de la méthode à appliquer Cas de l'héritage multiple Le graphe d'héritage d'une classe est un graphe. Il y a donc risque de conflit dans la recherche de la méthode à appliquer. E A B C D M 1: pas de conflit 2: conflit entre B et C 3: conflit entre B et C 15 15 15 15
Envoi de messages Un objet ne peut agir directement sur un autre. Il ne peut le faire qu'en activant une méthode de l'objet visé. Pour cela, il lui envoi un message L'envoi de messages est donc le seul moyen de communication entre objets. La réception d'un message entraîne la recherche de la méthode dans l'environnement de l'objet. Lorsque la méthode délivre un résultat, celui-ci est retourné à l'expéditeur. On parle de transmission avec retour. 16 16 16
Les principaux langages objets Smalltalk-80 Objective-C LISP et ses variantes objets (Le-Lisp, Flavors, Ceyx, ObjVLISP,...) SIMULA C++ Eiffel ADA et JAVA 17 17 17
Notion de vue Eclairages A B C D E Objets 18 18 18 18
Objet en AdR Elément Objet Interface 19 19 19
Objet en AdR Interface Objet Appli ancienne Nouvel élément Nouvelles caractéristiques nouvelle appli 20 20 20
Objet en AdR Protocole OSI (CMIP) Protocole Internet (SNMP) objet classique + caractéristiques particulières Protocole Internet (SNMP) pas d’héritage de simples variables Autres approches IDL CORBA Java 21 21 21
Plan L’approche objets Les normes OSI Compléments aux normes OSI Les travaux du NM Forum le TMN SNMP (V1, V2, RMON) Comparaison des approches
Le modèle OSI Cadre général Objectifs s'inscrit dans la partie 4 du modèle de référence OSI spécifie les procédures de gestion d'un réseau hétérogène définit le cadre architectural des normes de gestion OSI Objectifs "planifier, coordonner, organiser, contrôler et superviser les ressources utilisées dans les communications conformes au modèle OSI et rendre compte de leur utilisation" 23 23
Normes OSI pour AdR Basic reference model ISO 7298 General framework General overview ISO 10040 - Configuration management - Fault management - Performance management - Accounting - Security managment Definition of the specific management functions ISO 10164 : 1 à n Structure of the Management Information Base ISO 10165 - 1 Generic definitions of objets and their attributes ISO 10165 - 2 Framework for objects definitions ISO 10165 - 4 Definition of specific managed objects CMIS ISO 9595 CMIP Common Management information Protocol 24 24 24
Trois modèles Modèle organisationnel Modèle d’information Modèle fonctionnel 25 25
Le modèle organisationnel définit le cadre pour répartir la gestion s'appuie sur les concepts de "systèmes gérés" et de "systèmes gérants" (agents and management systems) le processus d'application de gestion distribuée (DMAP : Distributed management application process) est l'application qui contrôle et surveille les objets gérés. le processus agent (AP : Agent Process) permet la gestion locale. 26 26
Schéma d’organisation Système Système d'administration administré Processus Processus de agent Fonctions gestion D CMISE CMISE CMIP Objets gérés 27 27 27
Objets gérés Attributs Opération Notification Objet administré 28 28
Trois niveaux de gestion le niveau gestion-système repose sur des échanges d'information de gestion provenant de toutes les couches du modèle OSI le niveau gestion de couche la gestion est confinée à une couche donnée (en s'appuyant sur les services offerts par les couches inférieures) exemple : le Network Connexion Management Subsystem (NCMS) qui spécifie un sous-protocole de gestion de connexion (ISO 8073/AD1) le niveau opérations de couches la gestion est réalisée par des échanges d'informations véhiculées par les protocoles de la couche 29 29
Le modèle d’information Une approche objet un langage de description un langage d’échanges Des principes nommage enregistrement Des bibliothèques 30 30
Approche objets Objectif : Permettre de définir les objets administrés de manière standard cohérence des définitions cohérence avec l'environnement d'administration (CMIP et fonctions) répartition du travail 31 31
Modèle objet Le modèle définit : ce qu'est un objet de quoi il est composé ce qu'il peut faire ce qui peut lui être fait comment il est nommé dans le protocole comment il est relié aux autres objets 32 32
Description des objets Les attributs Les méthodes Les relations Les paquetages conditionnels L'arbre de contenance L'allomorphisme 33 33
Outil de description Les gabarits GDMO MANAGED OBJECT CLASS : définition d'une classe PACKAGE PARAMETER NAME BINDING ATTRIBUTE GROUP-ATTRIBUTE BEHAVIOUR ACTION NOTIFICATION 34 34
ASN.1 ASN.1 (Abstract Syntax Notation 1) Le rôle d'ASN.1 C'est un langage défini par sa grammaire (cf ISO 8824) Une grammaire est un ensemble de règles de productions. Le rôle d'ASN.1 1- Description des structures de données 2- Permettre la transmission de ces structures à travers le stack OSI Mode d'utilisation 1- décrire les objets en ASN.1 (en suivant le formalisme des gabarits) 2- utiliser un "compilateur" vers le langage de développement choisi (C, ADA, Pascal, ...) ce qui génère : * les structures de données adaptées * les règles d'encodage vers la syntaxe de transfert 35 35
Le rôle d’ASN.1 Entité A Entité B syntaxe de transfert Description structure de données Règles d'encodage/décodage 36 36
Gabarit "MANAGED OBJECT CLASS" <class-label> MANAGED OBJECT CLASS [DERIVED FROM <class-label>[,<class-label>]*; ] [CHARACTERIZED BY <package-label>[,<package-label>]*; [CONDITIONAL PACKAGES <package-label>PRESENT IF <condition-definition> [,<package-label>PRESENTIF<condition-definition>]*; [PARAMETERS <parameter-label>[,<parameter-label>]*; REGISTERED AS object-identifier; 37
Exemple de classe exampleObjectClass MANAGED OBJECT CLASS DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top; CHARACTERIZED BY examplePackage1 PACKAGE ACTIONS qOSResetAction; NOTIFICATION communicationError ; REGISTRED AS {joint-iso-ccitt ms(9) smi(3) part4(4)package(4)examplepack1(0)}; PRESENT IF !conformance class 2 of underlying ressource implemented as descriptor in ISO/IEC xxxx! ; examplePackage2 CONDITIONAL PACKAGE; REGISTERED AS {joint-iso-ccitt ms(9) smi(3) part4(4)managedObjectClass(3)exampleclass(0)} ; 38
Principe de nommage L’arbre de contenance L’arbre de nommage définit les notions de classes contenantes et de classes contenues impose des contraintes au nommage L’arbre de nommage respecte les contraintes de l’arbre d’contenance définit un nom global pour chaque objet le Global Distinguished Name (GDN) permet d’utiliser un nom «local» Distinguished Name 39 39
L’arbre d’enregistrement root (world) ccitt iso joint-iso-ccitt std reg member org authority body dod internet directory mgmt experimental private entreprises reserved proteon ibm hp 2 1 3 6 4 11 MIB-1 MIB-2 36 40 40
Quatre arbres Arbre d’héritage : propriétés des classes Arbre de contenance : contraintes de contenances pour guider le processus de nommage (défini au niveau des classes) Arbre de nommage : pour identifier les objets (ou instances) Arbre d’enregistrement : pour référencer les classes (ou les constituants des classes, ie les gabarits)
Le modèle d'information Remarques importantes La normalisation ne fournit pas les moyens de la conception par objets. Le problème de la modélisation reste donc entier. La normalisation fournit des bibliothèques d'objets "génériques" qu'il faut étendre par "raffinement" (création de sous-classes) Les objets devront être enregistrés par une autorité compétente La conformité sera vérifiée à partir des descriptions de réalisation : les MOCS (Management Objects Conformance Statements). 42
L'objet TOP top MANAGED OBJECT CLASS CHARACTERIZED BY topPackage PACKAGE BEHAVIOUR topBehaviour; ObjectClass GET, nameBinding GET;;; CONDITIONAL PACKAGES packagesPAckage PACKAGE ATTRIBUTES packages GET; REGISTERED AS {smi2Package 16}; PRESENT IF "any REGISTERED package, other than this package has been instancied", allamorphicPackage PACKAGE ATTRIBUTES allomorphs GET; REGISTERED AS {Smi2Package 17}; PRESENT IF "if an object supports allomorphism"; REGISTERED AS {smi2MObjectClass 14}; topBehaviour BEHAVIOUR DEFINED AS "This is the top level of managed object class hierarchy and every other managed objet class is a specialization of either this generic class (top) or a specialization of a subclass of top..."
Exemple : objet system system MANAGED OBJECT CLASS DERIVED FROM top; CHARACTERIZED BY systemPackage PACKAGE ATTRIBUTES systemId GET, systemTitle GET, operationalState GET, usageState GET, administrativeState GET-REPLACE;;; CONDITIONAL PACKAGES administrativeStatePackage PACKAGE ATTRIBUTES administratoveState GET-REPLACE; REGISTERED AS {smi2Package14}; PRESENT IF "an instance supports it", ....
Définition des 5 domaines de gestion Définition des SMF Le modèle fonctionnel Définition des 5 domaines de gestion Définition des SMF System Management Functions 45
Les Fonctions de Gestion de Systèmes Objectif : Spécification d'interfaces de gestion, fondées sur le modèle agent-gestionnaire Moyens : Deux aspects sont nécessaires : le modèle objets (ressources à gérer, leurs propriétés, relations, opérations) l'accès aux objets (contrôle d'accès, sélections, coordination d'opérations élémentaires, horodatage...) Définition : Une SMF est un standard qui décrit des classes d'objets ou des propriétés d'objets utilisables pour réaliser des fonctions de gestion. Elle normalise les aspects protocolaires correspondant à ces services.
Les SMF (suite) Contenu : trois aspects Relations entre SMF sémantique des propriétés et/ou objets support exemple : types d'alarmes, objets Log, LogRecord description des services d'accès à ces propriétés support (procédures) exemple : mapping sur les services de CMISE syntaxe supportant ces définitions (formulaires GDMO et productions ASN 1) Relations entre SMF Une SMF peut utiliser les services définis dans une autre SMF
Les SMF (suite) Unités fonctionnelles Remarque : Une SMFU définit un ensemble de propriétés (services de gestion) que les objets d'un système peuvent offrir à un gestionnaire sur une association. Elles sont négociables à l'initialisation de l'association. Exemples: La gestion d'objets définit deux SMFU : - services d'opérations - services de notification La gestion des journaux définit une SMFU La gestion des états ne définit pas de SMFU (car non négociable individuellement) Remarque : Une SMF n'est pas une fonction en tant que telle. Les services décrits par une SMF sont destinés à être intégrés dans une interface de gestion. Ils peuvent être utilisés par des objets de classes différentes.
Principe des SMF Objet Interface de gestion (CMISE)
Principe des SMF Objet Interface de gestion (CMISE) Interface SMF (enrichie) objet
Liste des SMF Object Managt Function IS Workload Monitoring Function DIS State Managt Function IS Test Management Function DIS Attributes for Relationships IS Summurization Function CD Alarm reporting IS Confidence and Diagnostic Test CD Event Report Function IS Time Management WD Log Control Function IS OSI software Management WD Security Alarm Reporting Funct. IS Security Audit trail Function DIS Objects and Attributes for Access CD Accounting Meter Function CD Scheduling Function WD Response Time Monitoring
Specific Management Functions Fault management Accounting management Configuration management Performance management Security management Object Management State Management Relationship Management Alarm reporting Event-report management Log control Security-alarm reporting Security audit trail Access control Accounting meter Workload monitoring Test management Summurisation Specific Management Functions Event Report Get Set Action Cancel-Get Create Delete
State Management Function Attributs de gestion Etat opérationnel En service Hors service Etat d'utilisation Libre (non utilisé) Actif (utilisable) Occupé (plus utilisable) Inconnu (de l'objet) Etat administratif Bloqué (par l'administrateur) débloqué ( " ) En libération Attributs de maintenance (STATUS) repair status (réparation, alarme...) installation status (en phase d'installation) availability status (en test, hors service, hors tension...) control status (réservé, suspendu...)
State Management Function (suite) Notifications State Change notification avec en paramètres : state change info (attribut d'état) additional state change info Objet state change record Par spécialisation de la classe "Event Log Record" des paramètres des notifications ci-desssus Services offerts State Change Reporting Service M-EVENT-REPORT Lire attributs d'état PT-GET Modifier attributs d'états PT-GET
CMISE/CMIP Les services de CMISE Interactions avec les interfaces des objets (lecture, écriture, creation, destruction d’instances, ...) Utilisation des principes de nommage Sélection d’objets multiples Actions multiples (atomicité)
Sélection d’objets multiples -1 -2 -3 Filtering (valeurs d’attributs) Scoping
CMIP Protocole couche 7 OSI Supporte les opérations CMISE à distance S’intègre dans une Association (cf ACSE) négociation de l’association (partenaires, unités fonctionnelles, ...) fermeture de l’association S’appuie sur les services de ROSE (invocation d’opérations à distance)
Services CMIP Service Modes possibles M-EVENT-REPORT cnf/ncf M-GET cnf M-SET cnf/ncf M-ACTION cnf/ncf M-CREATE cnf M-DELETE cnf M-CANCEL-GET cnf
Services CMIP les services d'opérations : demandes d'invocation d'opérations formulées à un agent, concernant des objets gérés par celui-ci, un service de notification : transmission par un agent de comptes rendus contenant les notifications émises par un objet.
Services CMIP Opération/notification Service Mode Get attribute value M-GET confirmé M-CANCEL-GET confirmé Replace attribute value Replace with default value Add member M-SET conf/non-conf Remove member Create M-CREATE confirmé Delete M-DELETE confirmé Action M-ACTION conf/non-conf Notification M-EVENT-REPORT conf/non-conf
Exemple : M_CREATE Paramètres spécifiques Service superior object instance reference object instance Service nommage : c'est-à-dire définir le GDN (Global Distinguished Name) --> choisir le supérieur dans l'arbre de nommage choisir le RDN (Relative Distinguished Name) M-CREATE utilise 3 paramètres spécifiques : - MOC (Managed object Class) - sa classe - MOI (Managed Object Instance) - son GDN - SOI (Superior Object Instance) - le GDN du supérieur Le gestionnaire a trois possibilités : il peut envoyer MOC et MOI, MOC et SOI ou MOC Dans tous les cas, l'agent renverra MOC et MOI
Exemple : M_CREATE services (suite) Valorisation des attributs Par ordre de priorité : liste d'attributs envoyés valeurs de l'objet de référence valeurs par défaut de la classe
Implémentations Normalement : sur stack OSI (couches 1à6) Possible sur stack TCP (CMOT) Egalement sur LLC (avec adaptations), voir CMOL ou LMMP
Plan L’approche objets Les normes OSI Compléments aux normes OSI Les travaux du NM Forum le TMN SNMP (V1, V2, RMON) Comparaison des approches