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








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand