Skip to content
This repository has been archived by the owner on Jul 29, 2022. It is now read-only.
/ Actoverse Public archive

A Message-Oriented Online Debugger for Actor Systems

Notifications You must be signed in to change notification settings

45deg/Actoverse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ 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

npm install
npm start

Quick start with Scala

Using Actoverse-Scala for a target.

  1. Install scala and sbt. For example in macOS,
brew install scala
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

About

A Message-Oriented Online Debugger for Actor Systems

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published