Each component type provides a type of service, and each service has certain characteristics.
The virtual component types offer guarantees that are unique to themselves. Establishing the guarantees of all virtual component types allows minimization of ambiguity when classifying the virtual components of a solution. The characteristics of each component type are used to establish these guarantees, and to allow categorization of a virtual component as one of the three types found in the previous section.
A virtual component connected to another virtual component in the same solution qualifies as a transitional virtual component. The guarantee offered is found in the component’s ability to transmit the information it has received as input to another virtual component, without modifying the content. Also, this type of component does not maintain state and does not perform processing, since in this case it can be divided into at least two distinct virtual components with specific characteristics.
A transitional virtual component can also represent a set of virtual transition components, insofar as the transitivity in a mathematical sense is respected. This coupling can be formally expressed as follows :
∀x,y,z ∈ E[(xRy ⋀ yRz) →xRz]
Any virtual component permitting information storage will be considered an immutable component. This type of component can be characterized by its ability to retain information between calls. An immutable component allows keeping a state based on certain criteria and thus allows recovery of the previously stored state if a query corresponds to the same criteria.
A virtual component of this type must provide a guarantee of integrity, since it must not change the information it holds. This guarantee consists of always providing the same information as output for specific criteria received during input, if the state has not been modified by other queries. An example of this type of virtual component could be a database capable of returning to previously stored information, according to certain selection criteria.
The main characteristic of a virtual processing component is ensuring that the output information respects the transformations made either on information inputted or on information provided by other inputs of this component.
In a mathematical sense, a virtual processing component is a function of the solution on which a component depends. It conducts operations from variables supplied by parameter, immutable internal parameters, and variables predetermined by the logic components of the solution or other solutions. Often this type of dependency is considered a stateless service.
Processing should be reproducible, that is to say that the information output should be the same at all times, while the input information is the same and the parameters internal to the virtual component are the same.