| T. Bloom. Evaluating synchronisation mechanisms. In Proceedings of the Seventh ACM Symposium on Operating System Principles, pages 24--32, Pacific Grove, 1979. |
....the child begins execution. Inheritance anomalies in Ada 95 with extended protected types can still occur, though. As [7] argue, the root cause of inheritance anomalies lies in a lack of expressive power of concurrent object oriented programming languages: if not all five criteria identified by [1] are fulfiled, inheritance anomalies may occur. Ada 95 satisfies only three of these criteria; synchronization based on history information cannot be expressed directly using entry barriers (local state must instead be used to record execution history) and synchronization based on request ....
T. Bloom. Evaluating synchronisation mechanisms. In Proceedings of the Seventh ACM Symposium on Operating System Principles, pages 24--32, Pacific Grove, 1979.
....is really about one thing: can the guard depend on dynamic state that forms part of the invocation. Invocation state includes things such as the nature of the message, the parameters of the message and information concerning the sender of the message sometimes referred to as Bloom s criteria [Blo79]. The nature of the message is generally static the message will invoke a specific method known at compile time whilst parameter values and sender information are dynamic and only known at run time. 21 For example, suppose a bounded buffer has a put( method which takes a list of items ....
....Synchronisation Client side synchronisation has some obvious disadvantages. Firstly, it is ad hoc. If any of the client activities do something wrong then the shared data can become invalid and the whole program can be corrupted. Secondly, it presents maintenance problems, as Bloom points out [Blo79], if the synchronisation needs to be changed in some way then all clients must be found and changed. Additionally, if a new client will use the shared object we must ensure that it knows about and uses the correct protocol. There are benefits to client side synchronisation, however, that are ....
[Article contains additional citation context not shown here]
Bloom T., "Evaluating Synchronisation Mechanisms", Seventh International Symposium on Operating Systems Principles, pp24-32, 1979
....is really about one thing: can the guard depend on dynamic state that forms part of the invocation. Invocation state includes things such as the nature of the message, the parameters of the message and information concerning the sender of the message sometimes referred to as Bloom s criteria [Blo79]. The nature of the message is generally static the message will invoke a specific method known at compile time whilst parameter values and sender information are dynamic and only known at run time. 21 For example, suppose a bounded buffer has a put( method which takes a list of items ....
....Synchronisation Client side synchronisation has some obvious disadvantages. Firstly, it is ad hoc. If any of the client activities do something wrong then the shared data can become invalid and the whole program can be corrupted. Secondly, it presents maintenance problems, as Bloom points out [Blo79], if the synchronisation needs to be changed in some way then all clients must be found and changed. Additionally, if a new client will use the shared object we must ensure that it knows about and uses the correct protocol. There are benefits to client side synchronisation, however, that are ....
[Article contains additional citation context not shown here]
Bloom T., "Evaluating Synchronisation Mechanisms", Seventh International Symposium on Operating Systems Principles, pp24-32, 1979
....is processed first, as it is considered fair. Sometimes though we have specific priorities assigned to different message senders, in which case a priority ordering is more appropriate. In theory scheduling constraints can be arbitrary and based on a range of different criteria. Bloom s criteria [Blo79] include such things as the sender of the message, the time the message was sent received, the nature of the message and the parameters to the message. The ability to define a variety of scheduling constraints has been used by some as a measure of the expressiveness of a concurrent object oriented ....
....be possible to request a different response for each of the primary aspects of synchronisation involved. 5. 5 Scheduling Our requirements for scheduling are also quite simple: Expression of such scheduling constraints should allow for all the types of information described by Bloom s criteria [Blo79] . Scheduling constraints should be specifiable on either a per class or per instance basis. 24 . When scheduling constraints get quite complex a derived class may only desire to override part of the scheduling constraint. It should thus be possible to establish different scheduling constraints ....
Bloom T., "Evaluating Synchronisation Mechanisms", Seventh International Symposium on Operating Systems Principles, pp24-32, 1979
....Inheritance anomalies in Ada 95 with extended protected types can still occur, though. As (Mitchell and Wellings, 1996) argue, the root cause of inheritance anomalies lies in a lack of expressive power of concurrent object oriented programming languages: if not all five criteria identified by (Bloom, 1979) are fulfilled, inheritance anomalies may occur. Ada 95 satisfies only three of these criteria; synchronization based on history information cannot be expressed directly using entry barriers (local state must instead be used to record execution history) and synchronization based on request ....
Bloom, T. (1979). Evaluating synchronisation mechanisms, Proceedings of the Seventh ACM Symposium on Operating System Principles, Pacific Grove, pp. 24--32.
....model. Often, efficiency of implementation or the presence of formal semantics have been used to justify the adoption of a particular model. The work of Bloom is a notable exception; in 1979 Bloom developed several criteria for evaluating the expressive power of synchronisation primitives (Bloom, 1979). In recent years there has been a growing interest in concurrent object oriented programming languages. This in turn has resulted in more new models of process creation, process synchronisation and process communication. Unfortunately, the early work of Bloom seems to have been forgotten, and ....
....are directly attributed to the failure to consider certain classes of Bloom s constraints on synchronisation. We then present a concurrency model for object oriented languages and evaluate it using Blooms criteria. 2 Bloom s Criteria In this section we briefly survey the criteria published by Bloom (1979) for the evaluation of synchronisation mechanisms. We also relate these to an object model which involves method invocation as a result of message receipt. Bloom suggested that the applications programmer needs to be able to express the synchronisation between processes according to various ....
Bloom, T. (1979). Evaluating Synchronisation Mechanisms, Proceedings of the Seventh Symposium on OS Principles, pp. 24--32.
....when a declarative mechanism has insufficient power to express a synchronisation policy directly. 1 Authors address: Department of Computer Science, Trinity College, Dublin 2, Ireland. Tel: 353 1 7021539 Email: fcjmchale,bwalsh,baker,donnellyg cs.tcd.ie 2 This term was coined by Bloom [6]. Our approach is to increase the power of declarative mechanisms so that they can easily solve a wider range of synchronisation policies: in particular, policies which schedule as well as synchronise requests. This report takes a step in this direction by presenting the concept of scheduling ....
.... This has several advantages over entry guards seeing the most up to date value: ffl If entry guards saw the most up to date value of parameters then this would reduce the separation between the implementation of operations and the synchronisation over them, thus breaking one of Bloom s [6] modularity requirements. 8 This relationship between synchronisation counters and scheduling predicate verbs is defined in Section 7.1. 9 Like the exec counter, the executing verb is redundant in the single threaded, active object model. 10 Some other languages, such as Ada, do not allow ....
[Article contains additional citation context not shown here]
Toby Bloom. Evaluating Synchronisation Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24--32, 1979.
....by several processes. Some mechanism must be used to protect the object in the face of concurrent access otherwise its data might become inconsistent. Encapsulation requires that the code to protect an object should be placed within the object itself rather than be spread out among its clients [Blo79] We refer to this code as synchronisation code. It is believed that access to the instance variables of an object by its synchronisation code is needed in order to implement many synchronisation policies [Blo79] This introduces an obvious difficulty. The synchronisation code must not read an ....
....be placed within the object itself rather than be spread out among its clients [Blo79] We refer to this code as synchronisation code. It is believed that access to the instance variables of an object by its synchronisation code is needed in order to implement many synchronisation policies [Blo79] This introduces an obvious difficulty. The synchronisation code must not read an instance variable while that variable is being updated by an operation, otherwise the synchronisation code might see the variable in an inconsistent state. Distributed Systems Group, Department of Computer ....
[Article contains additional citation context not shown here]
Toby Bloom. Evaluating Synchronisation Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24--32, 1979.
....local to a thread of control) so that synchronisation overhead can be avoided. Specifying Requirements for a Synchronisation scheme In addition to the four concurrent forms identified by Booch, a comprehensive set of criteria for the evaluation of synchronisation constraints was developed in (Bloom, 1979). In this section these criteria will be discussed with reference to the object paradigm which involves method invocation as a result of message receipt. Bloom suggested that the applications programmer needs to be able to express the synchronisation between processes according to various ....
....The above problems of potentially poor performance and missed changes to local state can be improved somewhat it will be shown in later chapters how the TAO model and implementation avoids these particular problems. 2.3. 6 Path Expressions Path expressions (Campbell and Habermann, 1974; Bloom, 1979; Andrews and Schneider, 1983) express synchronisation by expressing the order in which sequences of operations can occur. The system described by Bloom in (Bloom, 1979) allows the following relationships : ffl Concurrency operations are enclosed in braces: a ; b . ffl Selection ....
[Article contains additional citation context not shown here]
Bloom, T. (1979). Evaluating Synchronisation Mechanisms, Proceedings of the Seventh Symposium on OS Principles, pp. 24--32.
....the topic of synchronisation in concurrent, object oriented languages (COOPLs) and makes contributions in three areas. The Sos paradigm. This thesis introduces the Sos paradigm for the design of synchronisation mechanisms. This paradigm offers several important benefits. In particular: ffl Bloom [Blo79] argues that for a synchronisation mechanism to have good expressive power, it must have access to six different types of information: the name of the invoked operation, parameters, instance variables, the relative arrival time of invocations, the current synchronisation state of the object and ....
....operations then a multiple readers single writer (usually abbreviated to readers writer ) policy might be used. Generally, the code that implements a synchronisation policy is written inside a class, rather than being spread out among all the clients of that class, which aids modularity [Blo79] and robustness. We now move on to give an overview of several different synchronisation mechanisms, starting with those mechanisms that are based on synchronisation counters. 1.3 Synchronisation Mechanisms Based on Counters Synchronisation counters were independently developed by Robert and ....
[Article contains additional citation context not shown here]
Toby Bloom. Evaluating Synchronisation Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24--32, 1979.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC