Abstraction physics



The physics of abstraction is of an outside looking in perspective, where rather than creating another abstract language (inside), instead sees the underlying action machinery enabling the ability to create languages (outside looking in). Since Abstraction is a human mental characteristic, there is an inherent subjectivity to the topic. However, through the use of computers we can be more objective about abstraction physics. See: Abstraction (computer science)

Abstraction enters the picture of computing with the representation of physical transistor switch positions of ON '1' and OFF '0' or what we call "Binary notation". However, computers have far more transistor switches in them than we can keep up with in such a low level or first order abstract manner, so we create higher level abstractions in order to increase our productivity in programming computers. From Machine language to application interfaces that allow users to define some sequence of action into a word or button press (ie. record and playback macro) so to automate a task, we are working with abstractions that will ultimately access the hardware transistor switches which in turn output to, or control some physical world hardware.

Programming is the act of automating some level of complexity, usually made up of simpler complexities, but done so in order to allow the user to use and reuse the complexity through a simplified interface. And this is a recursive act, building upon abstractions others have created that even our own created abstractions/automations might be used by another to further create more complex automations. In general, if we didn't build upon what those before us have done, we then would not advance at all, but rather be like any other mammal incapable of anything more than, at best, first level abstraction. But we are more, and as such have the natural human right and duty to advance in such a manner.

Abstraction action constants:

There is an identifiable and definable "physics of abstraction" (abstraction physics), an identification of what actions are required and unavoidable, in order to make and use abstractions. Abstraction Physics is not exclusive to computing but constantly in use by ... well... us humans. Elements or facets of abstraction physics include the actions of abstraction creation and use, such as:

0) Defining a word to mean a more complex definition (word = definition, function-name = actions to take, etc.)

1) Starting and Stopping the interfacing with abstraction definition sequences.

2) Keeping track of where you are in the progress of abstraction sequence usage (moving from one abstraction to another).

3) Defining and changing "input from" direction.

4) Defining and changing "output to" direction.

5) Getting input to process (using variables or place holders to carry values).

6) Sequentially stepping through abstraction/automation details (inherently includes optionally sending output).

7) looking up the meaning of a word or symbol (abstraction) so to determine action upon or with it.

8) Identifying an abstraction or real item value so to determine action upon it.

9) Putting constraints upon your abstraction look ups and identifications -When you look up a word in a dictionary you don't start at the beginning of the dictionary, but begin with the section that starts with the first letter then followed by the second, etc., and when you open a box with many items to stock, you identify each so as to know where to put it in stock.

These placed into a logical integration for versatility and exception handling provides for a "Virtual Interaction Configuration." So named after the diagram of "a network of virtual interactions" from the book "The World of Elementary Particles" by Kenneth Ford, as shown and referenced in Fritjof Capras' The Tao of Physics But here the representation is not of physical particles or of Mysticism, but rather the action constants used in the creation and use of "Abstractions" which are used in both Physics and Mysticism, as well as in the abstraction creating and manipulation profession of computer programming..

Primary computer user interfaces:

Nature likes three (3) in primaries, as color in light (additive - red, blue, green) and paint (subtractive - blue, yellow, red) from which we can create all other colors in the rainbow. This applies to abstraction physics as well, as applied through the tool of computer, for there are three primary user interfaces. The command line, the Graphical User interface (GUI) and the side door port to application and functionality access (known by many different names and application levels such as API, IPC, DCOM, dcop, D-BUS, Plumber, computer sockets, etc., but each having its limitation and typically not so end user friendly as the concept should be.) And like the primary colors, if you take one away or limit its use, you constrain the ability of the user in putting new automations together or modifying existing ones. Causing false limitations in user ability also applies to the abstraction actions mentioned above, constrain access and you constrain users ability to create or modify.

Commonly practiced, yet to be recognized:

