To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
In order to be able to describe processes that occur in parallel, concurrently, we introduce the merge operator ||.
The process χ || y is the process that executes processes χ and y in parallel. If we assume
that the observation of an atomic action has no duration, and that two actions cannot happenn simultaneously, then it appears that in χ || y the atomic actions of χ are merged or interleaved with those of y: every time we either see the next action of χ, or the next action of y. Thus, in a || b (a,b ∈ A) we either see a first, followed by b, or we see b first, followed by a. We obtain the following identity:
a||b = ab + ba.
This approach to the merge operator is called arbitrary interleaving or shuffle in the literature. Notice that we do not assert that the first action has terminated when the second one starts. This can depend on the implementation of a process (on a sequential or a parallel machine). We can however, if we want to, explicitly state that two actions can overlap in time: if g and h are two events having some duration, we can introduce atomic actions begin(g), end(g), begin(h) and end(h), and then we can describe process g || h by
This process has begin(g)·begin(h)·end(g)·end(h) as one of its possible execution sequences.
Note that in this theory, we cannot mention time explicitly, contrary to theories like temporal logic.
In 3.1.2 we will expand the system BPA from chapter 2 with this merge operator. In order to specify the merge in finitely many equations, we need an auxiliary operator.
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
As we argued in the previous chapter, we want to be able to abstract from certain actions, to hide them. It is important to note that it does not always work out well to simply remove steps (as what happens when we apply the operator θI; see for example exercise 4.6.7.2). This is because we want a process to behave precisely as it did before abstraction, apart from the actions abstracted from. For instance, a process having deadlock before abstraction, must still do so afterwards. As an example, consider the process a+bδ which has deadlock (see exercise 2.2.12.9), but after leaving out b by renaming it into θ, we obtain a+δ = a, which is without deadlock because of axiom A6 from BPAδ.
This is why we introduce the silent step τ, which can be removed in some cases, but in other cases it cannot. Abstraction now means renaming into τ. SO, abstracting from b in the process a+bδ, we obtain a+τδ, and in this case we cannot remove τ. We conclude that τa ≠ a (since τa+b ≠ a+b). However, abstracting from b in the process abc, we obtain aτc, and since this τ does not occur in a choice context, it can be removed: ac = ac.
COLOURED TRACES
Let us allow a new symbol τ to appear as a label. As mentioned earlier, this label τ refers to a silent step: by executing τ-steps the process proceeds but observers cannot record any visible actions.
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
Process algebra, as described in this book, has for the most part been the work of people at the Centre of Mathematics and Computer Science in Amsterdam. There, J.A. Bergstra and J.W. Klop started with the theory PA in 1982, motivated by a question of J.W. de Bakker (see [BERGSTRA & KLOP [1982]). As a general reference to their work, see BERGSTRA & KLOP [1984b], in which a fairly detailed discussion of related work can be found as well. The most extensive treatment of their work can be found in the Dutch book BAETEN [1986], which was the starting point for this book.
Compared to other concurrency theories, this work is closely related to the work on CCS. The theory of CCS is briefly discussed in the following section 8.2. The seminal work of MlLNER [1980] in which CCS was introduced, clearly sets out the goals of algebraic concurrency theory. We may see the theory of ACPτ as a remodularization of CCS. CCS has been worked out and extended in the work of HENNESSY & PLOTKIN [1980] and HENNESSY [1983]. See also HENNESSY & MlLNER [1985], GRAF & SIFAKIS [1984] and BROOKES & ROUNDS [1981]. MILNE [1982] has the so-called ‘dot calculus’, with · as parallel composition, prefix multiplication, two operators for alternative composition (internal and external choice) and, in contrast with Milner, n-ary communication.
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
J. C. M. Baeten, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam,W. P. Weijland, Stichting Centrum voor Wiskunde en Informatica (CWI), Amsterdam
A central issue in concurrency theory is that of modelling communication. The method that we present here yields synchronous communication. That is, the occurrence of communication between two processes is the result of the simultaneous performance of corresponding actions. For instance, one process may perform a send action, whereas the other performs a receive action, and if these actions take place simultaneously the result is a communicate action. Later on, we will also consider examples of asynchronous communication in process algebra.
In synchronous communication, every communication action has two parts. This can be enoted as follows: suppose an atomic action comm(5) represents the communication between send(5) and receive(5), then we write
γ(send(5), receive(5)) = comm(5).
If two actions do not communicate, then their communication is not defined. For example:
γ(send(5), receive(6)) is not defined.
This will be formalized in the next paragraph.
DEFINITION
Let A be the set of atomic actions. A communication function on A is a partial binary function γ on A satisfying the following conditions:
for every a,b∈ A: γ(a,b) = γ(b,a), that is, communication is commutative;
for every a,b,c∈ A: γ(γ(a,b),c) = γ(aγ(b,C)): communication is associative.
When we write such an equation for a partial function, we also imply that one side of the equation is defined exactly when the other side is. Also, γ is not defined when one of its arguments is not defined or is not in A.
The preceding chapter presented the basic difficulties associated with producing semantic representations of sentences in context. This chapter surveys several well-known natural language processors, concentrating on their efforts at overcoming these particular difficulties. The processors use different styles of semantic representation as well as different methods for producing the chosen semantic representation from the syntactic parse. Ideally, clearly defined methods of producing semantic representations should be based on a linguistic theory of semantic analysis; a theory about the relationships between the given syntactic and semantic representations, and not just on the particular style of semantic representation. Computational linguistics has a unique contribution to make to the study of linguistics, in that it offers the opportunity of realizing the processes that must underlie the theories. Unfortunately, it seems to be the case that those systems that adhere most closely to a particular linguistic theory have the least clearly defined processing methods, and vice versa.
Another important aspect to examine is whether or not any of the methods make significant use of procedural representations. An important contribution hoped for from computational linguistics is an understanding of procedural semantics as “a paradigm or a framework for developing and expressing theories of meaning” [Woods, 1981, p. 302]. It is argued that adding procedures to a framework should greatly enrich its expressive power [Wilks, 1982]. In spite of the intuitive appeal of this argument, much work remains to be done before the benefits can be convincingly demonstrated.
A primary problem in the area of natural language processing is the problem of semantic analysis. This involves both formalizing the general and domain-dependent semantic information relevant to the task involved, and developing a uniform method for access to that information. Natural language interfaces are generally also required to have access to the syntactic analysis of a sentence as well as knowledge of the prior discourse to produce a detailed semantic representation adequate for the task.
Previous approaches to semantic analysis, specifically those which can be described as using templates, use several levels of representation to go from the syntactic parse level to the desired semantic representation. The different levels are largely motivated by the need to preserve context-sensitive constraints on the mappings of syntactic constituents to verb arguments. An alternative to the template approach, inference-driven mapping, is presented here, which goes directly from the syntactic parse to a detailed semantic representation without requiring the same intermediate levels of representation. This is accomplished by defining a grammar for the set of mappings represented by the templates. The grammar rules can be applied to generate, for a given syntactic parse, just that set of mappings that corresponds to the template for the parse. This avoids the necessity of having to represent all possible templates explicitly. The context-sensitive constraints on mappings to verb arguments that templates preserved are now preserved by filters on the application of the grammar rules.
This chapter presents the semantic processor that performs the semantic role assignments at the same time as it is decomposing the verb representation. Chapter 3 has described how semantic roles are defined as arguments to the semantic predicates that appear in the lexical entries. These arguments are instantiated as the lexical entries are interpreted. A possible instantiation of a predicate-argument is the referent of a syntactic constituent of the appropriate syntactic and semantic type. The syntactic constituent instantiations correspond to the desired mappings of syntactic constituents onto semantic roles. Other instantiations can be made using pragmatic information to deduce appropriate fillers from previous knowledge about other syntactic constituents or from general world knowledge.
These tasks are performed by interpreting the lexical entries procedurally similarly to the way that Prolog interprets Horn clauses procedurally [Kowalski, 1979]. The lexical entries are in fact Horn clauses, and the predicate-arguments that correspond to the semantic roles are terms that consist of function symbols with one argument. The procedural interpretation drives the application of the lexical entries, and allows the function symbols to be “evaluated” as a means of instantiating the arguments. The predicate environments associated with the mapping constraints correspond to states that may or may not occur during the procedural interpretation of the entries. Thus the same argument can be constrained differently depending on the state the verb interpretation is in. The state can vary according to instantiations of arguments or by the predicates included in the predicate decomposition.
Two pulleys of weights 12 lb and 8 lb are connected by a fine string hanging over a smooth fixed pulley. Over the former is hung a fine string with weights 3 lb and 6 lb at its ends, and over the latter a fine string with weights 4 lb and x lb. Find x so that the string over the fixed pulley remains stationary, and find the tension in it.
2. (Part of Humphrey, p. 75, nos. 566)
A mass of 9 lb resting on a smooth horizontal table is connected by a light string, passing over a smooth pulley at the edge of the table to a mass of 7 lb hanging freely. Find the common acceleration, the tension in the string and the pressure on the pulley.
3. Two particles of mass B and C are connected by a light string passing over a smooth pulley. Find their common acceleration.
4. Particles of mass 3 and 6 lb are connected by a light string passing over a smooth weightless pulley; this pulley is suspended from a smooth weightless pulley and offset by a particle of mass 8 lb. Find the acceleration of each particle.
5. A man of 12 stone and a weight of 10 stone are connected by a light rope passing over a pulley. Find the acceleration of the man. If the man pulls himself up the rope so that his acceleration is one half its former value, what is the upward acceleration of the weight?
This chapter presents the formalization of the pulley domain. In this domain, the entities involved tend to be simple solid entities like particles and strings, while the relationships between them include notions of support, contact, or motion of some form. Section 3.2 describes the formalization of the pulley world in terms of the types of entities and their properties. The relationships are used for the decompositions of the verbs which are described in section 3.3 where the lexical entries of the verbs are listed. Each verb is subcategorized in terms of the primary relationship involved in the decomposition. The semantic roles are arguments of these relationships. The lexical entries include the decompositions of these primary relationships. Section 3.5 introduces the mapping constraints for assigning syntactic constituents to semantic roles. Examples demonstrate how the syntactic cues can be used with predicate environments to preserve the same semantic role interdependences that are preserved by templates. The last section describes the semantic constraints used in conjunction with the mapping constraints to test that the referent of a syntactic constituent is of the correct semantic type. The last category of constraints described, the pragmatic constraints, are used by inference-driven mapping to fill semantic roles that do not have mappings to syntactic constituents. Chapter 4 describes how inference-driven mapping interprets the lexical entries procedurally to drive the semantic analysis of paragraphs of text.