Mise en place d'un superviseur de parc
informatique validation avec un simulateur
But de l'exercice
Le but de l'exercice est de mettre en place un superviseur de parc
informatique chargé de contrôler l'évolution du parc et
d'activer les systèmes de maintenance (réparation automatique
dans un premier temps, puis, si nécessaire, intervention humaine) en cas
de défaillance.
L'exercice repose sur l'utilisation de plusieurs Design Patterns
classiques et peut s'appliquer à de nombreux langages de programmation,
en particulier C++ ou Java.
Le parc informatique
Le parc est constitué des différents
éléments suivants, chacun étant accompagné de ses
caractéristiques principales.
Ordinateurs
- Marque modèle
- Adresse IP
- Capacité mémoire
- Type de CPU
- Etat (Arret, Marche, Panne, Panne grave)
- Probabilité de panne
- Génération d'évènements lors du
changement d'état
- Liste des imprimantes directement connectées sur
l'ordinateur
Imprimante
Elles peuvent être soit connectées sur un ordinateur soit
sur le réseau. Voici leurs caractéristiques :
- Marque modèle
- Adresse IP (si sur le réseau)
- Ordinateur de rattachement (si imprimante non réseau)
- Couleur ou NB
- Nombre de pages à la minute
- Etat (Arret, Marche, Manque de papier, Bourrage, Plus d'encre,
Panne)
- Probabilité de panne
- Génération d'évènements lors du
changement d'état
Hub
Ils permettent de connecter un ensemble d'ordinateurs, d'imprimantes ou
d'autres Hub. Ils définissent donc un sous réseau.
- Marque modèle
- Adresse IP (si sur le réseau)
- Liste des sous éléments
- Etat (Arret, Marche, Panne, Panne grave, Panne d'un des sous
éléments)
- Probabilité de panne
- Génération d'évènements lors du
changement d'état
Système de réparation automatique
Ils sont chargés d'établir un historique
d'évolution des valeurs. Si le système sur lequel vous travaillez
est équipé d'un serveur de données, les historiques sont
à stocker dans une table, sinon, utilisez un fichier nommé
d'après le nom de la valeur.
Le temps est exprimé en « tops d'horloge »
par rapport au noyau de synchronisation.
Superviseur
Il doit être unique dans le système et assure les
fonctionnalités suivantes :
- Ajout de nouveaux composants en fonction du choix du fournisseur
- Gestion des événements de panne
- Envoi de systèmes automatiques de réparation
- Si le système automatique échoue, le composant en
panne est signalé en panne grave et l'on appelle le réparateur de
garde !
- Envoi de messages vers différents systèmes de logs
- Achat de matériel
- Panne détectée
- Panne lourde
- Réparation effectuée
- Réparation ratée et destruction du
matériel
Systèmes de logs
Les systèmes de journalisation opèrent sur les
événements générés par le superviseur. Il
existe différents systèmes de journalisation :
- Journal global
- Journal spécialisé par type
d'évènement
Systèmes de réparation
Ils sont de 2 types :
- Les systèmes automatiques qui sont disponibles h24 mais qui
ont une probabilité faible de réparer l'ordinateur.
- Les humains qui ont une probabilité élevée de
réparer un système s'ils en sont spécialistes et une
probabilité moyenne dans les autres cas. En outre, un réparateur
n'est pas toujours de garde. Un réparateur est donc identifié par
les élements suivants :
- Expertise
- Moyen(s) de contact
Fournisseur de composants
Chaque fournisseur vend certains types de matériels qui ont des
caractéristiques particulières mais qui ne nécessitent pas
de sous classes particulières.
Simulateur
Dans le but de valider le système, le simulateur
génère des événements en fonction d'un
générateur de nombre aléatoires et des probabilités
de panne :
Déroulement de l'exercice
Première partie : Analyse orientée objet
- Etablir un diagramme des cas d'utilisation du système
- Etablir des diagrammes de séquences sur les scénarios
suivants :
- Achat d'un nouvel équipement et rattachement dans le
réseau
- Résolution d'une panne par le système
automatique
- Le système automatique échoue et l'on appelle le
dépanneur humain qui lui réussit
- Etablir les diagrammes d'état des éléments
suivants :
- Simulateur
- Superviseur
- Elément quelconque du parc
- Réparateur automatique
- Réparateur humain
- Diagramme de classe du système
Deuxième partie : programmation Java
A partir de l'analyse précédente, effectuez la
programmation en Java de l'exercice. Il est recommandé d'utiliser des
interfaces pour tous les réceptionneurs
d'événements.