Universal utterance machines

By Sean McGrath, ITworld.com |  Development Add a new comment

I have two words for you this bright spring morning. They are real words, but the definitions I will use for them, are not to be found in any dictionary. I have slanted the definitions to meet my specific purposes. I have done so without damaging the true meaning of the words.

I think.

Why such artifice? I am doing things this way because the two words I want to play with may not be familiar to you. If I just listed their dictionary definitions, it might cause an adverse reaction in you that I'd like to avoid. The same applies for those of you who are already familiar with the words. I fear an adverse reaction. In particular, this sort of reaction:

'Hmmm. Abstract stuff. Interesting but not my field. I integrate computer systems in a Fortune 500 company for a living. Hopefully McGrath will get back on track next week. Time to move on.'

I'm trying to keep you reading because the two words I want to play with, although not tech words today, may be tech words tomorrow. Moreover, although you may not consciously be using these words today you are using the core concepts behind these words all the time if you integrate computer systems for a living.

And so, without further procrastination, may I present my two friends: 'illocution' and 'perlocution'.

An 'illocution' happens when one computer system produces some data (an 'utterance'), be it a report, a data file, an e-mail, or a zipped archive, in order that some other system (human or machine) can interpret it.

A 'perlocution' happens when one computer system produces some data (an 'utterance') with a view to getting some other system (human or machine) to change their behavior.

When conceptualizing the way systems interact with each other, I find it very useful to separate the utterances into illocutions and perlocutions. I have yet to find an integration problem that cannot be gainfully decomposed along these lines. If you conceptualize system integration in terms of things 'talking' to each other things, then the terms tend to fit like a pair of gloves.

Some quick examples. A system keeps track of horse racing results and produces an RSS feed. Illocution or perlocution? It is an illocution because the producer of the feed does not care what, if anything, anybody does with the information. It is simply putting the information out there for anybody who might be interested.

Another system spits out an XML file describing a set of adjustments required to optimize the performance of a piece of industrial equipment. Illocution or perlocution? It is a perlocution because the producer is trying to cause a change in behaviour of some other system (the piece of industrial equipment.)

It never ceases to amaze me how much of the overall problem of hooking up computer systems can be boiled down to a set of illocutions and a set of perlocutions. Not so long ago, anybody who wished to implement a system based on this sort of analysis, faced an uphill battle. How to make illocutionary data available from one system to another? How to transmit perlocutionary data from one system to another?

Implementing systems based on illocution/perlocution analysis has become a lot easier in recent years. This is thanks to the ready availability of "Universal Utterance Machines".

You may not know them by that name however. They are also known as 'Web Browsers'.

I have two words for you this bright spring morning. They are GET and POST...[1]

http://www.manageability.org/blog/stuff/the-restfulness-of-speech-acts/view



ITworld LIVE

DevelopmentWhite Papers & Webcasts

Webcast On Demand

How to Distribute Apps to Your Mobile Workforce

When considering enterprise app deployment, you may find some unexpected challenges and a number of options that range from simple distribution to running your own enterprise market. How can you determine the best approach for your organization? MOTODEV for Enterprise can help you understand and evaluate current enterprise deployment technologies and learn best practices that support your choice.

Sponsor: Motorola Mobility

Webcast On Demand

Authentication, Certificates and VPNs

MOTODEV for Enterprise can help get you up to speed quickly on key topics such as how to enable secure access to a company intranet from outside the firewall. This webinar provides a clear explanation of terms and technologies and what they can do for your enterprise app development.

Sponsor: Motorola Mobility

Webcast On Demand

Improving Enterprise App Quality with MOTODEV App Validator

MOTODEV for Enterprise supports quality app development for businesses, government, and institutions with technical resources and tools such as the MOTODEV App Validator, a free static analysis testing tool.

Sponsor: Motorola Mobility

White Paper

HR Analytics: Driving Return on Human Capital Investments

In today's economy, it's critical for organizations to make employee retention and development a major business focus, to ensure that valuable employees are not lost as the economy improves. With advanced BI solutions, organizations can be supported by workforce analytics to drive return on human capital investment and to see the value the workforce delivers to organizational performance. This white paper demonstrates how the increased power of having metrics and analytic insight can align core HR business processes with organizational goals and strategies and help ensure organizations make the right business decisions today for tomorrow.

White Paper

Positioning the CIO as a Powerful Business Partner with IT Portfolio Governance

In this whitepaper, learn how you can become a visionary portfolio manager and transform IT into a streamlined revenue and profit center.

See more White Papers | Webcasts

Ask a question

Ask a Question