19/02/2014

une interface utilisateur pour la méthode Diamond

(suite de http://smag0.blogspot.fr/2014/01/de-la-methode-diamond-pour-sma-basee.html )

Explorons d'autres pistes pour créer une interface utilisateur(une application ?) basée sur une ontologie
- reste la piste EulerGui (pris contact avec JMVanel )
- appliquer une fiche de style (xslt) à une ontologie. 


Une première version de l'ontologie diamond.owl.  (télécharger diamond.owl)




c'est en fait pour qu'un utilisateur puisse décrire son projet. Definition des Besoins est une instance d'une étape de la procedure(la première), d'autres étapes existent , elles s'enchainent par la propriété next, les étapes possèdent des sous-étapes définies par la propriété hasPart, (la première sous étape est définie par la propriété first). et produisent des documents qui eux sont des instances des la classe Documentation (et sous classes) grâce à la propriété "document produit".


Cette ontologie diamond.owl est sensée, comme décrit précédemment, représenter la méthode Diamond citée plus haut.  Peut-être un modèle pour la création d'autres méthodes : une recette de cuisine, une tâche effectuée par un robot ou un objet connecté ( utilisation de rdfs:Seq (Sequences au format RDFS) http://www.w3.org/TR/rdf-schema/#ch_seq ou http://www.w3schools.com/webservices/ws_rdf_containers.asp
  • une classe Methode
  • une classe Documentation
  • une classe Acteurs 

Les étapes de la méthode sont représentées par une sous-classe de Methode
Etape (à modifier ! les étapes ne sont pas des méthodes ?)
Processus sous classe de Etape
Activite sous classe de Processus

Methode également sous-classe de rdfs:Seq afin d'organiser chronologiquement les étapes, processus, activités.

Créer une interface / une application à partir d'une ontologie

On devrait pouvoir créer une application (des formulaires html) de puis l'ontologie diamond.owl qui décrit une méthode, avec 4 étapes. Pour chaque étape : 1 ou plusieurs formulaires.

- Ici trois solutions restent en course : 
- EulerGui ?
- une feuille de style xslt qui transforme l'ontologie en page html (besoin d'un ontologie supplémentaire de description des balises html ? de constitution des formulaires -> rajouter des indications dans l'ontologie de la méthode.
- un parser javascript / java / jena / Processing ???  qui récupère dans l'ontologie la classe Methode, avec ses classes Etapes.... et créé à la volée les formulaires.

La feuille de style XSLT semble faire apparaitre la plus grande souplesse, une fois que l'ontologie diamond.owl intégrera des indications quand aux formulaires à implémenter.
Ou encore l'utilisation de Jena en java ou avec Processing ?
-> le stockage des informations créées par l'application est également envisagée comme pouvant être produites au format owl / rdf / ou vers un endoint sparql ? un serveur fuseki local?

Cette interface / application pourra être implémentée sur un objet connecté / un robot mobile (pcduino avec Linux et serveur Web/ Fuseki ?)

Une autre solution serait de partir de Freemind qui propose une interface plus visuelle, mais semble offrir moins de liaison entre les concepts, moins de propriétés, mais c'est une interface dont on peut s'inspirer.