A Language Support Environment for Complex, Distributed, Real-Time Applications

Alexander D. Stoyen
Dependable Real-Time Systems Laboratory
Department of Computer and Information Science
New Jersey Institute of Technology

Engineering of complex distributed real-time applications is one of the hardest tasks faced by the software profession today. All aspects of the process, from design to implementation, are made more difficult by the interaction of behavioral and platform constraints. Providing tools for this task is likewise not without major challenges. In this talk, we present a tool suite at New Jersey Institute of Technology's Real-Time Computing Lab which supports the development of complex distributed real-time applications in a suitable high-level language (CRL). The suite's component tools include a compiler, a transformer-optimizer, an allocator-migrator, a schedulability analyzer, a debugger-monitor, a kernel, and a (simulated) network manager. The overall engineering approach supported by the suite is to provide as simple and natural an integrated development paradigm as possible. The suite tools address complexity due to distribution, scheduling, allocation and other sources in an integrated manner (largely) transparent to the developer. To reflect the needs of propagation of functional and non-functional requirements throughout the development process, a number of robust code transformation and communication mechanisms have been incorporated into the suite. To facilitate practical use of the suite, the developed programs compile-transform to a safe subset of C++*. with appropriate libraries and runtime support.

Acknowledgement. The presented work has benefited from efforts by any people, including Tom Marlowe, Mohamed Younis, Bo-Chao Cheng, Plamen Petrov, Mike Hinchey, Phil Laplante, Grace Tsai, Matt Harelick, Carlos Amaro, Ananth Ganesh, Purnendu Sinha, Wolfgang Halang, Mehmet Aksit, Jan Bosch and other past and present members and collaborators of the CRL, REAL/DESTINATION and SUPRA-RPC projects at the Dependable Real-Time Systems Lab at NJIT and elsewhere. Generous support by , the Office of Naval Research, the National Science Foundation, NATO, AT&T, Siemens, Bellcore, IBM and other sponsors is appreciated.

About the speaker

Alexander D. Stoyen received his Ph.D. in Computer Science from the University of Toronto in 1987. Prior to joining NJIT in 1990, he was a research staff member at the IBM T. J. Watson Research Center. An associate professor in the Department of Computer and Information and the Department of Electrical and Computer Engineering, Dr. Stoyen founded, and until January 1997 led, the Dependable Real-Time Systems Laboratory. Dr. Stoyen has held visiting, consulting and advisory appointments at the universities, corporations and other organizations throughout North America, Europe and Asia. He has contributed significantly to a number of key technological concepts in real-time systems and has published more than 100 articles in journals, books and conference proceedings. His work at NJIT has been supported by funding in excess of US$2.2 million from government and industrial organizations. Dr. Stoyen has served as an organizer of many professional events, chair of IEEE Technical Committees, and editor of book series and journals. He is also founding CEO and President of 21st Century Systems, Inc., a company researching, prototyping and developing revolutionary tools for construction and operation of complex, large-scale software applications.

*In this C++ subset, the use of pointers is minimized. Aliases are not allowed. Unconstrained storage and time allocation is not allowed and constructions which lead to arbitrarily long executions or delays (due to time or other resource allocation use) are not allowed. Other safe features include strong typing (including constrained variants) only, no side-effects in expressions or functions, and so forth.

Philip Chan, pkc@cs.fit.edu
Last modified: Fri Apr 3 15:28:10 EST 1998