Sortie de EulerGUI 1.2
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
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:
Générer des formulaires pour d'autres plateformes, par exemple HTML + PHP, Ajax, SWT, etc
Ajouter de l'intelligence à l'application générée, en intégrant un moteur logique embarqué (permet des règles de validation et de présentation, et plus)
Voici une présentation
(en format Open Office), en
PDF.
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.
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 .