Skip to content

xiaoxiongnpu/CaliDiagram

 
 

Repository files navigation

#Raft Consensus Visualization & CaliDiagram

######This repository was supposed to be be only for CaliDiagram library but it slowly evelves into visualization of any actor system. Current goal is to provide solution that would help developing and visualizing new distributed algorithms more easily.


#####Projects incuded in solution:

  • CaliDiagram - library for WPF diagramming that uses ViewModel-First approach,
  • NetworkModel - framework for messaging, now InProc network simulation only,
  • RaftAlgorithm - Buggy and incomplete implementation of Raft Consensus algorithm,
  • RaftDemo - WPF application for visualizing raft algorithm, needs to be separated into two projects.

#####What needs to be done:

  • Improve network model so it could emulate tcp/ip like messaging correctly,
  • Figure out basic elements of actor system(ClientActor, ServerActor,etc),
  • Wire up network model to GUI for connection/socket/packet visualization,
  • Separate RaftVisualization as an example use of code from this repo,
  • Finally, make it possible to wire netowrk model to any existing messaging library, possibly NetMQ.
  • Decide whether to rename/split CaliDiagram into several github repositories

#####CaliDiagram features:

  • Creating your own diagram nodes using ViewModel first approach
  • Customizing connections between nodes
  • Bezier/straight connection line
  • Customizing attach descriptors
  • Saving and loading to XML

#####Some progress: raft2

sample diagram

sample diagram

calidiagram view-model first

About

Diagram/Graph designer for WPF build on Caliburn.Micro framework

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%