Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
On methods for direct memory access without cycle stealing
Microprocessing and Microprogramming
Real-time Euclid: a language for reliable real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Guaranteed response times in a distributed hard-real-time environment
IEEE Transactions on Software Engineering
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
A real-time language with a schedulability analyzer
A real-time language with a schedulability analyzer
Reasoning About Time in Higher-Level Language Software
IEEE Transactions on Software Engineering
Integrating non-intering versions of programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An architecture for real-time software systems
Tutorial: hard real-time systems
Real-Time Scheduling Theory and Ada
Computer
Calculating the maximum, execution time of real-time programs
Real-Time Systems
Analyzing Hard-Real-Time Programs for Guaranteed Schedulability
IEEE Transactions on Software Engineering
A partial evaluator for the Maruti hard real-time system
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
Predicting program execution times by analyzing static and dynamic program paths
Real-Time Systems - Special issue: Real-time languages and language-level timing tools and analysis
SUPRA-RPC: SUbprogram PaRAmeters in remote procedure calls
Software—Practice & Experience
Schedulability-analyzable exception handling for fault-tolerant real-time languages
Real-Time Systems - Special issue: dependability of real-time software
CHARTS: compiler for hard real-time systems
CHARTS: compiler for hard real-time systems
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Constructing Predictable Real Time Systems
Constructing Predictable Real Time Systems
Extending Pearl for Industrial Real-Time Applications
IEEE Software
Extending Typestate Checking Using Conditional Liveness Analysis
IEEE Transactions on Software Engineering
Compiling Real-Time Programs With Timing Constraint Refinement and Structural Code Motion
IEEE Transactions on Software Engineering
Design and verification in real-time distributed computing: an introduction to compositional methods
Proceedings of the IFIP WG6.1 Ninth International Symposium on Protocol Specification, Testing and Verification IX
A Proposal for Extensions of PEARL to Facilitate the Formulation of Hard Real-Time Applications
Prozeßrechner 1984, Prozeßdatenverarbeitung im Wandel, 4. GI/GMR/KfK-Fachtagung
TOMAL-a high-level programming language for microprocessor process control applications
SIGMINI '76 Proceedings of the ACM SIGMINI/SIGPLAN interface meeting on Programming systems in the small processor environment
Toward Compiler Optimization of Distributed Real-Time Processes
ICECCS '96 Proceedings of the 2nd IEEE International Conference on Engineering of Complex Computer Systems
A Language Support Environment for Complex Distributed Real-Time Applications
ICECCS '97 Proceedings of the Third IEEE International Conference on Engineering of Complex Computer Systems
Statically Safe Speculative Execution for Real-Time Systems
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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.)