views:

58

answers:

1

I've implemented several telecom protocols from human-readable specs in various languages during my career, and frankly, I'm not enjoying it very much anymore.

Instead, I'd like to translate the human-readable protocol specs into machine-readable protocol specs, and automatically generate protocol handlers in various languages.

I'm specifically interested in doing this to SMPP/CIMD2/EMI protocols, and autogenerating protocol data unit serializers/deserializers, as well as state machines, test cases, and other infrastructure.

Has someone done this already?

If not, which languages, libraries, and notations would you recommend for such a task?

A: 

Do you mean something like what protocol analyzers do? They take a stream of data and parse it out into the correct fields and display each field to a user. It sounds like you'd want to do something different with the parsed data. You'd still have to write the protocol decodes but after that you could do whatever you wanted with the data.

Wireshark is open-source and free and has lots of protocol decodes already, including SMPP. There are commercial options also.

Kirsten
No, I mean something like telecom protocol libraries for such protocols as SMPP, implemented in various programming languages, do, which is provide an API for that protocol in that language. Instead of hand-coding the protocols over and over again in each language, I'd like to autogenerate the protocol handlers from a machine-readable protocol description.
mikaelhg