Skip to content

Commit 7675e26

Browse files
committed
Added barrier and Peterson's refinement models to CI validation
Signed-off-by: Andrew Helwer <ahelwer@pm.me>
1 parent d49f1d6 commit 7675e26

3 files changed

Lines changed: 146 additions & 66 deletions

File tree

.ciignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,3 @@ specifications/CCF
1111
specifications/azure-cosmos-tla
1212
specifications/microwave
1313

14-
# Basic contribution only
15-
specifications/barriers
16-
specifications/locks_auxiliary_vars

.github/workflows/CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
- master
66
pull_request:
77
branches:
8-
- master
8+
- '*'
99
repository_dispatch:
1010
types: [tlaplus-dispatch]
1111
concurrency:

manifest.json

Lines changed: 145 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -588,14 +588,14 @@
588588
"models": []
589589
},
590590
{
591-
"path": "specifications/FiniteMonotonic/Functions.tla",
591+
"path": "specifications/FiniteMonotonic/Folds.tla",
592592
"communityDependencies": [],
593593
"tlaLanguageVersion": 2,
594594
"features": [],
595595
"models": []
596596
},
597597
{
598-
"path": "specifications/FiniteMonotonic/Folds.tla",
598+
"path": "specifications/FiniteMonotonic/Functions.tla",
599599
"communityDependencies": [],
600600
"tlaLanguageVersion": 2,
601601
"features": [],
@@ -1361,34 +1361,7 @@
13611361
"communityDependencies": [],
13621362
"tlaLanguageVersion": 2,
13631363
"features": [],
1364-
"models": [
1365-
{
1366-
"path": "specifications/Moving_Cat_Puzzle/OddBoxes.cfg",
1367-
"runtime": "00:00:01",
1368-
"size": "small",
1369-
"mode": "exhaustive search",
1370-
"features": [
1371-
"liveness"
1372-
],
1373-
"result": "success",
1374-
"distinctStates": 30,
1375-
"totalStates": 78,
1376-
"stateDepth": 1
1377-
},
1378-
{
1379-
"path": "specifications/Moving_Cat_Puzzle/EvenBoxes.cfg",
1380-
"runtime": "00:00:01",
1381-
"size": "small",
1382-
"mode": "exhaustive search",
1383-
"features": [
1384-
"liveness"
1385-
],
1386-
"result": "success",
1387-
"distinctStates": 48,
1388-
"totalStates": 128,
1389-
"stateDepth": 1
1390-
}
1391-
]
1364+
"models": []
13921365
}
13931366
]
13941367
},
@@ -1960,32 +1933,6 @@
19601933
"distinctStates": 62,
19611934
"totalStates": 188,
19621935
"stateDepth": 11
1963-
},
1964-
{
1965-
"path": "specifications/Prisoners_Single_Switch/SoloPrisoner.cfg",
1966-
"runtime": "00:00:01",
1967-
"size": "small",
1968-
"mode": "exhaustive search",
1969-
"features": [
1970-
"liveness"
1971-
],
1972-
"result": "success",
1973-
"distinctStates": 2,
1974-
"totalStates": 3,
1975-
"stateDepth": 2
1976-
},
1977-
{
1978-
"path": "specifications/Prisoners_Single_Switch/SoloPrisonerLightUnknown.cfg",
1979-
"runtime": "00:00:01",
1980-
"size": "small",
1981-
"mode": "exhaustive search",
1982-
"features": [
1983-
"liveness"
1984-
],
1985-
"result": "success",
1986-
"distinctStates": 4,
1987-
"totalStates": 6,
1988-
"stateDepth": 2
19891936
}
19901937
]
19911938
}
@@ -3642,6 +3589,59 @@
36423589
}
36433590
]
36443591
},
3592+
{
3593+
"path": "specifications/barriers",
3594+
"title": "Barrier Synchronization Method",
3595+
"description": "A barrier makes all threads stop until all threads have reached the barrier",
3596+
"sources": [
3597+
"https://matheo.uliege.be/bitstream/2268.2/23374/5/tfe_s202356.pdf"
3598+
],
3599+
"authors": [
3600+
"Jarod Differdange"
3601+
],
3602+
"tags": [],
3603+
"modules": [
3604+
{
3605+
"path": "specifications/barriers/Barrier.tla",
3606+
"communityDependencies": [],
3607+
"tlaLanguageVersion": 2,
3608+
"features": [],
3609+
"models": [
3610+
{
3611+
"path": "specifications/barriers/Barrier.cfg",
3612+
"runtime": "00:00:01",
3613+
"size": "small",
3614+
"mode": "exhaustive search",
3615+
"features": [
3616+
"liveness"
3617+
],
3618+
"result": "success"
3619+
}
3620+
]
3621+
},
3622+
{
3623+
"path": "specifications/barriers/Barriers.tla",
3624+
"communityDependencies": [],
3625+
"tlaLanguageVersion": 2,
3626+
"features": [
3627+
"pluscal",
3628+
"proof"
3629+
],
3630+
"models": [
3631+
{
3632+
"path": "specifications/barriers/Barriers.cfg",
3633+
"runtime": "00:00:01",
3634+
"size": "small",
3635+
"mode": "exhaustive search",
3636+
"features": [
3637+
"liveness"
3638+
],
3639+
"result": "success"
3640+
}
3641+
]
3642+
}
3643+
]
3644+
},
36453645
{
36463646
"path": "specifications/bcastByz",
36473647
"title": "Asynchronous Reliable Broadcast",
@@ -4623,7 +4623,9 @@
46234623
"path": "specifications/ewd840/SyncTerminationDetection_proof.tla",
46244624
"communityDependencies": [],
46254625
"tlaLanguageVersion": 2,
4626-
"features": ["proof"],
4626+
"features": [
4627+
"proof"
4628+
],
46274629
"models": []
46284630
}
46294631
]
@@ -4687,8 +4689,8 @@
46874689
"mode": "exhaustive search",
46884690
"features": [
46894691
"ignore deadlock",
4690-
"state constraint",
4691-
"liveness"
4692+
"liveness",
4693+
"state constraint"
46924694
],
46934695
"result": "success"
46944696
},
@@ -4884,14 +4886,14 @@
48844886
"models": []
48854887
},
48864888
{
4887-
"path": "specifications/ewd998/Functions.tla",
4889+
"path": "specifications/ewd998/Folds.tla",
48884890
"communityDependencies": [],
48894891
"tlaLanguageVersion": 2,
48904892
"features": [],
48914893
"models": []
48924894
},
48934895
{
4894-
"path": "specifications/ewd998/Folds.tla",
4896+
"path": "specifications/ewd998/Functions.tla",
48954897
"communityDependencies": [],
48964898
"tlaLanguageVersion": 2,
48974899
"features": [],
@@ -5080,6 +5082,87 @@
50805082
}
50815083
]
50825084
},
5085+
{
5086+
"path": "specifications/locks_auxiliary_vars",
5087+
"title": "Peterson's Algorithm Refining a Lock with Auxiliary Variables",
5088+
"description": "A two-way refinement relation between Peterson's Algorithm and an abstract lock, using auxiliary variables as in *Prophecy Made Simple* by Lamport & Merz",
5089+
"sources": [
5090+
"https://matheo.uliege.be/bitstream/2268.2/23374/5/tfe_s202356.pdf"
5091+
],
5092+
"authors": [
5093+
"Jarod Differdange"
5094+
],
5095+
"tags": [],
5096+
"modules": [
5097+
{
5098+
"path": "specifications/locks_auxiliary_vars/Lock.tla",
5099+
"communityDependencies": [],
5100+
"tlaLanguageVersion": 2,
5101+
"features": [
5102+
"pluscal",
5103+
"proof"
5104+
],
5105+
"models": [
5106+
{
5107+
"path": "specifications/locks_auxiliary_vars/Lock.cfg",
5108+
"runtime": "00:00:01",
5109+
"size": "small",
5110+
"mode": "exhaustive search",
5111+
"features": [],
5112+
"result": "success"
5113+
}
5114+
]
5115+
},
5116+
{
5117+
"path": "specifications/locks_auxiliary_vars/LockHS.tla",
5118+
"communityDependencies": [],
5119+
"tlaLanguageVersion": 2,
5120+
"features": [
5121+
"proof"
5122+
],
5123+
"models": [
5124+
{
5125+
"path": "specifications/locks_auxiliary_vars/LockHS.cfg",
5126+
"runtime": "00:00:01",
5127+
"size": "small",
5128+
"mode": "exhaustive search",
5129+
"features": [
5130+
"liveness"
5131+
],
5132+
"result": "success"
5133+
}
5134+
]
5135+
},
5136+
{
5137+
"path": "specifications/locks_auxiliary_vars/Peterson.tla",
5138+
"communityDependencies": [],
5139+
"tlaLanguageVersion": 2,
5140+
"features": [
5141+
"pluscal",
5142+
"proof"
5143+
],
5144+
"models": [
5145+
{
5146+
"path": "specifications/locks_auxiliary_vars/Peterson.cfg",
5147+
"runtime": "00:00:01",
5148+
"size": "small",
5149+
"mode": "exhaustive search",
5150+
"features": [
5151+
"liveness"
5152+
],
5153+
"result": "success"
5154+
}
5155+
]
5156+
},
5157+
{
5158+
"path": "specifications/locks_auxiliary_vars/Stuttering.tla",
5159+
"communityDependencies": [],
5160+
"tlaLanguageVersion": 2,
5161+
"features": [],
5162+
"models": []
5163+
}
5164+
]
5165+
},
50835166
{
50845167
"path": "specifications/nbacc_ray97",
50855168
"title": "Asynchronous Non-Blocking Atomic Commit",
@@ -5434,4 +5517,4 @@
54345517
]
54355518
}
54365519
]
5437-
}
5520+
}

0 commit comments

Comments
 (0)