THE PCYNLITX PLATFORM
The pcynlitx platform offers a new programming paradigm. In this new approach, project-specific cybernetic software management systems are produced by pcynlitx platform. Then, the software system is governed by cybernetic management system which best fits the requirements of the application to be developed. In this project, the software development platforms that produce cybernetic control systems are named as programmable meta-programming systems. You can find out more information about meta-programming and the programmable meta-programming systems on the programming tutorial. The programming tutorial can be available from documentation section. You can read a brief introduction of the project from the links which are given in below.
The cybernetic control of the software systems
On the software systems which are developed with Pcynlitx platform, the decision about the program flows are taken based on the feedback received form both the software itself and the programmer directives. In fact, pcynlitx platform produces cybernetic control objects based on the requirements of the project. Then, the objects which are produced control the program flows cybernetically. They can collect information from the software and can steer the process in line of programmer directives.
The innovation on the multithreading
On the site of multithreading, the innovation is deterministic multithreading. Different from classical single threaded softwares, in multithreaded softwares, multiple flows of execution run concurrently inside a single process . In other words, multithreaded softwares have multiple program flows. At the same time, the threads share the common resources which are allocated to the process. Therefore, the biggest problem on the current multi-thread software development process is managing this chaos.
In fact, the execution order and the priority of the threads reflect the term of scheduling. Unfortunately, on the current systems, the threads are scheduled randomly by the operating system and/or underlying hardware . On the each run of the program, the threads and code sections are executed with different order. This situation breaks down input-output determinisim of the multi-thread applications and thus, developing, debugging and testing multi-thread applications much more difficult. However, with pcynlitx, you can directly determine the execution order of the code fragments independently from the operating system and underlying hardware. By this way, with pcynlitx, developing and testing of a multithread software is much more easy. A typical illustration of this property has been given in below.
In this figure, the code fragment is executed by the threads in an exactly same order on each running of the program. In oder words, the critical section is executed serially and same order on each running of the threads. This property increases the stability, predictability of the software bahavior. However, this property is not the only accomplishment of the cybernetic thread management. With cybernetic thread management, the threads can be pro-actively controlled and the program flows are completely under control of the programmer. You can learn many other spectacular properties of the cybernetic thread management from the documents and tutorials.
INTRODUCTION TO PCYNLITX PROJECT
Pcynlitx is an outcome of a scientific research study that is carried out by Erkam Murat Bozkurt who is a research engineer in Istanbul / Turkey. For more information about the developer of the platform, please look the developer section of the web site. Pcynlitx platform has been developed based on a new idea. This idea is to develop a software that can write codes in a collaboration with its user. By this way, Pcynlitx acts as a separate intelligent actor simplifying the multi-threaded software development process. Basically, pcynlitx is a code generator which can be programmed by the programmer. More specifically, It receives the requirements of the software to be developed from the programmer by means of a descriptor file and then, writes a C++ class library ( a thread library ). In practice, the programmers enter their preferences to the graphical user interface of the pcynlitx by means of some menus and pcynlitx builds the descriptor file automatically.
Figure: How pcynlitx platform collects information from the user.
WHAT IS PCYNLITX
- First of all, Pcynlitx is not a multi-threading library. In fact, Pcydlitx is a multi-threading library generator ( or we can simply say that it is a multi-threading api generator ).
- More specifically, Pcynlitx produces a multi-threading library which is specialized according to your needs. If you want to learn more, please read the informations that are given in that page.
THERMS OF USE
- The licence of all versions pcynlitx platform is GNU GPLv3 public licence.
- A copyright application has been performed to US Copyright office for MS. Windows 10 version of the project
- A certificate of registration has been received from US Copyright office for the modified version of the source code of the project
- A certificate of registration has been received from US Copyright office for the source code of the project
- A certificate of registration has been received from the copyright office of Turkey
- More control on threads : Give a certain number to each thread and control it with that numbers.
- Autonom thread management : on each operation, thread management tools record the numbers of the threads and provide the execution of the threads according to programmer’s directives.
- Easy to use : there is no need to learn any new coding style. It is only C++.
- Coding Simplicity : Pcynlitx makes abstraction to C++ threads and many operation are performed on the inside of the library constructed by
- Strong Documentation : You can find out many tutorial and technical documents on the web site
- Deterministic Multi Threading : Pcynlitx provides input-output determinisim
THE PROPERTIES OF PCYNLITX
- Code editing : You can use pcynlitx as a code editor. However, it is more than a code editor. Pcynlitx interracts with its user and it is a part of software development process.
- The interraction with the user : You can enter your preferences to the pcynlitx by means of its menus. In each step of software development process, pcynlitx asists the programmers
- Directory Tree View : You can search over the directories by means of the directory tree view option.
- Project management : You can build and manage your multi-thread application directly with pcynlitx.
- Special Library Construction : You can build your multi-threading library according to your reqirements
- Compiler : Pcynlitx uses gcc compiler as its compiler tool chain and wxWidgets as its graphical user interface toolkit.
- License : GNU GPLv3
- Introductory documents and tutorials has been updated ( You can download from both official web site and repository ).
- A new article has been published on ISO C++ web page