TROST: Open-System Trustworthiness

i051101 TROST InfoNote
 The Working of Computation
[rough notes]

TROSTing>info>
2005>11>

i051101c>
0.02 2017-07-01 -07:36 -0700


Placeholder Status

This page is a placeholder for material which is yet to be incorporated.  Considerable time has passed since the diagram, below, was created as a way to characterize the working of the human computer.  There is newer thinking.  This page will be preserved for historical reasons and the current thinking placed on a new page.

3.3 Fitting In the Computer

{Author Note: This is the basic diagram removed from the completed version of "What Computers Know."  I an going to recreate it, with improvements, in small steps so that the building-up to the working computer is unfolded in a simple progression.}

Figure 4.  What It Is, What It Is For (seriously-abstracted)

Fig.3: What It Is, What It Is For

 

In this characterization, the only "meaning" to the computation, in the context of the computer, is simply what it does.  Not what it's for.  Here the computer is a pure "doer," a machine.

We are now close to being able to consider what a computer knows.  We'll look at what a computer (program) can't know, and we will

The digital-human need have no concern for, nor even knowledge of, the intended purpose served by the calculation in order to carry it out.  Let's look at that.  The digital-human, under the conditions described, has no basis for inferring what the procedure is for.

5. Things to Notice, Things to Ponder

{AuthorNote: Don't know if I'll bother with this here, in the first published version.  Might add it as a separate commentary page too.}

Could we put layers on top of layers and

The simplifications made for focus and to have the illustrations stand out. 

Almost-arithmetic. 

Could something else emerge.  Perhaps. 

But for now, it is not clear how a computer complex will have enough presence and awareness at the scale of human existence, to interact with the world as something experienced.

Until that interesting event, let's stick with the notion that computers will continue to be instructed by programs in machine language and that these programs, at no matter how many levels of remove, are written by people in a way that what the computer does and what the program is serves a human purpose that is external to and afforded with that.

 

6. Resources and References

{Author Note: Distill these down to only what is needed for here, without the anecdotal stuff, which belongs elsewhere.  Some of this goes with what programmers know and is not needed here.}

Bratman, Harvey (1961).
An Alternate Form of the "UNCOL Diagram."  Comm. ACM 4, 3 (March 1961), 142.  Available at <http://doi.acm.org/10.1145/366199.366249>.  A more-extensive formalization was later developed in (Early & Sturgis 1970).
     The search for a Universal Computer Oriented Language (UNCOL) began in 1958 as a way to reduce the complexity of migrating programming languages onto different machines (Strong, et.al.).  Thus began the long and circuitous march of programming-system technology toward formulation of .NET, the Common Language Infrastructure, and its Common Intermediate Language (CIL).   I omit Java from the apostolic succession here for the simple reason that the UNCOL effort rejected the idea of one programming language for all machines as a viable solution.
     Harvey Bratman provided a brilliant diagramming technique for characterizing the creation of programs using computers followed by subsequent execution of those programs to create further programs, and so on.  This was of immeasurable value in being able to grasp and visualize all of the moving parts and the conditions that have to be preserved in bootstrapping implementations of programming languages atop others and across platforms.  The diagrams provide serious purchase on what, in using UML (OMG 2005, Chapter 10), are hinted at by "execution architecture" and "deployment," and that is part of my motivation for reincarnating the Bratman diagram here.
     Although I have gleefully used Bratman diagrams over the years, something has nagged at me almost from the moment that the article appeared.  I'm bothered by the failure to distinguish between: (1) the function that is achieved versus the procedure that is followed, (2) procedures and the expressions of them, and (3) expressions of procedures versus the mechanical behavior that realizes conduct of the procedures.  Although those confusions might be thought harmless, I am concerned that we have missed something essential by not teasing apart the distinct concepts.  The current appraisal of "What Computers Know" and its sequel on "What Programmers Know" is my effort to lay that concern to rest.  Careful creation of a consistent architectural formalism that manages the separation will be undertaken in completing TROST InfoNote i051001: Execution Architecture.
    
Brooks, Frederick P., Jr. (1995)
The Mythical Man-Month: Essays on Software Engineering.  Anniversary edition with four new chapters.  Addison-Wesley Longman (Boston: 1975, 1995).  ISBN 0-201-83595-9 pbk.
    
Cunningham, Ward (2004).
Ward CunninghamIs There a Revolution Coming in the Way People Communicate?  Interview, The Videos, Channel 9 Forums, MSDN, updated 2005-08-18 at <http://channel9.msdn.com/Showpost.aspx?postid=8864#8864>.
    
Denning, Peter J. (2002)
Career Redux.  The Profession of IT, column, Comm. ACM 45, 9 (September), 21-26.   Available at <http://doi.acm.org/10.1145/567498.567516>.  Also at <http://www.cne.gmu.edu/pjd/PUBS/CACMcols/>.
     
