Putting that aside, the actual implementation of Maude
(exclusive of the C++ nonsense) closely resembles that I have
proposed for SL/I in terms of a universal specification
language based on logic programming (declarative) and a
interpretive tool based on that language. While "their"
approach is more academic in terms of syntax and semantics,
i.e. terminology, it is remarkably similar in intent.
That brings us to the issue of reflection, the ability of
software to exhibit "awareness" and through that
"awareness" a process (meta-programming) to modify its
behavior. Of course, no software regardless of claims by its
authors exhibits "awareness". That implies cognizance which
in turn implies intelligence. Therein exuberance crosses the
line dividing fact from fantasy.
No software author, no matter how intelligent, has ever
transferred that which allows him to write the logic into the
logic itself such that it can continue the process on its own,
i.e. logic other than that allowed by the author. Software
authors reference the ability of both LISP and FORTH to
operate on their own code as data, thus modifying their own
execution. Then they imagine, in fact postulate, that they can
imbue the software with logic they write such that the this
logic can somehow transcend itself into a world of authoring
on its own.
Rest assured it cannot, does not, and will not...at least on a
von Neumann architected system.
We can't make software intelligent, artificial or otherwise.
For that reason "artificial intelligence" is not only a misnomer,
but misleading: it leads both the casual reader and the
technical practitioner astray. It takes them from the vast
range of the possible into the never-never land of the
impossible.
Software "reflection" represents the ability of the logic
written in the software itself to recognize and modify its
behavior, allowing it to adapt to the dynamics of its execution.
The key here lies in the "logic written" to recognize
something out of the ordinary, i.e. an exception condition, and
the "logic written" to bring it back. No software can on its
own do either. That says that expanding the realm of
reflection means greater sophistication in writing the logic
that does both.
Now if you do this with an interpretive tool (as is the case
with both LISP and FORTH) in which the source is implemented
in list format (as is the case with both LISP and FORTH, you
can manipulate the contents, thus changing a future execution
when accessing at a modified link. But when, where, and
what gets modified may be in the software, but it is put there
by a human author. No sophistication will occur in the
software except as it occurs, i.e. "reflected", in the author(s).
We may eventually get software to assume all our clerical
tasks, leaving us with the only the creative ones. We will not
get there putting that clerical logic in place.
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
Return to [ 04 |
June |
2003 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.