The computational viewpoint describes the functionality of a system. It decomposes the system into objects performing specific functions with specific interfaces. The viewpoint is expressed using an object model which defines the interfaces that objects can have, how these can be bound with other interfaces, the interaction that can take place at these interfaces and the actions that an object can perform (such as creation of new objects, interfaces and bindings)1.

Note: Neither the engineering nor the technical viewpoints will be considered in this reference architecture at this point in time. The engineering viewpoint focuses on the mechanisms and functions required to support distributed interactions between objects in the system and therefore, it may be valuable, in the future to consider the engineering viewpoint for some aspects of the architecture.