As mentioned above, the application of abstraction physics is a human characteristic and as such, it is inherently common in practice. However abstraction physics has yet to become widely recognized and applied as a science, similar to the difficulty the Hindu-Arabic decimal system had in its acceptance, which included the concept that nothing can have value - re: the Zero [1], the 0 (number) place holder. It took three hundred years (from inception) for the innovation of the now common decimal system to overcome the far more limited Roman Numeral system. (NOTE: mathematics and the symbol sets used are also abstractions and therefor a subset of abstraction possibilities and certainly an application of abstraction physics.) Though the act of programming is still younger than many who apply it, we are technologically moving at a much faster rate of incorporating innovations and better understandings of reality. The physics of abstraction can be used to model a non-patentable/natural, dynamic, user friendly general automation tool for abstraction creation and usage, including the automation of computer program creation. An abstraction tool that would also allows for organized placement and access of abstractions in a logical or mappable and navigatable manner, not unlike reference books we have today, such as dictionaries, thesaurus, quick reference books to catalogs of parts, products, etc.. Even Wikipedia itself is such a mechanism applying "navigational mapping" as links don't have to yet exist.

When abstraction physics becomes more widely recognized and applied as a science, it will become obvious (an anti-patent facet) that software is of such qualities (natural law, physical phenomenon, abstract ideas, algorithms, etc.) to NOT qualify for patent-ability. Currently patent granting organizations have no solid reference point of "abstraction physics" from which to test software patent applications against, or re-evaluate granted software patents. However, effort is underway to change that through the application of just such an abstraction physics automation tool as mentioned above, but created for the use by patent granting organizations to help them, and other interested parties, to search for, and possibly make use of prior art.

Economic hindsight projected forward:

The Hindu-Arabic decimal system enabled much more of the general population to apply mathematics in a more powerful (*) manner than the Roman Numeral system allowed. Likewise, with the establishment and application of abstraction physics as common knowledge, (as the decimal system is today, even taught in primary school) software will become genuinely free simply because it will be easy enough to create that the general population will be able to create it, or cause the machine to (recursive automation nature of programming), regardless of the resource limitations of the general population user regarding complexity details. Otherwise the act of programming becomes falsely constrained, as the acceptance of the decimal system, and its benefits, was constrained (perhaps by the roman numeral accountants protecting their vested interest.)

(*) Worth noting: The Roman Numeral system and its mathematical limitation would not have allowed us to develop such a level of math complexity required for us to create/invent much of what we have today, including computers. Yet at the introduction of the Hindu-Arabic Decimal system, such potential creations/inventions were not even imagined. Perhaps the same inability to see where the acceptance and open (free) application of "abstraction physics" will indeed lead us in time, is a natural human constraint that only aids the support of the false constraints of "software patents".

References and notes:

More is planned in overview, references and wikipedia integration, and details, such as:

1999 USPTO Publication of comments to an RFC [2] see comment #4

2005 wiki.ffii.org original article and initial base for this former wikipedia entry [3]

2006 Project "Open Source as Prior Art" Tagging Prototype [4]

Functional logic details of Configuration: [5] (i.e. use of the three values of: current, previous and default on various levels for versatility.)

Simple circular flowcharting [6]

Physics of computational abstraction, http://www.matzkefamily.net/doug/physcomp/abstraction92.html

A patent that has listed in its "other reference" the Virtual Interaction Configuration. This will be interesting to re-write the claims in terms of abstraction physics showing non-novel, and anything else that shows the non-patent-ability of this patent.

Indications of mindset changing at learning institutions towards Abstraction Physics:

Great Principles of Computing is an evolving work in progress. Because of this its difficult to tell where it is really going. Could it be another "almost" or will they quantize and simplify the work to recognize "Abstraction Physics", as I have attempted to communicate to them?

Computational Thinking seems to lack the tools to apply the learning feedback loop that is so important in using and really understanding the tool of computers. Instead focuses on claims of a new way of "thinking in terms of". Fails to realize proper priority in what came first, the computer and its programed calculating ability or the common human mental functions that built and programed the computer. But recognizes there is something there regarding common mental functioning across fields, industries and sciences. Just needs the tools of Abstraction Physics so to provide a verification loop for correct human understanding of the contents of "Computational Thinking"

For Further Updates:

For a more up to date and real wiki version of this page go to AbstractionPhysics.net

Identification of the ten base action constants was done by Timothy Rue in February 1988, while having lunch at Pizza Hut.

Copyright © 2006, 2007 by Timothy V. Rue