| A. Burns and A. Wellings "Concurrency in Ada" chapter 13, pages 318-325. Cambridge University Press, 1995. |
....measure and monitor the system itself according to some requirements, and pass run time information about the system s behavior to the outside world of the system. 1. Introduction Concurrent systems, i.e. parallel and or distributed computing systems, are becoming more and more widely used [1, 2]. Therefore, modern society is more and more dependent on concurrent systems, and, of course, dependent on the reliable functioning of the systems. Since a breakdown of a concurrent system running worldwide may be disastrous to our lives, how to design, develop, and maintain large scale, ....
A. Burns and A. Wellings, "Concurrency in Ada," Cambridge University Press, 1995.
....languages and systems. 2. 1 Concurrent Processes, Communication and Synchronisation In the general literature concurrency is often considered to be the potential for many activities to happen at the same time, whilst parallelism is the actual occurrence of many activities at the same time [Bur95] there is no consensus on this definition, however, and the two are often used interchangeably. On the other hand, concurrent programming is widely accepted as dealing with the communication and coordination issues that arise between both concurrent and parallel activities, whilst parallel ....
....data variable, one of the writes may be lost. Synchronisation is the term we use for controlling the potential interactions of concurrent activities to prevent undesirable interactions. Synchronisation has been generally classified in two forms: mutual exclusion and condition synchronisation [And91, Bur95, Sch97]. The former is a concern only with communication via shared memory, whilst the latter is independent of the form of communication. A third form of synchronisation, that we term coordination, applies both exclusion and condition synchronisation to allow for atomic sequences of actions involving ....
[Article contains additional citation context not shown here]
Burns A. and Wellings A., "Concurrency in Ada", Cambridge University Press, ISBN 0-521-41471-7, 1995
....and need to be synchronized to serve a common goal. Three synchronized to serve a common goal. Three basic methods by which objects in a basic methods by which objects in a concurrent environment can be constructed concurrent environment can be constructed and synchronized have been identified [1]. and synchronized have been identified [1] To formalize the semantics of these methods To formalize the semantics of these methods and to provide a formal model of their core and to provide a formal model of their core behavior, we provide some graphic models behavior, we provide some graphic ....
....goal. Three synchronized to serve a common goal. Three basic methods by which objects in a basic methods by which objects in a concurrent environment can be constructed concurrent environment can be constructed and synchronized have been identified [1] and synchronized have been identified [1]. To formalize the semantics of these methods To formalize the semantics of these methods and to provide a formal model of their core and to provide a formal model of their core behavior, we provide some graphic models behavior, we provide some graphic models based on the based on the Petri net ....
[Article contains additional citation context not shown here]
A. Burns and A. Wellings, Concurrency in Ada, Cambridge Press, 1995.
....used for the protected object model in Section 3.2.2. 7 Usually, a client becomes queued when it is waiting for service at a particular entry. However the queuing order, such as FIFO or priority queuing, depends on the Ada implementation and whether or not the Ada 95 real time annex is being used [17]. To create implementation independent models, and to preserve simple interfaces needed to ensure compositionality, we do not explicitly model entry queues. This means that our models assume that any potential entry call could end up as the first call in the queue. This is quite reasonable for ....
....stage of interest. 3.2 Advanced Tasking Constructs and Models 3.2 Advanced Tasking Constructs and Models We can now discuss the various models that we developed for the tasking constructs in Ada 95 that are extensions to the Ada 83 standard. These changes in the Ada definition are elaborated in [16,17]. All of the models developed here are subjected to some correctness evaluation using Petri net invariant calculations. We will show how these evaluations help ensure confidence that the models correctly capture the intended behaviors. 3.2.1 Asynchronous Transfer of Control 3.2.1 Asynchronous ....
[Article contains additional citation context not shown here]
A. Burns and A. Wellings, Concurrency in Ada, Cambridge Press, 1995. 27 Client Server
....languages and systems. 2. 1 Concurrent Processes, Communication and Synchronisation In the general literature concurrency is often considered to be the potential for many activities to happen at the same time, whilst parallelism is the actual occurrence of many activities at the same time [Bur95] there is no consensus on this definition, however, and the two are often used interchangeably. On the other hand, concurrent programming is widely accepted as dealing with the communication and coordination issues that arise between both concurrent and parallel activities, whilst parallel ....
....data variable, one of the writes may be lost. Synchronisation is the term we use for controlling the potential interactions of concurrent activities to prevent undesirable interactions. Synchronisation has been generally classified in two forms: mutual exclusion and condition synchronisation [And91, Bur95, Sch97]. The former is a concern only with communication via shared memory, whilst the latter is independent of the form of communication. A third form of synchronisation, that we term coordination, applies both exclusion and condition synchronisation to allow for atomic sequences of actions involving ....
Burns A. and Wellings A., "Concurrency in Ada", Cambridge University Press, ISBN 0-521-41471-7, 1995
....considered in this paper are performed by calls on entries and protected subprograms, and therefore, no unprotected shared variables are considered here. In order for tasks to synchronize and communicate with each other, Ada defines various types of synchronization waiting relations between tasks [2, 5, 13]. The following synchronization waiting relations concern dependence analysis as well as tasking deadlocks: 1) Activation waiting: A task that created some new tasks and initiated their activations in its own body or the body of a block statement executed by it or a subprogram, which may be ....
A. Burns and A. Wellings, "Concurrency in Ada," Cambridge University Press, 1995.
....for eliminating server tasks. Finally, measurements for a number of applications with rendezvous are given and compared with semantically equivalent translations into protected objects. 2 Related Work Discussions of protected objects can be found in the Ada 95 Rationale [9] and Ada textbooks [4, 5]. Performance considerations are mentioned but no quantitative analysis is presented and no translation schemes are offered. Prior to the availability of Ada 95, a study by Ledru gave a translation scheme for expressing protected types in terms of Ada 83 enhanced by operating system level ....
A. Burns and A. Wellings. Concurrency in Ada. Cambridge Press, 1995.
....for the other processes. Although no time is wasted in pre emptive schemes, the features required for interrupting processes are not readily available in many languages and systems. Even when they are, they are usually very expensive to implement (e.g. asynchronous transfer of control in Ada 95 (Burns and Wellings 1995) ) Moreover, they usually have complex semantics; it is more difficult to analyse, to understand and to verify programs which use these features. In addition, restrictions are often imposed on the program segment that can be interrupted asynchronously (e.g. Ada 95 tasks cannot accept messages ....
....the action end, or find an error. There are several practical reasons why the action controller is not an object of a class in our scheme: i) calling the methods of such objects is a complicated task in distributed Ada 95 systems, and we would like to keep our presentation clear and simple (see (Burns and Wellings 1995) for a thorough discussion of this problem) ii) it is essentially application dependent (because the resolution tree and the type of the action exception are application dependent) iii) there is no need for it to be extended or for its methods to be overridden. Ada 95 has only local (sequential) ....
Burns, A. and Wellings, A. (1995). Concurrency in Ada, Cambridge University Press.
....Ada 95. This paper extends and unifies the approaches described in (Kiddle and Wellings, 1998) and (Michell and Lundqvist, 1999) 1 Introduction Arguably, Ada 95 does not fully integrate its models of concurrent and objectoriented programming (Atkinson and Weller, 1993; Wellings et al. 1996; Burns and Wellings, 1998). For example, neither tasks nor protected objects are extensible. When Ada 95 was designed, the extensions to Ada 83 for object oriented programming were, for the most part, considered separate to extensions to the concurrency model. Although some consideration was given to abandoning protected ....
....there is some level of integration between tagged types and tasks and protected objects. Tagged types after all are just part of the typing mechanism and therefore can be used by protected types and tasks types in the same way as other types. Indeed paradigms for their use have been developed (see (Burns and Wellings, 1998) chapter 13) However, these approaches cannot get around the basic limitation that protected types and task types cannot be extended. 4 Making Concurrent Programming in Ada 95 more Object Oriented Now that the dust is beginning to settle around the Ada 95 standard, it is important to begin to ....
[Article contains additional citation context not shown here]
Burns, A. and Wellings, A. J. (1998). Concurrency in Ada, second edn, Cambridge University Press.
....we show two examples of extensible protected types and draw conclusions. Keywords: concurrent object oriented programming, Ada 95. 1 Introduction Arguably, Ada 95 does not fully integrate its models of concurrency and objectoriented programming (Atkinson and Weller, 1993; Wellings et al. 1996; Burns and Wellings, 1998). For example, neither tasks nor protected objects are extensible. It is easy to argue that tasks are active components and, therefore, very different from Ada s tagged records. However, protected types would appear to be very similar to tagged types; at one level they simply require all their ....
....precedes the period. If it could be a protected object or an instance of a protected type then the call could be mis interpreted as an external call: the Ada Reference Manual (Intermetrics, 1995) distinguishes between external and internal calls by the use, or not, of the full protected object name(Burns and Wellings, 1998). The call would then be a bounded error. 5 Implementing Extensible Protected Types In general, there are two possible implementation strategies: 1. modify an Ada 95 compiler and run time system 2. write a translator from Ada EPT to Ada 95 Although, the GNAT is freely available in source form, ....
[Article contains additional citation context not shown here]
Burns, A. and Wellings, A. J. (1998). Concurrency in Ada, second edn, Cambridge University Press.
....code can be associated with objects. Packages and exceptions were available in Ada 83 and, therefore, will not be discussed further. However, protected objects, ATC, tagged types and controlled types are new and will be briefly described. For a full discussion on these aspects of Ada 95 see Burns and Wellings (1995). 4.1 Protected Objects A protected object in Ada 95 is similar in concept to a conditional critical region(Hoare, 1972) Brinch Hansen, 1972) and a monitor(Hoare, 1974) BrinchHansen, 1973) Data which is to accessed in mutual exclusion is encapsulated in a protected object. This data can only be ....
....(separately compiled library packages or subprograms) that collectively may execute in a distributed target execution environment. It is this inability to declare partition types which is the main limitation of the Ada model; for example, arrays of partitions are not expressible within the language(Burns and Wellings, 1995). Each partition resides at a single execution site where all its library units occupy the same logical address space. More than one partition may, however, reside on the same execution site. Partitions may be either active or passive. The library units comprising an active partition reside and ....
[Article contains additional citation context not shown here]
Burns, A. and Wellings, A. (1995). Concurrency in Ada, Cambridge University Press.
No context found.
A. Burns and A. Wellings "Concurrency in Ada" chapter 13, pages 318-325. Cambridge University Press, 1995.
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