Déductions et EulerGUI: tests fonctionnels, Pellet 2.0, etc

71 views
Skip to first unread message

Jean-Marc Vanel

unread,
Nov 27, 2009, 5:47:08 AM11/27/09
to deduct...@googlegroups.com
Consolidation et tests
--------------------------
On a avancé sur les tests fonctionnels. C'est le bonheur de voir tous ces cas d'IHM qui tournent tous seuls rapidement !
Ca a mis en évidence des menus problèmes de Thread. En gros je lis et convertis les sources venant d'Internet dans autant de threads; et quand on lance une exécution Drools, il faut attendre. Le problème se pose pour les sites lents, et avec les tests . On a aussi supprimé des erreurs aléatoires dans les tests Maven.
Ca tourne maintenant en 3 minutes 33 secondes, mais ça devrait encore diminuer en parallélisant les compilation Drools, qui prennent plusieurs secondes. En fait ces tests vont permettre des refactorisations agressives, et des développement plus rapides et sans régressions.
J'ai abandonné Abbot, suite à des difficultés pour mettre à jour un script de test Abbot après améliorations dans l'interface graphique de EulerGUI. On est passé à Jemmy, qui est une bibliothèque de test d'IHM pour Swing et SWT, et non pas un enregistreur comme Abbot. Jemmy est utilisé depuis des années par l'équipe de NetBeans. Les tests sont écrits en Java, et ajoutés aux tests JUnit. TestJemmy inclut les cas d'utilisation du Manuel du projet Déductions : génération d'applications à partir de sources depuis Internet en langages N3, OWL, RDFS, UML, et eCore.

Pour ceux qui testent les snapshots depuis http://eulergui.sourceforge.net/tmp/?C=M;O=D , le menu Help / About reprend le manifeste du jar, qui inclut le numéro de révision .

Mises à jour tierces parties
---------------------------------
Le raisonneur Pellet en logique de description est passé en version 2.0. Pour l'instant dans EulerGUI on ne peut qu'afficher l'arbre des classes (après inférences logiques). Bientôt ce sera utilisé pour choisir la classe d'un objet à créer dans les application générées.
La bibliothèque Jena pour RDF et N3 de HP est passée de la version 2.6.0 à 2.6.2 .
L'auteur de Gloze a répondu à mes rapport de bugs, et ça a été testé sur des documents XForms. Gloze est un importeur / exporteur en RDF pour XML de base et XML Schéma.

Travaux sur la persistence avec Drools
------------------------------------------------
Avec Luc Peuvrier on a avancé sur l'intégration de l'outil Joafip de persistence dans le moteur d'inférence Drools. Un cas simple marche, reste à tester des gros cas (tout est prêt).

--
Jean-Marc Vanel
Consulting, services, training,
Rule-based programming, Semantic Web
http://jmvanel.free.fr/
+33 (0)6 89 16 29 52 -- +33 (0)1 39 55 58 16
( we rarely listen to voice messages, please send a mail instead )

Paul HOSSENLOPP

unread,
Nov 30, 2009, 11:45:34 PM11/30/09
to deduct...@googlegroups.com
Juste en passant, je découvre cette page :
http://www.lisaac.org/documentation/about

...et je me dis que c'est tout à fait le genre de page qui permettrait à EulerGUI / Déductions de rencontrer un plus large publique : une bonne série de vidéos vivantes :-)

A+


Jean-Marc Vanel

unread,
Dec 1, 2009, 4:18:05 PM12/1/09
to deduct...@googlegroups.com
Pas sûr, car le framework n'est pas de toute façon pas prêt pour les neuneu ...

Posté ceci:
Empathy: webcam: Erreur interne de flux de données
http://forum.ubuntu-fr.org/viewtopic.php?id=362927

JM

Paul HOSSENLOPP

unread,
Dec 1, 2009, 6:43:59 PM12/1/09
to deduct...@googlegroups.com
Salut,

