7

¿Existen herramientas de código abierto de alto nivel que faciliten y simplifiquen el desarrollo de protocolos de red experimentales (TCP/UDP) utilizando una GUI?Herramientas para el diseño y desarrollo de protocolos experimentales?

Básicamente, algo así como un editor de máquinas de estado dinámico que permitirá definir "paquetes", "Mensajes", "estados", "validadores", "manipuladores", etc.

Preferiblemente, una herramienta de ese tipo ser lo suficientemente completo como para tratar con todos los aspectos relevantes del protocolo (es decir, el servidor &), de modo que la descripción del protocolo de alto nivel pueda ser serializada en un archivo XML/RDF donde pueda ser usado para crear código de aplicación para implementar el protocolo (es decir, en Python).

Respuesta

3

Renunciar a la GUI para un editor de texto e ingresar al mundo de los lenguajes de especificación de protocolo. La mayoría de estas herramientas toman una descripción de algún protocolo, intentan probar que no está roto y generan una implementación y pruebas. He aquí algunos para empezar, pero hay muchos más:

+2

Puede que le guste el ensayo de Zed Shaw sobre Ragel State Charts http://www.zedshaw.com/essays/ragel_state_charts.html –

1

Si va a apuntar a un objetivo eventual de Python de todos modos, ¿quién no lanza su propia plataforma de prueba (en python) desde el principio?

Las máquinas de estado no son tan difíciles de compilar en código, y son muchísimo más fáciles de leer sin ambigüedades y verificar que las imágenes en una GUI, especialmente cuando se vuelven complejas.

Me parece que harías mejor con un DSL incorporado que con un diseñador basado en GUI.

Editar: Si, como dijiste en los comentarios, lanzaste Python como ejemplo, te sugiero que vayas con la respuesta de Timday. Si no estás realmente preocupado por la incrustación en Python, ve con una DSL preexistente como sugiere.

+0

Gracias por su respuesta, Python sólo estaba pensado como un ejemplo para ilustrar que lo haría preferiblemente desea poder ejecutar un generador de código contra las especificaciones del protocolo (proporcionado a través de XML o RDF) para terminar con stubs implementando automáticamente la mayoría de las partes del código redundante del protocolo. – none

+0

> Me parece que harías mejor con un DSL incorporado que con un diseñador basado en GUI. Bien, ¿hay alguna DSL específicamente para escribir protocolos de red? Además, la mayor parte del proceso de diseño del protocolo seguirá siendo sobre todo definir estados y acciones resultantes. – none

Cuestiones relacionadas