Menu

Home

SpanTools

Intro:
SpanTools is an application developed in order to offer some functionalities to define and check systems, represented as networks of components with states and transitions.

More specifically the program evaluates expressions in Cospan(Monoidal Graph), calculating the monoidal graph related to the given expression.

Single components, elements of evaluated expressions, are represented by arrows in Span(Graph), so they are automata with states and transitions equipped with communications interfaces.

Functionalities:
Functionalities offered by the program are:
Calculation of monoidal graph related to given expressions in Span(Graph).
Generation of diagrams representing graph and monoidal graph
Generation of a random path (example of execution) finding elements in the limit of monoidal graph calculated from expression

Use:
The application accepts in input the definition of components (arrows in Span(Graph)), and systems (expressions between them) and commands to generate in output diagrams representing structure (static) and behavior (dynamic) of given expressions.

Implementation:
The program is entirely developed in Java by using two external applications for input/output management, respectively Antlr3 and Graphviz. The first one is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions. The second one is a graph generation tool, good for draw states/transitions diagrams.

Syntax:
Input of the program is a text file that respects a syntax defined in order to provide basic construct to define components and expressions, in addition to commands to generate in output diagrams of components and systems and to simulate (graphically) some random executions.

[Usage]
[Examples]

Project Admins:




References
This program offer functionalities to define expression in Span(Graph) and execute them in Cospan(Monoida Graph), in order to understand the mathematical background is recommended to read articles that explain precisely these algebra:

P. Katis, N. Sabadini, R.F.C. Walters, Span(Graph): an algebra of transition systems, Proceedings AMAST '97, SLNCS 1349, 322-336,1997


Robert F. C. Walters, Nicoletta Sabadini and Filippo Schiavio. The algebra and geometry of networks


Related

Wiki: Examples
Wiki: Usage

MongoDB Logo MongoDB