Skip to content

Templet-language/cppskeletons

Repository files navigation

What is it?

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.

Things that are important for the Templet language.

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.

Components of the Templet language project set.

Templet-language includes the following sub-projects:

  • 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.

Templet language developers.

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.

Thank you for your interest in the Templet language project!

For more details feel free to contact: Dr. Sergey Vostokin sergey.vostokin@gmail.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published