E2E The Bridge supports seven base types:
Figure: E2E Bridge Base Types (Operations are Suppressed)
All built-in base types of the Bridge are located in a dedicated package Base Types that is provided with the E2E Builder. This package is added as a module and has assigned the stereotype <<Repository>>. Defining a package as a repository package makes it recognizable to the E2E xUML Model Compiler.
Most of these base types are only able to hold one single piece of information, like text in a string, true or false in a boolean, or binary data in a blob.
UML does not provide definitions like lexical representations, value ranges, etc. of Bridge base types. Thus, we follow the widespread XML Schema definitions of base types as provided by the W3C consortium. The W3C defines the exact definition of valid values for the base types displayed above. The following table shows a short description of its types and example values:
|Base Type||Type Definition||Example Values||Operations / Functions / Operators|
A blob represents base64-encoded arbitrary binary data.
YWJjZGVmZ2g=" for the encoded value "abcdefgh"
|title||Click here to expand the list of blob operations ...|
Boolean values represent binary-valued logic (true, false).
true, false, 0, 1
|title||Click here to expand the list of boolean operations ...|
Whereas "Z" stands for the time zone: Coordinated Universal Time (UTC). The W3C value space of dateTime is closely related to the dates and times described in ISO 8601.
This value stands for the 1st December of the year 2004 at midnight.
|title||Click here to expand the list of datetime operations ...|
A float corresponds to the IEEE single-precision 32-bit floating-point type.
[white spaces] [+|-][nnn][.nnn][e|E[+|-]nnn]
(where white spaces are any tab or space character; "nnn" may be any number of digits)
|title||Click here to expand the list of float operations ...|
The W3C defines integers as "decimal", which represents arbitrary precision decimal numbers.
|title||Click here to expand the list of integer operations ...|
A string is a set of finite-length sequences of a character set (the Bridge uses UTF-8 internally).
|title||Click here to expand the list of string operations ...|
Only the base type Array can store multiple pieces of information like multiple array elements. If you wish to associate several bits of information, you have to define a complex type that combines a number of independent base types and possibly other complex types. Such complex types are modeled as classes in UML.
For example, an Animal type might contain a string name, two DateTimes birth and lastFed and an integer weight. The implementation of Animal would be a class with several attributes of base type String, DateTime, and Integer.
The base type Array is an exception from the rule that base types do not have any sub-structure. Arrays allow multiple elements to be stored, but the array elements must be all of the same type. For example, an array may not contain string and integer elements, but only elements, which are of one of these types. Arrays may also contain complex types.
Arrays of arrays are not supported by the Bridge.
Figure: Definition of Arrays
Definition of attributes without any type is allowed. They will be treated as strings internally.
Instances of classes are the transportation medium for data inside the E2E xUML Runtime. In UML, they are modeled as so-called object nodes. In addition, these nodes form the interface from the service to its clients: object nodes are used in input and/or output messages for all Bridge-based services.