Builders#

Builders create ready-to-use infrastructures, applications, and workflow graphs without hiding the underlying model. They return regular Infrastructure and Application objects, so you can still add nodes, edges, assets, update policies, and flows afterwards.

Infrastructure builders#

Infrastructure builders live in eclypse.builders.infrastructure. They cover generic graph generators, cloud-edge architecture patterns, and reference topologies.

Category

Builders

Generic generators

get_star(), get_random(), get_hierarchical(), get_fat_tree(), get_b_cube(), get_small_world(), get_scale_free()

Architecture patterns

get_continuum_tiered(), get_mec_5g(), get_multi_region_wan(), get_industrial_tsn(), get_factory_cells(), get_vehicular_edge()

References

get_orion_cev(), get_topohub(), get_topology_zoo(), get_sndlib(), get_backbone(), get_caida(), get_gabriel()

Example:

from eclypse.builders.infrastructure import get_hierarchical

infrastructure = get_hierarchical(
    n=30,
    include_default_assets=True,
    seed=42,
)

Application builders#

Application builders live in eclypse.builders.application. They provide reference microservice applications and domain-specific pipelines.

Sock Shop is the main reference application used in examples:

from eclypse.builders.application import get_sock_shop

application = get_sock_shop(
    include_default_assets=True,
    seed=42,
)

For emulation, choose the communication interface when the builder supports runtime services:

application = get_sock_shop(
    communication_interface="mpi",
    include_default_assets=True,
)

Workflow builders#

For simulation-only task DAGs, ECLYPSE also provides get_workflow() in eclypse.builders.workflow. These builders use WfCommons to generate workflow-shaped applications and normalise file-size-derived storage and dependency bandwidth values from bytes to MiB before assigning them to the default ECLYPSE assets.

When to use builders#

Use builders when you need a stable scenario quickly: a benchmark, a smoke test, or a baseline for policy and placement experiments.

Use manual graph construction when the topology itself is the object of study, or when you need exact control over node identities, edge attributes, and asset definitions.