7

Czy istnieją narzędzia open source o wysokim poziomie, które ułatwiłyby i uprościły rozwój eksperymentalnych protokołów sieciowych (TCP/UDP) przy użyciu graficznego interfejsu użytkownika?Narzędzia do eksperymentalnego projektowania i tworzenia protokołu?

Zasadniczo coś dynamicznego edytorze maszyny państwowej, która pozwoliłaby na określenie „pakiety”, „wiadomości”, „stany”, „Walidatory”, „koparki” itd

Korzystnie, taki narzędziem mogłaby być wystarczająco wszechstronny, aby poradzić sobie ze wszystkimi istotnymi aspektami protokołu (tj. klientem o numerze &), aby opis protokołu wysokiego poziomu mógł zostać przekształcony do postaci szeregowej do pliku XML/RDF, w którym mógłby zostać użyty do dynamicznego tworzenia kodu aplikacji w celu implementacji protokołu (tj. w języku Python).

Odpowiedz

3

Porzuć GUI dla edytora tekstu i wejdź w świat języków specyfikacji protokołu. Większość z tych narzędzi zawiera opis niektórych protokołów, próbuje udowodnić, że nie jest zepsuty oraz generuje implementację i testy. Oto kilka na początek, ale jest o wiele więcej:

+2

Może Ci się spodobać esej Zeda Shawa o Ragel State Charts http://www.zedshaw.com/essays/ragel_state_charts.html –

1

Jeśli masz zamiar dążyć do docelowego celu Pythona, kto nie przetoczy swojego stanowiska testowego (w pytonie) od początku?

Maszyny stanu nie są trudne do zbudowania w kodzie, a ich dużo łatwiej przeczytać jednoznacznie i zweryfikować niż zdjęcia w GUI, zwłaszcza gdy stają się skomplikowane.

Brzmi dla mnie, że lepiej poradzisz sobie z osadzonym DSL niż z projektantem opartym na GUI.

Edycja: Jeśli, jak powiedziałeś w komentarzach, właśnie wyrzuciłeś pytona jako przykład, proponuję, abyś podszedł z odpowiedzią w dniu. Jeśli naprawdę nie martwisz się osadzaniem w pythonie, idź z istniejącym DSL, jak sugeruje.

+0

Dzięki za odpowiedź, Python po prostu oznaczało, jako przykład do zilustrowania, że ​​chciałbym najlepiej, aby móc uruchomić generator kodu w oparciu o specyfikację protokołu (dostarczaną przez XML lub RDF), aby w końcu uzyskać kody pośrednie, które automatycznie implementują większość redundantnych części kodu protokołu. – none

+0

> Brzmi dla mnie, że lepiej poradzisz sobie z osadzonym DSL niż z projektantem opartym na GUI. Okay, więc czy są jakieś DSL-y specjalnie do pisania protokołów sieciowych? Ponadto, większość procesu projektowania protokołów nadal będzie polegać głównie na definiowaniu stanów i wynikających z nich działań. – none