comp.lang.ada
 help / color / mirror / Atom feed
From: Cyrille <comar@eu.adacore.com>
Subject: Re: High-Integrity OO and controlled types
Date: Mon, 2 May 2011 02:50:14 -0700 (PDT)
Date: 2011-05-02T02:50:14-07:00	[thread overview]
Message-ID: <679e3217-98dd-43c1-86f6-2038a029c3ea@b19g2000yqg.googlegroups.com> (raw)
In-Reply-To: d8204576-14ff-41a4-b850-ace9c15872d4@v8g2000yqb.googlegroups.com

On May 1, 10:38 pm, Maciej Sobczak <see.my.homep...@gmail.com> wrote:
> There is an interesting white paper describing the high-integrity
> point of view on object-oriented programming:
>
> http://www.open-do.org/high-integrity-oo-programming-in-ada/
>
> One of the parts that has caught my attention is the description of
> GNAT high-integrity profiles, where it is written that controlled
> types are not supported (page 43):
>
> "Controlled types are not supported since they require extensive run-
> time support."
>
> This is surprising to me. I don't see anything in controlled types
> that would require "extensive run-time support".

Admittedly, we could provide more info here. "Extensive runtime
support" is, in fact, only one aspect of it. Let me first say why
"runtime support" is an issue: that's because in a HI context, the Ada
runtime needs to be certified along with the application and thus
certification material  (for various standards) needs to be developed
and maintained. This is one of the reasons why we minimize  our HI
runtime footprint. There are other reasons: source to object tracea

> Obviously, there is
> some implicit additional code required for controlled types to work,
> but as far as I understand this additional code can be entirely
> generated by the compiler (in many cases even the dynamic dispatch can
> be omitted) and no run-time library is necessary for it at all.
>
> Am I missing something? What "extensive run-time support" is needed
> for controlled types that excludes them from high-integrity GNAT
> profiles?
>
> There is another angle to this question: the Ravenscar profile does
> not exclude controlled types. If GNAT's so-called Ravenscar profile
> does exclude them, then it looks that it does not support some
> formally valid Ravenscar programs, even some very trivial ones. Am I
> missing something?
>
> --
> Maciej Sobczak *http://www.msobczak.com*http://www.inspirel.com




  parent reply	other threads:[~2011-05-02  9:50 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-01 20:38 High-Integrity OO and controlled types Maciej Sobczak
2011-05-01 21:29 ` Robert A Duff
2011-05-01 22:44   ` Simon Wright
2011-05-02  7:59   ` Dmitry A. Kazakov
2011-05-02 16:32     ` Robert A Duff
2011-05-02 19:39       ` Dmitry A. Kazakov
2011-05-03  0:08         ` Robert A Duff
2011-05-03  7:30           ` Dmitry A. Kazakov
2011-05-03 16:51             ` Robert A Duff
2011-05-02  9:50 ` Cyrille [this message]
2011-05-02 10:01   ` Cyrille
2011-05-02 19:25     ` Maciej Sobczak
2011-05-03  9:32       ` Cyrille
2011-05-03  9:59         ` Maciej Sobczak
2011-05-03 10:24           ` Dmitry A. Kazakov
2011-05-03 16:53             ` Robert A Duff
2011-05-03 17:37               ` Dmitry A. Kazakov
2011-05-03 11:28           ` Georg Bauhaus
2011-05-03 12:27             ` Dmitry A. Kazakov
2011-05-03 15:22               ` Georg Bauhaus
2011-05-03 16:28                 ` Dmitry A. Kazakov
2011-05-04  8:48                   ` Georg Bauhaus
2011-05-04  9:28                     ` Dmitry A. Kazakov
2011-05-04 14:46                       ` Georg Bauhaus
2011-05-04 15:01                         ` Dmitry A. Kazakov
2011-05-04 15:25                           ` Georg Bauhaus
2011-05-04 16:23                             ` Dmitry A. Kazakov
2011-05-04 17:06                               ` Georg Bauhaus
2011-05-04 20:16                                 ` Dmitry A. Kazakov
2011-05-05  7:13                                   ` Maciej Sobczak
2011-05-05 10:58                                     ` Cyrille
2011-05-05 12:35                                       ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox