From: Richard Riehle <rriehle@nunic.nu.edu>
To: Robert A Duff <bobduff@world.std.com>
Subject: Re: Can OO be successful in real-time embedded systems?
Date: 1996/05/13
Date: 1996-05-13T00:00:00+00:00 [thread overview]
Message-ID: <Pine.GSO.3.92.960513041740.10150A-100000@nunic.nu.edu> (raw)
In-Reply-To: Dr702w.50H@world.std.com
On Fri, 10 May 1996, Robert A Duff wrote:
> In article <Pine.GSO.3.92.960509164924.1191A-100000@nunic.nu.edu>,
> Richard Riehle <rriehle@nunic.nu.edu> wrote:
> > However, in hard, real-time systems (HRTS), run-time dispatching is a
> > little more of an issue than a simple case statement. The controlling
> > factor is whether we can predict that a certain sequence of actions
> > will be time-determinate.
>
> What exactly do you mean by "a little more of an issue"? The actual
> dispatching call can be done in constant time, just like a case
> statement does a jump through a table in constant time. So the *only*
> difference is what I mentioned in my previous post: with a case
> statement, you have all the alternatives sitting there in one place,
> whereas with a dispatching call, they are scattered all over. Do you
> see any *other* differences between case statements and dispatching,
> that would affect the ability to do worst-case timing analysis?
Agreed that in small programs where the classwide operations are in
the same package as the base type, there should not be too much
of a problem with evaluation of timing. As we override operators
and add new classwide operators, it is going to become more difficult
to do them kinds of timing analysis one can do with a simple case
statement.
One model for classwide operations will be something like:
package Q is
type T is tagged ...
...
end Q;
package Q.Classwide is
procedure P1 (X : T'Class);
procedure P2 (X : T'Class);
...
end Q.Classwide;
Now we have derivations of T, complete with overriding operations. The
Ada 95 model for this is crisp, clean, and clear. And as long as no
one begins extending package Q.Classwide or any of the other original
derivations, everything is nice and neat.
However, as we begin doing more extensions, it will become more
difficult to apply the kinds of predicitive metrics we might be
able to apply to a non-extensible model. Even coverage analyzers
will take a little longer to produce the information we require.
Oh, and yes, are there any coverage analyzers that will work on the
extensible, dispatching model built around child packages?
I did not say this was impossible. I do think we can count on it being
a tad more difficult. This should not discourage us from using the Ada
95 model. It is certainly not as unruly as that found in some other
languages. But I do think it adds a whole new dimension to the
practice of predictive metrics.
Richard Riehle
next prev parent reply other threads:[~1996-05-13 0:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m0uHHBP-0000ztC@crash.cts.com>
1996-05-09 0:00 ` Can OO be successful in real-time embedded systems? Jon S Anthony
1996-05-09 0:00 ` Robert A Duff
1996-05-09 0:00 ` Ken Garlington
1996-05-09 0:00 ` Richard Riehle
1996-05-10 0:00 ` Robert A Duff
1996-05-13 0:00 ` Richard Riehle [this message]
1996-05-09 0:00 ` Robert A Duff
1996-05-10 0:00 ` Ken Garlington
[not found] <316BF0C5.1FE1@condat.de>
1996-04-11 0:00 ` Jon S Anthony
[not found] ` <RMARTIN.96Apr11113222@rcm.oma.com>
[not found] ` <31749A27.3949@ag01.kodak.COM>
[not found] ` <4lggff$r56@gaia.ns.utk.edu>
[not found] ` <4mhh3m$h8m@globe.indirect.com>
1996-05-07 0:00 ` Richard Riehle
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox