Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do most companies define and manage message format specifications? Is it common for companies to create custom tools for creating and working with these documents?

At work we have a lot of systems that communicate via UDP messages. Each system has its own Interface Control Document (in Word or in HTML) which describes its message scheme. The documents have descriptions of each message along with its fields, and usage notes.

We're looking to standardize the format of these ICDs and write some tools that help create them. I was thinking we should create an ICD schema, and define the ICDs in some data-interchange format (XML, JSON, protobuf). Then we could create parsers that generate human-readable documentation (HTML, PDF), or even message parsing code (where useful and appropriate).

I don't want to reinvent the wheel, and I don't want to get too carried away. Does the above proposal sound reasonable?

share|improve this question
After being 'blessed' with a few ICDs in Word I am also looking for something like that. – MaR Mar 13 '12 at 13:58
up vote 1 down vote accepted

Sounds reasonable - I've seen a few message formats specified in XML, although that spec doesn't generally have the detailed comments necessary for good documentation. It's fairly straightforward to generate code from it too.

I haven't seen anything more general or standardized (and naturally no two of these specs use the same schema), so I don't think you're reinventing the wheel.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.