Physical formats in the MRM domain

Each message definition file describes both the logical structure of your messages, and the physical formats that describe the precise appearance of your message bit stream during transmission. If you are using the MRM domain, physical format information must be provided, as it tells the parser exactly how to parse the message bit stream.

You can think of a message as a packet of data that is sent from one place to another. The sender and receiver of the message will have agreed the structure of the message and what each field in the message means. This is the platform and protocol independent logical structure.

The sender and receiver will have also agreed on the physical representation of the message, how the data is physically laid out on the wire. For example, if you define a message that conveys information about a debit of an individual's bank account, it can be represented in different physical forms (examples are XML, or a fixed structure such as a COBOL copybook). The meaning and data is the same in both cases: only the physical layout has changed.

If you are using the MRM domain, you can model a variety of different physical representations using named physical formats.

Different physical representations

The following example shows how a very simple logical message can have different physical representations.

The logical model defines the structure and order of the message. In the following example, the three fields are simple integers, and C follows B, which follows A:

int   A;
int   B;
int   C;

This shows that the logical model is unchanged. It is constant, regardless of the physical representation that you choose to model on top of it, using the physical format support provided by the MRM domain. The MRM parser is able to transform the message from the input physical representation to any number of output representations, based on the wire format layers that you have defined.

Creating physical formats

Once you have created your message set, you can create physical formats. You do this using the Message Set Editor. When you next save the messageSet.mset file, any new physical formats are added to all the objects in all the message definition files in that message set.

The next time you edit an object in a message definition file, you will see the physical formats in the properties hierarchy pane of the Properties tab. If you click on a physical format for an object, you will be presented with a property sheet where you can enter the information for that physical format for that object.

Note that not all objects have properties in all physical formats. For example:

This is due to the different nature of each physical format, and these differences are explained in more detail in the section for each physical format.

There is no limit to the number of physical formats you can create in a given message set. However there are some recommendations that apply if you want to mix physical formats of different kinds in the same message set.

Physical formats can be deleted if no longer required.