Many parallel and distributed programming models are based on some for
m of shared objects, which may be represented in various ways (e.g., s
ingle-copy, replicated, and partitioned objects). Also, many different
operation execution strategies have been designed for each representa
tion. In programming systems that use multiple representations integra
ted in a single object model, one way to provide multiple execution st
rategies is to implement each strategy independently from the others.
However, this leads to rigid systems and provides little opportunity f
or code reuse. Instead, we propose a flexible operation execution mode
l that allows the implementation of many different strategies, which c
an even be changed at runtime. We present the model and a distributed
implementation of it. Also, we describe how various execution strategi
es can be expressed using the model. and we look at applications that
benefit from its flexibility.