Sortie de EulerGUI 1.2

Qu'est ce ?

EulerGUI est un environnement de développement pour le Web Sémantique, sous licence LGPL.

Il permet de mettre au point des règles avec plusieurs moteurs d'inférences (Drools en Java, Euler en Prolog, CWM et Fuxi en Python).

Nous avons un noyau d'ontologies et de règles en logique N3 (Notation 3, basé sur RDF), et de moteurs d'inférence, offrant la génération de formulaires et d'applications à partir d'un modèle métier et d'un minimum de spécification annexes.

EulerGUI est centré sur le langage N3, qui permet s'exprimer à la fois des données, des modèles, des règles et des requêtes.

Dans EulerGUI, N3 est la syntaxe de convergence, comparable en cela à JSON ou XMI. La modélisation de convergence est assurée par OWL du W3C. Ceci signifie que, après lecture et traduction en N3 de fichiers eCore EMF, UML XMI, ou RDF Schéma, EulerGUI traite des modèles OWL. Avec EulerGUI on peut créer des pipeline de projets et importer des sous-projets.

Les application Swing générées utilisent un moteur Drools à l'exécution en temps réel pour créer les formulaires à partir du modèle.



Téléchargement de Euler GUI

https://sourceforge.net/projects/eulergui

Manuel ici :

http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html



Positionnement

D'un côté, vous avez les systèmes experts "traditionnels" en Prolog et les moteurs de règle, tels que Drools et Jess. De l'autre côté il y a les applications habituelles qui sont faites entièrement ou en grande partie à la main. Et même les moteurs MDA et autres générateurs d'application sont eux-mêmes codés à la main. Le projet Déductions veut appliquer des règles logiques et des moteurs d'inférence pour des tâches de génie logiciel telles que: générer des applications ou des sous-Systèmes, permettre une intégration transparente de bibliothèques et composants, et plus encore. Voici la vision du projet Déductions.

Le premier outil que le projet Déduction développe, parce qu'elle est la fonctionnalité la plus visible, est un générateur d'application centré autour d'un générateur de formulaire avec une persistance de fichiers au format N3. La pièce principale du générateur d'application Déductions est un ensemble de règles constructives en logique N3; elles sont hébergées dans le projet Sourceforge Déductions. Ensuite, pour exécuter les règles, et exécuter l'application générée, l'Environnement de Développement Intégré EulerGUI est utilisé.

La nature déclarative et logique de l'architecture rend possibles d'autres caractéristiques désirables:


Voici une présentation (en format Open Office), en PDF.

Le logiciel libre à la pointe

Il ne fait pas de doute que tôt ou tard, l'Intelligence Artificielle va jouer un rôle dans le logiciel. Et ça « risque » d'être tôt. Et une fois de plus, le logiciel libre est à la pointe, en particulier à cause du rôle des universités et de la recherche, en IA et avec le Web Sémantique. De plus, le logiciel libre est bien adapté à des projets avec équipe réduite mais forte technicité.

Il ne faut pas cacher que le passage à la programmation déclarative et logique représente un changement d'habitudes plus radical que le passage du procédural à l'Orienté Objet. Mais puisque les outils eux-mêmes deviennent intelligents, cela devrait mieux passer. La voie logique de tout ça, c'est que des non-informaticiens qui connaissent les concepts de leur métier vont pouvoir créer des applications non triviales.

Que faire dans ce projet?

Pour développer les règles en logique N3 du projet Déduction, une connaissance de la programmation logique ( Prolog, Drools, Ilog rules, ...), ou le désir d'apprendre l'Intelligence Artificielle sont nécessaires. Le livre classique AIMA (Artificial Intelligence: A Modern Approach

) vient justement de sortir en Français.

Par contre, pour tester le générateur d'application Déductions, il faut juste être familier de la modélisation des données, soit en UML, langages Orientés Objet, SQL, soit avec les formats du W3C, RDF Schéma et OWL (voir « Java Swing application generator from OWL model and N3 logic rules »).

Justement, ceux qui s'intéressent au Web Sémantique trouveront avec EulerGUI un des outils pour se mettre le pied à l'étrier. Il y en a d'autres comme Protégé, Sésame.


Vous pouvez participer en créant de nouvelles possibilités pour les applications générées: soit générer de nouveaux langages de programmation, soit pour de nouveaux frameworks: Ajax (GWT, Wicket), PHP (Drupal, Joomla), eclipse, …


Enfin, si vous êtes déçus par XSLT ou par QVT/ATL, et si vous voulez tâter de la transformation de graphes d'objets via des règles logiques, l'environnement EulerGUI mérite l'essai. Voyez par exemple les règles pour UML → OWL .