Experimental pre-processor for Action-based computing
Sokolinskaya, Anna (2016)
Sokolinskaya, Anna
2016
Master's Degree Programme in Information Technology
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2016-06-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201605254091
https://urn.fi/URN:NBN:fi:tty-201605254091
Tiivistelmä
The conventional programming paradigms were developed for the sequential model of computation. Concurrent computing is implemented through processes. Communication between processes is implemented manually, which leads to a number of problems. In response to this, the action-oriented paradigm was developed, as well as the tentative action language. This language features actions as the main entities of execution containing all the functionality of the program. Actions are not executed sequentially; instead the next action to be executed is selected non-deterministically by the scheduler, which is a part of the operating system.
Implementing the action-oriented approach thoroughly requires the development of special hardware as well as the specially designed operating system. As this is not yet possible, a simulation environment has been developed in order to test and explore the action-oriented paradigm. This environment requires the solutions to be written in C programming language, following the specific format understandable for the environment. This structure does not correspond to the structure of an action program, and the key entities of the action-oriented paradigm are hidden behind cumbersome C functions.
This thesis presents a possible implementation of the simulation environment that provides opportunities to explore and test the action paradigm in a more convenient and coherent way. The suggested environment is based on the existing framework. A particular action language based on XML and C has been designed as a part of this thesis. As the implementation of the proposed environment is process-oriented on the low level, this language allows the user to write the functionality of the solutions in C language while maintaining the outline of an action program. XML syntax is used for the proposed action language in order to emphasize the hierarchical structure of an action program and utilize existing software tools to check, inspect and visualize action programs.
A pre-processor has been implemented to translate programs written in the proposed language into C programs in a form accepted by the existing environment. This procedure allows to hide the implementation details of the simulation environment from the user. The pre-processor does not perform full translation. Instead it restructures the elements of the program to meet the requirements of the existing framework.
The outcome of this thesis is the demonstration system that provides the means to investigate the action-oriented approach without designing special hardware tools. The system is user-friendly due to the usage of conventional XML syntax and C language.
Implementing the action-oriented approach thoroughly requires the development of special hardware as well as the specially designed operating system. As this is not yet possible, a simulation environment has been developed in order to test and explore the action-oriented paradigm. This environment requires the solutions to be written in C programming language, following the specific format understandable for the environment. This structure does not correspond to the structure of an action program, and the key entities of the action-oriented paradigm are hidden behind cumbersome C functions.
This thesis presents a possible implementation of the simulation environment that provides opportunities to explore and test the action paradigm in a more convenient and coherent way. The suggested environment is based on the existing framework. A particular action language based on XML and C has been designed as a part of this thesis. As the implementation of the proposed environment is process-oriented on the low level, this language allows the user to write the functionality of the solutions in C language while maintaining the outline of an action program. XML syntax is used for the proposed action language in order to emphasize the hierarchical structure of an action program and utilize existing software tools to check, inspect and visualize action programs.
A pre-processor has been implemented to translate programs written in the proposed language into C programs in a form accepted by the existing environment. This procedure allows to hide the implementation details of the simulation environment from the user. The pre-processor does not perform full translation. Instead it restructures the elements of the program to meet the requirements of the existing framework.
The outcome of this thesis is the demonstration system that provides the means to investigate the action-oriented approach without designing special hardware tools. The system is user-friendly due to the usage of conventional XML syntax and C language.