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

201Re: [feyerabend-project] RE: Investigations as a Foundation for a Biological Framing of Software

Expand Messages
  • David Cymbala
    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
    • Show all 8 messages in this topic