The Deal Was
We used to think of a program
as something we 1) wrote, 2) ran locally and then 3) collected results
for communicating to others after the fact. Then the web came along
with powerful search engines, electronic funds transfer, remote computing
and telecollaboration. With the advent of Java the possibility
of running utility programs on remote servers arose. Simple applets
blossomed everywhere.
The Deal Is
Now consider a meta level
of programming. Where each line in a "program" is actually a request
to a different server for a different kind of service. The ensemble
of services provided by each of the servers constitutes a meta level of
program organization. Programming the web as it were. This
will require new constructs so that programmers do not have to look at
lines like:
http://search.excite.com/search.gw?trace=a&search=fasteners+AND+%22corrosion+resistant%22
+AND+%28%22ISO%22+OR+%22Metric%22%29+AND+manufacturers
which is really just the Excite
search:
fasteners AND "corrosion resistant"
AND ("ISO" OR "Metric") AND manufacturers
to create a list of fastener
suppliers.
The Deal Will Be
Let's say you were in the
prototyping business. As a part of the prototyping task you would
need nuts and bolts in a set of standard sizes and styles (style includes
material).
==============================================================
// Simple Metagram
// Assumption
// The variables:
//
fastenerOrder fastenerSupplierList, deadlineElapsedTime, quality, reputation
are defined.
//
for each supplier in fastenerSupplierList
send message
( Dear
[supplier] \n,
please
send me a list of your products in metagram format, tnx [salutation]
);
fastenerAnswers = getMessage(fastenerSupplierList, deadlineElapsedTime);
fastenerAnswersPrime = diff(fastenerAnswers.productList, fastenerOrder); // see if they've got it.
fastenerAnswersDoublePrime = sort(fastenerAnswersPrime, price, quality, reputation);
if(fastenerAnswerDoublePrime[0].price
< budgetForFasteners)
send message
( dear
[fastenerAnswerDoublePrime[0].from] \n,
please
deliver the following products
[fastenerOrder]
[eAccountAuthorizationNumber]
tnx [salutation]
);
==============================================================
Anyway, you get the idea...
Wrapup
Putting a human in the loop
for pattern recognition and decision making would be just another, "subroutine
call". First we had, "The Paperless Office". Now we have, "The
Officeless Office".
You can contact moi by clicking on the name at the top of this page.