7

Existe-t-il des outils open source de haut niveau qui faciliteraient et simplifieraient le développement de protocoles réseau expérimentaux (TCP/UDP) à l'aide d'une interface graphique?Outils pour la conception et le développement de protocoles expérimentaux?

Fondamentalement, quelque chose comme un éditeur de machine d'état dynamique qui vous permet de définir des « paquets », « messages », « états », « valideurs », « gestionnaires », etc.

De préférence, un tel outil être suffisamment complet pour traiter tous les aspects pertinents du protocole (serveur client &), afin que la description du protocole de haut niveau puisse être sérialisée dans un fichier XML/RDF où il pourrait être utilisé pour créer dynamiquement le code d'application pour implémenter le protocole (c'est-à-dire en Python).

Répondre

3

Abandonnez l'interface graphique d'un éditeur de texte et entrez dans le monde des langages de spécification de protocole. La plupart de ces outils prennent une description d'un protocole, essayent de prouver qu'il n'est pas cassé, et génèrent une implémentation et des tests. Voici quelques pour vous aider à démarrer, mais il y a beaucoup d'autres:

+2

Vous pourriez aimer l'essai de Zed Shaw sur les graphiques d'état de Ragel http://www.zedshaw.com/essays/ragel_state_charts.html –

1

Si vous allez viser une cible python, qui ne lance pas votre propre plate-forme de test (en python) dès le départ?

Les machines d'état ne sont pas si difficiles à construire en code, et elles sont beaucoup plus faciles à lire sans ambiguïté et à vérifier que les images dans une interface graphique, surtout lorsqu'elles sont complexes.

Il me semble que vous feriez mieux avec un DSL embarqué qu'un concepteur basé sur une interface graphique. Edit: Si, comme vous l'avez dit dans les commentaires, vous venez de jeter python à titre d'exemple, je vous suggère d'aller avec la réponse de timday. Si vous n'êtes pas vraiment inquiet à propos de l'intégration en python, optez pour un DSL préexistant comme il le suggère.

+0

Merci pour votre réponse, Python était destiné comme un exemple pour illustrer le fait que je le ferais préférablement être capable d'exécuter un générateur de code en fonction des spécifications de protocole (fournies via XML ou RDF) pour aboutir à des stubs implémentant automatiquement la plupart des parties de code redondantes du protocole. – none

+0

> Il me semble que vous feriez mieux avec un DSL embarqué qu'un concepteur basé sur une interface graphique. D'accord, y a-t-il des DSL spécifiques pour l'écriture de protocoles réseau? En outre, la plus grande partie du processus de conception de protocole concernerait principalement la définition des états et des actions qui en découlent. – none

Questions connexes