BPEL and the “Generative Wars” of the Last Century: A Cautionary Tale
Although Noam Chomsky is now known mainly as a political persona, there was a time (pre-Vietnam) when he was better known as one of the people who laid the formal language-theoretic groundwork for the notion of “compiler” as we still know it today (e.g. ask yourself why ABAP requires spaces between “words”.) The story of what happened to his concept of “transformational-generative grammar” contains a cautionary tale for those attempting to express “business semantics” in BPEL. Here’s the story. The Story. From 1956 to 1969, Chomsky’s theory of “transformational-generative grammar” (TGG) was the standard model for research into natural languages (e.g. English, German, Hindi, Farsi), and the “context-free” component of this theory provided the standard model for construction of any “syntax-directed” programming language (i.e. any compiled language Lp whose compiler checked your code for well-formed statements according to a context-free grammar of Lp.) In the version of TGG promulgated before 1969, “meaning” was supposed to be a function of “Deep Structure”, e.g. if two “Surface Structure” sentences mapped to the same “Deep Structure”, then they had to have the same meaning. Around 1969, folks began to point out that this model of semantics was inadequate, and hence the field of “Generative Semantics” (GS) was born. But although the Generative Semanticists did have valid criticisms of Chomsky’s original TGG model when it came to semantics, the stuff they developed to remedy the inadequacies of TGG was just terrible (perhaps because their research may have been done after they had licked their pinkies once too often, if you know what I mean.) Nonetheless, the GS onslaught against TGG fundamentally altered Chomsky’s own thinking on natural language, and in some people’s opinion (e.g. mine), not for the good. Although Chomskyan linguistics still contains some remnants of what was good in his original theory of TGG, these remnants have been overlaid with all kinds of mechanisms which have no basis in formal language theory, but are merely there to try and catch the elusive butterfly of meaning. (Wasn’t that a TERRRIBLE song?) Here’s the Cautionary Tale. The Cautionary Tale. Assume that: 1) BPEL is capable of encapsulating the semantics of business functions – any piece of BPEL declares a “meaning” or ‘intent” (we can take “meaning” as synonomous with “intent” for the sake of this discussion.) and that: 2) any language such as ABAP or JAVA is capable of encapsulating the syntax of business functions – any piece of code in such a language declares how “intents” are to be achieved. (This kind of makes sense, because you can automate any business function in a variety of different programming languages, just as you can express any thought (pretty much) in any natural language such as English, German, Hindi, Farsi.) OK – then under these two reasonable assumptions, where is the empirical justification for the assumption that you can separate out the semantics of business functions from their syntax? This doesn’t happen in natural language – none of us can express a thought in our native language “L” without wrapping the syntax of L around this thought. Furthermore, the failure of GS and Chomsky to develop a language-neutral model of “meaning” indicates that it may not be possible IN PRACTICE to separate natural language syntax from natural language semantics. And if so, why should we assume that the syntax and semantics of business functions are separable ???