7

Gibt es Open-Source-Tools auf hoher Ebene, die die Entwicklung von experimentellen Netzwerkprotokollen (TCP/UDP) mithilfe einer GUI vereinfachen und vereinfachen?Tools für experimentelles Protocol Design & Development?

Grundsätzlich, so etwas wie eine dynamische Zustandsmaschine Editor, der Ihnen erlauben würde, „Pakete“, „Nachrichten“, „Zustände“, „Validatoren“ zu definieren, „Handler“ usw.

Vorzugsweise ist ein solches Werkzeug würde umfassend genug sein, um alle relevanten Aspekte des Protokolls zu berücksichtigen (dh Client & Server), so dass die Protokollbeschreibung auf hoher Ebene in eine XML/RDF-Datei serialisiert werden könnte, wo sie zum Erstellen von Anwendungscode zur Implementierung des Protokolls dynamisch verwendet werden könnte (zB in Python).

Antwort

3

Geben Sie die GUI für einen Texteditor auf und geben Sie die Welt der Protokollspezifikationssprachen ein. Die meisten dieser Tools benötigen eine Beschreibung eines Protokolls, versuchen zu beweisen, dass es nicht kaputt ist und generieren eine Implementierung und Tests. Hier sind ein paar zum Einstieg, aber es gibt viele mehr:

+2

Vielleicht möchten Sie Zed Shaw's Aufsatz auf Ragel State Charts http://www.zedshaw.com/essays/ragel_state_charts.html –

1

Wenn Sie sowieso ein Pythonziel anstreben, wer rollt nicht von Anfang an ein eigenes Testgerät (in Python)?

State-Maschinen sind nicht so schwer in Code zu bauen, und ihre eine Menge einfacher zu lesen eindeutig und als Bilder in einer GUI zu überprüfen, vor allem, wenn sie komplex werden.

Es klingt für mich, dass Sie besser mit einem eingebetteten DSL als mit einem GUI-basierten Designer arbeiten würden.

Edit: Wenn, wie Sie in den Kommentaren sagten, Sie nur Python als Beispiel ausgeworfen haben, würde ich vorschlagen, Sie gehen mit timday's Antwort. Wenn Sie sich nicht wirklich Sorgen über die Einbettung in Python machen, gehen Sie mit einer bereits bestehenden DSL, wie er es vorschlägt.

+0

Vielen Dank für Ihre Antwort wurde Python nur als Beispiel gemeint zu zeigen, dass ich würde vorzugsweise wollen sie in der Lage sein, einen Code-Generator gegen die Protokollspezifikationen (bereitgestellt über XML oder RDF) laufen zu lassen, damit Stubs die meisten redundanten Codeteile des Protokolls automatisch implementieren. – none

+0

> Es klingt für mich, dass Sie besser mit einem eingebetteten DSL als mit einem GUI-basierten Designer arbeiten würden. Okay, gibt es DSLs speziell für das Schreiben von Netzwerkprotokollen? Außerdem würde der Großteil des Protokollentwurfs immer noch hauptsächlich dazu dienen, Zustände und resultierende Aktionen zu definieren. – none