The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Monitors: an operating system structuring concept
Communications of the ACM
The Java Language Specification
The Java Language Specification
A systematic review of software robustness
Information and Software Technology
Hi-index | 0.00 |
This paper introduces a new programming methodology for building real-time systems that allows the construction of concurrent programs without the explicit creation and synchronization of threads. The approach requires the program to have an acyclic invocation structure. This restriction allows an underlying CycleFree Kernel to implicitly schedule units of concurrency and synchronize access to objects. Deadlock is avoided by the hierarchical access to objects, and programmers are freed from the traditional worries of explicit task creation and synchronization.The paper discusses real world, commercial experiences, both with explicit multi-threaded applications and with CycleFree applications. The potential pitfalls associated with programming concurrent processes are well known to those skilled in the art. The issues of race conditions, reentrancy, and cyclic deadlock can lead to transient program failure. The CycleFree methodology eliminates these sources of transient program failure, leading to more reliable and robust software. Simtrol, an A/V control systems company, used the CycleFree technology in the construction of two real-time control systems called ONGOER and Omega. Programmers with little previous real-time programming experience can easily embrace this methodology. CycleFree™ technology is protected under U.S. patent number: 6,035,321.