[XBUP] XBUP - Extensible Binary Universal Protocol

» Documentation » Format

Constructions Metodology

When creating data formats it is necessary to keep certain design rules to achieve the best possible outcome. These rules will be gradually formed by experience, so as to simplify as much as upwards of new format, minimizing the number of errors made in the design and to achieve the most appropriate shape of the block, the order and number of attributes.

Creating the Document Definition

When creating a new definition of a document it is especially important to determine if there is no other better equivalent format that could be used. The whole format should be also prepared carefully so that it doesn't have to be repaired frequently in the future.

Construction of the Blocks

When you create a block without the existence of any draft, you should also focus on the order of attributes and sub-blocks. The aim of these rules is also to lead author and to simplify the whole process of definition of the block and help them to avoid common errors.

Preferably, there are certain rules known for database relations you can use (database normal form):

Other rules should lead the creators to accept locales support.

Another of the rules are resulting from efforts to minimize the size of the block …

Block Replacement Rules

It is not always appropriate to include an attribute. Sometimes it is preferable to create a sub-block for this attribute, and refer to it instead. This applies for example in the following cases:

Rules for Attribute's Ordering

The primary goal is to bring the attributes by frequency of use of the most widely used by the least used. This allows to cut the size of the block for non-used attributes and save space.

Isolation Rule

When defining a block it should also follow this rule, which says that each block definition should refer only to block content itself, as attributes in object programming. While it should not be referenced by the characteristics of the parent, the child is in some cases blocks can be used.

Example of incorrect use:

Properties of subordinate units is appropriate to include in the following cases:

Type Parametrization Rule

Parameterization rule determines when the appropriate parameters or attributes to merge with the definition of the type of block. The worst case is to circumvent the block type, the value for the same type of block is used alternative pairs of values ​​that define the true meaning of the block. The following list describes the cases where it is advisable to avoid use of the attribute or parameter:

Group Organization Rules

Diverse blocks should not belong to the same group. The following rules should lead to proper group organization for document.

Definition Organization Rules

Standard Block Diagrams

If possible, you should try to fit the definition of a block on the existing scheme. The following list shows the patterns of blocks and their attributes recommended, as it should be used. It is something akin to design patterns.

List Schema

(Obsolete) list of schema defines the structure and order with items on them. This scheme has been described in level 1 for definition list specification for the types of items. All items in the list should be the same type, or this type of transform.

Collection Schema

(Obsolete) A collection is similar to the list, in which individual items may be of various types.

Block's Linking

The connecting block is associated with high risk of failure consistency. Therefore, the blocks, which are calculated with the interconnection should be designed to allow for the fact that they are possibly placed in the same file.