Loading ...
Sorry, an error occurred while loading the content.

Investigations as a Foundation for a Biological Framing of Software

Expand Messages
  • Mike Beedle
    Investigations as Foundation for a Biological-Framing of Software ... 1. Introduction This document encloses a summary of Investigations: The nature of
    Message 1 of 8 , Dec 15, 2001
    • 0 Attachment
      "Investigations" as Foundation for a Biological-Framing of Software
      -------------------------------------------------------------------

      1. Introduction

      This document encloses a summary of "Investigations: The nature
      of Autonomous Agents and the worlds they mutually create" [1].
      and makes parallel proposals for the study of software agents
      and people developing software (human agents).

      It is proposed here that "Investigations" can serve as an
      excellent foundation for a "biological framing" or even as an
      "agent-based framing" of software and software teams,
      because of its wide applicability and universality.

      The above cited on-going research includes a general setting of
      autonomous agents processes and patterns that include
      the study of:

      - life anywhere and its evolution
      - all processes at the "biosphere" level: ecosystems,
      human organizations, economies, etc.
      - space-time, as a system of autocatalytic Planck-level
      agents coevolving with each other, and even
      - consciousness.

      However, the "laws" explored in this research, are universal,
      and can therefore be used as a foundation to study
      autocatalytic processes of software agents, and people
      developing software (human agents), such as the systems
      suggested in:
      http://www.agilescrum.com
      http://www.livingmetaphor.com


      2. Summary and Proposals

      The introduction of "Investigations" discusses the
      possibility of "general laws":

      "The most general aim of "Investigations" is to
      explore whether there might, conceivably, be some
      general laws governing a certain class of
      non-equilibrium systems - namely the class of
      coevolutionary self-constructing communities
      of autonomous agents."

      LECTURE 1 discusses parts I and II from "Origins":

      "The first lecture discusses the general character
      of "fitness landscapes," of coevolutionary processes
      in which the adaptive moves of one "agent" deforms
      the fitness landscapes of its partners, and tries
      to show that an endogenous coevolutionary process
      allows "agents," each adapting for its own selfish
      "fitness," to tune the couplings and ruggedness of
      their fitness landscapes such that the entire
      system achieves a specific self-organized critical
      state. "

      Proposal 1: Study possible epistemic relationships of software
      agents systems human agents developing software, in order to
      describe the fitness landscapes that these systems obey
      given their constraints, for different classes of software
      and people agents. (Here it is assumed that the system
      has already emerged and that it is homeostatic.)

      Proposal 2: Study the deformations of fitness landscapes
      in the agent ecosystems defined by software agents,
      software teams, and organizations hosting these teams,
      as the agents in these systems coevolve.



      LECTURE 2 discusses part III from "Origins":

      "The heart of this view of the emergence of life
      lies in the fact that as the diversity of organic
      molecules in a system increases, the diversity of
      reactions by which they transform to one another
      increases very much faster. In turn, this means
      that for a wide distribution of assumptions about
      which molecules catalyze which reactions, at a
      sufficient diversity so many reactions are
      catalyzed that a collectively autocatalytic
      set of molecules is virtually certain to emerge."

      Proposal 3: Study the diversity of software agents and
      human agents developing software and their "reactions",
      in order to study the emergence of autocatalytic
      processes in these systems for different classes of
      software and people agents. (Here it is assumed that
      the multi-agents are just emerging.)


      and more,

      "The Adjacent Possible. If we consider the species
      of organic molecules now on the earth, we can also
      consider those species of organic molecules that
      do not exist, but that are one reaction step
      away from molecules that currently do exist. "

      Proposal 4: Study the Adjacent Possible in both software
      agents and human agents developing software, in terms
      of the existing agent population, their selection rules
      and their self-organizing properties, for different
      classes of software and people agents.



      LECTURE 3 discusses autonomous agents:

      "(Definition) autonomous agent is a collectively
      autocatalytic system that performs one or more
      thermodynamic work cycles."

      (See Proposal 1.)



      LECTURE 4 discusses agents as Maxwell demons:

      "An autonomous agent, a non-equilibrium Maxwell Demon,
      coevolving in its community has embodied know-how.
      It knows how to make a living in the context in
      which it lives and carries out real construction
      work in doing so. Its self consistent structure and
      dynamical logic constitute the embodied "record"
      of its environment, its reproduction and
      proliferation carries out linked work cycles and
      simultaneously, via mutation and selection,
      updates its record. "

      "This leads me to consider that "organization" is
      fundamentally related to that coordination of matter
      and energy which enables and controls the constrained
      release of energy - work - to be propagated."

      Proposal 5: Study the knowledge acquisition of properties
      of software agents and human agents developing software,
      for different classes of software and people agents.



      LECTURE 5 discusses the three apparently different phase
      transitions that communities of autonomous agents must obey:

      "1) As parallel processing systems, such Agents will
      lie within the ordered regime or at a phase transition
      between dynamical order and chaos. "

      "As the members of the community tune their positions
      on their internal order-chaos axis and their
      couplings to one another, these evolutionary
      adaptations simultaneously tune the ruggedness of
      fitness landscapes the web structure of the ecosystem,
      and the amount any Agent's landscape is deformed
      by the mutational alterations of other agents. "

      "As parallel processing systems, Autonomous Agents
      will tune their internal molecular diversity and
      the species diversity of communities of Agents, such
      that each Agent is subcritical, perhaps near the
      subcritical - supracritical boundary, and such
      that the causally local community is just at
      the subcritical - supracritical boundary. "

      Proposal 6: Study the phase transitions that both
      software agents and human agents developing software
      must obey given their own characteristics and limitations
      for a different classes of agents.



      LECTURE 6 discusses hierarchies of agents:

      "Hierarchical Agents are parts of the furniture of the
      Universe. As they arise, the way the universe behaves
      changes."

      "Thus, if we pass from a classical to a quantum
      description of Agents, a task not yet even begun,
      then the symmetry breaking within each "box"
      that sets all the internal thresholds leading
      the system to flow in different directions, in
      enhancing the dimensionality of the adjacent
      possible, must hit the Uncertainty Principle limit.


      Proposal 7: Study the hierarchies of software agents and
      human agents developing software that naturally emerge
      given the given their own characteristics and limitations
      for a different classes of agents.


      Proposal 8: Study the symmetry breaking relationships in
      the evolution of software agents and human agents
      developing software given their own characteristics
      and limitations for different classes of agents.



      LECTURE 7 discusses makes some general statements about
      the biosphere to the universe, and then works this
      statements into five themes:

      "They derive from the realization that nothing in
      the definition of an Autonomous Agent demands
      that it be made of organic molecules. The functional
      closure within an autonomous Agent such that it
      can be collectively autocatalytic and carry out
      work cycles yields the new concept that such
      a functionally "whole" agent is the locus of a
      union of matter, energy and information - propagating
      embodied know-how and work task cycles, that can
      do honest construction work."

      "The most radical possibility that I broach, based
      on the work of Lee Smolin with respect to
      quantizing gravity in terms of spinnor networks is
      that such networks can form combinatorially complex
      "knotted" structures. Then, as molecules are
      combinatorially complex objects and at
      sufficient diversity undergo a phase transition
      to collectively autocatalytic systems, the same
      may be true of a knotted ravel of a spinnor-net.
      Thus, space (or space and mass-energy) might
      conceivably be comprised of autocatalytic autonomous
      Plank scale agents coevolving with one another.
      One interpretation of such agents is that they
      are the "crystallization" of seeds of
      classicity and its propagation."

      Theme 1

      "First, I attempt to suggest that we explore a
      thermodynamics in which the observer is an
      endogenous part of the system."

      "The hope is to represent entropy as the
      information one agent can have about each of its
      neighbors or its environment."


      Proposal 9: Study the thermodynamic properties of
      software agents and human agents developing software
      from different points of view: internally, externally,
      for different classes of software and people agents.


      Theme 2

      "Second, I explore the question of whether a
      large quasi-closed thermodynamic system such as an
      isolated spiral galaxy with its giant molecular
      clouds and their complex chemistry forming carbon
      rich dust grains with a power-law distribution of
      sizes can be chemically supracritical and hence
      not reach equilibrium for much longer time scales
      than the lifetime of the universe. "

      "Further, since agents need not be made of
      organic molecules, it is not impossible that a
      galaxy itself might be comprised of a coevolving
      community of autonomous agents."

      Proposal 10: Study the equilibrium conditions of
      software agents and human agents developing software.


      Theme 3

      "Smolin points out that General Relativity seems to
      require that each point in space be different from
      every other point such that the "night sky" looks
      different at each point. And Smolin points out
      that the constants demanded by the Standard Model
      must be very finely tuned to obtain a Universe
      as complex as ours, with stars, carbon, chemistry,
      and life. Either an ultimate theory will derive
      the constants of the standard model, string theory,
      or some other theory - or we will be left with
      adjustable parameters. Smolin argues that some
      process of self-organization may be at work in
      the Universe as a whole that tunes the parameters.
      It may not be entirely foolish to wonder if the
      self-organization of a biosphere of self-constructing,
      coevolving autonomous agents in an expanding
      effective phase space may not be a version of
      the Universal puzzle.

      "Thus, if variety is distance in space, space
      will expand, but ever more slowly. One might hope
      that this feature would relate naturally to the
      apparently critical character of the ever
      slower expansion of the Universe. "


      Theme 4

      "The fourth theme concerns this emergence of
      classicity in quantum mechanics. It is generally
      accepted that interaction of a classical and a
      quantum system causes the quantum system to
      decohere and become classic. This suggests that
      classicity is "autocatalytic."

      Theme 5

      "Thus, in the fifth theme, I raise the question of
      whether the Universe as a whole might self tune
      the constants of the Standard Model, or any other
      fundamental theory with free parameters, such that
      the set of values associated with the fastest
      amplifying complexity universe "wins."

      "A fourth law, writ large, would have at its core
      a law governing the non-ergodic flow of a
      self constructing universe expanding its effective
      dimensionality as rapidly as is sustainably
      possible. Indeed, such maximal expansion and
      symmetry breaking would emerge as the central
      law governing the coevolution of the random
      laws of the spinnor network-law system. Here
      time itself would be nothing but this expansion.

      The Epilogue, discusses a theory of consciousness based on
      molecular autonomous agents:

      " .. I make a tentative suggestion
      concerning the physical basis of consciousness
      in molecular autonomous agents."

      The fundamental ideas derive from the suggestion
      that, in order to expand their capacity to make
      discriminations and refined actions, autonomous agents
      will partition a bounded volume in a 6N classical
      phase space representing the state of an agent or
      collection of agents, into ever finer volumes which
      ultimately encounter the Heisenberg Uncertainty Limit.
      Further partitioning would presumably involve quantum
      effects. This suggests that molecular autonomous agents
      would be expected to span the classical and quantum realms.
      Indeed, cells do. A single photon can cause rhodopsin
      in the retina to respond. A possible image of
      consciousness is linked to the simultaneous propagation
      of quantum coherence in percolating webs within
      living systems, for example, neural tissue, that
      is simultaneously decohering along side channels
      as phase information is lost. This persistent
      propagation of quantum coherent behavior and its
      decoherence into specific fixed states of matter is
      then interpreted as "mind acting on matter". The
      percolation of quantum coherences and persistent
      decoherence is interpreted as consciousness itself
      in the experience of the agent. There are some
      similarities between this hypothesis and Penrose's
      work, but suggested on a different basis. Any such
      theory has the difficulty that quantum coherence seems
      unlikely at body temperature. Conversely, propagating
      work in cells may imply percolating webs of "frozen"
      degrees of freedom constituting the constraints on
      the release of energy that itself constitutes work.
      Thus, such frozen webs might have effectively lower
      local temperatures hence support percolating
      propagating quantum behavior that also persistently
      decoheres. "

      Proposal 11: Study the conditions by which
      software agents and communities of human agents
      developing software become self-aware i.e. consciousness
      in software, and collective consciousness in software
      teams.

      The proposals included in these document attempt to provide
      an incomplete list of equivalent "Hilbert problems" in
      computing given that an agent paradigm has been applied
      to both software and software teams.


      - Mike Beedle
      http://www.mikebeedle.com

      [1] "Investigations: The nature of Autonomous Agents
      and the worlds they mutually create"
      http://www.santafe.edu/sfi/People/kauffman/Investigations.html
      by Stewart Kauffman
    • Mike Beedle
      ... Panu: Thank you for your input. This is exactly the kind of feedback I want/need. Actually, both would be nice - a good problem statements like the one
      Message 2 of 8 , Dec 15, 2001
      • 0 Attachment
        Panu Viljamaa writes:
        > Great and inspiring stuff.
        >
        > So far your proposals are not stated as 'problems', only as
        > proposals to 'study' something. They might be reformulated as
        > problems however. For instance:
        >
        > Mike Beedle wrote:
        >
        > > Proposal 3: Study the diversity of software agents and
        > > human agents developing software and their "reactions",
        > > in order to study the emergence of autocatalytic
        > > processes in these systems
        >
        > ... could read as:
        > "Demonstrate a piece of software where autocatalytic processes emerge ..."
        >
        > The problem statement should be augmented with a description of
        > why the problem is a challenge for 'computing', not just for the
        > 'study of autonomous agents' or even biology itself.

        Panu:

        Thank you for your input. This is exactly the kind of feedback I
        want/need.

        Actually, both would be nice - a good problem statements
        like the one you suggested and then refined proposals for studies,
        under each problem. But like you said, they are not the same thing,

        - Mike
      • David Cymbala
        Mike- Here are some semi-random thoughts ... I assume you meant and human agents developing... ? It would seem that there is a correlation between the
        Message 3 of 8 , Dec 18, 2001
        • 0 Attachment
          Mike-

          Here are some semi-random thoughts
          and reactions to your proposals:

          > Proposal 1: Study possible epistemic relationships of software
          > agents systems human agents developing software, in order to
          > describe the fitness landscapes that these systems obey
          > given their constraints, for different classes of software
          > and people agents. (Here it is assumed that the system
          > has already emerged and that it is homeostatic.)

          > Proposal 2: Study the deformations of fitness landscapes
          > in the agent ecosystems defined by software agents,
          > software teams, and organizations hosting these teams,
          > as the agents in these systems coevolve.

          I assume you meant "and human agents developing..."?

          It would seem that there is a correlation between
          the discovery of "User Cases" in a design team and
          the ultimate impact changes that occur in code.
          The correlation may be similar to the way that
          a change in the environment stimulates changes at
          the molecular level.

          Discussing software agents is difficult because
          there is no solid way to discuss a software
          "environment" or "ecosystem". The more I consider it,
          the more it seems that much of the difficulty would
          evaporate when the terms used to describe the
          environment are properly worked out. A biological
          model might be useful, but I suspect that it might
          come more in the form of molecular systems rather
          than entire organisms (at least right now). The
          epistemic relationships may seem non-obvious
          simply because they are translations of principles
          that manifest in very different ways at different
          levels of structure.

          Another idea relevant to this theme is that
          specific properties of hardware provide the
          necessary "seeds" to build systems that evolve
          on some kind of fitness landscape. The history
          of the "editor" (from switches all the way up
          to wysiwyg) is an example of this. Compilers
          and languages are no doubt another.

          > Proposal 3: Study the diversity of software agents and
          > human agents developing software and their "reactions",
          > in order to study the emergence of autocatalytic
          > processes in these systems for different classes of
          > software and people agents. (Here it is assumed that
          > the multi-agents are just emerging.)

          > Proposal 4: Study the Adjacent Possible in both software
          > agents and human agents developing software, in terms
          > of the existing agent population, their selection rules
          > and their self-organizing properties, for different
          > classes of software and people agents.

          > Proposal 5: Study the knowledge acquisition of properties
          > of software agents and human agents developing software,
          > for different classes of software and people agents.

          Hmm, makes me think of the set of primitives
          that have emerged in contemporary OS's.
          The interactions between CPU's, OS's, Languages,
          and Developers have all contributed to the
          landscape and environment that current systems
          emerge within. Some of the changes have come
          from social/economic sources, while others
          have emerged primarily due to advances in the
          performance of newer hardware.

          > Proposal 6: Study the phase transitions that both
          > software agents and human agents developing software
          > must obey given their own characteristics and limitations
          > for a different classes of agents.

          There may be good evidence for looking at
          such "phase transitions" as the patterns
          that arise from a given configuration of
          influences as they interact strongly and
          weakly. One example is when code is no longer
          easy to write or maintain; then many kinds
          of avoidance behavior can arise in a project
          that may otherwise be very adaptive, signalling
          a "phase change" of sorts. Agent systems
          reach similar changes when they are biased
          by information or signals that trigger
          conditions in the large as a result of
          their combined activity. Server systems
          in general are affected by this kind of
          effect when no single client is misbehaving,
          but when the combined clients overwhelm
          its "normal conditions" assumptions.

          > Proposal 7: Study the hierarchies of software agents and
          > human agents developing software that naturally emerge
          > given the given their own characteristics and limitations
          > for a different classes of agents.

          This also sounds like good territory
          for "environment" or "ecology" definition
          research. The "tree" or "chain" of dependencies
          provide a large set of competing and cooperating
          relationships that influence the kinds of utility
          that can arise in a software agent system and
          the software development process.

          > Proposal 8: Study the symmetry breaking relationships in
          > the evolution of software agents and human agents
          > developing software given their own characteristics
          > and limitations for different classes of agents.

          What do you mean by "symmetries" in terms of
          software?

          > Proposal 9: Study the thermodynamic properties of
          > software agents and human agents developing software
          > from different points of view: internally, externally,
          > for different classes of software and people agents.

          I think you will find that there is a great
          deal of heat loss. ;-)

          > Proposal 10: Study the equilibrium conditions of
          > software agents and human agents developing software.

          Can you name a few "equilibrium" conditions in
          software? (try a web server as an example)
          I think Kauffman's reference to Feynman's quote,
          "all the fast things have happened, and the
          slow ones have not" is a nice baseline.

          > Proposal 11: Study the conditions by which
          > software agents and communities of human agents
          > developing software become self-aware i.e. consciousness
          > in software, and collective consciousness in software
          > teams.

          There may be some correlations with the amount
          of "knowledge" has been captured by such systems.
          There is a "historical record" of what has happened,
          but no single agent possesses it. The "record" is
          extrinsic from each agent's perspective, but is
          really just held or contributed to by the intrinsic
          record that all the agents have. The "knowledge"
          doesn't even arise until the agents are brought
          together in interaction. Gene pools have similar
          behavior. No single member of a gene pool has
          the "best" genes - it is only when those genes
          are favored by other conditions that they propogate
          in a favorable way.

          -David

          p.s. I didn't post to the Patterns Discussion list
          because this discussion is getting a bit more
          wordy and specific than I think merits putting
          it there. I'll be posting to the Feyerabend list
          exclusively for this kind of material.
        • Mike Beedle
          ... David: Yes, of course. Sorry, I am a bad writer, and worse, I am terrible fast writer . ... Interesting perspective. I think of a cell as a multi-agent of
          Message 4 of 8 , Dec 18, 2001
          • 0 Attachment
            David Cymbala wrote:
            > Mike-
            >
            > Here are some semi-random thoughts
            > and reactions to your proposals:
            >
            > > Proposal 1: Study possible epistemic relationships of software
            > > agents systems human agents developing software, in order to
            > > describe the fitness landscapes that these systems obey
            > > given their constraints, for different classes of software
            > > and people agents. (Here it is assumed that the system
            > > has already emerged and that it is homeostatic.)
            >
            > > Proposal 2: Study the deformations of fitness landscapes
            > > in the agent ecosystems defined by software agents,
            > > software teams, and organizations hosting these teams,
            > > as the agents in these systems coevolve.
            >
            > I assume you meant "and human agents developing..."?

            David:

            Yes, of course.

            Sorry, I am a bad writer, and worse, I am terrible
            "fast writer".


            David Cymbala wrote:
            > It would seem that there is a correlation between
            > the discovery of "User Cases" in a design team and
            > the ultimate impact changes that occur in code.
            > The correlation may be similar to the way that
            > a change in the environment stimulates changes at
            > the molecular level.


            Interesting perspective.

            I think of a cell as a multi-agent of organelles and
            proteins, that takes inputs from the exterior, and processes
            inputs in a certain way given:

            1) The nature of the incoming requests: proteins,
            sugars, etc.; and
            2) The system of proteins already present within the cell.

            Proteins, in my view, are the lowest level intelligent
            agents, that typically do one, or at most two things:
            enzymes, movers, transporters, supporters, regulators,
            defenders, communicators, etc.

            However, the total work queue of the cell is given by
            both internal and external requirements, because the cell also
            has to satisfy internal requests i.e. like mitosis.

            On the other hand, not all cellular processes are
            "requirements" to do something; for example, a process
            like glycolysis is more like eating or breathing.

            It is also interesting to think as the cell as a collection
            of concurrent processes, supported by the agents,
            doing work by processing substances, following instructions,
            building queues, prioritizing tasks through enzymes, etc.

            From that perspective the processes to be executed by
            the cell are mainly the concentrations of proteins
            distributed throughout the cell parts: membrane, wall,
            cytoplasm, organelles, nucleus, etc.; the generator
            of these processes are then the ribosmes; and the
            generator of the generator of processes is the DNA --
            a simple, yet very effective meta-architecture.

            The cell at this level reminds me a bit of a
            MOP and the techniques now know as Generative Programming:
            the agents are generated by a meta-process.


            David Cymbala wrote:
            > Discussing software agents is difficult because
            > there is no solid way to discuss a software
            > "environment" or "ecosystem".

            True. But what about an environment or ecosystem
            that includes people? Knowing the properties/requirements
            on the people side (human agents), may clear some of
            the requirements on the other side (software).


            David Cymbala wrote:
            > The more I consider it, the more it seems that
            > much of the difficulty would evaporate when the
            > terms used to describe the environment are properly
            > worked out. A biological model might be useful, but
            > I suspect that it might come more in the form
            > of molecular systems rather than entire
            > organisms (at least right now). The
            > epistemic relationships may seem non-obvious
            > simply because they are translations of principles
            > that manifest in very different ways at different
            > levels of structure.


            I agree, I think the right place to start is
            the molecular equivalent level, after all, Life builds
            from the bottom. Some would even argue that
            Life really is the bottom i.e. the selfish gene.


            David Cymbala wrote:
            > > Proposal 6: Study the phase transitions that both
            > > software agents and human agents developing software
            > > must obey given their own characteristics and limitations
            > > for a different classes of agents.
            >
            > There may be good evidence for looking at
            > such "phase transitions" as the patterns
            > that arise from a given configuration of
            > influences as they interact strongly and
            > weakly. One example is when code is no longer
            > easy to write or maintain; then many kinds
            > of avoidance behavior can arise in a project
            > that may otherwise be very adaptive, signalling
            > a "phase change" of sorts. Agent systems
            > reach similar changes when they are biased
            > by information or signals that trigger
            > conditions in the large as a result of
            > their combined activity. Server systems
            > in general are affected by this kind of
            > effect when no single client is misbehaving,
            > but when the combined clients overwhelm
            > its "normal conditions" assumptions.


            The key however, is that the system is able to sense
            through feedback, if transitions are needed or if they
            are occurring, and reconfigure itself according to
            known patterns, perhaps even according to specific
            template, into configurations that can accommodate
            cycles (among the states of the system).

            I think it is fair to say that, concurrency,
            feedback, templates, patterns and cycles are the way
            of Life -- just think about DNA, xRNA, ribosomes,
            and proteins for inspiration.


            David Cymbala wrote:
            > > Proposal 8: Study the symmetry breaking relationships in
            > > the evolution of software agents and human agents
            > > developing software given their own characteristics
            > > and limitations for different classes of agents.
            >
            > What do you mean by "symmetries" in terms of
            > software?

            Probably things that are related to morphogenesis i.e.
            differentiation, or things related to specialization
            and mutation. Typically, as change occurs into adding
            features local symmetries are broken.

            But as work is created and organized in the cell
            local symmetries are created... through the "Maxwell Demon"
            in the cell -- the autocatalytic processes that lead
            to self-organization.


            David Cymbala wrote:
            > > Proposal 10: Study the equilibrium conditions of
            > > software agents and human agents developing software.
            >
            > Can you name a few "equilibrium" conditions in
            > software? (try a web server as an example)
            > I think Kauffman's reference to Feynman's quote,
            > "all the fast things have happened, and the
            > slow ones have not" is a nice baseline.


            I have to think about this one a little more.


            David Cymbala wrote:
            > > Proposal 11: Study the conditions by which
            > > software agents and communities of human agents
            > > developing software become self-aware i.e. consciousness
            > > in software, and collective consciousness in software
            > > teams.
            >
            > There may be some correlations with the amount
            > of "knowledge" has been captured by such systems.
            > There is a "historical record" of what has happened,
            > but no single agent possesses it. The "record" is
            > extrinsic from each agent's perspective, but is
            > really just held or contributed to by the intrinsic
            > record that all the agents have. The "knowledge"
            > doesn't even arise until the agents are brought
            > together in interaction. Gene pools have similar
            > behavior. No single member of a gene pool has
            > the "best" genes - it is only when those genes
            > are favored by other conditions that they propogate
            > in a favorable way.


            I agree, some knowledge tends to be distributed, like
            in gene pools.

            On the other hand, there is also more localized knowledge,
            like the knowledge of proteins in performing
            a certain action or task, minimal as it might be, this
            knowledge seems to be very localized.


            David
            > -David
            >
            > p.s. I didn't post to the Patterns Discussion list
            > because this discussion is getting a bit more
            > wordy and specific than I think merits putting
            > it there. I'll be posting to the Feyerabend list
            > exclusively for this kind of material.

            Good idea.

            - Mike
          • David Cymbala
            ... I m not sure about the comparison of proteins to agents. I know the line that defines agents in general is a bit fuzzy, but most such proteins would not be
            Message 5 of 8 , Dec 18, 2001
            • 0 Attachment
              >David Cymbala wrote:
              >> It would seem that there is a correlation between
              >> the discovery of "User Cases" in a design team and
              >> the ultimate impact changes that occur in code.
              >> The correlation may be similar to the way that
              >> a change in the environment stimulates changes at
              >> the molecular level.
              >
              >Interesting perspective.
              >
              >I think of a cell as a multi-agent of organelles and
              >proteins, that takes inputs from the exterior, and processes
              >inputs in a certain way given:
              >
              > 1) The nature of the incoming requests: proteins,
              > sugars, etc.; and
              > 2) The system of proteins already present within the cell.
              >
              >Proteins, in my view, are the lowest level intelligent
              >agents, that typically do one, or at most two things:
              >enzymes, movers, transporters, supporters, regulators,
              >defenders, communicators, etc.

              I'm not sure about the comparison of proteins
              to agents. I know the line that defines agents
              in general is a bit fuzzy, but most such proteins
              would not be "alive" apart from the cell. Hmm,
              what is the minimum "intelligence" required for
              an entity to be called an intelligent agent?

              >However, the total work queue of the cell is given by
              >both internal and external requirements, because the cell also
              >has to satisfy internal requests i.e. like mitosis.
              >
              >On the other hand, not all cellular processes are
              >"requirements" to do something; for example, a process
              >like glycolysis is more like eating or breathing.
              >
              >It is also interesting to think as the cell as a collection
              >of concurrent processes, supported by the agents,
              >doing work by processing substances, following instructions,
              >building queues, prioritizing tasks through enzymes, etc.
              >
              >From that perspective the processes to be executed by
              >the cell are mainly the concentrations of proteins
              >distributed throughout the cell parts: membrane, wall,
              >cytoplasm, organelles, nucleus, etc.; the generator
              >of these processes are then the ribosmes; and the
              >generator of the generator of processes is the DNA --
              >a simple, yet very effective meta-architecture.
              >
              >The cell at this level reminds me a bit of a
              >MOP and the techniques now know as Generative Programming:
              >the agents are generated by a meta-process.

              This discussion makes me very interested in
              knowing what we would actually consider
              "homeostasis" to be in software systems.
              There may be none. The OS, on the other hand,
              might have such a state as it interacts with
              a collection of applications and the hardware.

              >David Cymbala wrote:
              >> Discussing software agents is difficult because
              >> there is no solid way to discuss a software
              >> "environment" or "ecosystem".
              >
              >True. But what about an environment or ecosystem
              >that includes people? Knowing the properties/requirements
              >on the people side (human agents), may clear some of
              >the requirements on the other side (software).

              Let's turn the traditional computational model
              around as follows: The user is an agent, and
              various software programs run on the machine
              the user sits in front of. It might allow us to liken
              the machine to be a complete cell, with the A/C
              as the "food" and the CPU, memory, disk
              and OS as the DNA, RNA, mRNA, Ribosomes, etc.
              Let the various applications be aggregates of
              amino acids and proteins, which are doing
              some kind of computation that may persist
              for a short time (like enzymes) or for an extended
              period (like an organelle), which may be seen
              as utilities or servers respectively. So what is
              the function of the user? Is it like a flagellum
              that "brings" the machine to a new location
              where it comes into contact with new forms
              of information (like neuropeptides)? Perhaps
              surfing the web fits this model. If no networking
              is available, then a few floppies here and there
              introduce new information as well, and if that
              is not available, then the user is creating new
              information by typing it in or using graphical
              tool like Photoshop to create specialized
              information that might be sent out into the
              outside world.

              (Just to shake up the thought process)

              >David Cymbala wrote:
              >> The more I consider it, the more it seems that
              >> much of the difficulty would evaporate when the
              >> terms used to describe the environment are properly
              >> worked out. A biological model might be useful, but
              >> I suspect that it might come more in the form
              >> of molecular systems rather than entire
              >> organisms (at least right now). The
              >> epistemic relationships may seem non-obvious
              >> simply because they are translations of principles
              >> that manifest in very different ways at different
              >> levels of structure.
              >
              >I agree, I think the right place to start is
              >the molecular equivalent level, after all, Life builds
              >from the bottom. Some would even argue that
              >Life really is the bottom i.e. the selfish gene.

              Since we don't know how life *really* started,
              now I'd suggest that we use a Cell as the model
              instead. My discussion above might enable us
              to compare software systems to something
              we know (or define) to be alive already. I believe
              that it is much harder to work from basic principles
              to define what is alive, since we really don't know
              what is "alive" per se at the molecular level.
              I still think that we aren't ready to look at whole
              organisms yet.

              >David Cymbala wrote:
              >> > Proposal 6: Study the phase transitions that both
              >> > software agents and human agents developing software
              >> > must obey given their own characteristics and limitations
              >> > for a different classes of agents.
              >>
              >> There may be good evidence for looking at
              >> ... {snip} ...
              >> its "normal conditions" assumptions.
              >
              >The key however, is that the system is able to sense
              >through feedback, if transitions are needed or if they
              >are occurring, and reconfigure itself according to
              >known patterns, perhaps even according to specific
              >template, into configurations that can accommodate
              >cycles (among the states of the system).
              >
              >I think it is fair to say that, concurrency,
              >feedback, templates, patterns and cycles are the way
              >of Life -- just think about DNA, xRNA, ribosomes,
              >and proteins for inspiration.

              Are you suggesting that the feedback is able to
              dynamically alter the nature of the phase transition?
              I wonder if some such transitions are proactive
              rather than simply being reactive, but the switching
              system would have to be directed from a fairly
              high-level control that cascades down to many other
              components if the state change were to fit into
              pre-defined template states (or attractors). This
              hints at some kind of "Maxwell's Demon".

              >David Cymbala wrote:
              >> > Proposal 8: Study the symmetry breaking relationships in
              >> > the evolution of software agents and human agents
              >> > developing software given their own characteristics
              >> > and limitations for different classes of agents.
              >>
              >> What do you mean by "symmetries" in terms of
              >> software?
              >
              >Probably things that are related to morphogenesis i.e.
              >differentiation, or things related to specialization
              >and mutation. Typically, as change occurs into adding
              >features local symmetries are broken.
              >
              >But as work is created and organized in the cell
              >local symmetries are created... through the "Maxwell Demon"
              >in the cell -- the autocatalytic processes that lead
              >to self-organization.

              Like cell type differentiation, then?
              Kauffman indicates that the entire
              process of ontogeny is driven by
              a set of one-way transitions that are
              never returned to in later life stages.
              Hmmm, reminds me of a boot sequence.....

              >David Cymbala wrote:
              >> > Proposal 10: Study the equilibrium conditions of
              >> > software agents and human agents developing software.
              >>
              >> Can you name a few "equilibrium" conditions in
              >> software? (try a web server as an example)
              >> I think Kauffman's reference to Feynman's quote,
              >> "all the fast things have happened, and the
              >> slow ones have not" is a nice baseline.
              >
              >I have to think about this one a little more.

              Perhaps "homeostatis" is a slightly higher-level
              concept to shoot for.

              My discussion above is getting me thinking that
              once a computer boots up into being a general
              purpose OS with the ability to run arbitrary programs,
              it has already reached an auto-catalytic state.
              On a true multi-tasking machine, of course.

              > David Cymbala wrote:
              >> > Proposal 11: Study the conditions by which
              >> > software agents and communities of human agents
              >> > developing software become self-aware i.e. consciousness
              >> > in software, and collective consciousness in software
              >> > teams.
              >>
              >> There may be some correlations with the amount
              >> ... {snip} ...
              >> in a favorable way.
              >
              >I agree, some knowledge tends to be distributed, like
              >in gene pools.
              >
              >On the other hand, there is also more localized knowledge,
              >like the knowledge of proteins in performing
              >a certain action or task, minimal as it might be, this
              >knowledge seems to be very localized.

              Although each cell has an exact copy of that same
              knowledge.....it would seem that having cells specialize
              in some ways allows for greater complexity and adaptivity,
              whereas some things need to remain exact copies for
              the organism to survive...there may be some kind of
              force at work that balances out the levels of variety
              and commonality.

              -David
            • Mike Beedle
              ... David: It is not a requirement for an agent to be alive . Quite on the contrary, most agents are not alive . Also, dumb agents are no harm, so in
              Message 6 of 8 , Dec 20, 2001
              • 0 Attachment
                David Cymbala wrote:
                > >David Cymbala wrote:
                > >> It would seem that there is a correlation between
                > >> the discovery of "User Cases" in a design team and
                > >> the ultimate impact changes that occur in code.
                > >> The correlation may be similar to the way that
                > >> a change in the environment stimulates changes at
                > >> the molecular level.
                > >
                > >Interesting perspective.
                > >
                > >I think of a cell as a multi-agent of organelles and
                > >proteins, that takes inputs from the exterior, and processes
                > >inputs in a certain way given:
                > >
                > > 1) The nature of the incoming requests: proteins,
                > > sugars, etc.; and
                > > 2) The system of proteins already present within the cell.
                > >
                > >Proteins, in my view, are the lowest level intelligent
                > >agents, that typically do one, or at most two things:
                > >enzymes, movers, transporters, supporters, regulators,
                > >defenders, communicators, etc.
                >
                > I'm not sure about the comparison of proteins
                > to agents. I know the line that defines agents
                > in general is a bit fuzzy, but most such proteins
                > would not be "alive" apart from the cell. Hmm,
                > what is the minimum "intelligence" required for
                > an entity to be called an intelligent agent?

                David:

                It is not a requirement for an agent to be "alive". Quite
                on the contrary, most agents are not "alive". Also, dumb
                agents are no harm, so in theory, even things like amino acids
                can be considered "agents". This is specially true for
                the purposes of a conceptual model. The question really
                is:

                is it worth our while to think of them as agents?

                or even:

                is it a "useful" model to us?

                Basically, it is quite arbitrary what one decides to make
                an agent or not, as long as their behavioral rules are
                respected.

                David Cymbala wrote:
                > >However, the total work queue of the cell is given by
                > >both internal and external requirements, because the cell also
                > >has to satisfy internal requests i.e. like mitosis.
                > >
                > >On the other hand, not all cellular processes are
                > >"requirements" to do something; for example, a process
                > >like glycolysis is more like eating or breathing.
                > >
                > >It is also interesting to think as the cell as a collection
                > >of concurrent processes, supported by the agents,
                > >doing work by processing substances, following instructions,
                > >building queues, prioritizing tasks through enzymes, etc.
                > >
                > >From that perspective the processes to be executed by
                > >the cell are mainly the concentrations of proteins
                > >distributed throughout the cell parts: membrane, wall,
                > >cytoplasm, organelles, nucleus, etc.; the generator
                > >of these processes are then the ribosmes; and the
                > >generator of the generator of processes is the DNA --
                > >a simple, yet very effective meta-architecture.
                > >
                > >The cell at this level reminds me a bit of a
                > >MOP and the techniques now know as Generative Programming:
                > >the agents are generated by a meta-process.
                >
                > This discussion makes me very interested in
                > knowing what we would actually consider
                > "homeostasis" to be in software systems.
                > There may be none.

                I think it is possible and it is useful to define homeostasis
                while trying to define biological framing of computing.

                This is my definition from http://www.livingmetaphor.org:

                "the maintenance of a stable internal
                environment.

                This stability depends on both extrinsic and intrinsic
                control systems. Extrinsic control systems depend on
                external input i.e. like the endocrine and nervous systems.
                Internal control systems are internal to the organs.
                In the case of computing systems this external input
                may come from users or other systems.

                Most of the control systems depend mostly on negative
                feedback i.e. they measure states and react inversely
                to the rate of change to compensate i.e. the agent
                communities must be able to make collective measurements
                and take action upon feedback received."

                I can see computer systems having that ability.

                David Cymbala wrote:
                > >David Cymbala wrote:
                > >> Discussing software agents is difficult because
                > >> there is no solid way to discuss a software
                > >> "environment" or "ecosystem".
                > >
                > >True. But what about an environment or ecosystem
                > >that includes people? Knowing the properties/requirements
                > >on the people side (human agents), may clear some of
                > >the requirements on the other side (software).
                >
                > Let's turn the traditional computational model
                > around as follows: The user is an agent, and
                > various software programs run on the machine
                > the user sits in front of. It might allow us to liken
                > the machine to be a complete cell, with the A/C
                > as the "food" and the CPU, memory, disk
                > and OS as the DNA, RNA, mRNA, Ribosomes, etc.
                > Let the various applications be aggregates of
                > amino acids and proteins, which are doing
                > some kind of computation that may persist
                > for a short time (like enzymes) or for an extended
                > period (like an organelle), which may be seen
                > as utilities or servers respectively. So what is
                > the function of the user? Is it like a flagellum
                > that "brings" the machine to a new location
                > where it comes into contact with new forms
                > of information (like neuropeptides)? Perhaps
                > surfing the web fits this model. If no networking
                > is available, then a few floppies here and there
                > introduce new information as well, and if that
                > is not available, then the user is creating new
                > information by typing it in or using graphical
                > tool like Photoshop to create specialized
                > information that might be sent out into the
                > outside world.

                This is definitely a different way of looking
                at things. I think more of the user as
                part of the ecosystem.

                And ecosystem, in my view, can be defined as
                a collection of interacting software and
                human agents that have a common purpose,
                and that play cooperative games to help
                each other.


                David Cymbala wrote:
                > (Just to shake up the thought process)
                >
                > >David Cymbala wrote:
                > >> The more I consider it, the more it seems that
                > >> much of the difficulty would evaporate when the
                > >> terms used to describe the environment are properly
                > >> worked out. A biological model might be useful, but
                > >> I suspect that it might come more in the form
                > >> of molecular systems rather than entire
                > >> organisms (at least right now). The
                > >> epistemic relationships may seem non-obvious
                > >> simply because they are translations of principles
                > >> that manifest in very different ways at different
                > >> levels of structure.
                > >
                > >I agree, I think the right place to start is
                > >the molecular equivalent level, after all, Life builds
                > >from the bottom. Some would even argue that
                > >Life really is the bottom i.e. the selfish gene.
                >
                > Since we don't know how life *really* started,
                > now I'd suggest that we use a Cell as the model
                > instead.


                You can certainly use that model, and I think it is
                healthy to take different positions on this.

                However, I am a believer that life started as a set
                of self-replicating molecule chains that did not
                require cells or even bodies to exist. And that
                cells, and even organisms simply serve as useful
                shells for these self-replicating molecule chains.


                David Cymbala wrote:
                > My discussion above might enable us
                > to compare software systems to something
                > we know (or define) to be alive already. I believe
                > that it is much harder to work from basic principles
                > to define what is alive, since we really don't know
                > what is "alive" per se at the molecular level.
                > I still think that we aren't ready to look at whole
                > organisms yet.

                I am personally more interested in trying to replicate
                the bottom of it all: the autocatalytic processes that
                emerge into the living.

                Life, in my view, originates with the self-replicating
                and autocatalytic processes -- everything else, in my
                view, is frosting in the cake.

                To nail a true biological metaphor of computing, I think
                this is the core of it. But again, I am open to accept
                other positions.

                David Cymbala wrote:
                > >David Cymbala wrote:
                > >> > Proposal 8: Study the symmetry breaking relationships in
                > >> > the evolution of software agents and human agents
                > >> > developing software given their own characteristics
                > >> > and limitations for different classes of agents.
                > >>
                > >> What do you mean by "symmetries" in terms of
                > >> software?
                > >
                > >Probably things that are related to morphogenesis i.e.
                > >differentiation, or things related to specialization
                > >and mutation. Typically, as change occurs into adding
                > >features local symmetries are broken.
                > >
                > >But as work is created and organized in the cell
                > >local symmetries are created... through the "Maxwell Demon"
                > >in the cell -- the autocatalytic processes that lead
                > >to self-organization.
                >
                > Like cell type differentiation, then?
                > Kauffman indicates that the entire
                > process of ontogeny is driven by
                > a set of one-way transitions that are
                > never returned to in later life stages.
                > Hmmm, reminds me of a boot sequence.....

                Interesting concept.

                However, in my view, it is a little bit different than
                life, because in morphogenesis things are differentiated,
                not added.

                This is what Alexander emphasizes:

                differentiation + addition vs. only additions.

                Remember those example in TTWOB about changing gradually
                the structure of a room? I can't remember where it is
                in TTWOB, and I am too lazy to go look it up right now.

                David Cymbala wrote:
                > >David Cymbala wrote:
                > >> > Proposal 10: Study the equilibrium conditions of
                > >> > software agents and human agents developing software.
                > >>
                > >> Can you name a few "equilibrium" conditions in
                > >> software? (try a web server as an example)
                > >> I think Kauffman's reference to Feynman's quote,
                > >> "all the fast things have happened, and the
                > >> slow ones have not" is a nice baseline.
                > >
                > >I have to think about this one a little more.
                >
                > Perhaps "homeostasis" is a slightly higher-level
                > concept to shoot for.

                Sorry to disagree, but personally I think this is actually
                a good thing to shoot for.


                David Cymbala wrote:
                > My discussion above is getting me thinking that
                > once a computer boots up into being a general
                > purpose OS with the ability to run arbitrary programs,
                > it has already reached an auto-catalytic state.
                > On a true multi-tasking machine, of course.

                However, typical software component don't have epistemic
                relationships. This is in fact, another little qualm I had
                with your paper. Don't get me wrong I really like the
                fitness landscapes analysis and I think it makes a lot
                of sense to describe adaptability, maintainability,
                and other "ilities" in terms of coupling.

                But coupling is different than epistemic relationships.

                Coupling is dependency. Epistemic relationships
                are supposed to actually contribute to the survival of other
                components. That's the part that is different, I think.

                I am interested in your thoughts in this area.

                David Cymbala wrote:
                > > David Cymbala wrote:
                > >> > Proposal 11: Study the conditions by which
                > >> > software agents and communities of human agents
                > >> > developing software become self-aware i.e. consciousness
                > >> > in software, and collective consciousness in software
                > >> > teams.
                > >>
                > >> There may be some correlations with the amount
                > >> ... {snip} ...
                > >> in a favorable way.
                > >
                > >I agree, some knowledge tends to be distributed, like
                > >in gene pools.
                > >
                > >On the other hand, there is also more localized knowledge,
                > >like the knowledge of proteins in performing
                > >a certain action or task, minimal as it might be, this
                > >knowledge seems to be very localized.
                >
                > Although each cell has an exact copy of that same
                > knowledge.....it would seem that having cells specialize
                > in some ways allows for greater complexity and adaptivity,
                > whereas some things need to remain exact copies for
                > the organism to survive...there may be some kind of
                > force at work that balances out the levels of variety
                > and commonality.

                I think you are onto something big here ....

                It feels right to have a law or a rule that tells you
                the degrees of "commonalities and variabilities".

                We tend to think, like you said that:
                "cells specialize in some ways allows for greater
                complexity and adaptability"

                but what balances this force? Could it be self-organization
                itself that requires some things to remain "the same"
                in order to still work?

                - Mike
                http://www.mikebeedle.com
              • Mike Beedle
                Correction. In my previous note, instead of: And ecosystem, in my view, can be defined as a collection of interacting software and human agents that have a
                Message 7 of 8 , Dec 20, 2001
                • 0 Attachment
                  Correction. In my previous note, instead of:

                  "And ecosystem, in my view, can be defined as
                  a collection of interacting software and
                  human agents that have a common purpose,
                  and that play cooperative games to help
                  each other."

                  I meant:

                  And ecosystem, in my view, can be defined as
                  a collection of interacting organisms, some
                  of them which are made of software and
                  human agents that have a common purpose,
                  and that play cooperative games to help
                  each other. For example, a set of software
                  and human agents that cooperate with
                  each other for trading stock.

                  In other words, together software and human
                  agents can form a hybrid "organism" that competes
                  in a an ecosystem,

                  - Mike
                • David Cymbala
                  ... I understand that your interest lies in the theoretical foundations of these matters. My interest is oriented to applications and uses of biological models
                  Message 8 of 8 , Dec 27, 2001
                  • 0 Attachment
                    At 01:19 AM 12/21/01 -0600, Mike Beedle wrote:
                    > { ...snip... }
                    > > I'm not sure about the comparison of proteins
                    > > to agents. I know the line that defines agents
                    > > in general is a bit fuzzy, but most such proteins
                    > > would not be "alive" apart from the cell. Hmm,
                    > > what is the minimum "intelligence" required for
                    > > an entity to be called an intelligent agent?
                    >
                    > David:
                    > It is not a requirement for an agent to be "alive". Quite
                    > on the contrary, most agents are not "alive". Also, dumb
                    > agents are no harm, so in theory, even things like amino acids
                    > can be considered "agents". This is specially true for
                    > the purposes of a conceptual model. The question really
                    > is:
                    > is it worth our while to think of them as agents?
                    > or even:
                    > is it a "useful" model to us?
                    >
                    > Basically, it is quite arbitrary what one decides to make
                    > an agent or not, as long as their behavioral rules are
                    > respected.

                    I understand that your interest lies in the theoretical
                    foundations of these matters. My interest is oriented
                    to applications and uses of biological models to problems
                    I face on a day-to-day basis. To this end, I am interested
                    in creating a working model that has direct correlates in
                    terms of Hardware, OS, and Applications. This discussion
                    has taken a turn towards arbitrary delineations of what
                    constitutes an agent, which is not practical for my interests.

                    The model of a Cell is useful because it represents something
                    that is effective in a way that most software is not. I'd
                    rather not have terminology get in the way of pursuing
                    a working model that will create useful discussion.

                    > { ..snip.. (Homeostasis & Equilibrium discussion...) }
                    >
                    > This stability depends on both extrinsic and intrinsic
                    > control systems. Extrinsic control systems depend on
                    > external input i.e. like the endocrine and nervous systems.
                    > Internal control systems are internal to the organs.
                    > In the case of computing systems this external input
                    > may come from users or other systems.
                    >
                    > Most of the control systems depend mostly on negative
                    > feedback i.e. they measure states and react inversely
                    > to the rate of change to compensate i.e. the agent
                    > communities must be able to make collective measurements
                    > and take action upon feedback received."
                    >
                    > I can see computer systems having that ability.

                    Yes, I agree, but these are all very abstract
                    statements with respect to Software and Hardware.
                    General computational devices are certainly capable
                    of such feedback systems, but how does this apply
                    to Applications? What kind of correlations or metaphors
                    can put existing software systems in this context?
                    What are the characteristics of the "state" that is
                    being maintained?

                    > { ...snip... }
                    > > Like cell type differentiation, then?
                    > > Kauffman indicates that the entire
                    > > process of ontogeny is driven by
                    > > a set of one-way transitions that are
                    > > never returned to in later life stages.
                    > > Hmmm, reminds me of a boot sequence.....
                    >
                    > Interesting concept.
                    >
                    > However, in my view, it is a little bit different than
                    > life, because in morphogenesis things are differentiated,
                    > not added.
                    >
                    > This is what Alexander emphasizes:
                    >
                    > differentiation + addition vs. only additions.
                    >
                    > Remember those example in TTWOB about changing gradually
                    > the structure of a room? I can't remember where it is
                    > in TTWOB, and I am too lazy to go look it up right now.

                    I'm not sure you are actually disagreeing.
                    The entire boot process is a gradual process
                    of setting up preconditions, and once they are
                    fulfilled, going on to stages that depend
                    on the previous stages. I'm not sure why you are
                    saying that things are being added. The seeds
                    of everything are always already there, but mostly
                    not yet active. This is certainly reminiscent of genes.
                    The interesting stuff happens in the *interactions*
                    between existing elements, not by the creation
                    of arbitrary new components.

                    This all applies to stable systems of software,
                    not development environments with newly written
                    software, which is a different thing.

                    Alexander emphasizes "strengthening the centers"
                    and creating proper transition zones between them.
                    Although it is not a "physical" analog, services and
                    protocols bear much similarity to these concepts.

                    Applications make use of the existing services
                    as well as the atomic computational capabilities
                    of the system, and may create novel data combinations
                    that rely on all the above to do so. Applications have
                    often been the breeding ground of new system services
                    and protocols. I believe that this is the "differentiation
                    and addition" process you are referring to.

                    > { ...snip... }
                    > David Cymbala wrote:
                    > > My discussion above is getting me thinking that
                    > > once a computer boots up into being a general
                    > > purpose OS with the ability to run arbitrary programs,
                    > > it has already reached an auto-catalytic state.
                    > > On a true multi-tasking machine, of course.
                    >
                    > However, typical software component don't have epistemic
                    > relationships. This is in fact, another little qualm I had
                    > with your paper. Don't get me wrong I really like the
                    > fitness landscapes analysis and I think it makes a lot
                    > of sense to describe adaptability, maintainability,
                    > and other "ilities" in terms of coupling.
                    >
                    > But coupling is different than epistemic relationships.
                    >
                    > Coupling is dependency. Epistemic relationships
                    > are supposed to actually contribute to the survival of other
                    > components. That's the part that is different, I think.
                    >
                    > I am interested in your thoughts in this area.

                    The set of preconditions that are set up in computational
                    systems for multi-tasking OS's are epistemic. Swapping
                    memory, interrupt-driven handlers and drivers, process
                    setup and tear-down, etc. must all be present for such systems
                    to function the way they do. These are not simple dependencies
                    because the entire system falls apart if one piece is missing.

                    I'm not sure what "typical software component" you are
                    referring to, but even in genetic systems, not everything
                    is epistemic. There is a great deal of "slush" that provides
                    room for novel variation to evolve without disturbing the core
                    epistemic relationships inside the Cell.

                    However, some of the *features* of many applications
                    become part of system-wide capabilities that tend
                    towards epistemic relationships. Consider the Copy/Cut/Paste
                    feature. If the feature is not evenly applied across *different*
                    applications, then each application is unable to generalize
                    its functional "center" so that other applications can benefit
                    from it.

                    -David
                  Your message has been successfully submitted and would be delivered to recipients shortly.