Library prosa.analysis.definitions.task_schedule
Require Export prosa.model.task.concept.
Require Export prosa.analysis.definitions.service.
Require Export prosa.model.schedule.scheduled.
Require Export prosa.analysis.definitions.service.
Require Export prosa.model.schedule.scheduled.
Schedule and Service of task
In this section we define properties of the schedule and service of a task.
Consider any type of tasks ...
... and any type of jobs associated with these tasks.
Context {Job : JobType}.
Context `{JobTask Job Task}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
Context `{JobTask Job Task}.
Context `{JobArrival Job}.
Context `{JobCost Job}.
Consider any arrival sequence of such jobs.
Let sched be any kind of schedule
Let tsk be any task.
Definition scheduled_jobs_of_task_at (t : instant) :=
[seq j <- scheduled_jobs_at arr_seq sched t | job_of_task tsk j].
[seq j <- scheduled_jobs_at arr_seq sched t | job_of_task tsk j].
We define the instantaneous service of tsk as the total
instantaneous service of all jobs of this task scheduled at time
t.
Definition task_service_at (t : instant) :=
\sum_(j <- scheduled_jobs_of_task_at t) service_at sched j t.
\sum_(j <- scheduled_jobs_of_task_at t) service_at sched j t.
Based on the notion of instantaneous service, we define the
cumulative service received by tsk during any interval
[t1,
t2)>> ...
Definition served_jobs_of_task_at (t : instant) :=
[seq j <- scheduled_jobs_of_task_at t | receives_service_at sched j t].
[seq j <- scheduled_jobs_of_task_at t | receives_service_at sched j t].
Definition task_served_at (t : instant) :=
served_jobs_of_task_at t != [::].
End ScheduleAndServiceOfTask.
served_jobs_of_task_at t != [::].
End ScheduleAndServiceOfTask.