2.8 KiB
Architecture de principe
Fainsin Laurent - 2SN M2
Guillotin Damien - 2SN M2
Consignes
Ce qu'il faut rendre Un plan de travail initial par groupe. Ce plan de travail doit lister les tâches à réaliser pour le groupe, et indiquer pour chacune des tâches, la personne affectée à la tâche L'architecture de principe de la plateforme Linda à réaliser. Ce document ne devrait pas excéder 1 à 2 page(s) A4.
Il devrait comporter : les principales classes envisagées les difficultés identifiées au besoin, des diagrammes de séquence à la UML, pour détailler les protocoles un peu complexes. le type et l'organisation des tests envisagés
Note : le nom de l'archive à deposer doit être AV1_+ le nom du correspondant du groupe
Plan de travail inital
Version en mémoire partagée
Création de l'espace partagé de données typées Linda centralisé.
Il faut dans un premier temps implémenter un jeu de primitives spécifiques (les méthodes de l'interface).
Les primitives write
, take
, tryTake
et takeAll
seront réalisées par Laurent.
Les primitives eventRegister
, read
, tryRead
et readAll
seront réalisées par Damien.
La difficulté principale de ce programme semble résider dans l'implémentation de eventRegister
.
La pluspart des tests que nous écrirons pour cette version seront unitaires.
Version client / mono-serveur
Cette version ne diffère pas beaucoup de la précédente, la seule différence se situera dans l'implémentation de l'interface RMI. Comme demandé dans la consigne, nous devrions réussir a créer le server à partir de la classe qui implémente la version centralisée.
Application Eratosthène
Laurent se chargera de créer le programme permettant de calculer les nombres premiers inférieur à K
en se basant sur la méthode du crible d'Eratosthène.
Application Levenshtein
Damien sera en charge de la recherche approximative dans un fichier qui se basera sur la distance de Levenshtein.
Les principales classes
Version en mémoire partagée
Pour la version partagée, une seule classe sera nécessaire puisque l'on veut justement partager la mémoire de cette dernière.
Version Client/Server
Pour cette version, deux classes seront nécéssaire : la classe Client et la classe Server. Ces deux classes seront liées a une interface qui servira à indiquer les différentes méthodes que devra implémenter le server ainsi que les méthodes disponible par RMI pour le client.
Les applications
Une classe Orchestre
(spécifique à l'algorithme choisi, exemple Eratosthène ou Levenshtein) qui étend Server
et qui s'occupera de distribuer la charge de travail pour les applications (qui seront des sous-classes de Client
).
Les tests seront écrits avec la librairie JUnit et permettront de vérifier la cohérence de toutes méthodes écrites.