| High Integrity Distributed Object-Oriented Realtime Systems | |||||||||||||||||
| HIDOORS ObjectivesIntroductionThe continued rapid development of integrated circuit technology both in increased performance and reduced cost has made it economically feasible to build microprocessors into virtually every conceivable device. This is driving a massive shift from desktop applications to embedded systems. The PITAC [The (US) presidential IT advisory committee report to the president Information Technology Research: Investing in Our Future ] Feb'99 report describes this as the phenomenon of the ``disappearing computer.'' Not only are many traditional IT systems moving from visible desktop computers to invisible embedded computers in intelligent devices, but new applications are constantly being found for intelligent embedded systems. Industrial automation is becoming increasingly decentralized, relying on distributed embedded devices to acquire and preprocess data and run increasingly sophisticated applications programs for control and self diagnostics. New application domains for embedded controls are being created in automotive, avionics, medical equipment, surveillance, domestic appliance, and home entertainment industries. On top of this, mobile communications systems are riding this wave into everyone's pocket. Next generation mobile communications systems will expand the possibilities further. What many of these applications have in common is that they interact with their environment in realtime and that they need to work reliably and deterministically. Increasingly, these systems are employed in safety critical environment, where human life and health depends on the proper functioning of computing devices. Thus, the safety and correctness of these systems are of utmost importance. The PITAC report also notes that ``technologies to build reliable and secure software are inadequate.'' This is especially critical when the growth of applications far exceeds the increase in qualified programmers. Only by making programming embedded systems easier and safer can one hope to raise the productivity of programmers sufficiently to fill this gap. These problems are multiplied in a distributed environment. A standard object-oriented programming language that uses techniques like automatic memory management, protected pointer manipulation, and strong typing could go a long way to address these issues. The Java programming language fills these criteria. It is quickly expanding into areas well beyond its original scope. Java is already finding its way into realtime critical applications, often in small embedded systems. The driving force behind this movement is the enormous advantage the use of this modern programming tool brings to software development in terms of increased safety and productivity. Unfortunately, Java can not yet live up to the full requirements of embedded, realtime systems. So far, Java system providers have not payed much attention to the embedded systems market. Consequently, there are no truly realtime Java implementations that provide suitable interfaces for this market. From a technical point of view, there are several obstacles to the deployment of Java in embedded, realtime systems. Several key scientific issues need to be solved before Java can be used for safety-critical realtime systems:
Standardization efforts for embedded, realtime applications in Java are being undertaken by several international committees. The J-Consortium and the Java Community Process are the most important ones. Since the technology for making Java truly hard realtime capable is not yet widely understood and available, these efforts tend towards making Java applicable to safety critical, realtime systems by disallowing features like automatic memory management for realtime tasks. Though much of the work these groups are doing is important, failure to demonstrate hard realtime capable memory management techniques would result in Java being robbed of some of its most desirable features. The goal of HIDOORS is resolve these problems by providing the full functionality of the modern programming language Java for the development of distributed, realtime and safety critical systems and to provide a powerful environment of tools that support modeling, analysis, and proof of correctness of systems developed in Java. ![]() HIDOORS: bringing Java Technology to realtime and safety-critical applications ObjectivesThe HIDOORS project must overcome major obstacles to the use of Java for software development in distributed, realtime and safety-critical applications, if it is to meet its project goals.
SummaryThere are currently several other research and development programs in place that propagate the use of Java in embedded systems. AJACS is a project with the goal of establishing Java as a base for automotive applications. Another related project is JOSES, which aims to harmonize the special hardware and software requirements of high performance embedded systems with the power and virtues of the fastest growing programming language: Java. These projects show the strong interest for Java in the area of embedded systems, but they do not provide a solution for realtime, distributed systems development in Java. The results of the HIDOORS project will enable the European realtime software industry to apply the object-oriented paradigm of Java to the software development process for realtime systems and safety critical systems. HIDOORS will provide the missing technological links that enable the use of modern object-oriented software development methods for realtime, distributed applications. Standardization of the technology is essential for its wide application. Therefore, HIDOORS partners are involved in the J-Consortium's Java standardization processes. HIDOORS will support the development of these standard by actively contributing to the J-Consortium working groups and providing reference implementation of standards proposed by the J-Consortium. By combining a high integrity, object oriented platform for distributed, realtime systems development, HIDOORS will bring about a faster software development process, the ability to produce reliable, maintainable, and reusable software, and higher quality and trust in the developed systems. The consortium will not just design and implement the new system, but also test it in real world applications. The main thrust of HIDOORS is to improve the productivity software development for realtime, distributed systems by 30%, to reduce the time to market by 20% and hence increase the competitiveness of European industry. |