In Task Oriented Programming we distinguish the following components:
Each of the above components are defined in a separate way as indicated in the diagram above:
The properties of the domain and the computations that need to be done can be described compactly and precisely in a strongly typed pure Functional Programming Language (Clean). The types of the data being used in the domain play a central role because they form the glue between all components.
In a Functional Programming Language (FPL) such as Clean and Haskell, software can be described extremely compact and concise. These languages are particularly suitable for defining concise, reliable, modular, self-contained, and highly reusable components. This considerably reduces the chance of errors in the software.
The iTask System is an implementation of the TOP concept. It is made in the lazy, pure and strongly typed functional programming language Clean. In addition to the iTask system which is intended for man-machine communication using browsers, there is an mTask system for performing tiny (micro) tasks on IoT devices. Both systems are interconnected enabling to interact with any configuration of IoT devices remotely on the internet.
The iTask System can be seen as a distributed multi-platform middleware which will do a lot of things automatically such that a software developer can concentrate on the essence of the application and does not need to worry about the technical realization.
From a compact TOP description in iTasks we generate software for (web) servers and (web) clients that coordinate the activities described. Using a publish-subscribe system, every user on the web will automatically be provided with the information that is needed for doing the work. The iTask System can also be used to coordinate existing applications or systems.
Our TOP, agile, style of making software enables us to create a working prototype very quickly, which we then further develop into the desired functionality in close consultation with the customer and end-users. This allows us to produce reliable custom software, faster, and much cheaper.
With TOP we can control any complex distributed network of people and systems, where a lot of information needs to be passed near real-time to the collaborating parties, such as Command and Control Systems.
The concepts behind TOP, iTasks and Clean are based on decades of scientific research and are described in hundreds of scientific publications.