Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
PROSA - Formally Proven Schedulability Analysis
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Lasse Blaauwbroek
PROSA - Formally Proven Schedulability Analysis
Commits
3b2d5852
Commit
3b2d5852
authored
9 years ago
by
Felipe Cerqueira
Browse files
Options
Downloads
Patches
Plain Diff
Fix definition of no parallelism
parent
cc47990f
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
schedule.v
+10
-7
10 additions, 7 deletions
schedule.v
with
10 additions
and
7 deletions
schedule.v
+
10
−
7
View file @
3b2d5852
...
@@ -106,7 +106,7 @@ Module Schedule.
...
@@ -106,7 +106,7 @@ Module Schedule.
(* ... whether job parallelism is disallowed, ... *)
(* ... whether job parallelism is disallowed, ... *)
Definition
jobs_dont_execute_in_parallel
:=
Definition
jobs_dont_execute_in_parallel
:=
forall
j
t
cpu1
cpu2
,
forall
j
t
cpu1
cpu2
,
sched
cpu1
t
=
=
Some
j
->
sched
cpu2
t
=
=
Some
j
->
cpu1
=
cpu2
.
sched
cpu1
t
=
Some
j
->
sched
cpu2
t
=
Some
j
->
cpu1
=
cpu2
.
(* ... whether a job can only be scheduled if it has arrived, ... *)
(* ... whether a job can only be scheduled if it has arrived, ... *)
Definition
jobs_must_arrive_to_execute
:=
Definition
jobs_must_arrive_to_execute
:=
...
@@ -202,16 +202,19 @@ Module Schedule.
...
@@ -202,16 +202,19 @@ Module Schedule.
destruct
(
scheduled
sched
j
t
)
eqn
:
SCHED
;
unfold
scheduled
in
SCHED
.
destruct
(
scheduled
sched
j
t
)
eqn
:
SCHED
;
unfold
scheduled
in
SCHED
.
{
{
move
:
SCHED
=>
/
exists_inP
SCHED
;
des
.
move
:
SCHED
=>
/
exists_inP
SCHED
;
des
.
move
:
H2
=>
/
eqP
SCHED
.
rewrite
-
big_filter
.
rewrite
-
big_filter
.
rewrite
(
bigD1_seq
x
);
rewrite
(
bigD1_seq
x
);
[
simpl
|
|
by
rewrite
filter_index_enum
enum_uniq
];
[
simpl
|
|
by
rewrite
filter_index_enum
enum_uniq
];
last
first
.
last
by
rewrite
mem_filter
;
apply
/
andP
;
split
;
{
[
by
ins
|
by
rewrite
mem_index_enum
]
.
by
rewrite
mem_filter
;
apply
/
andP
;
split
;
[
by
apply
/
eqP
|
by
rewrite
mem_index_enum
]
.
}
rewrite
-
big_filter
-
filter_predI
big_filter
.
rewrite
-
big_filter
-
filter_predI
big_filter
.
rewrite
->
eq_bigr
with
(
F2
:=
fun
cpu
=>
0
);
rewrite
->
eq_bigr
with
(
F2
:=
fun
cpu
=>
0
);
first
by
rewrite
big_const_seq
iter_addn
/=
mul0n
2
!
addn0
there_is_max_rate
.
first
by
rewrite
big_const_seq
iter_addn
/=
mul0n
2
!
addn0
there_is_max_rate
.
intro
i
;
move
=>
/
andP
[
/
eqP
NEQ
SCHEDi
]
.
intro
i
;
move
=>
/
andP
[
/
eqP
NEQ
/
eqP
SCHEDi
]
.
apply
no_parallelism
with
(
cpu1
:=
x
)
in
SCHEDi
;
[
by
subst
|
by
ins
]
.
by
apply
no_parallelism
with
(
cpu1
:=
x
)
in
SCHEDi
;
subst
.
}
}
{
{
apply
negbT
in
SCHED
;
rewrite
negb_exists_in
in
SCHED
.
apply
negbT
in
SCHED
;
rewrite
negb_exists_in
in
SCHED
.
...
@@ -337,7 +340,7 @@ Module ScheduleOfSporadicTask.
...
@@ -337,7 +340,7 @@ Module ScheduleOfSporadicTask.
Definition
jobs_of_same_task_dont_execute_in_parallel
:=
Definition
jobs_of_same_task_dont_execute_in_parallel
:=
forall
(
j
j'
:
JobIn
arr_seq
)
t
,
forall
(
j
j'
:
JobIn
arr_seq
)
t
,
job_task
j
=
job_task
j'
->
job_task
j
=
job_task
j'
->
scheduled
sched
j
t
->
scheduled
sched
j'
t
->
False
.
scheduled
sched
j
t
->
scheduled
sched
j'
t
->
j
=
j'
.
End
ValidSchedule
.
End
ValidSchedule
.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment