get_industrial_tsn#

eclypse.builders.infrastructure.patterns.industrial_tsn.get_industrial_tsn(endpoint_count, switch_count=2, controller_count=2, edge_count=1, infrastructure_id='industrial_tsn', symmetric=True, update_policies=None, node_assets=None, link_assets=None, include_default_assets=False, strict=False, resource_init='max', path_algorithm=None, seed=None)[source]#

Create an industrial TSN LAN with switches, controllers, and endpoints.

Parameters:
  • endpoint_count (int) – Number of field endpoints connected to the TSN network.

  • switch_count (int) – Number of industrial switches.

  • controller_count (int) – Number of control nodes.

  • edge_count (int) – Number of edge-compute nodes on the plant LAN.

  • infrastructure_id (str) – Identifier assigned to the infrastructure.

  • symmetric (bool) – Whether generated links should be mirrored.

  • update_policies (UpdatePolicies) – Graph update policies executed during evolve().

  • node_assets (dict[str, Asset] | None) – Node asset definitions available to the infrastructure.

  • link_assets (dict[str, Asset] | None) – Edge asset definitions available to the infrastructure.

  • include_default_assets (bool) – Whether to include default ECLYPSE assets.

  • strict (bool) – Whether inconsistent asset values should raise.

  • resource_init (InitPolicy) – Initialisation policy used for graph assets.

  • path_algorithm (Callable[[nx.Graph, str, str], list[str]] | None) – Path computation function for infrastructure routing.

  • seed (int | None) – Seed forwarded to the infrastructure random generator.

Returns:

The generated industrial TSN infrastructure.

Return type:

Infrastructure

Raises:

ValueError – If the topology misses its switching fabric.