STREET module documentation
General Attachment Lab
General Attachment Lab is a browser-based research and teaching module for
access-based network growth. It lets users simulate preferential attachment
under capacity constraints, spatial cost deterrence, mesh framing,
planarity handling, and accessibility-weighted growth, while preserving the
true simulated coordinates of the evolving network.
Quick Start
- Open the app with Run app.
- Choose a preset such as BA benchmark or Access-based model.
- Click Run once to generate a full network, or Step arrival to inspect the growth process incrementally.
- Use the network view, metrics, and charts to compare morphology, degree distribution, clustering, and accessibility.
- Switch to Comparison or Batch when you want side-by-side scenarios or replicated summaries.
Direct-open note.
This module is packaged to work from file:// using
web/index.html. It loads its standalone
JavaScript runtime from web/main.js.
At a glance
What it shows
Growth of a spatial network under degree preference, capacity limits,
spatial cost, multi-link entry, planarity rules, and accessibility semantics.
What you can inspect
True-coordinate network geometry, tail diagnostics, clustering,
saturation, connectedness, and transport accessibility fields.
What you can export
Graph views, tables, scenario snapshots, and browser-side batch summaries
for paper figures or classroom exercises.
How To Use The App
Top-level tabs
- Simulation: main interactive mode.
- Comparison: compare the current run against saved or copied scenarios.
- Batch: run replications and export summaries.
- Paper mode: cleaner presentation mode for figure production.
Core controls
- Run once: run from the current parameter set to termination.
- Step arrival: advance by one arriving node.
- Play / Pause: animate repeated arrival steps using the current delay.
- Reset: rebuild the simulation from the current parameters and seed.
The app uses a left-hand parameter column, a center network-and-charts
column, and a right-hand metrics and accessibility column.
Example Uses
- Baseline comparison: compare BA benchmark, capacity-only, spatial-only, and Access-based model outcomes.
- Planarity exercise: switch between
none, reject_crossings, and split_crossings to see how planar constraints alter growth.
- Accessibility experiment: compare network, seed-only, and opportunity-based access semantics within the same split-capable regime.
- Batch replication: run repeated browser-side experiments to summarize mean edge length, clustering, tail shape, and saturation.
Things To Notice
- The default network view preserves true simulated coordinates rather than forcing a layout algorithm.
- Attachment weights shown after a step refer to the first sequential target choice of the most recent arrival.
split_crossings can create additional junction nodes beyond the exogenously arriving nodes.
- Some transport accessibility calculations are intentionally limited at larger browser sizes for performance.
- The standalone page uses CDN copies of Cytoscape.js and D3, so the first load normally requires internet access.
Sidebar Parameters
Simulation scope
N: final number of exogenously arriving nodes.
kappa: number of links each arriving node attempts to form.
RNG seed: deterministic seed for reproducible runs.
Animation ms: delay between arrivals when using Play.
Replications: active in Batch mode.
Network initialization
Mesh mode and mesh angle settings control lattice framing.
m0, K, seed graph, and capacity mode control the starting network.
- Heterogeneous capacity modes expose additional parameter controls.
Arrival and connectivity
- Arrival modes control where new nodes appear before target choice.
- Arrival preferences can rank candidate sites by accessibility.
alpha, beta, phi, and lambda control the attachment kernel.
- Selection rules and access semantics define how targets are weighted.
- Planarity mode, mesh adjacency, and related topology controls determine feasible targets.
Reading The Output
Network view
- Nodes remain at their simulated coordinates in the unit square.
- Split nodes and split links appear when
split_crossings is active.
- Optional overlays show lattice framing, coordinates, and scale cues.
- Attachment-weight labels refer to the first sequential target choice of the most recent arrival.
Metrics and accessibility
- Right-hand panels report degree inequality, saturation, connectedness, clustering, edge lengths, and split-node diagnostics.
- The transport accessibility panel reports gravity and cumulative accessibility over realized network lengths.
- These outputs are most informative when one mechanism changes at a time.
Packaging Notes
This release is designed to travel as a self-contained folder. Keep
documentation.html, index.html, and
main.js together in the same directory.
The standalone page uses CDN-hosted copies of Cytoscape.js and D3, so
first load normally requires an internet connection.
References
- Levinson, D., and Yerra, B. (2006). Self-Organization of Surface Transportation Networks. Transportation Science, 40(2), 179-188.
- Liao, C.-F., Liu, H. X., and Levinson, D. M. (2009). Simulating Transportation for Realistic Engineering Education and Training: Engaging Undergraduate Students in Transportation Studies. Transportation Research Record, 2109, 12-21.
- The current module extends the baseline generalized model into planarity- and accessibility-aware transport-growth experiments documented in this repository.