Protlr
Easy handling of binary communication protocols
Protlr is a source code generator which eases the handling of binary data formats. Working with binary communication protocols, encoding byte streams, serialization of binary data, analysis of wire protocols and documentation was never easier. Specify the data format with a domain specific language and generate the data access interfaces, debug helper and documentation.
endianness-be protocol Example codecs { 4 | BytesFloat | float } @entry struct Paket { 4 : int32 counter 4 | BytesFloat : float distance * : Data data } struct Data { 4 : float value1 }
See it in action.
Introduction.
Example.
When is this useful.
- Do you need a fast and lightweight binary protocol?
- Do you want to inspect a specific layer in your communication?
- Do you want to easily work with binary payload data on top of an existing protocol?
- Do you have to work with a legacy binary data scheme?
- Do you want guarantees that all parties have the same data access interface implementation?
- Do you want conform up-to-date documentation?
How it blends in.
Fast and reliable communication protocols are binary. Whether it's the transport layer or payload data. They find its application in every communication system. The processing of binary data is very fast, because it's the way a CPU works. Protlr is "binary", too. It will blend in on every OSI layer.
OSI Layer Model of communication systems
Layer 7 | Application | EtherCAT®, OPC®, PROFIBUS® | ✓ |
Layer 6 | Presentation | EtherCAT®, HTTP2 | ✓ |
Layer 5 | Session | EtherCAT®, HTTP2 | ✓ |
Layer 4 | Transport | EtherCAT®, TCP, UDP | ✓ |
Layer 3 | Network | IP, IPX | ✓ |
Layer 2 | Data Link | PPP, PROFIBUS®, X.75 | ✓ |
Layer 1 | Physical | Ethernet, PROFIBUS® | ✓ |
Discover what's in it for you.
- Easy Handling
- The binary data format will be specified in an intuitive language. Protlr will generate source code to read, write and analyze the data as well as documentation.
- Readable Specifications
- Use an intuitive domain specific language to write down binary data formats in a readable way. Readability means maintainability.
- Short Development Cycle
- The binary format can be described precisely. Protlr takes over the time-consuming tasks of writing documentation and source code implementation – in many languages (ANSI C, C++, Java®, etc.).
- Analysis
- The analysis of binary data formats can be as easy as this: Describe the format in the domain specific language, generate analysis source code and for example use Wireshark® to analyze the network data.
- Error Reduction
- A wrong bit is enough. Avoid time-consuming troubleshooting during development. Protlr converts the description into tested and proven source code.
- Full Bit Control
- The format specification allows the control of every bit and byte. This allows an easy design of communication protocols for size and speed. What you define is what you get.
- Free Documentation
- The data format description is sufficient to generate meaningful documentation. A repetition in source code and documentation is unnecessary. The gained time can be spent on more important things.
- Synchronicity
- The propblem of divergence between source code and documentation is eliminated. Whether client/server developer or customer. No more frustration from obsolete documentation and source code.