Conventional real-time programs associate real-time requirements with
individual commands in a program. This approach has three weaknesses.
First, it intermixes two different design concerns: functional correct
ness and temporal correctness. Second, by mixing real-time requirement
s with program statements it makes it harder, and in some cases infeas
ible, to specify constraints between objects. Third, it limits the abi
lity to independently modify either the timing constraints or the repr
esentations of objects. We describe a new approach that separates real
-time constraints from functional aspects of an application; real-time
constraints are described by synchronization code between the interfa
ces of objects. Objects in our system are defined using a real-time va
riant of the Actor model. We define a high-level programming language
construct called RTsynchronizer, which specifies a collection of tempo
ral constraints between actors. Thus, our approach separates what an o
bject does from when it does it. Such separation also facilitates the
ability to dynamically modify real-time constraints. We illustrate the
use of RTsynchronizers by a number of examples and then describe a me
ta-architecture that can be used to implement RTsynchronizers. (C) 199
6 Academic Press, Inc.