650 likes | 814 Views
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. I. N. T. E. METHODES. R. F. A. C. E. L’encapsulation. CHAMPS. Les classes. Deux composantes :
E N D
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
I N T E METHODES R F A C E L’encapsulation CHAMPS
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.
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
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
Article 60021 30341 kimono TV portable référence désignation 495.00 2480.00 prixHT 1000 100 quantité prixTTC prix transport retirer Instance de Instance de ajouter Exemple d'instanciation
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.
Classevêtement SuperclasseArticle Variables d'instancetaillecoloris Méthodes ClasseArticleDeLuxe SuperclasseArticle Variable d'instance MéthodesprixTTC () : retourner (1.25*prixHT) Définition des classespar héritage
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, ...
OBJET Article référence désignation prixHT quantité prixTTC prixtransport retirer ajouter ElectroMénager ArticleDeLuxe Vêtement duréegarantie prixTTC coloris poids taille validergarantie Chemise Téléviseur CaviarFrais Aspirateur typecol typetube provenance niveausonore typemanches largeurécran poids rayonaction nbpoches télécom- débit mande dépression Graphe d’héritage
Le graphe d' héritage • Graphe d'héritage simple • 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
OBJET Article Alimélectrique référence voltage désignation Transport impédence prixHT typeemballage puissance quantité datelivraison consommation retirer prixtransport ajouter Périssable Fragile température prixtransport prixtransport Electroménager Vêtement Articledeluxe Crèmerie duréegarantie coloris prixTTC poids datelimite taille validitégarantie Aspirateur Chemise Téléviseur Caviarfrais Œufs niveausonore typecol typetube provenance rayonaction provenance typemanches largeurécran poids débit nbpoches télécommande dépression Héritage multiple
OBJET Article référence désignation prixHT quantité Transport prixTTC retirer typeemballage ajouter datelivraison prixtransport Périssable Fragile température prixtransport prixtransport Electroménager Vêtement duréegarantie Articledeluxe Crèmerie poids coloris prixTTC datelimite validitégarantie taille Aspirateur Chemise Téléviseur niveausonore Caviarfrais Œufs typecol rayonaction typetube provenance provenance typemanches débit largeurécran poids nbpoches télécommande dépression Relation «est un»
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
D M D E D M C C B M M B B M M C M A A A 1: pas de conflit 2: conflit entre B et C 3: conflit entre B et C 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.
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.
Les principaux langages objets • Smalltalk-80 • Objective-C LISP et ses variantes objets (Le-Lisp, Flavors, Ceyx, ObjVLISP,...) • SIMULA • C++ • Eiffel • ADA • et JAVA
A B Objets C D E Eclairages Notion de vue
Interface Elément Objet Objet en AdR
Objet en AdR Interface Objet Appli ancienne Nouvel élément Nouvelles caractéristiques nouvelle appli
Objet en AdR • Protocole OSI (CMIP) • objet classique + caractéristiques particulières • Protocole Internet (SNMP) • pas d’héritage • de simples variables • Autres approches • IDL CORBA • Java
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 • 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"
Basic reference model ISO 7298 General framework ISO 7498-4 General overview ISO 10040 - Configuration management Structure of the - Fault management Framework for Management Information - Performance management objects definitions Base - Accounting ISO 10165 - 4 ISO 10165 - 1 - Security managment Generic definitions Definition of the specific Definition of specific of objets and their management functions managed objects attributes ISO 10164 : 1 à n ISO 10165 - 2 CMIP CMIS Common Management ISO 9595 information Protocol Normes OSI pour AdR
Trois modèles • Modèle organisationnel • Modèle d’information • Modèle fonctionnel
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.
CMISE CMISE Schéma d’organisation Système Système administré d'administration Processus Processus de agent Fonctions gestion D CMIP Objets gérés
Attributs Opération Notification Objets gérés Objet administré
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 échangesd'informations véhiculées par les protocoles de la couche
Le modèle d’information • Une approche objet • un langage de description • un langage d’échanges • Des principes • nommage • enregistrement • Des bibliothèques
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
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
Description des objets • Les attributs • Les méthodes • Les relations • Les paquetages conditionnels • L'arbre de contenance • L'allomorphisme
Outil de description • Les gabarits GDMO • MANAGED OBJECT CLASS : définition d'une classe • PACKAGE • PARAMETER • NAME BINDING • ATTRIBUTE • GROUP-ATTRIBUTE • BEHAVIOUR • ACTION • NOTIFICATION
ASN.1 • ASN.1 (Abstract Syntax Notation 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
Description ASN1 structure de données structure de données Entité A Entité B Règles d'encodage/décodage syntaxe de transfert Le rôle d’ASN.1
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;
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)} ;
Principe de nommage • L’arbre de contenance • 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
root (world) 0 1 2 ccitt joint-iso-ccitt iso 0 3 1 2 std reg member org authority body 6 dod 1 internet 1 4 2 3 directory mgmt experimental private 1 1 2 entreprises MIB-1 MIB-2 0 11 2 1 reserved proteon ibm hp L’arbre d’enregistrement
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).
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", ....
Le modèle fonctionnel • Définition des 5 domaines de gestion • Définition des SMF System Management Functions
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 • 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 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.
Interface de gestion (CMISE) Objet Principe des SMF
Principe des SMF Objet Interface de gestion (CMISE) Interface SMF (enrichie) objet