Outils pour utilisateurs

Outils du site


boardz:journal24012020

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
boardz:journal24012020 [2020/01/27 10:11] – créée florenceboardz:journal24012020 [2025/12/10 16:16] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-+| {{ :avignon-universite.jpg?nolink|}} | {{ :blocks:logo-apl.png?nolink&220|}} |
-===== JOURNAL DE BORD au 16 Décembre 2019 =====+===== JOURNAL DE BORD au 24 janvier 2020 =====
  
 ===== BoardZ Version 2 ===== ===== BoardZ Version 2 =====
Ligne 10: Ligne 10:
 Actuellement nous sommes sur 2 sujets clefs du fonctionnement du moteur de calcul : Actuellement nous sommes sur 2 sujets clefs du fonctionnement du moteur de calcul :
  
-=== Un calculateur de résultats===+  * Un calculateur de résultat 
 +  * la résolution des index
  
  
-**Nous avons terminé la mise en place de la formalisation du concept de Result :**+==== Calculateur de résultats====
  
-Un objet transportant des données "résultat" issu d'un de nos constituants et suffisamment méta-renseigné pour savoir à quelle structure de données on a affaire. Le Result permet donc d'encoder correctement la variabilité de la sortie d'une source de données ou d'une mesure, en fonction du nombre de paramètres de restriction de "focus" qu'on lui fournit. Le résultat peut donc évoluer depuis un **simple "scalaire** jusqu'à des  **associations de données** ou des** matrices à plusieurs dimensions**. 
  
-Cette formalisation permet de passer à la suite : +**Nous avons terminé la mise en place de la formalisation du concept de Résultat :** 
 + 
 +Un objet transportant des données "résultat" issu d'un de nos constituants et suffisamment méta-renseigné pour savoir à quelle structure de données on a affaire.  
 + 
 +Le "Result" permet donc d'encoder correctement la variabilité de la sortie d'une source de données ou d'une mesure, en fonction du nombre de paramètres de restriction de "focus" qu'on lui fournit.  
 + 
 +Le résultat peut donc évoluer depuis un **simple "scalaire** jusqu'à des  **associations de données** ou des** matrices à plusieurs dimensions**. 
 + 
 +**Cette formalisation permet de passer à la suite :** 
  
 Un calculateur algébrique de résultat, capable de calculer une transformation de résultats à partir d'une formule. C'est quelque chose qui peut être assimilé au moteur de calcul par formule d'Excel. Un calculateur algébrique de résultat, capable de calculer une transformation de résultats à partir d'une formule. C'est quelque chose qui peut être assimilé au moteur de calcul par formule d'Excel.
 +
 Ce calculateur est à la base du principe d'indicateur complexe, capable de calculer une sorite à partir de résultats de mesure ou d'autres sous-indicateurs. Ce calculateur est à la base du principe d'indicateur complexe, capable de calculer une sorite à partir de résultats de mesure ou d'autres sous-indicateurs.
 +
 Le moteur de calcul est donc un organe essentiel. il effectue donc des calculs "dimension aware" selon le type de structure de ses opérandes, afin de servir nos besoins sémantiques de construction d'indicateurs complexes.  Le moteur de calcul est donc un organe essentiel. il effectue donc des calculs "dimension aware" selon le type de structure de ses opérandes, afin de servir nos besoins sémantiques de construction d'indicateurs complexes. 
  
 **En voici quelques exemples (non exhaustif) :** **En voici quelques exemples (non exhaustif) :**
  
-  * Calculs scalaires : (les deux opérandes sont scalaires), la sortie est scalaire :+  * **Calculs scalaires :** (les deux opérandes sont scalaires), la sortie est scalaire :
       * +, - , * /       * +, - , * /
  
-Calculs scalaire vs. assoc (ou array ou matrix) : +  * **Calculs scalaire vs. associatif (ou tableau ou matriciel) :** 
-Arrray + Sca (ajoute à tous les membres) - commutative +    Arrray + Sca (ajoute à tous les membres) - commutative 
-Assoc + Sca (ajoute à toutes les valeurs) - commutative +    Assoc + Sca (ajoute à toutes les valeurs) - commutative 
-Matrix + Sca (ajoute à toutes les valeurs de la matrice) - commutative +    Matrix + Sca (ajoute à toutes les valeurs de la matrice) - commutative 
-idem avec -, * et /  (- et / ne sont pas localement commutatives)+    idem avec -, * et /  (- et / ne sont pas localement commutatives) 
 Toutes ces opérations sortent la plus grande structure en sortie Toutes ces opérations sortent la plus grande structure en sortie
  
-Calculs array vs. array +  * **Calculs tableau vs. tableau :** 
-+, -, *, / (membre à membre, sous contrôle d'avoir une même taille de dimension) +      +, -, *, / (membre à membre, sous contrôle d'avoir une même taille de dimension) 
-^ et ! : resp. intersect et exclude : garde ou exclut les valeurs du premier opérande en fonction du second+      ^ et ! : resp. intersect et exclude : garde ou exclut les valeurs du premier opérande en fonction du second.
  
-Calculs assoc vs. array +  * **Calculs associatif vs. tableau:** 
-^ et ! : resp. intersect et exclude : garde ou exclut "par clef" les valeurs du premier opérande+      ^ et ! : resp. intersect et exclude : garde ou exclut "par clef" les valeurs du premier opérande
  
