simdart 0.1.0-rc.1
simdart: ^0.1.0-rc.1 copied to clipboard
A discrete event simulation library for Dart, designed for modeling and analyzing processes and systems.
example/example.dart
import 'package:simdart/simdart.dart';
void main() async {
final SimDart sim = SimDart();
sim.processAt(event1, 0, name: '1');
sim.processAt(event2, 10, name: '2');
sim.processAt(event3, 0, name: '3');
await for (SimulationResult result in sim.runAsStream()) {
print('[${result.operation}] event: ${result.name} time: ${result.time}');
}
// or just:
// await sim.run();
print('Done!');
}
void event1(Event event) async {
event.sim.processAt(event1b, 15, name: '1b');
await event.wait(11);
await event.wait(11);
}
void event1b(Event event) {
event.sim.processAfter((event) => event1c(event, 100), 5, name: '1c');
}
void event1c(Event event, int parameter) {
print('Parameter: $parameter received at event ${event.name}');
}
void event2(Event event) {}
void event3(Event event) {}