Bon, j'ai pris le temps de regarder cette video.
C'est bien ce que je pensais; c'est du lourd et même du lourdingue.
Entendons-nous: je n'ai jamais dit que Acceleo et consorts ne font pas de génération d'appplication; ni que c'est un mauvais produit, ni que EulerGUI crée une appli. complète de cette sorte. Je dis que qu'enchaîner via un IDE la génération Hibernate, puis Struts, puis copier-coller le SQL dans PHPmyAdmin, c'est très lourd et réservé à des informaticiens qui savent ce que signifie toutes ces étapes.
Au contraire, Déduction, via ses règles (déclaratives) vise à reproduire par la machine le raisonnement que fait un développeur pour créer une appli. à partir d'un modèle métier. Le résultat, c'est que en un glisser-déposer du projet, et 2 clics, on lance l'appli.
Bien sûr, beaucoup reste à faire (tenir compte mieux des propriétés objet, autres plateformes que Java Swing, etc), mais le potentiel est là. En ce moment on travaille sur une sortie XML, d'abord XForms, puis XHTML.
Pourquoi on utilise OWL/RDF pour la modélisation ?
Pourquoi pas UML ?
- Modélisation par et pour les développeurs
Cependant le rapport entre un modèle UML et le code source est complexe
Il existe des variantes plus ou moins proches de la programmation
Certaines notations déterminent directement le source, d'autres sont descriptives
- Pas modulaire ( et il y a 249 meta-classes, alors qu'on s'intéresse surtout aux diagrammes de classes).
- L'OMG a toujours mal promu ses technologies
- le standard d'échange XMI est déficient
En gros UML est bien comme langage graphique, mais formellement ça laisse à désirer. Et même comme langage graphique, il est relativement peu utilisé. J'ai travaillé de 2006 à 2008 sur une infrastructure pour UML chez un éditeur de logiciel, je sais donc de quoi je parle.
Une alternative à UML est eCore d'eclipse EMF.
Mais a contrario il existe de nombreux sites avec des modèles OWL et RDFS réutilisables, et très peu de choses en UML ou eCore.
Une autre raison pour utiliser OWL est que l'on peut définir les classes par leurs propriétés, et c'est donc adapté au raisonnement,exemple:
Si un programmeur est qq'un qui connait un langage de programmation, alors Richard Stallman sera classifié comme programmeur.
Mais on peut aussi comme en Java, UML, etc, déclarer a priori l'apartenance à une classe.
En fait OWL est le résultat de 20 ans de recherches sur les logiques de descriptions
( http://fr.wikipedia.org/wiki/Logique_de_description ) , alors que UML ce n'est guère que des struct avec méthodes et héritage.
En gros ATL et QVT ne sont pas des mauvaises techno. en soi, mais accrocher son wagon au train de l'OMG (Object Management Group) me parait une erreur.
Mais en fait beaucoup d'outils MDA ne font que de la génération par patrons (templates) du genre de FreeMarker. Et là on quitte le domaine du raisonnement automatisé pour se rapprocher de la bidouille.
Les technos. du W3C, malgrès certains couacs, sont solides.
[^] # Re: En guise de conclusion
Posté par Jean-Marc Vanel . En réponse au journal mes présentations: à l'OSDC, et jeudi prochain. Évalué à 1.
C'est bien ce que je pensais; c'est du lourd et même du lourdingue.
Entendons-nous: je n'ai jamais dit que Acceleo et consorts ne font pas de génération d'appplication; ni que c'est un mauvais produit, ni que EulerGUI crée une appli. complète de cette sorte. Je dis que qu'enchaîner via un IDE la génération Hibernate, puis Struts, puis copier-coller le SQL dans PHPmyAdmin, c'est très lourd et réservé à des informaticiens qui savent ce que signifie toutes ces étapes.
Au contraire, Déduction, via ses règles (déclaratives) vise à reproduire par la machine le raisonnement que fait un développeur pour créer une appli. à partir d'un modèle métier. Le résultat, c'est que en un glisser-déposer du projet, et 2 clics, on lance l'appli.
Bien sûr, beaucoup reste à faire (tenir compte mieux des propriétés objet, autres plateformes que Java Swing, etc), mais le potentiel est là. En ce moment on travaille sur une sortie XML, d'abord XForms, puis XHTML.
Pourquoi on utilise OWL/RDF pour la modélisation ?
Pourquoi pas UML ?
- Modélisation par et pour les développeurs
Cependant le rapport entre un modèle UML et le code source est complexe
Il existe des variantes plus ou moins proches de la programmation
Certaines notations déterminent directement le source, d'autres sont descriptives
- Pas modulaire ( et il y a 249 meta-classes, alors qu'on s'intéresse surtout aux diagrammes de classes).
- L'OMG a toujours mal promu ses technologies
- le standard d'échange XMI est déficient
En gros UML est bien comme langage graphique, mais formellement ça laisse à désirer. Et même comme langage graphique, il est relativement peu utilisé. J'ai travaillé de 2006 à 2008 sur une infrastructure pour UML chez un éditeur de logiciel, je sais donc de quoi je parle.
Une alternative à UML est eCore d'eclipse EMF.
Mais a contrario il existe de nombreux sites avec des modèles OWL et RDFS réutilisables, et très peu de choses en UML ou eCore.
Finding ontologies on the Web
http://swoogle.umbc.edu/
http://olp.dfki.de/ontoselect
http://www.schemaweb.info/
http://protegewiki.stanford.edu/index.php/Protege_Ontology_L(...)
http://watson.kmi.open.ac.uk/
http://bioportal.bioontology.org/
Jos de Roo is developing a series of OWL ontologies in N3:
http://eulersharp.svn.sourceforge.net/viewvc/eulersharp/trun(...)
Finding data on the Web
Currently Alive SPARQL Endpoints: http://esw.w3.org/topic/SparqlEndpoints
http://dbpedia.org/
http://www.sindice.com
http://www.rdfdata.org/data.html Publicly available collections of RDF and web services that return RDF; of course the listing is itself available as RDF!
http://www.data.gov/
Une autre raison pour utiliser OWL est que l'on peut définir les classes par leurs propriétés, et c'est donc adapté au raisonnement,exemple:
Si un programmeur est qq'un qui connait un langage de programmation, alors Richard Stallman sera classifié comme programmeur.
Mais on peut aussi comme en Java, UML, etc, déclarer a priori l'apartenance à une classe.
En fait OWL est le résultat de 20 ans de recherches sur les logiques de descriptions
( http://fr.wikipedia.org/wiki/Logique_de_description ) , alors que UML ce n'est guère que des struct avec méthodes et héritage.
En gros ATL et QVT ne sont pas des mauvaises techno. en soi, mais accrocher son wagon au train de l'OMG (Object Management Group) me parait une erreur.
Mais en fait beaucoup d'outils MDA ne font que de la génération par patrons (templates) du genre de FreeMarker. Et là on quitte le domaine du raisonnement automatisé pour se rapprocher de la bidouille.
Les technos. du W3C, malgrès certains couacs, sont solides.