Skip to content

4.7. emit analysis

BastSamson edited this page Jul 6, 2017 · 2 revisions

a) Introduction

Dans le projet emit-analysis, on trouve en fait deux projets différents qui sont les algorithmes d’analyse et la plateforme en elle-même qui fonctionnent de manière indépendante.

b) Les algorithmes

Le code des algorithmes déployés est dans le dossier correspondant. Comme pour l'instant les calcules déployés sont simples, ils ont été regroupés dans la même classe "calculator".

Ces algorithmes sont appelées dans les classes du dossier "servlet", avec un service pour chaque calcul correspondant. Les objets que reçoivent ces services sont des JSON qui sont sérialisés avec la classe "serie" qui se trouve dans le dossier "entities". Cette classe permet donc de définir la forme des envois qui peuvent être faits pour cette plateforme.

c) la plateforme

La plateforme gère la déclaration des algorithmes utilisables et la création de résultats qui contiennent entre autres:

  • le nom de l'algorithme à utiliser
  • un nom de fichier qui renvoie à l'enregistrement du contexte, la liste de measurements concernés par cette analyse.

Le fonctionnement de cette plateforme est calqué sur emit-core. On retrouve les différentes entités qui servent à exécuter les requêtes et qui correspondent aux contenus en table et des servlets de "CRUD" pour les résultats.

Les servlets qui mettent en place ces services sont dans le dossier process. Les "create" des result sont composées en deux servlets, une pour les analyses simples qui ne concernent qu'un measurement, et des analyses complexes qui concernent les analyses sur plusieurs expériences. Ces servlets sont composées pour permettre de retrouver les identifiants des measurements correspondant.

Comme pour emit-core le calcul est exécuté en arrière plan en appelant le service "resultCalculate".

A noter : ici on peut exécuter deux calculs en même temps.