--- En date de : Mar 1.12.09, Jean-Marc Vanel <jeanmar...@gmail.com> a écrit :

Posté ceci:
Empathy: webcam: Erreur interne de flux de données
http://forum.ubuntu-fr.org/viewtopic.php?id=362927


Je suis allé voir le message de Jean-Marc sur les forums Ubuntu-fr.org


Au passage, je suis surpris de le voir dans la rubrique
Liste des forums  »  Internet & réseaux
...et je vois que pour 23h, c'est 9 nouvelles positions prises dans la liste
des entrées de forum ! Jean-Marc, je t'invite (sans plus investiguer) à reconsidérer
le lieu où tu as placé ton message.
Enfin, je n'ai pas vu de question explicitement posée :-)
C'est peut-être la fatigue du soir qui me bouche la vue.


J'écris en prenant le plaisir de vous faire partager une
intuition qui m'est venue, en rapport avec travaux de Jean-Marc.

Juste pour te permettre de tremper ton esprit dans le miel
de mon expérience intérieure, ça s'est manifesté en deux
flots de pensées, un peu de rêve... quelques secondes.
Ensuite, le temps bien plus long de l'écriture, qui donne
l'occasion de poursuivre par la réflexion, entrecoupé de
nouvelles séquences de rêve éveillé.

/* --------- lecture optionelle

Au préalable, je vois un écho à ton aventure webcam,
dans une nouvelle expérience vécue ce soir :

- plantage intégral d'Ubuntu 9.04 (fraichement installé, donc)
  sur une lecture d'un .mpg par VLC
  // une nouvelle tentative ultérieure montrera que ça ne pose
  // plus de problème
- au premier reboot (hard) :
  une page de baratin bien peu déchifrable à mon niveau,
  se terminant par :
  "fixing recursive fault but reboot is needed"
  Puis (le temps de noter) :
  (4 lignes de blabla) "kernel panic...[pas bien verbeux]"
- 2e reboot (hard)
  (blabla) "kernel panic - not syncing : VFS :
  unable to mount root fs on unknown block (0,0)"
- 3e reboot (hard) :
  memtest86+ : ok à priori !
  // nouvelle config de barettes, déjà validée par 14 passes
  {ça a tourné 2 minutes : pass 5% / test #3 arrivé à 60%}
- reboot :
  démarrage sans problème (!)

pour info, Un sérieux plantage ayant la moindre conséquence
au reboot suivant ne m'était pas encore arrivé depuis la fraiche
installation de mi-nov.
// quelques 1 ou 2 plantages massifs vécus, je crois,
// mais sans conséquence.

---------*/


Voici, je tache de synthétiser :

Les bénéfices de l'approche décrite ci-dessous sont multiples.
Je vois :

- incitation à s'approrier la connaissance interne d'un logiciel
  par des développeurs tiers et incitation à l'engagement dans le
  débuggage (par exemple par la mise en évidence du code source
  concerné par le plantage, selon des heuristiques intelligentes)
- augmentation du potentiel de production de code robuste.


Un cas d'utilisation générique multi-facettes (décrivant plusieurs possibilités) :

- un programme plante. Il n'est pas mûr (!)
  // à moins que ce ne soit l'ensemble du contexte
  // qui n'est pas mûr (je pense principalement à l'OS)
  // ou qu'il y ait un problème matériel comme la Ram défectueuse

- on le relance avec un paramètre pour lui faire cracher
  du pur log qui raconte tout.
    /* j'imagine au meilleur des cas, permettant tous les
    rêves de debugage, que le code est alors exécuté avec
    un log exhaustif du parcours du code en lien avec l'exact
    parcours du code source [caractéristique nécessitant une
    compilation spécifique du logiciel, embarquant le code
    (optionelle exécuté, donc) générant cette trace de log]
    */

