This is a prototype of an architecture of a new-generation systems modeling tool.
At the first step, it aims to focus on modeling of abstract timed-aware behaviour of multipart systems.
Then we want to show how suggested architecture allows to build a usable and extensible tool around.
The main goal is to try to break rigidness of existing approaches in the (pretty conservative) architecture modelling land.
This is meant to be achieved by exercising strictly and polymorphically typed pure functional programming and related notions like applicative functors, monads, arrows, extensible effects and optics.
This prototype was chosen to be implemented using functional subset of the Scala programming language.