| Title: | Blockchain-Enabled Maritime Transportation System Simulator |
|---|---|
| Description: | Simulates BMTS cryptographic and consensus layer operations. |
| Authors: | Isaac Osei [aut, cre], Yamini Alakunta [aut] |
| Maintainer: | Isaac Osei <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.1 |
| Built: | 2026-07-16 07:57:36 UTC |
| Source: | https://github.com/ikemillar/marinechain |
The Application Server Logic
app_server(input, output, session)app_server(input, output, session)
input |
The Shiny input binding element list array mapping object. |
output |
The Shiny output rendering layout UI element structure list. |
session |
The active user environment session context container runtime. |
The Application User Interface
app_ui(request)app_ui(request)
request |
The Shiny request object parameter environmental state. |
Calculate Geodetic Distance (Haversine Formula)
calc_distance(lat1, lng1, lat2, lng2)calc_distance(lat1, lng1, lat2, lng2)
lat1, lng1
|
Latitude and Longitude of Node 1 |
lat2, lng2
|
Latitude and Longitude of Node 2 |
Distance in kilometers
Inject Malicious Attacks into Maritime Telemetry Streams
inject_attack(clean_packet, attack_type)inject_attack(clean_packet, attack_type)
clean_packet |
A list containing data, signature, and metadata from a vessel |
attack_type |
Character. One of "None", "Replay", "Modification", "Impersonation" |
A modified packet structure representing an intercepted/compromised transmission
Run the BMTS Shiny Simulator Application
run_app()run_app()
Simulate Cryptographic Processing Overhead
simulate_crypto_ops(data_size_kb, operation)simulate_crypto_ops(data_size_kb, operation)
data_size_kb |
Numeric. Size of the sensor telemetry data in Kilobytes. |
operation |
Character. The step to simulate ("encrypt", "sign", "verify", "decrypt"). |
A list containing processing time (ms) and output data size (kb).
Simulate Multi-Hop Maritime Network Routing
simulate_network_routing(vessel_coord, cs_coord, haps_coord, payload_size_kb)simulate_network_routing(vessel_coord, cs_coord, haps_coord, payload_size_kb)
vessel_coord |
Vector of c(lat, lng) for the vessel |
cs_coord |
Vector of c(lat, lng) for the Control Station |
haps_coord |
Vector of c(lat, lng) for the nearest HAPS platform |
payload_size_kb |
Numeric size of the telemetry packet |
A list detailing routing path, hop count, and transmission latency
Simulate PoAH Blockchain Block Generation
simulate_poah_block(dynamic_ledger, incoming_txs)simulate_poah_block(dynamic_ledger, incoming_txs)
dynamic_ledger |
A list representing the current blockchain ledger |
incoming_txs |
A list of verified vessel data payloads to combine into a block |
An updated ledger list containing the new block