IsoMAX
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.
Return to NMI's home page.