|
389 | 389 | }
|
390 | 390 | ]
|
391 | 391 | },
|
| 392 | + { |
| 393 | + "path": "specifications/FiniteMonotonic", |
| 394 | + "title": "Finite Model-Checking of Monotonic Systems", |
| 395 | + "description": "Illustration of a technique for making infinite monotonic systems finite for the purposes of model-checking.", |
| 396 | + "source": "https://ahelwer.ca/post/2023-11-01-tla-finite-monotonic/", |
| 397 | + "authors": [ |
| 398 | + "Andrew Helwer" |
| 399 | + ], |
| 400 | + "tags": [ |
| 401 | + "beginner" |
| 402 | + ], |
| 403 | + "modules": [ |
| 404 | + { |
| 405 | + "path": "specifications/FiniteMonotonic/CRDT.tla", |
| 406 | + "communityDependencies": [], |
| 407 | + "tlaLanguageVersion": 2, |
| 408 | + "features": [], |
| 409 | + "models": [] |
| 410 | + }, |
| 411 | + { |
| 412 | + "path": "specifications/FiniteMonotonic/MC_CRDT.tla", |
| 413 | + "communityDependencies": [], |
| 414 | + "tlaLanguageVersion": 2, |
| 415 | + "features": [], |
| 416 | + "models": [ |
| 417 | + { |
| 418 | + "path": "specifications/FiniteMonotonic/MC_CRDT.cfg", |
| 419 | + "runtime": "00:00:05", |
| 420 | + "size": "small", |
| 421 | + "mode": "exhaustive search", |
| 422 | + "config": [], |
| 423 | + "features": [ |
| 424 | + "liveness" |
| 425 | + ], |
| 426 | + "result": "success" |
| 427 | + } |
| 428 | + ] |
| 429 | + }, |
| 430 | + { |
| 431 | + "path": "specifications/FiniteMonotonic/MC_Constraint_CRDT.tla", |
| 432 | + "communityDependencies": [], |
| 433 | + "tlaLanguageVersion": 2, |
| 434 | + "features": [], |
| 435 | + "models": [ |
| 436 | + { |
| 437 | + "path": "specifications/FiniteMonotonic/MC_Constraint_CRDT.cfg", |
| 438 | + "runtime": "00:00:05", |
| 439 | + "size": "small", |
| 440 | + "mode": "exhaustive search", |
| 441 | + "config": [], |
| 442 | + "features": [ |
| 443 | + "liveness", |
| 444 | + "state constraint" |
| 445 | + ], |
| 446 | + "result": "success" |
| 447 | + } |
| 448 | + ] |
| 449 | + }, |
| 450 | + { |
| 451 | + "path": "specifications/FiniteMonotonic/MC_ReplicatedLog.tla", |
| 452 | + "communityDependencies": [], |
| 453 | + "tlaLanguageVersion": 2, |
| 454 | + "features": [], |
| 455 | + "models": [ |
| 456 | + { |
| 457 | + "path": "specifications/FiniteMonotonic/MC_ReplicatedLog.cfg", |
| 458 | + "runtime": "00:00:05", |
| 459 | + "size": "small", |
| 460 | + "mode": "exhaustive search", |
| 461 | + "config": [], |
| 462 | + "features": [ |
| 463 | + "liveness" |
| 464 | + ], |
| 465 | + "result": "success" |
| 466 | + } |
| 467 | + ] |
| 468 | + }, |
| 469 | + { |
| 470 | + "path": "specifications/FiniteMonotonic/ReplicatedLog.tla", |
| 471 | + "communityDependencies": [], |
| 472 | + "tlaLanguageVersion": 2, |
| 473 | + "features": [], |
| 474 | + "models": [] |
| 475 | + } |
| 476 | + ] |
| 477 | + }, |
392 | 478 | {
|
393 | 479 | "path": "specifications/GameOfLife",
|
394 | 480 | "title": "Conway's Game of Life",
|
|
458 | 544 | ],
|
459 | 545 | "tags": [],
|
460 | 546 | "modules": [
|
| 547 | + { |
| 548 | + "path": "specifications/KeyValueStore/ClientCentric.tla", |
| 549 | + "communityDependencies": [], |
| 550 | + "tlaLanguageVersion": 2, |
| 551 | + "features": [], |
| 552 | + "models": [] |
| 553 | + }, |
| 554 | + { |
| 555 | + "path": "specifications/KeyValueStore/KVsnap.tla", |
| 556 | + "communityDependencies": [], |
| 557 | + "tlaLanguageVersion": 2, |
| 558 | + "features": [ |
| 559 | + "pluscal" |
| 560 | + ], |
| 561 | + "models": [] |
| 562 | + }, |
461 | 563 | {
|
462 | 564 | "path": "specifications/KeyValueStore/KeyValueStore.tla",
|
463 | 565 | "communityDependencies": [],
|
|
504 | 606 | }
|
505 | 607 | ]
|
506 | 608 | },
|
507 |
| - { |
508 |
| - "path": "specifications/KeyValueStore/KVsnap.tla", |
509 |
| - "communityDependencies": [], |
510 |
| - "tlaLanguageVersion": 2, |
511 |
| - "features": ["pluscal"], |
512 |
| - "models": [] |
513 |
| - }, |
514 | 609 | {
|
515 | 610 | "path": "specifications/KeyValueStore/MCKVsnap.tla",
|
516 | 611 | "communityDependencies": [],
|
|
539 | 634 | "tlaLanguageVersion": 2,
|
540 | 635 | "features": [],
|
541 | 636 | "models": []
|
542 |
| - }, |
543 |
| - { |
544 |
| - "path": "specifications/KeyValueStore/ClientCentric.tla", |
545 |
| - "communityDependencies": [], |
546 |
| - "tlaLanguageVersion": 2, |
547 |
| - "features": [], |
548 |
| - "models": [] |
549 | 637 | }
|
550 | 638 | ]
|
551 | 639 | },
|
|
770 | 858 | }
|
771 | 859 | ]
|
772 | 860 | },
|
| 861 | + { |
| 862 | + "path": "specifications/Majority", |
| 863 | + "title": "Boyer-Moore majority vote algorithm", |
| 864 | + "description": "An efficient algorithm for detecting a majority value in a sequence", |
| 865 | + "source": "", |
| 866 | + "authors": [ |
| 867 | + "Stephan Merz" |
| 868 | + ], |
| 869 | + "tags": [ |
| 870 | + "beginner" |
| 871 | + ], |
| 872 | + "modules": [ |
| 873 | + { |
| 874 | + "path": "specifications/Majority/MCMajority.tla", |
| 875 | + "communityDependencies": [], |
| 876 | + "tlaLanguageVersion": 2, |
| 877 | + "features": [], |
| 878 | + "models": [ |
| 879 | + { |
| 880 | + "path": "specifications/Majority/MCMajority.cfg", |
| 881 | + "runtime": "00:00:05", |
| 882 | + "size": "small", |
| 883 | + "mode": "exhaustive search", |
| 884 | + "config": [ |
| 885 | + "ignore deadlock" |
| 886 | + ], |
| 887 | + "features": [], |
| 888 | + "result": "success" |
| 889 | + } |
| 890 | + ] |
| 891 | + }, |
| 892 | + { |
| 893 | + "path": "specifications/Majority/Majority.tla", |
| 894 | + "communityDependencies": [], |
| 895 | + "tlaLanguageVersion": 2, |
| 896 | + "features": [], |
| 897 | + "models": [] |
| 898 | + }, |
| 899 | + { |
| 900 | + "path": "specifications/Majority/MajorityProof.tla", |
| 901 | + "communityDependencies": [], |
| 902 | + "tlaLanguageVersion": 2, |
| 903 | + "features": [ |
| 904 | + "proof" |
| 905 | + ], |
| 906 | + "models": [] |
| 907 | + } |
| 908 | + ] |
| 909 | + }, |
773 | 910 | {
|
774 | 911 | "path": "specifications/MisraReachability",
|
775 | 912 | "title": "Misra Reachability Algorithm",
|
|
3252 | 3389 | "config": [
|
3253 | 3390 | "ignore deadlock"
|
3254 | 3391 | ],
|
3255 |
| - "features": [ |
| 3392 | + "features": [ |
3256 | 3393 | "liveness",
|
3257 | 3394 | "state constraint",
|
3258 | 3395 | "view"
|
|
3698 | 3835 | "models": []
|
3699 | 3836 | }
|
3700 | 3837 | ]
|
3701 |
| - }, |
3702 |
| - { |
3703 |
| - "path": "specifications/Majority", |
3704 |
| - "title": "Boyer-Moore majority vote algorithm", |
3705 |
| - "description": "An efficient algorithm for detecting a majority value in a sequence", |
3706 |
| - "source": "", |
3707 |
| - "authors": [ |
3708 |
| - "Stephan Merz" |
3709 |
| - ], |
3710 |
| - "tags": ["beginner"], |
3711 |
| - "modules": [ |
3712 |
| - { |
3713 |
| - "path": "specifications/Majority/Majority.tla", |
3714 |
| - "communityDependencies": [], |
3715 |
| - "tlaLanguageVersion": 2, |
3716 |
| - "features": [], |
3717 |
| - "models": [] |
3718 |
| - }, |
3719 |
| - { |
3720 |
| - "path": "specifications/Majority/MCMajority.tla", |
3721 |
| - "communityDependencies": [], |
3722 |
| - "tlaLanguageVersion": 2, |
3723 |
| - "features": [], |
3724 |
| - "models": [ |
3725 |
| - { |
3726 |
| - "path": "specifications/Majority/MCMajority.cfg", |
3727 |
| - "runtime": "00:00:05", |
3728 |
| - "size": "small", |
3729 |
| - "mode": "exhaustive search", |
3730 |
| - "config": ["ignore deadlock"], |
3731 |
| - "features": [], |
3732 |
| - "result": "success" |
3733 |
| - } |
3734 |
| - ] |
3735 |
| - }, |
3736 |
| - { |
3737 |
| - "path": "specifications/Majority/MajorityProof.tla", |
3738 |
| - "communityDependencies": [], |
3739 |
| - "tlaLanguageVersion": 2, |
3740 |
| - "features": [ |
3741 |
| - "proof" |
3742 |
| - ], |
3743 |
| - "models": [] |
3744 |
| - } |
3745 |
| - ] |
3746 | 3838 | }
|
3747 | 3839 | ]
|
3748 | 3840 | }
|
0 commit comments