Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 实验协议设计工具&;发展?_User Interface_Protocols_State_Network Protocols_Custom Protocol - Fatal编程技术网

User interface 实验协议设计工具&;发展?

User interface 实验协议设计工具&;发展?,user-interface,protocols,state,network-protocols,custom-protocol,User Interface,Protocols,State,Network Protocols,Custom Protocol,是否有任何开源的高级工具可以促进和简化使用GUI开发实验性网络协议(TCP/UDP) 基本上,类似于动态状态机编辑器的东西允许您定义“数据包”、“消息”、“状态”、“验证器”、“处理程序”等 最好,这样的工具足够全面,可以处理协议的所有相关方面(即客户端和服务器),以便将高级协议描述序列化为XML/RDF文件,在该文件中可以使用它动态创建应用程序代码以实现协议(即Python).如果您打算最终实现python目标,谁不从一开始就使用您自己的测试装备(python) 在代码中构建状态机并不难,而且

是否有任何开源的高级工具可以促进和简化使用GUI开发实验性网络协议(TCP/UDP)

基本上,类似于动态状态机编辑器的东西允许您定义“数据包”、“消息”、“状态”、“验证器”、“处理程序”等


最好,这样的工具足够全面,可以处理协议的所有相关方面(即客户端和服务器),以便将高级协议描述序列化为XML/RDF文件,在该文件中可以使用它动态创建应用程序代码以实现协议(即Python).

如果您打算最终实现python目标,谁不从一开始就使用您自己的测试装备(python)

在代码中构建状态机并不难,而且它们比GUI中的图片更容易明确地阅读和验证,尤其是当它们变得复杂时

在我看来,使用嵌入式DSL比使用基于GUI的设计器做得更好


编辑:如果,正如你在评论中所说,你只是把python作为一个例子,我建议你使用timday的答案。如果您实际上不担心嵌入python,请按照他的建议使用预先存在的DSL。

放弃GUI而使用文本编辑器,进入协议规范语言的世界。这些工具中的大多数都描述了一些协议,试图证明它没有被破坏,并生成一个实现和测试。以下是一些帮助您开始的方法,但还有很多:


感谢您的回复,Python只是作为一个示例来说明我更希望能够根据协议规范(通过XML或RDF提供)运行代码生成器最终,存根自动实现了协议的大部分冗余代码部分。>我觉得,使用嵌入式DSL比使用基于GUI的设计器做得更好。好的,那么有专门用于编写网络协议的DSL吗?此外,大多数协议设计过程仍然主要是关于定义状态和结果操作。你可能会喜欢Zed Shaw关于Ragel状态图的文章