All Projects → p-org → Psharp

p-org / Psharp

Licence: mit
A framework for rapid development of reliable asynchronous software.

Projects that are alternatives of or similar to Psharp

cpsfy
🚀 Tiny goodies for Continuation-Passing-Style functions, fully tested
Stars: ✭ 58 (-84.86%)
Mutual labels:  asynchronous-programming
corde
🤖 A simple e2e library for testing Discord Bots 🚀
Stars: ✭ 60 (-84.33%)
Mutual labels:  automated-testing
Muter
🔎 Automated mutation testing for Swift 🕳️
Stars: ✭ 293 (-23.5%)
Mutual labels:  automated-testing
API-Testing-Automation-Framework
It is Data-Driven and Keyword-Driven framework to test REST/SOAP webservices automatically
Stars: ✭ 24 (-93.73%)
Mutual labels:  automated-testing
guzzlehttp-cloudflare
Guzzle middleware to pass through Cloudflare protection
Stars: ✭ 31 (-91.91%)
Mutual labels:  automated-testing
Zio
ZIO — A type-safe, composable library for async and concurrent programming in Scala
Stars: ✭ 3,167 (+726.89%)
Mutual labels:  asynchronous-programming
Pickpocket
A Kotlin Android library for content provider queries with reactive streams and coroutines.
Stars: ✭ 23 (-93.99%)
Mutual labels:  asynchronous-programming
Atata
C#/.NET test automation framework for web
Stars: ✭ 362 (-5.48%)
Mutual labels:  automated-testing
teasy
Test easy with Teasy - UI automation testing framework
Stars: ✭ 27 (-92.95%)
Mutual labels:  automated-testing
Pa11y Ci
Pa11y CI is a CI-centric accessibility test runner, built using Pa11y
Stars: ✭ 291 (-24.02%)
Mutual labels:  automated-testing
protonmail-cli
✉️ Command line utility for https://protonmail.com -- unofficial
Stars: ✭ 71 (-81.46%)
Mutual labels:  automated-testing
OI-Source
OI代码仓库、复习笔记、代码模板、本地Judger
Stars: ✭ 25 (-93.47%)
Mutual labels:  automated-testing
Pa11y
Pa11y is your automated accessibility testing pal
Stars: ✭ 3,207 (+737.34%)
Mutual labels:  automated-testing
QuickStreams
An asynchronous programming library for the QML programming language (Proof of Concept)
Stars: ✭ 42 (-89.03%)
Mutual labels:  asynchronous-programming
Little Javascript Book
Early draft for The Little JavaScript Book
Stars: ✭ 305 (-20.37%)
Mutual labels:  asynchronous-programming
karate-runner
VSCode Extension for Karate
Stars: ✭ 23 (-93.99%)
Mutual labels:  automated-testing
trantor
a non-blocking I/O tcp network lib based on c++14/17
Stars: ✭ 205 (-46.48%)
Mutual labels:  asynchronous-programming
Swim
Distributed software platform for building stateful, massively real-time streaming applications.
Stars: ✭ 368 (-3.92%)
Mutual labels:  asynchronous-programming
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (-11.23%)
Mutual labels:  asynchronous-programming
Promesa
A promise library for Clojure(Script)
Stars: ✭ 277 (-27.68%)
Mutual labels:  asynchronous-programming

News: P# has evolved into Coyote. This repository is now deprecated and development has moved here. Check it out!


P# is a framework for rapid development of reliable asynchronous software. The P# project, which started as a collaboration between Microsoft Research and Imperial College London, is used by several teams in Azure to design, implement and automatically test production distributed systems and services.

Features

The P# framework provides:

  • An actor-based programming model for building event-driven asynchronous applications. The unit of concurrency in P# is an asynchronous communicating state-machine, which is basically an actor that can create new machines, send and receive events, and transition to different states. Using P# machines, you can express your design and code at a higher level that is a natural fit for many cloud services.
  • An efficient, lightweight runtime that is build on top of the Task Parallel Library (TPL). This runtime can be used to deploy a P# program in production. The P# runtime is very flexible and can work with any communication and storage layer.
  • The capability to easily write safety and liveness specifications (similar to TLA+) programmatically in C#.
  • A systematic testing engine that can control the P# program schedule, as well as all declared sources of nondeterminism (e.g. failures and timeouts), and systematically explore the actual executable code to discover bugs (e.g. crashes or specification violations). If a bug is found, the P# testing engine will report a deterministic reproducible trace that can be replayed using the Visual Studio Debugger.

Getting started

Read the P# programming guide and then read about various features and topics here.

How to build

Follow the instructions to build P# from source, or just install our latest P# NuGet package.

How to contribute

We welcome contributions! However, before you start contributing, please read carefully the development guidelines.

Contact us

If you are interested in using P# in your project, or have any P# related questions, please send us an email or open a new issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].