The paper concerns methodology of organizing execution control in parallel and distributed programs based on special control infrastructure provided in the system, which monitors application global states. In such infrastructure, automatic collecting the information from parallel processes about their local states and constructing global application states can be done on-line without tedious intervention of a programmer. Global predicates can be next evaluated to examine the obtained global states and control decisions on program behaviour can be taken. Application processes can use the information about global predicate fulfillment to control their execution in a way, which is desired from a global point of view. There are many possible ways a process can access the information about the global predicate fulfillment. We discuss them in detail, dividing the described variants into two main groups: synchronous and asynchronous. We present an implementation of an asynchronous variant. Implementation of other variants, which present very interesting perspectives is also discussed.