Converting the transition graphs, created using the MS Visio into the program source code for the wide class of the programming languages (instrumental tool MetaAuto)

© S.Y. Kanzhelev, A.A. Shalyto

Saint-Petersburg State University of Information Technologies, Mechanics and Optics

Project documentation (in Russian)
Executable program
Source code


Lately, the approach to algorithmization and programming, developed by A.A. Shalyto and N.I. Tukkel, and called SWITCH-technology or automata programming becomes wellknown and commonly used. Programs for the logical control systems and events systems software are projected and created using this approach.

Automata programming is based on the using of the finite automates that describe the logic of the program. The approach is based on the creating the transition graph a priori and visualizing them.

The main advantage of this approach is the possibility of the formal converting the transition graph to the source code of the program. In fact, the interpretation of the transition graph without the code generation is also possible.

This work describes the instrumental tool for the converting the transition graph, created using the MS Visio into the program source code for the wide class of the programming languages.

Steps to generate the source code:
1. Choose the template from existed or create the new one in manner, described in the documentation. There is the template for C# language.
2. Create the statecharts diagramm using the MS Visio editor.
3. Launch the Visio2Xml.exe application with passed paths to the created diagram file and path to the generated XML-file as a parameters.
4. Launch the XSLTransform.exe application with passed paths to the generated XML-file, XSLT-template and required file with the source code.

Note, that the actions 2-4, can be performed automatically with the nmake utility and makefile, that contains the relations between source file with the Statechart diagramm, XML-file and the generated file with source code.

Those action is also can be integrated in the compilation process of any development application. There is the example of integration to the MS Visual Studio.

Note, that the MS Visio and .NET Framework are required for utility work.