Traits

The DevsModel trait defines everything required for a model to operate within the discrete event simulation. The simulator formalism (Discrete Event System Specification) requires events_ext, events_int, time_advance, and until_next_event.

The additional status and record-keeping methods of Reportable provide improved simulation reasoning, reporting, and debugging, but do not impact simulation execution or results.

A ReportableModel has the required Discrete Event System Specification methods of trait DevsModel and the status reporting and record keeping mechanisms of trait Reportable.