The Bridge supports seven base types:
Figure: Bridge Base Types (Operations are Suppressed)
All base types are derived from the abstract Any type. If no base type is specified for an attribute, it gets the default base type String.
All built-in base types of the Bridge are located in a dedicated package Base Types that is provided with the 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 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:
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 are characterized by multiplicity and type.
Figure: Definition of Arrays
Instances of classes are the transportation medium for data inside the 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.