Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 26, 2022. It is now read-only.
/PSharpPublic archive

A framework for rapid development of reliable asynchronous software.

License

NotificationsYou must be signed in to change notification settings

p-org/PSharp

Repository files navigation

News: P# has evolved intoCoyote. This repository is now deprecated and development has movedhere. Check it out!


P# is a framework for rapid development of reliable asynchronous software. The P# project, which started as a collaboration betweenMicrosoft Research andImperial College London, is used by several teams inAzure 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 topicshere.

How to build

Follow theinstructions 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 thedevelopment guidelines.

Contact us

If you are interested in using P# in your project, or have any P# related questions, please send us anemail or open a newissue.

About

A framework for rapid development of reliable asynchronous software.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors13

Languages


[8]ページ先頭

©2009-2025 Movatter.jp