Re: WSJ article on software liability

From: Traveler (traveler_at_nospam.com)
Date: 02/27/05


Date: Sun, 27 Feb 2005 16:56:17 -0500

In article <42215909.96B767E4@wecs.com>, Bryan Hoover
<bhoover@wecs.com> wrote:

>Traveler wrote:
>>
>> In article <421FF9CA.A0C3ADC1@wecs.com>, Bryan Hoover
>> <bhoover@wecs.com> wrote:
>>
>> >Traveler wrote:
>> >>
>> >> In article <9dru11tai75juq68cm27nqekocn8144n1p@4ax.com>, Programmer
>> >> Dude <Chris@Sonnack.com> wrote:
>> >>
>> >> >Traveler writes:
>> >> >
[cut]
>> > -- rather, I fancy something
>> >more along the lines of "It's alive! It's alive!!"
>>
>> You mean you want something tangible? Well, somebody has to build it
>> first. What I am proposing is a revolution, a radical approach to
>> software construction that will require new CPUs optimized for a
>> radically new software model. This kind of stuff does not happen
>> overnight.
>
>No, I meant in the sense of being dynamic.

Well, COSA is 100% dynamic since it is a signal-based (change-based)
model. In fact, a COSA program is always "running" even during
development. All connections are made dynamically. There are no
compile/run cycles.

>Your thesis sounds a lot like an extension of OOP. Your description of
>system objects being connected -- have you ever looked at the code
>associated with Delphi (the Borland programming language)? -- some of
>the components are replete with associations (signaling lines you might
>say) with other components.

Delphi is an OOP language in the old tradition of OOP. So-called
associations are really function calls from one object to another.
There are no function calls in COSA. Indeed, none of the traditional
algorithmic constructs like if/then, while, gosub, goto, etc..., are
used.

>Ian questioned whether implementation required hardware. I agree.
>Multiprocessing programming does not required multiple processors -- the
>principles are the same either way, and such a program will run
>essentialy the same regardless of single or more processors. Why
>couldn't what you propose work similarly -- for instance, "hardware"
>objects could be represented in object encapsulations, and seamlessly
>adapt according to the hardware envirnment.

I agree. COSA can indeed work on a single processor but it would be
too slow. Current CPUs are optimized for the algorithm. In other
words, they have an execution pointer to code memory that is
incremented after each instruction is executed. Instructions are
fetched in sequence. In COSA, instructions do not follow each other in
memory. A COSA system is more like a neural network in its operation.
Cells are activated only when there is a need, i.e., when they receive
a signal. This requires the use of two processing lists, one for
inputs and another for outputs. A COSA-optimized processor would not
only maintain the lists in the chip's cache but would execute the
objects directly, obviating the need for a microkernel. This is
explained in better details in the COSA Operating System page.

Louis Savain

The Silver Bullet: Why Software Is Bad and What We Can Do to Fix it
http://users.adelphia.net/~lilavois/Cosas/Reliability.htm



Relevant Pages

  • Re: WSJ article on software liability
    ... All connections are made dynamically. ... COSA can indeed work on a single processor but it would be ... about how your system compares with the idea of a thread of execution. ... For instance, according to my understanding, a simple combustion engine ...
    (comp.programming)
  • Re: WSJ article on software liability
    ... Were my question beneath you Traveler? ... Bryan Hoover wrote: ... COSA can indeed work on a single processor but it would be ... > about how your system compares with the idea of a thread of execution. ...
    (comp.programming)