项目作者: 45deg

项目描述 :
A Message-Oriented Online Debugger for Actor Systems
高级语言: JavaScript
项目地址: git://github.com/45deg/Actoverse.git
创建时间: 2017-02-03T08:49:31Z
项目社区:https://github.com/45deg/Actoverse

开源协议:

下载


🛰️ Actoverse

Screenshot

Actoverse is an online debugger suite for the Actor model, which provides a graphical visualization for message timeline, causal-consistent reverse debugging, and some useful features for debugging actors.

📺 Movie → https://youtu.be/2x6KXKDG1jw

NOTE: This is a client interface of Actoverse protocol and this repository does not include libraries for debugging targets or demo applications. Check a target API implementation for Scala and its examples.

Citation

Kazuhiro Shibanai and Takuo Watanabe. 2017. Actoverse: a reversible debugger for actors. In Proceedings of the 7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2017). Association for Computing Machinery, New York, NY, USA, 50–57. DOI:https://doi.org/10.1145/3141834.3141840

Features

  • Live inspecting states inside actors
  • Visualizing the causal flow of messages between actors
  • Restore any point of the past state of actors ( Reverse Debugging ) while keeping the causal relationship
  • Making breakpoints by the attributes or contents of messages such as:
    • sender / receiver actor’s name
    • partial / perfect pattern matching of message data

Downloading Binary

See the release page

Executing from Source Repository

Requirements

  • node.js environment (latest)
  • npm

How to run

  1. npm install
  2. npm start

Quick start with Scala

Using Actoverse-Scala for a target.

  1. Install scala and sbt. For example in macOS,
  1. brew install scala
  2. brew install sbt
  1. Clone the repository of the demo source. → git clone https://github.com/45deg/Actoverse-Scala-Demos
  2. Execute sbt run.
  3. Select a example script to run by entering the index of it.
  4. Start the Actoverse debugger and input the address localhost:2000 into the form and push the Connect button.
  5. Then a time-space diagram will show up.

Internals

API Specifications

The API through which communicates with a client program is handled with the JSON format over the WebSocket connection.

API Specification: https://github.com/45deg/Actoverse/wiki/API-Specification

License

MIT