SynapseGrid
A few words about what SynapseGrid is:
- framework for constructing systems that are:
- reactive
- event-driven
- resilent
- it resembles other modern event-driven architectures (Akka, Storm, Hadoop).
- it is probably one of the finest grained frameworks. The building block is as simple as a function!
Feature highlights
- SynapseGrid allows function composition far more flexible than monads.
- Strictly typed message handling in Akka actors (a bit more natural than in Typed actors or Typed Channels).
- Multi input/multi output functions.
- Systems process portions of information ASAP.
- It is possible to nest subsystems (like matreshkas).
- Declarative composition in the form of DataFlow diagram.
- Easy to use DSL:
val a = contact[String]("a") val b = contact[String]("b") val c = contact[Char]("c") a -> b flatMap (.split("\s+")) a -> c flatMap (.toCharArray) inputs(a) outputs(b,c) - Dependency injection replacement (accompanied with Scala traits).
- DataFlow diagram for a system can be created easily — system.toDot:

For details see README in English.
See also (English)
- Walkthrough.
- Motivation for SynapseGrid.
- License (BSD-like).
- Subsystems.
- Blog about SynapseGrid
- Distrubuted systems
- Typed frames.

