Re: Something about ACTIVE OBJECT pattern
- From: <adaworks@xxxxxxxxxxxxx>
- Date: Fri, 29 Apr 2005 18:42:41 GMT
"Robert C. Martin" <unclebob@xxxxxxxxxxxxxxxx> wrote in message
news:ved4715tm45vqe1bp215pt1ofjrpsihtao@xxxxxxxxxx
> On Fri, 29 Apr 2005 00:26:03 GMT, <adaworks@xxxxxxxxxxxxx> wrote:
>
> Richard, just a quibble. TDD is a specification technique, not a
> verification technique. The idea is to specify the behavior of your
> code with tests. If the tests pass, it means that the specified
> behavior has been achieved.
>
Robert,
All good points. Important point. I am having trouble, lately, with
people who want to use TDD for "proof of correctness," and I am
overreacting, I suppose.
You and I both realize that designing with active objects is not easy.
There are more things that can go wrong than even the experienced
designer can anticipate. It is amazing the new problems we sometimes
discover when doing this kind of thing. Unfortunately, even with our
best design practices, our most intensive testing, and our multiple-eyeball
code inspections, we still get these persnickety little unexpected
behaviors.
Sometimes, when teaching software requirements and software design,
I introduce the students to Langton's Ant. There are programs that
run the Langton's Any algorithm that one can download. For Langton's
Ant, the entire universe is fully specified. Yet we cannot predict, in
advance, what will happen, given even the slightest change in the
environment of the Ant.
As we increase complexity, we are in even greater trouble.
The solution? There are a few things we can sometimes do.
One approach, not the only one, is controls. With active
objects we are required to build in run-time controls that
keep the system as stable as possible based on a feedback
loop(s) that acts as additional input to the control modules.
Even with this additional level of control, it is still difficult to
consistently get it absolutely right the first, second, or third time.
I guess what I am saying is, when designing with active objects,
one needs to understand that the context, the environment, the
mathematics, and the technical demands are such that the
developer needs to avoid oversimplifying the challenges.
I know you already know this, Robert. I just want to emphasize
the point for those who think that, by reading a book on the
subject, they are ready to start doing it. The apprenticeship
is long, hard, sometimes discouraging, but eventually rewarding.
Richard Riehle
.
- References:
- Something about ACTIVE OBJECT pattern
- From: Jeremiah L.Jiang
- Re: Something about ACTIVE OBJECT pattern
- From: Robert C . Martin
- Re: Something about ACTIVE OBJECT pattern
- From: Jeremiah L.Jiang
- Re: Something about ACTIVE OBJECT pattern
- From: Robert C . Martin
- Re: Something about ACTIVE OBJECT pattern
- From: adaworks
- Re: Something about ACTIVE OBJECT pattern
- From: Robert C . Martin
- Something about ACTIVE OBJECT pattern
- Prev by Date: Re: Lahman, how ya doing?
- Next by Date: Re: inherited composition
- Previous by thread: Re: Something about ACTIVE OBJECT pattern
- Next by thread: Re: Something about ACTIVE OBJECT pattern
- Index(es):
Relevant Pages
|