Templet is a markup language for actor-oriented programming. Actors are basically concurrent processes that communicate by exchanging messages. With Templet you can compose programs in the form of actors network. This point of view gives advantages, if application areas are highly-parallel by its nature: multi-core programming, high performance computing, industrial control systems, Internet of Things, business process management, and many others.
Actors (or processes) and their communications are modeled in general-purpose languages (e.g. C++, Java, C#) with Templet markups in comments, no more syntax extensions or API! So it takes minimal efforts from the developers to learn and use the language. This feature also makes Templet compatible with all existing software infrastructure: languages, libraries, IDE's, your application code.
-
Templet markup language preprocessor. The preprocessor forms actor-oriented structure (a skeleton) of your code. The skeleton sheme is expressed in tiny and easy-to-learn Templet language.
-
Runtime libraries cpp11runtime, cpp98runtime with samples. They implement actor model of execution in particular application area. Now we have runtime support for symmetric multiprocessing using C++11 and Windows/POSIX multithreading.
-
A set of programming skeletons for popular parallelism patterns such as bag-of-tasks (also known as farm or thread pool) and pipeline. They run on Windows API, MPI, POSIX.
-
Documentation sub-project. We just in the beginning with documenting the Templet technology. These are main papers about the technology in English, and in Russian.
This project is supported by Samara State Aerospace University (SSAU). The language is now used in the web service templet.ssau.ru to build HPC apps for SSAU high performance cluster. This project is a part of learning and research activities of SSAU.
For more details feel free to contact: Dr. Sergey Vostokin sergey.vostokin@gmail.com