A development environment for complex distributed real-time applications

Citation
Ad. Stoyen et al., A development environment for complex distributed real-time applications, IEEE SOFT E, 25(1), 1999, pp. 50-74
Citations number
67
Categorie Soggetti
Computer Science & Engineering
Journal title
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
ISSN journal
00985589 → ACNP
Volume
25
Issue
1
Year of publication
1999
Pages
50 - 74
Database
ISI
SICI code
0098-5589(199901/02)25:1<50:ADEFCD>2.0.ZU;2-B
Abstract
Engineering of complex distributed real-time applications is one of the har dest tasks faced by the software profession today. All aspects of the proce ss, from design to implementation, are made more difficult by the interacti on of behavioral and platform constraints. Providing tools for this task is likewise not without major challenges. In this paper, we discuss a tool su ite which supports the development of complex distributed real-time applica tions in a suitable high-level language (CRL). The suite's component tools include a compiler, a transformer-optimizer, an allocator-migrator, a sched ulability analyzer, a debugger-monitor, a kernel, and a (simulated) network manager. The overall engineering approach supported by the suite is to pro vide as simple and natural an integrated development paradigm as possible. The suite tools address complexity due to distribution, scheduling, allocat ion and other sources in an integrated manner (largely) transparent to the developer. To reflect the needs of propagation of functional and nonfunctio nal requirements throughout the development process, a number of robust cod e transformation and communication mechanisms have been incorporated into t he suite. To facilitate practical use of the suite, the developed programs compile-transform to a safe subset of C++ with appropriate libraries and ru ntime 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 del ays (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.).