A Development Environment for Complex Distributed Real-Time Applications

  • Authors:
  • Alexander D. Stoyen;Thomas J. Marlowe;Mohamed F. Younis;Plamen V. Petrov

  • Affiliations:
  • Univ. of Nebraska at Omaha, Omaha;Seton Hall Univ., South Orange, NJ;AlliedSignal Inc., Columbia, MD;New Jersey Institute of Technology, Newark

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 paper, we discuss a tool suite 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 nonfunctional 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. (In this safe subset (C++) 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 permitted. Other safe features include strong typing (including constrained variants) only, no side-effects in expressions or functions, etc.)