simdart 0.1.0-rc.3 copy "simdart: ^0.1.0-rc.3" to clipboard
simdart: ^0.1.0-rc.3 copied to clipboard

A discrete event simulation package 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(onTrack: (track) {
    print('[${track.operation}:${track.time}] ${track.name}');
  });

  sim.addResource(LimitedResource(id: 'x', capacity: 1));

 //sim.processAt( eventA, start: 0, name: 'A');
  //sim.processAfter( eventB, delay: 5, name: 'B');
  sim.process( eventB,  name: 'B', resourceId: 'x');
  sim.processAt( eventD,  name: 'D',start: 1, resourceId: 'x');

//  sim.addEventScheduler(EventScheduler(start: 0,untilCount: 3,  interval: Interval.uniform(2, 4), event: eventB, eventName: 'B', name: 'S'));

  await sim.run();
  print('Done! Duration: ${sim.duration}');
}

Future<void> eventA(EventContext context) async {
  context.sim.processAt( eventC, start: 15, name: 'C');
   await  context.wait(10);
   await context.wait(11);
context.sim.processAfter( eventD, delay: 5, name: 'D');
}

Future<void> eventB(EventContext context) async{
  print('B');
  //await context.wait(10);
 // print('acabou: ${context.sim.now}');
}

Future<void> eventC(EventContext context) async{
  //context.sim.processAfter((event) => eventE(event, 100), delay: 5, name: 'E');
}

Future<void> eventE(EventContext context, int parameter) async {}

Future<void> eventD(EventContext context) async{
  print('D');
}
1
likes
0
points
31
downloads

Publisher

verified publishercaduandrade.net

Weekly Downloads

A discrete event simulation package for Dart, designed for modeling and analyzing processes and systems.

Repository (GitHub)
View/report issues

Topics

#system-analysis #event-driven #simulation #discrete-event-simulation

License

unknown (license)

Dependencies

collection, meta

More

Packages that depend on simdart