- en cas de plantage, on dispose alors d'une belle page HTML
  qui décrit exactement le contexte du plantage,

  avec, première nouveauté, une explication en texte clair
  disponible - pour chaque item technique - en info-bulle,
  par exemple, ou en commentaire coloré (ce genre de détails
  est paramétrable dynamiquement en tête de page).

  Seconde nouveauté : capacité à présenter tout le parcours
  de comportements du logiciel avec les interventions
  de l'utilisateur (clic sur tel éléments, saisie...)

  Pour chaque comportement et intervention de l'utilisateur,
  je parlerai d'évènement fonctionnel, capacité à présenter
  en évidence tout le code concerné, au milieu du code global,
  je dirai tous les évènements techniques.

- un wizard propose des causes possibles du plantage et guide dans
  le code source mis en évidence comme possiblement en cause (et pourquoi)

- dans le contexte d'utilisation du wizard, on a la capacité de tracer tout ce qui s'est
  exécuté du code, pas à pas (!)   // oui le log qui permet de faire ça est énorme :-)
  et d'observer bien sur l'état des variables à tout instant :-)))
  ainsi que les registres processeurs, soyons fous :-)

- chaque ligne tracée correspond à une portion d'évènement.
  Le lien explicite entre les deux est accessible à l'écran !

Et là, je te laisse rêver un peu...

Et je te propose de considérer l'apport de la programmation
par règles dans un tel contexte...

Voilà, pour un premier jet, j'ai d'autres mots qui me sont
venus à l'esprit, comme "plug-in pour Eclipse"... Mais bon, je rêvais :-)

J'aime bien rêver, à l'occasion :-)

A+


Paul HOSSENLOPP

unread,
Dec 3, 2009, 1:07:09 AM12/3/09
to deduct...@googlegroups.com
Bonjour,

Je vous fait part d'une découverte faite à l'instant, un projet existant en GPL V2,
nommé "Qdicorime", qui pourrait intéresser l'IA dans sa branche
"traitement du language naturel"
:
"Qdicorime" est un projet qui comprend notament un dictionnaire des significations
(172 822 définitions de mots).

Logiciel : Qdicorime recherche des empaqueteurs
http://linuxfr.org/2009/12/02/26222.html



Extrait de la dépêche Linuxfr :

<<
Qdicorime vise à être une aide à la composition de rimes pour musiciens et poètes
en fournissant les définitions des mots et des synonymes.
Il inclut un dictionnaire de citations et une liste des prénoms français
ainsi que la liste des communes et des départements de France et des villes de Belgique.

Qdicorime inclut entre autres :

    * un dictionnaire de rimes ;
    * un dictionnaire de synonymes ;
    * un dictionnaire des significations ;
    * un dictionnaire de citations ;
    * un dictionnaire d'expressions ;
    * un dictionnaire d'homonymes ;
    * un dictionnaire étymologique ;
    * un constructeur d'anagrammes.

Le dictionnaire de rimes comprend :

    * 186 766 mots phonémisés
    * 8 768 citations
    * 172 822 définitions de mots
>>

A+


luc peuvrier at home

unread,
Dec 3, 2009, 3:01:45 AM12/3/09
to deduct...@googlegroups.com
Bonjour,
 
Interessant, je ne sais pas s'il y a une approche sémantique, surement pour la partie synonimes, mais peut être pas pour donner des propriétés aux concepts véhiculé par les mot.
 
Le traitement du language naturel est un sujet qui m'interesse mais pour lequel je n'ai pas de temps à y consacrer.
J'ai développé http://parser4j.sourceforge.net/ qui a la particularité d'accépter des grammaires ambigue avec possibilité de desambigué par programmation pendant le parsing. Mais je n'ai pas pu pousser plus loin, j'aurais besoin d'un expert en grammaire française et un en grammaire anglaise.
Pour le moment il est juste utilisé par http://eulergui.sourceforge.net/ pour le language N3.
 
Cdt
Luc Peuvrier
Reply all
Reply to author
Forward
0 new messages