Devlin, Keith (2005).
The Math Instinct: Why You're a Mathematical Genius (along with Lobsters, Birds, Cats, and Dogs).  Thunder's Mouth Press, New York.  ISBN 1-56025-672-9.
    
Early, Jay., Sturgis, Howard (1970).
A formalism for Translator Interactions.  Comm. ACM 13, 10 (October 1970), 607-617.  Available at <http://doi.acm.org/10.1145/355598.362740>.
    
Gladwell, Malcolm (2005).
Blink: The Power of Thinking Without Thinking.  Little, Brown and Company, New York.  ISBN 0-316-17232-4.
    
Hamilton, Dennis E. (2004)
Ward Cunningham - Revolution in Communication.  Orcmid's Lair (web log), 2004-05-28.  Available at <http://orcmid.com/blog/2004/5/ward-cunningham-revolution-in.asp>
    
MacKenzie, Donald (2001).
Mechanizing Proof: Computing, Risk, and Trust.  MIT Press, Cambridge MA.  ISBN 0-262-13393-8.
    
Norman, Donald A. (1998)
The Invisible Computer: Why Good Products Can Fail, the Personal Computer Is So Complex, and Information Appliances Are the Solution.  MIT Press, Cambridge, MA.  ISBN 0-262-14065-9.
    
Object Management Group (2005).
Unified Modeling Language: Superstructure, version 2.0.  Object Management Group specification, document formal/05-07-04, Object Management Group, Bedford, MA (August 2005).  Available in PDF format at <http://www.omg.org/technology/documents/formal/uml.htm> accessed 2005-11-13.
    
Strong, J., Wegstein, Joseph., Tritter, A., Olsztyn, J., Mock, Owen., Steel, Thomas B.,Jr. (1958)
The Problem of Programming Communication with Changing Machines: A Proposed Solution.   Report of the Share Ad-Hoc Committee on Universal Languages, Part 1. Comm. ACM 1, 8 (August 1958), 12-18.  Available at <http://doi.acm.org/10.1145/368892.368915>.
     The last time I saw Tom Steel (at an OODB meeting in Anaheim), I taunted him a little by saying I remembered UNCOL.  He conceded the sins of his youth and we both laughed.  I'm not so sure which of us was the most surprised, later on, to see the difficulties of UNCOL largely overcome at last by Moore's Law and the Common Language Infrastructure.  I had thought that it would take something like Peter Landin's applicative-language functional-programming approach, but the 80-20 rule apparently demands less than that.
    
Winegrad, Dilys., Akera, Atsushi (1996).
A Short History of the Second American Revolution.  Almanac 42, 18 (Tuesday, January 30, 1996), University of Pennsylvania, Philadelphia.  Updated version available at <http://www.upenn.edu/almanac/v42/n18/eniac.html> accessed 2005-11-10.
     The first commercially-shipped modern digital computer is reported to be the ERA 1103, delivered in 1951.  A Univac 1103A model and an IBM 701 were still in operation at the Boeing Company, Seattle, when I was having my first experience with computers there in Spring, 1958.  I never worked on the 1103A, but I was involved in a 1961 project to provide high-speed printing of the magnetic-tape output of its programs using a newer Univac computer model that came with a 600 line-per-minute printer.

Attribution:
Hamilton, Dennis E.  The Working of Computation [rough notes], TROSTing InfoNote i051101c 0.02, 2008-09-26, available at <http://TROSTing.org/info/2005/11/i051101c.htm>.
 
Revision History:
0.02 2008-09-26-13:32 Tie into Folio Version Progression
The is is placeholder material extracted from earlier work.  Other pages of this folder elaborate on this material but they are not progressive versions of it.  This page is nailed into the folio with forward links to more-elaborate pages.  An attribution block is also added here.
0.01 2008-06-05-20:56 Freeze Page as Background
The explanation of the working of computation, the new title of this folio, will be recreated starting on a fresh page.  This will fit the latest thinking on the topic as I attempt to lay it out in small steps.
0.00 2005-11-09-16:45 Create Initial Placeholder
Introduce an initial placeholder that serve as a target of links and include-page components until more content is developed.  This page is a customization of the InfoNote Bootstrap Template 0.20 Material [placeholder] template.  A version from Develop InfoNote Bootstrap Template (0.20) Material was used.

Construction Zone (Hard Hat Area)
Creative Commons License You are navigating TROSTing.org.
This work is licensed under a
Creative Commons License.

created 2005-11-09-16:45 -0800 (pst) by orcmid
$$Author: Orcmid $
$$Date: 17-07-01 7:36 $
$$Revision: 37 $