Y a-t-il un logiciel pour dessiner un réseau de Petri et générer un code source de là-bas? Le code source pourrait être dans une langue de programmation déjà connue ... p>
Une option légèrement moins souhaitable serait la sortie d'un fichier avec seulement la description des graphiques de Petri Net dans un fichier texte sur certains formats ouverts, tels que XML ou toute autre langue de données. Je pourrais alors écrire le générateur de code moi-même, mais au moins, j'aimerais éviter une partie de développement GUI / graphique;)) P>
merci p>
3 Réponses :
check Petrinetsim Il est développé en Java, vous pouvez dessiner et simuler des simples / colorés / petrinets chronométrés. Il vient avec quelques exemples. Vous pouvez étendre les contraintes d'arc et de nœuds en Java. Et enfin, vous pouvez voir des classes Java du produit de Pétri généré P>
Vous pouvez saisir le code source de github https://github.com/guillem-catala/petrinetsim p>
Je regarderais le Outils CPN . Ils fournissent toutes sortes de travaux de construction, d'analyse, de simulation de minets de Pétri colorés et de capacités de génération de code de revendication. P>
Je développe La langue de données utilisée est Ruby elle-même (plus précisément et DSL interne écrit dans Ruby). P>
Un problème majeur avec les filets de Pétri est qu'il existe une totalité trop de types d'entre eux existants. Les arcs nets de Pétri sont compris comme des relations entre les transitions et les lieux (elles appartiennent à des transitions dans Tant que la simulation (exécution nette de Pétri), les filets de Pétri hybrides généraux n'ont pas de méthode de simulation plus rapide disponible que la méthode d'Euler implicite (que j'appelle pseudo Euler). En effet, un réseau PETRI peut être utilisé pour implémenter une machine à Turing, pour laquelle aucune vitesse générale n'est possible. P>
Si vous êtes prêt à fonctionner dans Ruby, vous pouvez donc décrire un réseau Petri dans y_petri code>
dans Ruby. Pour le moment, Ypetri peut gérer la visualisation ( ypetri :: net code> classes a
#visualiser code> méthode en utilisant graphviz em> pour dessiner le net), mais pas L'édition de l'interface graphique que vous semblez avoir à l'esprit. FYI, premièrement, l'édition de l'interface graphique dans les filets de Petri est moins important qu'il n'y parait. P>
Ypetri Code> tente d'être un cadre de réseau de Pétri universel, avec 1 type de lieux (de type de marquage arbitraire) et 4 types de base de transitions (chronométrés / intemporel x stoechiométriques / non stoechiométriques). De plus, il existe un cinquième type de transition, une transition d'affectation, qui remplace le marquage des places cibles avec la valeur de retour de sa fonction. Je crois que cela peut être utilisé pour décrire tout système dynamique que ce soit, tout en étant aussi paimonieux que possible de le faire. P>
y_petri code>. J'ai constaté qu'il est utile d'exprimer également les relations entre Petri Net Nœuds (Lieux / transitions) que juste des arcs. À cette fin, J'utilise essentiellement la structure ZZ de Ted Nelson (ZZAG) essentiellement comme un remplacement pour un Base de données relationnelle . P>
y_petri code> ou
y_nelson code> code DSL. Je ne fournis pas de conversion en XML, car je ne le considère pas, il est supérieur à la source DSL. Il serait possible d'écrire une telle routine d'exportation, mais je vous encourage à utiliser la DSL à la place. P>
J'ai trouvé une longue liste de logiciels associés à Informatik.uni -hambourg.de/tgi/petrinets/tools/Quick.html Je vais commenter si je le trouve utile là-bas
C'est génial aussi stamachines.umple.org