IsRelatedTo =========== Activates --------- Activates has a {@link Service} instance both as source and target as well as {@link CallsFor} but with a complete different semantic. Activates is used to indicates that the source {@link Service} of the relation enable the operation of the target Service. Examples are between a {@link VirtualMachine} and an {@link HostingNode} to capture the {@link VirtualMachine} is operating the {@link HostingNode}. Another example is between a {@link VirtualMachine} and an {@link EService}, e.g., between a {@link VirtualMachine} and a database instance. This relation can be created also between an {@link HostingNode} and one {@link EService}, e.g., to represent a container e.g., Tomcat and the web-service(s) is operating. Activates is also used between an {@link EService} and a {@link RunningPlugin} which enrich the functionality offered by the source service. .. table:: **Activates** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+==============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | Activates | 0..n | Service | Activates has a {@link Service} instance both as source and target as well as {@link CallsFor} but with a complete different semantic. Activates is used to indicates that the source {@link Service} of the relation enable the operation of the target Service. Examples are between a {@link VirtualMachine} and an {@link HostingNode} to capture the {@link VirtualMachine} is operating the {@link HostingNode}. Another example is between a {@link VirtualMachine} and an {@link EService}, e.g., between a {@link VirtualMachine} and a database instance. This relation can be created also between an {@link HostingNode} and one {@link EService}, e.g., to represent a container e.g., Tomcat and the web-service(s) is operating. Activates is also used between an {@link EService} and a {@link RunningPlugin} which enrich the functionality offered by the source service. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | Activates | 0..n | Service | The source Service enables the target Service to be running. Examples are an Hosting Node which enables an EService; A VirtualMachine enabling an EService or an HostingNode; An EService enabling a RunningPlugin; A VirtualMachine enabling an HostingNode etc | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Activates** current version is 1.0.0. Changelog: * **1.0.0**: First Version. BelongsTo --------- BelongsTo indicates that a {@link Person} belong to the target {@link LegalBody}. .. table:: **BelongsTo** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+===================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | Person | BelongsTo | 0..n | LegalBody | BelongsTo indicates that a {@link Person} belong to the target {@link LegalBody}. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ | Person | BelongsTo | 0..n | LegalBody | | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------+ The **BelongsTo** current version is 1.0.0. Changelog: * **1.0.0**: First Version. CallsFor -------- A {@link Service} instance can require another {@link Service} instance to properly operate and this is indicated with CallsFor. Motivations similar to the ones for {@link Requires} relation conducted to the definition for this relation. .. table:: **CallsFor** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+===============================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | CallsFor | 0..n | Service | A {@link Service} instance can require another {@link Service} instance to properly operate and this is indicated with CallsFor. Motivations similar to the ones for {@link Requires} relation conducted to the definition for this relation. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | CallsFor | 0..n | Service | A reference to the Services needed by the target instance to work. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **CallsFor** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Discovers ^^^^^^^^^ Any {@link EService} or its specialisations can be related with another {@link EService} with Discovers relation. Discovers relation inform that the source {@link EService} discovers the target through the information system.Discovers relation specialise the semantic of {@link CallsFor}. .. table:: **Discovers** ``extends`` **CallsFor** +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+==================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | EService | Discovers | 0..n | EService | Any {@link EService} or its specialisations can be related with another {@link EService} with Discovers relation. Discovers relation inform that the source {@link EService} discovers the target through the information system.Discovers relation specialise the semantic of {@link CallsFor}. | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | EService | Discovers | 0..n | EService | A reference to any other EService, the EService instance is discovering through query on IS. | +------------------------------------------------------+--------------+------------------+-----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Discovers** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Uses ^^^^ Uses relation inform regarding the network invocation of the target{@link EService} by the source. Uses relation specialises the semantic of {@link CallsFor}. .. table:: **Uses** ``extends`` **CallsFor** +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | EService | Uses | 0..n | EService | Uses relation inform regarding the network invocation of the target{@link EService} by the source. Uses relation specialises the semantic of {@link CallsFor}. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | EService | Uses | 0..n | EService | A reference to any other EService, the EService instance is invoking. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Uses** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Demands ------- Demands is used to properly support to share a {@link VirtualService} with another context. .. table:: **Demands** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=============================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | VirtualService | Demands | 0..n | Software | Demands is used to properly support to share a {@link VirtualService} with another context. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ | VirtualService | Demands | 0..n | Software | | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------------+ The **Demands** current version is 1.0.0. Changelog: * **1.0.0**: First Version. DependsOn --------- DependsOn indicates that a {@link Software} requires another one to work. This relation must not be confused with {@link Requires}. .. table:: **DependsOn** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=====================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | Software | DependsOn | 0..n | Software | DependsOn indicates that a {@link Software} requires another one to work. This relation must not be confused with {@link Requires}. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ | Software | DependsOn | 0..n | Software | To capture any dependency between two software artifacts. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------+ The **DependsOn** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsPluginOf ^^^^^^^^^^ A {@link Plugin} is a piece of Software extending the capabilities of another {@link Software} (main) and requiring the main {@link Software} to be executed. The relation between the main {@link Software} and the {@link Plugin} is expressed by IsPluginOf relation. IsPluginOf is an extension of {@link DependsOn}. .. table:: **IsPluginOf** ``extends`` **DependsOn** +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+============================================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Plugin | IsPluginOf | 0..n | Software | A {@link Plugin} is a piece of Software extending the capabilities of another {@link Software} (main) and requiring the main {@link Software} to be executed. The relation between the main {@link Software} and the {@link Plugin} is expressed by IsPluginOf relation. IsPluginOf is an extension of {@link DependsOn}. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Plugin | IsPluginOf | 0..n | Software | A reference to the Software this Plugin is conceived to extend the capabilities. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Plugin | IsPluginOf | 0..n | Software | To capture the relation between a Software and its Plugins. | +------------------------------------------------------+--------------+------------------+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **IsPluginOf** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Enables ------- Any {@link Service} representing running code of a specific software has the relation Enables targeted to the corresponding {@link Software}. Enables is used for example by {@link EService} to indicates the running software; from {@link HostingNode} to indicate the running software container; within {@link RunningPlugin} and the software represented as {@link Plugin}. .. table:: **Enables** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+====================================================================================================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | Enables | 0..n | Software | Any {@link Service} representing running code of a specific software has the relation Enables targeted to the corresponding {@link Software}. Enables is used for example by {@link EService} to indicates the running software; from {@link HostingNode} to indicate the running software container; within {@link RunningPlugin} and the software represented as {@link Plugin}. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | Enables | 0..n | Software | A reference to any Software the Service is enabling (i.e. the Software is running throught the EService). | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Enables** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Hosts ----- Hosts relation is used from a {@link Site} a {@link Service} instance. The target of the Hosts relation depends on the service offered by the Site. When the resources provided by a site are virtual machines, Hosts relation is created from a {@link Site} to a {@link VirtualMachine}. When, instead a Site provides web-services, Hosts relation is created with {@link EService}. If a site provides container facilities Hosts relation is created with {@link HostingNode}. By defining Hosts relation with target {@link Service}, the model is capable of representing the diverse type of federated systems and service. .. table:: **Hosts** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Site | Hosts | 0..n | Service | Hosts relation is used from a {@link Site} a {@link Service} instance. The target of the Hosts relation depends on the service offered by the Site. When the resources provided by a site are virtual machines, Hosts relation is created from a {@link Site} to a {@link VirtualMachine}. When, instead a Site provides web-services, Hosts relation is created with {@link EService}. If a site provides container facilities Hosts relation is created with {@link HostingNode}. By defining Hosts relation with target {@link Service}, the model is capable of representing the diverse type of federated systems and service. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Site | Hosts | 0..n | Service | | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Hosts** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Involves -------- Involves is used to indicate that and {@link Actor} is involved in a {@link Dataset}. .. table:: **Involves** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=======================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | Dataset | Involves | 0..n | Actor | Involves is used to indicate that and {@link Actor} is involved in a {@link Dataset}. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ | Dataset | Involves | 0..n | Actor | | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------------+ The **Involves** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsCompliantWith --------------- IsCompliantWith is used to indicated a {@link Dataset} compliant with a {@link Schema}. .. table:: **IsCompliantWith** ``extends`` **IsRelatedTo** +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+=================+==================+=================+========================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | Dataset | IsCompliantWith | 0..n | Schema | IsCompliantWith is used to indicated a {@link Dataset} compliant with a {@link Schema}. | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ | Dataset | IsCompliantWith | 0..n | Schema | Any schema characterising the content of the dataset, e.g. the schema describing the 'columns' of a CSV-based dataset. | +------------------------------------------------------+-----------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------+ The **IsCompliantWith** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsConfiguredBy -------------- The relation IsConfiguredBy indicates that the source {@link Software} requires a configuration when it is instantiated. .. table:: **IsConfiguredBy** ``extends`` **IsRelatedTo** +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+================+==================+=======================+==========================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | Software | IsConfiguredBy | 0..n | ConfigurationTemplate | The relation IsConfiguredBy indicates that the source {@link Software} requires a configuration when it is instantiated. | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ | Software | IsConfiguredBy | 0..n | ConfigurationTemplate | | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------+ The **IsConfiguredBy** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsCorrelatedTo -------------- IsCorrelatedTo relates a {@link Dataset} to another. .. table:: **IsCorrelatedTo** ``extends`` **IsRelatedTo** +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | **Definition** | +======================================================+================+==================+=================+======================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | Dataset | IsCorrelatedTo | 0..n | Dataset | IsCorrelatedTo relates a {@link Dataset} to another. | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | **Properties** | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ | Dataset | IsCorrelatedTo | 0..n | Dataset | | +------------------------------------------------------+----------------+------------------+-----------------+------------------------------------------------------+ The **IsCorrelatedTo** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsPartOf ^^^^^^^^ IsPartOf is used when a {@link ConcreteDataset} is part of a {@link Dataset}. .. table:: **IsPartOf** ``extends`` **IsCorrelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | ConcreteDataset | IsPartOf | 0..n | Dataset | IsPartOf is used when a {@link ConcreteDataset} is part of a {@link Dataset}. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ | ConcreteDataset | IsPartOf | 0..n | Dataset | The reference to the 'incarnations'/'manifestations' contributing to a dataset. | +------------------------------------------------------+--------------+------------------+-----------------+---------------------------------------------------------------------------------+ The **IsPartOf** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsCustomizedBy -------------- IsCustomizedBy evidences that any {@link Service} can be customised by a {@link ConfigurationTemplate}. .. table:: **IsCustomizedBy** ``extends`` **IsRelatedTo** +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+================+==================+=======================+=========================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | Service | IsCustomizedBy | 0..n | ConfigurationTemplate | IsCustomizedBy evidences that any {@link Service} can be customised by a {@link ConfigurationTemplate}. | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | Service | IsCustomizedBy | 0..n | ConfigurationTemplate | | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ | Service | IsCustomizedBy | 0..n | ConfigurationTemplate | A reference to any configuration characterising the Service behaviour. | +------------------------------------------------------+----------------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------+ The **IsCustomizedBy** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsDerivationOf -------------- IsDerivationOf indicate that the source {@link Configuration} is an instantiation of the target {@link ConfigurationTemplate}. .. table:: **IsDerivationOf** ``extends`` **IsRelatedTo** +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+================+==================+=======================+================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | Configuration | IsDerivationOf | 0..n | ConfigurationTemplate | IsDerivationOf indicate that the source {@link Configuration} is an instantiation of the target {@link ConfigurationTemplate}. | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ | Configuration | IsDerivationOf | 0..n | ConfigurationTemplate | | +------------------------------------------------------+----------------+------------------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------+ The **IsDerivationOf** current version is 1.0.0. Changelog: * **1.0.0**: First Version. IsOwnedBy --------- Any {@link Site} is owned by an {@link Actor} and this is captured by the IsOwnedBy relation. The referenced {@link Actor} can be used as a contact point during an emergency, to agree on the scheduling of a site downtime and to request additional resources during the downtime of another site. .. table:: **IsOwnedBy** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=======================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Site | IsOwnedBy | 0..n | Actor | Any {@link Site} is owned by an {@link Actor} and this is captured by the IsOwnedBy relation. The referenced {@link Actor} can be used as a contact point during an emergency, to agree on the scheduling of a site downtime and to request additional resources during the downtime of another site. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Site | IsOwnedBy | 0..n | Actor | | +------------------------------------------------------+--------------+------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **IsOwnedBy** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Manages ------- Manages indicates that of the source {@link Service} manages the target {@link Dataset}, e.g. read, manipulate, etc. .. table:: **Manages** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+=========================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | Service | Manages | 0..n | Dataset | Manages indicates that of the source {@link Service} manages the target {@link Dataset}, e.g. read, manipulate, etc. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | Service | Manages | 0..n | Dataset | A reference to any Dataset resource managed by the Service instance. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | Service | Manages | 0..n | Dataset | The link between the service that 'manages' the dataset and the dataset, e.g. the service that hosts the dataset and give access to it. | +------------------------------------------------------+--------------+------------------+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+ The **Manages** current version is 1.0.0. Changelog: * **1.0.0**: First Version. Requires -------- Requires is used to indicate that the source {@link Software} when activated requires to interact with a specific {@link Service} instance, i.e., the target of the relation. This relation usually reflects an administrative constraint than a technological limitation. When there are no constraint on the instance the relation is instead {@link DependsOn} which is between two {@link Software}.Not necessarily all the {@link Software} running in the infrastructure are represented as resources. Only the {@link Software} required for infrastructure administration or the ones to be managed with specific policies are represented. Indeed, Requires relation is normally used as policy constraint. Let imagine an open source software which uses a MySQL database as backend. In many cases, what characterises the software instance is the data present in the backend. The infrastructure manager could stipulate an agreement with a provider having a particular set of data which is not for public domain. The software once deployed, giving the business agreement, is entitled to use the instance of the provider and not a generic MySQL database instance. The infrastructure manager imposes the use of such a particular instance because of the data it contains. .. table:: **Requires** ``extends`` **IsRelatedTo** +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Definition** | +======================================================+==============+==================+=================+======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Software | Requires | 0..n | Service | Requires is used to indicate that the source {@link Software} when activated requires to interact with a specific {@link Service} instance, i.e., the target of the relation. This relation usually reflects an administrative constraint than a technological limitation. When there are no constraint on the instance the relation is instead {@link DependsOn} which is between two {@link Software}.Not necessarily all the {@link Software} running in the infrastructure are represented as resources. Only the {@link Software} required for infrastructure administration or the ones to be managed with specific policies are represented. Indeed, Requires relation is normally used as policy constraint. Let imagine an open source software which uses a MySQL database as backend. In many cases, what characterises the software instance is the data present in the backend. The infrastructure manager could stipulate an agreement with a provider having a particular set of data which is not for public domain. The software once deployed, giving the business agreement, is entitled to use the instance of the provider and not a generic MySQL database instance. The infrastructure manager imposes the use of such a particular instance because of the data it contains. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Properties** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Name** | **Type** | **Attributes** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | This type does not define any additional attributes. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Known Usage** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Source** | **Relation** | **Multiplicity** | **Target** | **Description** | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Service | Requires | 0..n | Service | A reference to any Service needed by a Software to properly operate, e.g. this can be used to capture a sort of run-time requirements between a software component and the Service it needs. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Software | Requires | 0..n | Service | To capture any dependency between a software artifact and a Service, e.g. A software requiring a specific database instance. | +------------------------------------------------------+--------------+------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ The **Requires** current version is 1.0.0. Changelog: * **1.0.0**: First Version.