-Calculs assoc vs. assoc +  * **Calculs associatif vs. associatif :** 
-+, -, *, / (membre à membre, par clef. Les clefs manquantes dans l'un des opérandes sont considérées comme existantes à valeur nulle. La résultante des indexes est donc un union des clefs.) +    *  +, -, *, / (membre à membre, par clef. Les clefs manquantes dans l'un des opérandes sont considérées comme existantes à valeur nulle. La résultante des indexes est donc un union des clefs.) 
-^ et ! : resp. intersect et exclude : garde ou exclut "par clef" les valeurs du premier opérande par les clefs du second opérande (les valeurs sont ignorées)+    ^ et ! : resp. intersect et exclude : garde ou exclut "par clef" les valeurs du premier opérande par les clefs du second opérande (les valeurs sont ignorées)
  
-Calculs matrix vs. assoc +  * **Calculs matriciel vs. associatif :** 
-+, -, * , / : opère la correspondance sur les clef de première dimension et réduit le calcul localement à un Assoc * Scal+    +, -, * , / : opère la correspondance sur les clef de première dimension et réduit le calcul localement à un Assoc * Scal
  
 **En cours de réflexion :**  **En cours de réflexion :** 
  
-Autres cas de matrices +  * Autres cas de matrices 
-Intégration de "Fonctions" (MIN, MAX, ABS, AVG, etc) +  Intégration de "Fonctions" (MIN, MAX, ABS, AVG, etc) 
-** + 
-En cours de test :** +**En cours de test :** 
  
 Le fonctionnement de la pile d'exécution des motifs parenthésés. Le fonctionnement de la pile d'exécution des motifs parenthésés.
Ligne 62: Ligne 73:
 Calcul des écarts normés (sur -100, 100) par rapport à une moyenne : Calcul des écarts normés (sur -100, 100) par rapport à une moyenne :
 Soit deux mesures : %MA et %MM, respectivement donnant : Soit deux mesures : %MA et %MM, respectivement donnant :
-%MA : le nombre d'accès par étudiant à un cours donné (le cours courant) => Assoc [userid => Q] +  * %MA : le nombre d'accès par étudiant à un cours donné (le cours courant) => Assoc [userid => Q] 
-%MM la moyenne (scalaire)+  %MM la moyenne (scalaire) 
 Soit un indicateur %IA forgé à partir de %MA = %MM comme max(abs((%MA - %MM)) qui mesure le maximum des écarts à la moyenne (sortie scalaire) Soit un indicateur %IA forgé à partir de %MA = %MM comme max(abs((%MA - %MM)) qui mesure le maximum des écarts à la moyenne (sortie scalaire)
 +
 On vise  le résultat suivant : On vise  le résultat suivant :
  
Ligne 82: Ligne 95:
 **%MM :** on étend la mesure de moyenne à une assoc [courseid]=>M **%MM :** on étend la mesure de moyenne à une assoc [courseid]=>M
  
-===La "résolution" des indexes===+====Résolution des indexes====
  
  
 Le moteur de calcul algébrique peut travailler avec des** clefs numérique** ou **textuelles**.  Le moteur de calcul algébrique peut travailler avec des** clefs numérique** ou **textuelles**. 
-En général les résultats issus du cube ou de requêtes complémentaires sont indexées sur "IDs" (les IDs peuvent être distants ou locaux, selon le cas). Le problème à résoudre étant, à un certain moment donné de la chaine de traitement, celui de la "résolution des indices" c'est-à-dire leur traduction en libellés "lisibles et compréhensibles par le métier" 
  
-Une réflexion est en cours pour voir :+En général les résultats issus du cube ou de requêtes complémentaires sont indexées sur "IDs" (les IDs peuvent être distants ou locaux, selon le cas). 
  
-  * A quel moment de la chaine de traitement cette résolution doit être faite +Le problème à résoudre étant, à un certain moment donné de la chaine de traitement, celui de la "résolution des indices" c'est-à-dire leur traduction en libellés "lisibles et compréhensibles par le métier".  
-  * Comment cette résolution impacte-t-elle la définition d'un "Résult"+ 
 +**Une réflexion est en cours pour voir :** 
 + 
 +  * A quel moment de la chaine de traitement cette résolution doit être faite. 
 +  * Comment cette résolution impacte-t-elle la définition d'un "Résult".
   * Comment cette résolution impacte-t-elle la forme des "Renderers" (qui seront les clients les plus "demandeurs" de données résolues pour l'affichage dans les Widgets).   * Comment cette résolution impacte-t-elle la forme des "Renderers" (qui seront les clients les plus "demandeurs" de données résolues pour l'affichage dans les Widgets).
   * Quelle doit être l'architecture "logicielle" de cette fonction.   * Quelle doit être l'architecture "logicielle" de cette fonction.
Ligne 98: Ligne 114:
  
 Cela suppose que les "unités" des indexes soient bien définis et explicitement connus dans la structure résultat. Cela suppose que les "unités" des indexes soient bien définis et explicitement connus dans la structure résultat.
- 
-===Extraction de données === 
  
  
boardz/journal24012020.1580119885.txt.gz · Dernière modification : (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki