DataVariables providing complex data structures expose their information as complex DataTypes, as well as components in the AddressSpace. This allows access to simple values as well as access to the whole information at once in a transactional context.

For example, the ServerStatus Variable of the Server Object is modelled as a complex DataVariable having the ServerStatusDataType providing all information about the Server status. But it also exposes the CurrentTime as a simple DataVariable, because a client may want to read only the current time of the Server, and is not interested in the build information, etc.