Realtime Programming Language.
IsoMax is a programming language designed for special problems requiring Isostructure. Most embedded and real time applications require Isostructure. These problems cannot be easily implemented in other non-Isostructured languages. The Isostructured problems have previously been solved only with extensive reliance upon multitasking. Compilers, parsers, communications controllers, and user interfaces are also best done with Isostructure techniques.
The creation of Isostructure concepts is a significant advance in programming technology, particularly to the field of Computer Science. Several previously difficult areas of endeavor are now trivially accomplished with Isostructure techniques. In particular, problems requiring concurrency are easily mastered.
The word, Isostructure, has two roots: iso meaning equal or "on the same level" and structure from the current usage of structure in the Computer Science field, derived from the important concept of "structured programming."
Isostructure techniques hold the keys to advancing through the previously closed doors of several highly desirable areas of technology.
- Fault tolerant technologies are more easily achieved if state information is not kept solely in the CPU's Program Counter Register. When state information is held explicitly, rather than exclusively (thereby elusively) in the Program Counter, the crash of the processor is not necessarily tantamount to system failure. The Isostructure can be re-entered and program flow will be directed to the threads needing service.
- Multiprocessing is possible. Active threads are known, and available processing power can be directed or "parceled out" to active threads as needed. It is even possible to have multiprocessing where the processors are non-similar. Different processors can coesixt peacefully in a single system. Since state information is not in the domain of any single Program Counter, any processor with time available can service the threads, so long as they are compiled in non-processor-specific tokens.
- It is possible to compile some structures written with Isostructure techniques into hardware. Thus, the lines among software, firmware, and hardware are significantly blurred. The same program can be written as software, moved to firmware, or extended into hardware.
- Potential advances in the areas of Artificial Intelligence and Expert Systems are also available from the technique of separating state information from the Program Counter. The firing of inference engines are essentially the recognition or expansions of state information. As such, untangling the processor's Program Counter from the state information can simplify understanding of context, the fundamental problem standing in the way of many achievements in AI.