Re: WSJ article on software liability
From: Bryan Hoover (bhoover_at_wecs.com)
Date: 02/28/05
- Next message: Jeremy Boden: "Re: [XPOST] A unique number for every "person" - can it be done?"
- Previous message: Phil Carmody: "Re: c code, works on linux, crashes on windows"
- In reply to: Traveler: "Re: WSJ article on software liability"
- Next in thread: Bryan Hoover: "Re: WSJ article on software liability"
- Reply: Bryan Hoover: "Re: WSJ article on software liability"
- Reply: Traveler: "Re: WSJ article on software liability"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 28 Feb 2005 05:15:51 -0500
Traveler wrote:
>
> 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.
It might be helpfull if you could clarify (for me at least) a bit more
about how your system compares with the idea of a thread of execution.
For instance, according to my understanding, a simple combustion engine
-- a motor -- has a single driver -- think, cam shaft -- and everything
else in the system is driven on that -- the other elements don't have
their own threads of execution, or drivers -- they are connected via
gears essentially, to the single source drive, the cam shaft -- if it
doesn't turn, everything else -- the water pump, pistons, fan, lifters,
drive shaft, wheels -- stops moving as well. Likewise, the main loop of
a traditional single threaded computer program. With a multithreaded
application, it's like having multiple engines with the main program
controlling, keeping them in sync so to speak.
My cride understanding of a computer hardware system is that, similar to
a combustion engine, there is essentially a single driver -- system
clock (I think one would call it) on which everything else is driven --
perhaps there's more than one clock, in which case I imagine, there is
some system element providing for syncrhonization.
Could you give a sort of compare and constrast of your system in terms
of what's describe above? I think it would go a long way in helping to
understand what you are proposing.
Bryan
> 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
- Next message: Jeremy Boden: "Re: [XPOST] A unique number for every "person" - can it be done?"
- Previous message: Phil Carmody: "Re: c code, works on linux, crashes on windows"
- In reply to: Traveler: "Re: WSJ article on software liability"
- Next in thread: Bryan Hoover: "Re: WSJ article on software liability"
- Reply: Bryan Hoover: "Re: WSJ article on software liability"
- Reply: Traveler: "Re: WSJ article on software liability"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|