tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : RE : [Tsp-devel] Black board dynamique


From: TSP
Subject: RE : RE : [Tsp-devel] Black board dynamique
Date: Fri, 9 Jun 2006 09:24:14 +0200

Salut à tous, et aussi aux autres.

Merci Eric de résumer aussi bien ma pensée :
>"Comment puis-je savoir ce qu'on m'a demande pour ne prelever que ca?"
Après discussion, le + simple est sans doute que je me passe de BlackBoard 
(zut, je ne jouerais toujours pas avec), mais que je code directement un 
provider/glue qui se serve du reverse_list pour ne prélever que ce qu'on lui a 
demandé.

Le code du GLU/provider de Calcul est open ou non disponible ?

Y++

>-----Original Message-----
>From: Erk [mailto:address@hidden
>Sent: Thursday, June 08, 2006 6:14 PM
>To: Transport Sample Protocol development list
>Subject: Re: RE : [Tsp-devel] Black board dynamique
>
>
>Oui et non.
>
>Le probleme de Yves est different (je pense)
>pour le groupe asynchrone ton probleme est de voir (au niveau
>consumer TSP)
>que les symboles "qui changent" mais le consumer les a EXPLICITEMENT
>demandes.
>
>Je pense que le probleme de Yves est plus au niveau PROVIDER.
>Imagine que ton provider obtient les valeurs a distribuer par un
>canal "petit debit".
>
>Ton probleme ce n'est donc pas d'envoyer des donnees asynchrones
>(groupe asynchrone) pour minimiser la bande passante entre consumer
>et provider mais de limiter le nombre de valeur PRELEVE par le provider
>AVANT distribution.
>
>Ici le serialink de Yves (sauf erreur de ma part)
> ne sert pas a transporter les paquets TSP mais a prelever
>des valeurs qui seront eventuellement distribuer par TSP.
>
>Donc son probleme se resume a
>"Comment puis-je savoir ce qu'on m'a demande pour ne prelever que ca?"
>
>Quoiqu'il en soit je suis d'accord avec le
>
>"marvellous but never implemented" fonction TSP des groupes
>asynchrones :))
>
>
>
>
>Le 08/06/06, PAGNOT, Robert<address@hidden> a écrit :
>>
>> Juste une ch-tite question de Java-Bob :
>>
>> Z-êtes pas en train de reinventer la "marvellous but never
>implemented" fonction TSP des groupes asynchrones (packets
>contenant des couples ID/VALEUR uniquement quand VALEUR change
>au niveau PROVIDER) ?
>>
>> Auquel cas, BB ou PP, Ton Seriallink Pourri n'est pas
>submergé par des packets cycliques ...
>>
>> A+
>>
>>         Robert
>>
>> -----Original Message-----
>> From: Erk [mailto:address@hidden
>> Sent: Thursday, June 08, 2006 5:13 PM
>> To: Transport Sample Protocol development list
>> Subject: Re: [Tsp-devel] Black board dynamique
>>
>>
>> 2006/6/8, dufy <address@hidden>:
>> > Bonjour les amis du TSP (Train Sans Péage)
>> >
>> >  J'aimerais tester un petit provider TSP qui passe par le
>blackboard (Jusque
>> > la facile !)
>> >  Mais j'ai la contrainte suivante : Mon Provider peut
>connaitre la liste des
>> > symboles possibles, mais il ne devra les mettre à jour QUE
>si elles sont
>> > demandées.
>> >  (Il y plein de symboles potentiels, et leur lecture passe
>par un canal très
>> > limité, un port série ....).
>> >
>> >  Comment puis-je faire docteur, pour avoir par le BB une
>info mise à jour
>> > par le générique TSP_BB_Provider qu'un client vient de lui
>demander le
>> > symbole "toto" ?
>> >
>> >  Merci d'avance, mais il n'y pas d'urgence pour me
>répondre. C'est juste de
>> > la curiosité.
>> >
>> >  Y++
>>
>> Si j'ai tout bien compris ca va etre assez facile vu que...
>>
>> C'est [presque] deja ce qui se passe :))
>>
>> 1) Recopie des symboles demandes par un provider
>>
>> Le BB provider n'est pas tellement differents des autres
>> a savoir qu'il ne recopie le datapool que les variables
>> demandees grace a la fonction magique
>> >>>>>>>>>>>>
>>     /*
>>      * Refresh the [reverse list of consumed symbols]
>>      * Must be call at each step in case of new samples wanted
>>      */
>>     TSP_datapool_get_reverse_list
>> (this->datapool,&nb_consumed_symbols, &ptr_consumed_index);
>> >>>>>>>>>>>>>
>>
>> ajoutee par un certain Y. D. bien connu de nos services.
>>
>> Ensuite c'est trivial, puisqu'on boucle sur la liste des
>symboles DEMANDES:
>> >>>>>>>>>>
>> /* PUSH des valeurs directement dans le datapool */
>>     for(i = 0 ; i <  nb_consumed_symbols ; ++i) {
>>       /* retrieve the pgi of the consumed symbol */
>>       pgi = ptr_consumed_index[i];
>>       item.time                  = glu_time;
>>       item.provider_global_index = pgi;
>>       /* we return a double value even if
>>        * the blackboard type is different
>>        * since TSP only knows double ... till now */
>>       *((double*)item.raw_value) =
>> bb_double_of(value_by_pgi[pgi],bbdatadesc_by_pgi[pgi]->type);
>>       TSP_datapool_push_next_item(this->datapool, &item);
>>     }
>>     TSP_datapool_push_commit(this->datapool, glu_time,
>GLU_GET_NEW_ITEM);
>> >>>>>>>>>>>>
>>
>> Cette fonction est tres bien sauf que la liste des symboles demandes
>> est plutot la liste des symboles demandes "au moins une fois
>un jour"...
>> c'est a dire que cette liste ne decroit jamais et cumule les symboles
>>
>>
>> a noter que juste avant le bb_provider aura mis a jour son
>image locale
>> de Blackbaord (shadow_bb)
>>
>> >>>>>>>
>> /*
>>  * Update shadow BB data zone
>>  */
>> bb_shadow_update_data(shadow_bb,the_bb);
>> >>>>>>>>
>>
>> Donc a noter que dans ce cas "nominal"
>> il y 2 espace memoire separes:
>>
>> the_bb qui est la SHM qui est le Blackboard utilise par l'appli
>> shadow_bb qui est image locale du blakboard pour que le bb_provider
>> puisse distribuer tranquillement une copie "coherente" du vrai BB.
>>
>>
>> >  Comment puis-je faire docteur, pour avoir par le BB une
>info mise à jour
>> > par le générique TSP_BB_Provider qu'un client vient de lui
>demander le
>> > symbole "toto" ?
>>
>> Donc si ton probleme est de faire remonter a l'appli la
>liste des symboles
>> demandes, et bien je vois 2 solutions:
>>
>> 1) rajouter (dans la meme SHM) pour chaque donnees publiee dans le BB
>>     des "meta-informations" que tu viendrais mettre a jour dans
>>     la boucle du BB_provider dans ton cas un tableau
>d'entier indiquant
>>     si oui ou non la variable est "demandee".
>>
>> 2) utiliser la message queue du Blackboard pour envoyer un message
>>    bb_provider ---> appli utilisant le BB
>>    qui contiennent la liste des symboles blackboard demandes
>>    en les specifiants par leur bbidx (index dans le tableau
>BB_DATADESC)
>>
>> La 2ieme solution est probablemen t plus efficace car ton
>appli pourra
>> n'iterer que sur la liste des symboles demandes.
>>
>> Quoiqu'il en soit si tu dois faire ca je ne suis pas sur que
>le Blackboard
>> soit ton meilleur ami.
>>
>> En fait ton besoin me semble proche d'un besoin assez recurrent
>> qui est les symboles calcules...
>>
>> Ca demande plus d'explications donc je ferais un mail plus long une
>> autre fois...
>> --
>> Erk
>>
>>
>> _______________________________________________
>> Tsp-devel mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/tsp-devel
>>
>> ---------------------------------------------------------
>>
>> CE COURRIER ELECTRONIQUE EST A USAGE STRICTEMENT INFORMATIF
>ET NE SAURAIT ENGAGER DE QUELQUE MANIERE QUE CE SOIT EADS
>ASTRIUM SAS, NI SES FILIALES.
>>
>> SI UNE ERREUR DE TRANSMISSION OU UNE ADRESSE ERRONEE A MAL
>DIRIGE CE COURRIER, MERCI D'EN INFORMER L'EXPEDITEUR EN LUI
>FAISANT UNE REPONSE PAR COURRIER ELECTRONIQUE DES RECEPTION.
>SI VOUS N'ETES PAS LE DESTINATAIRE DE CE COURRIER, VOUS NE
>DEVEZ PAS L'UTILISER, LE CONSERVER, EN FAIRE ETAT, LE
>DISTRIBUER, LE COPIER, L'IMPRIMER OU EN REVELER LE CONTENU A
>UNE TIERCE PARTIE.
>>
>>
>>
>> This email is for information only and will not bind EADS
>Astrium SAS in any contract or obligation, nor its subsidiaries.
>>
>> If you have received it in error, please notify the sender
>by return email. If you are not the addressee of this email,
>you must not use, keep, disseminate, copy, print or otherwise
>deal with it.
>>
>> ---------------------------------------------------------
>>
>>
>> _______________________________________________
>> Tsp-devel mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/tsp-devel
>>
>
>
>--
>Erk
>
>
>_______________________________________________
>Tsp-devel mailing list
>address@hidden
>http://lists.nongnu.org/mailman/listinfo/tsp-devel
>

---------------------------------------------------------

CE COURRIER ELECTRONIQUE EST A USAGE STRICTEMENT INFORMATIF ET NE SAURAIT 
ENGAGER DE QUELQUE MANIERE QUE CE SOIT EADS ASTRIUM SAS, NI SES FILIALES.

SI UNE ERREUR DE TRANSMISSION OU UNE ADRESSE ERRONEE A MAL DIRIGE CE COURRIER, 
MERCI D'EN INFORMER L'EXPEDITEUR EN LUI FAISANT UNE REPONSE PAR COURRIER 
ELECTRONIQUE DES RECEPTION. SI VOUS N'ETES PAS LE DESTINATAIRE DE CE COURRIER, 
VOUS NE DEVEZ PAS L'UTILISER, LE CONSERVER, EN FAIRE ETAT, LE DISTRIBUER, LE 
COPIER, L'IMPRIMER OU EN REVELER LE CONTENU A UNE TIERCE PARTIE.



This email is for information only and will not bind EADS Astrium SAS in any 
contract or obligation, nor its subsidiaries.

If you have received it in error, please notify the sender by return email. If 
you are not the addressee of this email, you must not use, keep, disseminate, 
copy, print or otherwise deal with it.

---------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]