Library prosa.behavior.completion_sequence


(* ----------------------------------[ coqtop ]---------------------------------

Welcome to Coq 8.11.2 (June 2020)

----------------------------------------------------------------------------- *)


From mathcomp Require Export ssreflect seq ssrnat ssrbool eqtype.
Require Import prosa.behavior.service.

This module contains basic definitions and properties of job completion sequences.

Notion of a Completion Sequence

We begin by defining a job completion sequence.
Consider any kind of jobs with a cost and any kind of processor state.
  Context {Job : JobType} `{JobCost Job} {PState : Type}.
  Context `{ProcessorState Job PState}.

Consider any job arrival sequence.
  Variable arr_seq: arrival_sequence Job.

Consider any schedule.
  Variable sched : schedule PState.

For each instant [t], the completion sequence returns all arrived jobs that have completed at [t].