coyote
tlaplus-graph-explorer
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
coyote | tlaplus-graph-explorer | |
---|---|---|
11 | 3 | |
1,380 | 189 | |
0.7% | - | |
6.1 | 0.0 | |
3 months ago | 19 days ago | |
C# | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coyote
-
Implementing a distributed key-value store on top of implementing Raft in Go
Microsoft has a library/tool called Coyote* that helps with testing distributed systems; you can write tests/specifications, Coyote will systematically explore nondeterminism in your system and check if your tests still pass. If there's a failure, it'll show the sequence of events that led to the failing test.
I started a project to implement Raft with a KV-store on top, similar to the article, meaning to use Coyote to test it; I didn't get that far before losing interest, though. It's reassuring to read that it took Phil several months to write the code in the post, it's good to know that this is a decidedly nontrivial problem.
-
What's the best way to test parallel jobs?
Something like coyote by MS?
-
Using Java's Project Loom to build more reliable distributed systems
If you're looking for similar concurrency testing in the dotnet world, checkout Coyote:
https://microsoft.github.io/coyote/
https://innovation.microsoft.com/en-us/exploring-project-coy...
- Coyote: .NET library tool help ensure that your code is free of concurrency bugs
-
TLA+ Graph Explorer
Visualizations do help a lot when model checkers and concurrency schedule exploration tools like Coyote find bugs. Coyote include the ability to visualize the traces if you express your concurrency using actors (see https://microsoft.github.io/coyote/#concepts/actors/state-ma...)
It also allows you to implement your own "logger" through which you can emit enough information to construct some cool visualizations. I had a lot of fun working on visualizing an implementation of Paxos using Coyote (then P#) (screenshot at https://ibb.co/TTk2hYb)
-
Finding threading issues in code quickly
The closest I can think of is https://github.com/microsoft/coyote
tlaplus-graph-explorer
-
TLA+ Graph Explorer
Hi,
> wonder whether there will be an update to map those children to the names of the actions taken in the spec
This can be done by, for example, adding a variable to the spec with the label of the transition, lets say a variable named label. Then in the tool you can parse the state string (variable value in function updateChilds, https://github.com/afonsonf/tlaplus-graph-explorer/blob/main...), and then use the label when creating the radio button.
The label can be obtained from the variable value in updateChilds with something like: label = parseVars(value).get("label").
> You write the visualizations in D3 I guess?
The visualization I think can be written with any javascript library, at least I tried to make it able to do so. In the second example I wrote the visualization with svg.js.
What are some alternatives?
Appccelerate - State Machine - A .net library that lets you build state machines (hierarchical, async with fluent definition syntax and reporting capabilities).
Automatonymous - A state machine library for .Net - 100% code - No doodleware
P - The P programming language.
lucene-grep - Grep-like utility based on Lucene Monitor compiled with GraalVM native-image
loom - https://openjdk.org/projects/loom
NSubstitute - A friendly substitute for .NET mocking libraries.
awesome-analyzer
React - The library for web and native user interfaces.
30-seconds-of-code - Short code snippets for all your development needs
BlockHound - Java agent to detect blocking calls from non-blocking threads.