Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Safety analysis of timing properties in real-time systems
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented real-time language design: constructs for timing constraints
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Building Flexible Real-Time Systems Using the Flex Language
Computer - Special issue on real-time systems
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Eliminating false data dependences using the Omega test
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Efficient superscalar performance through boosting
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
Application of partial evaluation to hard real-time programming
Application of partial evaluation to hard real-time programming
Pipelined processors and worst case execution times
Real-Time Systems
Scheduling with compiler transformations: the TCEL approach
RTOSS '93 Proceedings of the tenth IEEE workshop on Real-time operating systems and software
A global resource-constrained parallelization technique
ICS '89 Proceedings of the 3rd international conference on Supercomputing
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
A Development Environment for Horizontal Microcode
IEEE Transactions on Software Engineering
On the Efficient Engineering of Ambitious Program Analysis
IEEE Transactions on Software Engineering
Time-Constrained Automata (Extended Abstract)
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Interprocedural symbolic analysis
Interprocedural symbolic analysis
Slicing real-time programs for enhanced schedulability
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Development Environment for Complex Distributed Real-Time Applications
IEEE Transactions on Software Engineering
Statically Safe Speculative Execution for Real-Time Systems
IEEE Transactions on Software Engineering
Declarative Concurrency in Java
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Software Architecture Synthesis for Retargetable Real-time Embedded Systems
CODES '97 Proceedings of the 5th International Workshop on Hardware/Software Co-Design
Adding temporal annotations and associated verification to the Ravenscar profile
Ada-Europe'03 Proceedings of the 8th Ada-Europe international conference on Reliable software technologies
Formal Verification of Compiler Transformations for Speculative Real-Time Execution
Automatica (Journal of IFAC)
Formal verification and testing of protocols
Computer Communications
Hi-index | 0.01 |
We present a programming language called TCEL (Time-Constrained Event Language), whose semantics are based on time-constrained relationships between observable events. Such a semantics infers only those timing constraints necessary to achieve real-time correctness, without overconstraining the system. Moreover, an optimizing compiler can exploit this looser semantics to help tune the code, so that its worst-case execution time is consistent with its real-time requirements. In this paper we describe such a transformation system, which works in two phases. First, the TCEL source code is translated into an intermediate representadon. Then an instruction-scheduling algorithm rearranges selected unobservable operations and synthesizes tasks guaranteed to respect the original event-based constraints.