A computer implemented method of providing connectivity between two or more primary assets (301, 303), each primary asset (301, 303) comprising a simulator, the method comprising: receiving a request to provide connectivity between the primary assets (301, 303); accessing a repository that stores a list of assets and metadata associated with each asset, each asset comprising a hardware or software component, wherein the metadata associated with each asset specifies operating parameters for the asset and support requirements for the asset; using the metadata in the repository to generate an hierarchical list of assets, wherein a first level in the hierarchy comprises the primary assets (301, 303), and each subsequent level in the hierarchy specifies one or more additional assets that are capable of meeting support requirements of the assets in a preceding level of the hierarchy wherein the hierarchical list includes bridging assets to provide an interface between assets that cannot be connected to one another directly and wherein generating the hierarchical list of assets comprises, for each subsequent level in the hierarchy: retrieving, from the repository, metadata associated with assets of an immediately preceding level in the hierarchy to determine one or more additional assets required for the assets of the immediately preceding level to function; and generating the subsequent level in the hierarchical list specifying the one or more additional assets, wherein each additional asset in the subsequent level links back to the immediately preceding level; rationalising the hierarchical list of assets by selecting a group of assets from the hierarchical list of assets to be used in providing connectivity between the primary assets, wherein the selection involves: giving priority to one or more criteria including: optimising the speed of connection, minimum computer resource footprint, and fastest start-up time; generating a deployment plan for the group of assets, wherein the deployment plan comprises settings and/or connections to be used between the assets in the group of assets in order to generate a shared simulation environment for users of the simulators; and deploying the assets in accordance with the deployment plan in order to generate the shared simulation environment. receiving a request to provide connectivity between the primary assets (301, 303); accessing a repository that stores a list of assets and metadata associated with each asset, each asset comprising a hardware or software component, wherein the metadata associated with each asset specifies operating parameters for the asset and support requirements for the asset; using the metadata in the repository to generate an hierarchical list of assets, wherein a first level in the hierarchy comprises the primary assets (301, 303), and each subsequent level in the hierarchy specifies one or more additional assets that are capable of meeting support requirements of the assets in a preceding level of the hierarchy wherein the hierarchical list includes bridging assets to provide an interface between assets that cannot be connected to one another directly and wherein generating the hierarchical list of assets comprises, for each subsequent level in the hierarchy: retrieving, from the repository, metadata associated with assets of an immediately preceding level in the hierarchy to determine one or more additional assets required for the assets of the immediately preceding level to function; and generating the subsequent level in the hierarchical list specifying the one or more additional assets, wherein each additional asset in the subsequent level links back to the immediately preceding level; retrieving, from the repository, metadata associated with assets of an immediately preceding level in the hierarchy to determine one or more additional assets required for the assets of the immediately preceding level to function; and generating the subsequent level in the hierarchical list specifying the one or more additional assets, wherein each additional asset in the subsequent level links back to the immediately preceding level; rationalising the hierarchical list of assets by selecting a group of assets from the hierarchical list of assets to be used in providing connectivity between the primary assets, wherein the selection involves: giving priority to one or more criteria including: optimising the speed of connection, minimum computer resource footprint, and fastest start-up time; generating a deployment plan for the group of assets, wherein the deployment plan comprises settings and/or connections to be used between the assets in the group of assets in order to generate a shared simulation environment for users of the simulators; and deploying the assets in accordance with the deployment plan in order to generate the shared simulation environment.