Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

recherche exemple simple sur Actor Frameworks

Bonjour,

 

Je recherche un exemple très simple utilisant la programmation Objet avec le module Actor Frameworks, tous les exemples que j'ai pu trouver utilisant ce module me paraissent un peu complexes.

Mon application consiste à utiliser une structure Producteur/consommateur en POO.

Comment utiliser cette structure Producteur/Consommateur avec Actor Frameworks.

 

Merci pour votre aide.

 

0 Kudos
Message 1 of 16
(2,458 Views)

Bonjour,

 

L'Actor Framework, est un concept relativement avancé, je ne vous le conseillerai pas pour commencer la programmation orientée objet.

 

Pour votre application, pourquoi souhaitez vous utiliser la POO? en particulier avec le producteur consommateur?

 

Vous pouvez utiliser un modèle de conception classique en Producteur consommateur et y integrer des classes (système de messagerie/actions/etc...).

 

En fonction de votre application, je vous conseille de chercher le design pattern le plus adapté (Channeling, plugin, etc...)

 

Cordialement,

Rodéric L
Certified LabVIEW Architect
0 Kudos
Message 2 of 16
(2,456 Views)

Merci, pour votre réponse.

 

J'utilise la POO car mon application met en oeuvre 2 systèmes d'acquisition d'image (caméra firewire) couplés à 2 PID asservissant 2 systèmes Piezo électriques, j'ai donc 4 instruments à interfacer.

Une programmation en dur des ces instruments aurait été possible, mais très difficilement maintenable.

Dans mon application j'utilise 2 structures Produc/conso en parallèle, les caméras sont les producteurs et les Piezo les consommateurs. Pour synchroniser les boucles j'utilise les files d'attentes en y intégrant les classes, ceci fonctionne bien, mais j'aimerais simplifier le code intégrant les files d'attentes en les insérant dans des classes, et j'ai trouvé que les modules Actor framework correspondait bien à ce que je voulais faire.

 

 

cordialement.

0 Kudos
Message 3 of 16
(2,451 Views)

Je pense que l'AF est un très bon framework qui a l'avantage d'implémenter OOP "by value". Pour bien comprendre son utilisation il faut déjà une bonne maitrise des concepts liés à l'OOP (encapsulation, héritage, dispatch dynamc...).

Les exemples les plus simples se trouverons sur le groupe  Actor Framework du NI Community. Il y a aussi ce document qui propose une implémentation du MVC avec l'AF, mais il me semble assez complexe. Après pour trouver l'exemple le plus simple, je conseillerai d'essayer d'entre dans le programme de beta test de LV2012, mais je n'en dis pas plus car il y a un NDA.

 

Un dernier point, je n'ai pas eu l'occasion de mettre en oeuvre l'AF pour un projet, mais il faut être conscient que s'il est puissant, l'AF nécessite une bonne connaissance de LV qui ne le rend pas à la portée de tout le monde. Cela peut engendrer des conséquences non souhaités sur la maintenabilité du code par plusieurs personnes. 

 

 

Olivier Jourdan

Wovalab founder | DQMH Consortium board member | Certified LabVIEW Architect |
Message 4 of 16
(2,444 Views)

Ok, merci pour ces infos.

J'ai regarder le code du MVC avec l'AF, il est assez complexe, mais un peu plus lisible que l'AFDemo2011.

J'ai un exemple un peu plus simple "AF_Demo_KRG" mais il n'y a pas de structure Prod/cons implémenter.

J'ai ajouté un exemple QSM en pièce jointe, correspondant a ce que j'aimerais faire avec l'AF.

 

Il y a peut être dans la communauté française qques développeurs qui utilisent l'AF.

Dans ce cas je suis intéressé par leur retour d'expérience.

 

Bien cordialement.

0 Kudos
Message 5 of 16
(2,439 Views)

Je ne pense pas qu'il ai été utilisé en France, ou alors vraiment par très peu de monde, à mon avis il y aura plus de ressources en fin d'année (avec la sortie de LabVIEW 2012)

Rodéric L
Certified LabVIEW Architect
0 Kudos
Message 6 of 16
(2,435 Views)

Olivier JOURDAN a écrit :

[...] AF est un très bon framework [...]

[...] Pour bien comprendre son utilisation il faut déjà une bonne maitrise des concepts liés à l'OOP[...]

[...] Les exemples les plus simples se trouverons sur le groupe  Actor Framework du NI Community.[...]

[...] s'il est puissant, l'AF nécessite une bonne connaissance de LV[...]

 


Perso je suis d'accord avec Olivier (comme toujours), l'AF est très puissant mais pas simple d'utilisation.

 

La NI community me semble être le meilleur endroit pour trouver des informations. Il y a notement le document

« READ THIS FIRST to get started with Actor Framework" by ElijahK in Actor Framework 2011 [...] We've uploaded a lot of different documents to this web community to discuss the Actor Framework. This gives you a summary of the documents so you know where to start. [...]

 

Un producteur consommateur avec structure événementielle et file d'attente (type cluster : état + donnée) est plus simple à utiliser. Question évolutivité il n’y a pas de problème.

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW
Auteur livre LabVIEW : Programmation et applications - Introduction à LabVIEW NXG
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD)
LabVIEW Champion

0 Kudos
Message 7 of 16
(2,431 Views)

Luc Desruelle a écrit :
Perso je suis d'accord avec Olivier (comme toujours)

Smiley Embarassed je suis géné là 🙂

 

Cependant je ne cherche pas non plus à décourager femtoserv, juste à pointer des "risques" avant de se lancer.

 

Olivier Jourdan

Wovalab founder | DQMH Consortium board member | Certified LabVIEW Architect |
0 Kudos
Message 8 of 16
(2,426 Views)

femtoserv a écrit :

 

J'ai ajouté un exemple QSM en pièce jointe, correspondant a ce que j'aimerais faire avec l'AF.

 



Bon, je me suis "amusé" à refaire (en partie) cet exemple à l'aide de l'AF.

LV2011 et Actor Framework 3.0.7.13 requis (vipc dans le zip).

 

Merci pour votre indulgence, c'est mon tout premier code réalisé avec l'AF donc il y a surent des maladresse.

 

Mon retour d'expérience :

  1. L'exemple ne met pas forcément bien en valeur les avantages que peut apporter l'AF car il y a trop de couplage entre chaque acteur, mais bon dans un premier temps je pense qu'on peut mettre ça de côté.
  2. Le code me semble "dificile" à lire
  3. Le gros avantage est de ne pas se préocuper des liens de communication entre les différents acteurs.
  4. Je suis persuader de ne pas avoir encore saisie toute la puissance de l'AF, notamment avec la possibilité d'héritage des acteurs
  5. Je pense que l'AF va s'améliorer en terme de facilité d'usage dès que des outils de scripting existerons pour faire les tâches répétitives liées à la création des messages et autres

Je suis prenneur de tout retour sur le code posté et reste pour le moment convaincu de l'intérêt de l'AF.

 

Cordialement,

Olivier Jourdan

Wovalab founder | DQMH Consortium board member | Certified LabVIEW Architect |
0 Kudos
Message 9 of 16
(2,399 Views)

Pour les scriptings de tahces du style création de messages je ne susi pas sur qu'il n'y ai rien (à voir sur LAVA)

Rodéric L
Certified LabVIEW Architect
0 Kudos
Message 10 of 16
(2,396 Views)