General Theory of Living Systems
Full Title or Meme
In order to understand or design any successful, continuing digital ecosystem, there must first be a general theory of living systems that we can use a template to build such a theory.
In 1978 James Grier Miller attempted a General Theory of Living systems  which proposed rigid taxonomies of levels of complexity and common processes contained in each level. As with all taxonomies of living systems, this one necessarily has very fuzzing boundaries which help a new learner, but which become an undue burden if carried to extremely fine detail. Miller understood all of this and selected a number of levels that best fit his data. None-the-less, this page will continue in Miller's path and try the same taxonomic approach, but first a short description of alternate methods. Whereas Miller thought that living systems were a subset of all systems, this page takes the view that all complex, successful, enduring systems are subject to the laws of evolution (specifically survival of the fittest) and hence should be considered to be living systems.
In 1979 Douglas Hofstadter started making the case that natural thinking involved "chunking" small ideas together to make a smaller number of classes of objects  that hide the details in ways that were currently in process in "object oriented programming. He continued this line of development into the use of fluid analogies in our own thought as a model for how computer networks should work. Analogies (which we make constantly, relentlessly and mostly unconsciously) are what allow categorization to happen. "Our minds are constructed with an unlimited quality for 'chunking' primordial concepts, which then become larger concepts." As an example the word "hub," as in "Denver is the hub for United Airlines," brings to mind a large linked network of concepts that are "chunked" together to make up the commonly used term. Other examples range from basics like "wheel" and "node" to higher-order concepts like "spoke" and "network." Higher-order concepts are assembled from lower-order concepts. He believes there no fundamental difference in thinking with basic concepts and very large concepts because we don't "see" inside them. We build concepts by putting several concepts together and putting a membrane around them and giving that a name. Kind of miraculously these [interior] concepts disappear into the named high-order concept.
While high-level languages and object-oriented programming (OOP) were present in the early days of computing (e.g. MAD and Smalltalk), they did not capture a significant mind-share of working programmers until the release of Java in 1996. With OOP languages, encapsulation or information hiding became a recognized feature of computer system architectures. While this sound like "chunking", one of its purposes was to hide details. Whereas living systems create abstract chunks, information hiding created pieces that were sealed and did not expose details of the implementation. So information hiding does not allow for level crossing and does not share the capability in open systems for higher level systems to directly interface with lower level systems. Since this is a general theory, we cannot assume that information hiding is necessary or appropriate, although privacy advocates might disagree.
In 2007 Cleland and Chyba wrote a chapter in Planets and Life: "In the absence of such a theory, we are in a position analogous to that of a 16th-century investigator trying to define 'water' in the absence of molecular theory." ... "Without access to living things having a different historical origin, it is difficult and perhaps ultimately impossible to formulate an adequately general theory of the nature of living systems"
Bayesian Identity Proofing provides the means for a collection of authentication and verification steps to be validated.
Human cognitive process are limited and not nearly as logical as some believe.
Human short term memory is extremely limited.
Users come to a web site to get work done, and what are they faced with:
- Choices for privacy, etc. etc
- Stress of normal problems of life
Human learning is based on causal relationships, primarily so that humans can know what to expect of any given situation. When something does not happen as their experience would indicate, they may find that they are at a loss as to how to react to the current situation resulting in confusion, or loss of context. When UX authors talk about tradition, or user expectations, they are really addressing the cognitive dissonance that occurs when thing don't go the way a user expects.
Each level of complexity depends upon the support of all levels, but specifically on the levels below it.
Just as civilization depends on the good will of the large majority of its citizens, so too a personal computer depends on the existence of some ecosystem where it can successfully be deployed.
Yet even the least complex life form, the virus or the management chip buried deep in some data center, can be the portal for and infection that will have consequences at the highest level.
For an open ecosystem to be successful it must be resilient to change in every one of its components at every level. Since the ecosystem must dynamically evolve as new version of old components are constantly added and the results of many of those changes are unpredictable.
It is not possible to design an ecosystem in advance, just to design components with the best knowledge available at the time and introduce the new component, gradually if there is expected to be a great impact. For ecosystem changes, design thinking involves picking a way that the ecosystem should change and the designing a component that will help it move in that direction. Any design that depends on a completely new ecosystem is not likely to develop as expected. Before designing a change to an existing component, it is necessary first to peel back all of the assumptions that went into the existing design to see which are critical to the continued success of the ecosystem and which are available for alteration.
Taxonomy of Levels of connected Systems
|Level||Name||Typical use||User Experience|
|1||Chip||Management of Computer||Only by Administrators|
|2||Board Computer||Internet of Things||Room temperature or video surveillance|
|3||Single Processor Computer||Accessing Web Sites||Simple Queries of web|
|4||Multiple Processor Computer||Local processing & virtualization||Mobile or Desktop device that maintains user info|
|5||Data Center||Collection of computers in a single location||Only by Administrators|
|6||Cloud (single owner)||Social Network||Interaction of user searches and tracking|
|7||Internetwork of Clouds||Maintenance of Names||User cannot access desired resourced for security reasons|
Miller's "Processes" that work at all levels
Miller had 19 processes, the timer was added later. The boxes highlighted with color are the ones that deal with energy or manner, not the primary focus of this presentation. Two special cases are the reproducer, which might include cloning, but is not further discussed here; and the boundary which is important for identity and information hiding and so will be considered here.
|1||ingestor||input food, parts, energy||Energy Matter, important to computers|
|2||distributor||move food, parts, energy||Energy Matter, important to computers|
|3||converter||Change from one form to another||Energy Matter, might be important to computers|
|4||producer||Establish relationships||Energy Matter, important to interconnections|
|5||storage||Could include a variety of back-up||Energy Matter, important for reliability|
|6||extruder||Social Network||Energy Matter, waste heat is an issue|
|7||motor||Maintenance of Names||Energy Matter, important for robots|
|8||supporter||How everything fits together||Energy Matter, important for maintenace|
|9||reproducer||Create new copies of self||Energy Matter and information, future concern|
|10||boundary||Maintains integrity||Energy Matter and information, allows identity|
|11||input transducer||detect changes or commands||all recorded external events|
|12||internal transducer||Internally created events||Tracks changes due to internal operations|
|13||channel and net||Looks externally in all directions||Ethernet, High speed local nets|
|14||timer (added later)||Internally generated events||Could be considered a part of internal transducer|
|15||decoder||Converts data to meaning||For processing at a more abstract level|
|16||associator||Learning||Intelligence, Artificial or otherwise|
|17||memory||static storage and remembering||Allows active searching|
|18||decider||Executive decision maker||Flexibility, reliability, adaptability|
|19||encoder||Converts internal data for reuse||Translation, either for storage or for transmission|
|20||output transducer||Sends messages outbound||speech|
- James Grier Miller Living Systems 1978 ISBN 978-0070420151
- Douglas R. Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid 1979 Vintage ISBN 0-39474502-7
- Douglas R. Hofstadter, Fluid Concepts and Creative Analogies: Computer Models Of The Fundamental Mechanisms Of Thought 1995 ISBN 978-0465024759
- Woodruff, T. Sullivan; John Baross. Planets and Life: The Emerging Science of Astrobiology. October 8, 2007 Cambridge University Press.
- Terry Winograd and Fernando Flores, Understanding Computers and Cognition 1986 ISBN 0-201-11297-3