MIT License

项目介绍

p-org/PSharp 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 392 个 Star、38 次 Fork。

仓库全名
p-org/PSharp
开源许可证
MIT License
Star 数
392
Fork 数
38
未关闭 Issue
45

README 摘要

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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

PSharp 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 392 个 Star。

PSharp 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 PSharp 的源码?

可以直接克隆仓库:git clone https://github.com/p-org/PSharp.git,默认分支为 master;安装与运行步骤见仓库 README。

PSharp 最近还在维护吗?

仓库最近一次更新为 2020年11月5日,当前有 45 个未关闭 Issue;Star 数为 392,可作为社区活跃度的参考。

关于

A framework for rapid development of reliable asynchronous software.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
472
价值分
244
活跃状态
归档

语言占比

C#
PowerShell
Vim Snippet

Release

README

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.

评论

暂无评论