Planification multi-agents pour la composition dynamique( Télécharger le fichier original )par Brakni Ilhem Université de Tébessa -algerie - Ingénieur d'état en informatique 2010 |
II. Outils exploitésAfin de bien réaliser les étapes précédentes, plusieurs outils de développement peuvent nous aider.
III. Création des descriptions OWL-S
Comme nous avons vus, les services proposés on presque la même description OWL-S de leurs modèles de processus. Il suffit donc dans cette section de présenter le procédé suivi pour la génération de l'une de ces descriptions ; celle du service de réservation de vols aériens. En plus, ce qui nous concerne dans notre travail est seulement la description du modèle de processus du service. Ainsi, le procédé suivi est le suivant :
III.1. Génération de la classe Java implémentant le service webNotre service contient une seule opération ; lorsqu'il reçoit une demande de réservation d'un utilisateur, il renvoie soit une confirmation (réservation possible) ou une infirmation (réservation impossible). La classe Java pouvant l'implémenter peut donc contenir une seule fonction « Réserver_Vol() », ayant comme entrées : le nom de l'utilisateur, sa ville de départ, sa date de départ, sa ville d'arrivée et sa date d'arrivée et ayant comme une seule sortie une expression exprimant l'existence ou non de la réservation demandée. Ce que fait le service ne nous concerne pas ; ce qui nous concerne est seulement la signature de la fonction. Cette génération est faite par l'Eclipse IDE. Notre classe Java sera donc la suivante :
Figure 5.1 : classe Java implémentant le service de réservation de vols aériens III.2. Génération de la description OWL-S du service Une fois la génération du code Java implémentant le service soit terminée, l'éditeur fournit un support « Java2OWL-S » permettant de générer la description OWL-S du service à partir de ce code Java. La conversion Java2OWL-S est faite en deux phases : dans la première le code Java est converti à un fichier WSDL et dans la deuxième ce dernier est converti à des fichiers OWL-S. Le résultat de ce processus est des descriptions WSDL et grounding OWL-S complètes et des descriptions du profile et du modèle de processus incomplètes. Puisque la description du modèle de processus est la seule description qui nous concerne dans notre travail, nous ne présenterons dans ce qui suit que ce fichier généré dans cette étape. Dans ce qui suit nous présentons la description OWL-S du modèle de processus dans le mode graphique de l'éditeur puis dans le mode textuel (format XML) : Figure 5.2 : Une partie de la description OWL-S du modèle de processus générée en mode graphique Figure 5.3 : Une partie de la description OWL-S du modèle de processus générée en mode textuel III.3. Compléter la description OWL-S générée La description OWL-S du modèle de processus du service générée dans l'étape précédente décrit le service en terme de son flux de données seulement, mais pas en terme de ses contraintes d'utilisation (préconditions et effets). Pour faire la compléter nous allons exploités l'éditeur des modèles de processus fournit par l'outil OWL-S IDE. Notre processus atomique a deux préconditions et un seul effet. Préconditions : - (À Nom_Utilisateur Ville_Départ Date_Depart) - (Existe_Trajet Ville_Depart Date_Depart Ville_Arrivee Date_Arrivee) Effet : - (À Nom_utilisateur Ville_arrivée Date_arrivée) Après avoir la compléter et l'organiser (afin de faciliter sa manipulation en suite), la description OWL-S du modèle de processus pour notre service de réservation de voles aériens sera donc la suivante :
<rdf:RDF xmlns:rdf= "&rdf;#" xmlns:rdfs= "&rdfs;#" xmlns:owl= "&owl;#" xmlns:xsd= "&xsd;" xmlns:service= "&service;#" xmlns:process= "&process;#" xmlns:profile= "&profile;#" xml:base= " http://www.daml.ri.cmu.edu/bravoair/Réservation_VolProcess.owl" > <owl:Ontology about=""> <owl:versionInfo> $Id: OWLSProcessModelEmitter.java,v 1.1 naveen </owl:versionInfo> <rdfs:comment> Add Comment </rdfs:comment> <owl:imports rdf:resource="&service;" /> <owl:imports rdf:resource="&process;" /> <owl:imports rdf:resource="&profile;" /> <!-- WSDL2OWL-S :: Add More Imports If needed --> </owl:Ontology> <!-- WSDL2DAML-S_was_here --> <!-- WSDL2OWL-S :: Add composite processes if needed--> <!--WSDL 2 OWL-S Generated code--> <!--**List of Atomic Processes**--> <!--ProcessName :Reserver_Vol--> <!--*****************************--> <!--Definitions for Atomic Process : Reserver_Vol--> <process:AtomicProcess rdf:ID="Reserver_Vol"> <!--Inputs--> <process:hasInput> <process:Input rdf:ID="Nom_Utilisateur"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#string </process:parameterType> </process:Input> <process:hasInput> <process:Input rdf:ID="Ville_Arrivee"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#string </process:parameterType> </process:Input> <process:hasInput> <process:Input rdf:ID="Ville_Depart"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#string </process:parameterType> </process:Input> <process:hasInput> <process:Input rdf:ID="Date_Depart"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#string </process:parameterType> </process:Input> <process:hasInput> <process:Input rdf:ID="Date_Arrivee"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#string </process:parameterType> </process:Input> <!--Outputs--> <process:hasOutput> <process:Output rdf:ID="Reservation_Existe"> <process:parameterType rdf:datatype="&xsd;#anyURI"> &xsd;#boolean </process:parameterType> </process:Output> <!--Preconditions--> <process:hasPreConditon> <process:PreCondition rdf:about="#Etat_Utilisateur"> <process:expressionLanguage rdf:resource="#DRS"/> <process:expressionBody> (A Nom_Utilisateur Ville_Depart Date_Depart) </process:expressionBody> </process:PreCondition> </process:hasPreConditon> <process:hasPreConditon> <process:PreCondition rdf:about="#Existe_Trajet"> <process:expressionLanguage rdf:resource="#DRS"/> <process:expressionBody> (Existe_Trajet Ville_Depart Date_Depart Ville_Arrivee Date_Arrivee) </process:expressionBody> </process:PreCondition> </process:hasPreConditon>
Figure 5.3 : La description OWL-S du process model du service « Réservation de vols aériens » Les descriptions des modèles de processus des deux autres services sont faites en suivant le même procédé précédent. |
|