TY - JOUR
T1 - A modular approach to programming distributed real-time systems
AU - Ren, Shangping
AU - Agha, Gul A.
AU - Saito, Masahiko
N1 - Funding Information:
1The research described has been made possible in part by support from the Office of Naval Research (ONR contract numbers N00014-90-J-1899 and N00014-93-1-0273), by an Incentives for Excellence Award from the Digital Equipment Corporation Faculty Program, by Hitachi, and by the National Science Foundation (NSF CCR 93-12495). 2E-mail: [email protected]. 3E-mail: [email protected]. 4E-mail: [email protected]. 5The authors thank Brian Nielsen, Daniel Sturman, Mark Astley, Ra-jendra Panwar, James Waldby and other members of the Open Systems Laboratory who have provided helpful suggestions and discussion.
PY - 1996/7/10
Y1 - 1996/7/10
N2 - 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 correctness and temporal correctness. Second, by mixing real-time requirements with program statements it makes it harder, and in some cases infeasible, to specify constraints between objects. Third, it limits the ability to independently modify either the timing constraints or the representations 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 interfaces of objects. Objects in our system are defined using a real-time variant of the Actor model. We define a high-level programming language construct called RTsynchronizer, which specifies a collection of temporal constraints between actors. Thus, our approach separates what an object 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 meta-architecture that can be used to implement RTsynchronizers.
AB - 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 correctness and temporal correctness. Second, by mixing real-time requirements with program statements it makes it harder, and in some cases infeasible, to specify constraints between objects. Third, it limits the ability to independently modify either the timing constraints or the representations 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 interfaces of objects. Objects in our system are defined using a real-time variant of the Actor model. We define a high-level programming language construct called RTsynchronizer, which specifies a collection of temporal constraints between actors. Thus, our approach separates what an object 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 meta-architecture that can be used to implement RTsynchronizers.
UR - http://www.scopus.com/inward/record.url?scp=0030578258&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0030578258&partnerID=8YFLogxK
U2 - 10.1006/jpdc.1996.0086
DO - 10.1006/jpdc.1996.0086
M3 - Article
AN - SCOPUS:0030578258
SN - 0743-7315
VL - 36
SP - 4
EP - 12
JO - Journal of Parallel and Distributed Computing
JF - Journal of Parallel and Distributed Computing
IS - 1
ER -