Simulation code for "Toward Lightweight Joint Latency-Security Task Offloading in IoT-Enabled Vehicular Networks
Description
This repository contains the Python discrete-event Monte Carlo simulation that produces every result and figure in the Evaluation and Results section of the paper.
The code implements the paper's joint latency-security task offloading model: task and node generation, the unified scoring function (Eq. 3), the greedy assignment heuristic (Algorithm 1) with real capacity enforcement, and a multi-window simulation with freshness accrual and periodic curve refresh. ECC overhead is measured directly (not assumed) using Python's cryptography library across three curves (secp192r1, secp224r1, Curve25519). The heuristic is also benchmarked against an exact ILP solution (CBC via PuLP) on identical problem instances.
Included scripts reproduce: the main strategy comparison (Latency-Only, Static ECC, Dynamic ECC); the ECC update-interval sensitivity sweep; the scoring-weight ablation; TSR/latency/utilization vs. vehicle count; deadline miss ratio vs. network jitter; compromised sessions vs. replay attack intensity; the latency CDF; algorithm runtime; and the heuristic-vs-ILP optimality gap at two scales.
All simulation results are exactly reproducible via fixed random seeds. ECC overhead and runtime measurements time real operations and vary slightly by machine; qualitative findings are stable across hardware.
See README.md for exact run order and requirements.