WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV. Implémentation du traducteur OWL-S vers opérateurs STRIPS

Ce traducteur fait un composant dans les agents service. Ainsi, chaque agent service après son initialisation avec la description OWL-S du service qu'il représente, il exploite ce composant pour la transformer à un ensemble d'opérateurs correspondants.

Nous avons implémentées ce traducteur par une fonction Java (traducteur()), prenant en entrée sous forme d'un texte la description OWL-S et retournant en sortie la liste d'opérateurs pouvant être extraits de cette description.

Le principe est le suivant : la fonction parcourt le texte de la description OWL-S. Chaque fois qu'il rencontre un processus atomique (un bloc entre les deux balises <process:AtomicProcess et </process:AtomicProcess>), il le traduit à un opérateur STRIPS : le nom de ce dernier sera le nom du processus. Puis entre ces balises chaque fois qu'un input (<process:Input), un output (<process:Output), une précondition (<process:hasPreCondition>) ou un effet (<process:hasEffect>) est rencontré, il sera transformé à un paramètre, une précondition ou un effet pour l'opérateur créé.

//SDD est une structure de données pouvant contenir les éléments //descriptifs d'un opérateur STRIPS (le nom, les inputs, les outputs, //les préconditions et les effets)

class SDD{

String nom_operateur;

ArrayList<String> L_parametres=new ArrayList<String>(); ArrayList<String> L_preconditions=new ArrayList<String>(); ArrayList<String> L_effets=new ArrayList<String>();

}

public Vector<SDD> traducteur(String fichier_owls){

//operateurs est un vecteur qui peut contenir les éléments // descriptifs des différents opérateurs extraits de la

// descripton OWL-S

while((!(str2.equals("</process:atomicprocess"))) &&(tompon.hasMoreTokens())){

if(str2.equals("<process:input")){ //c-à-d: on a trouvé un input => on // l'ajoute à liste des parametres de // l'operateur op

}

if(str2.equals("<process:output")){ //c-à-d: on a trouvé un output => on //l'ajoute à liste des parametres de // l'operateur op

} if(str2.equals("<process:hasprecondition")){

//c-à-d: on a trouvé une précondition

//=> on l'ajoute à liste des

// préconditions de l'operateur op

}

if(str2.equals("<process:haseffect")){ //c-à-d: on a trouvé un effet => on //l'ajoute à liste des préconditions //de l'operateur op

}

}

//l'ajout de l'opérateur créé à la liste des // opérateurs extraits de la description OWL-S operateurs.add(op);

}

}

//retourner la liste d'opérateurs extraits return operateurs;

}

Figure 5.4 : fonction Java implémentant le traducteur OWLS vers opérateurs STRIPS

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy





Changeons ce systeme injuste, Soyez votre propre syndic





"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera