Re: prédicats de sous-type - activatio n

Thomas De Contes via Ada-france <[email protected]> Mon, 13 Dec 2021 01:05:08 +0100
Newsgroups gmane.comp.lang.ada.france
Message-ID <[email protected]>
Le 10 déc. 2021 à 22:07, Thomas De Contes via Ada-france a écrit :

> 
> Le 22 sept. 2021 à 17:50, Thomas De Contes via Ada-france a écrit :
> 
>> 
>> Le 20 avr. 2021 à 10:26, Jean-Pierre Rosen via Ada-france a écrit :
>> 
> 
>>> NB: on laisse le contrôles (de sous-type par ex.) en version de prod,

>>> car on estime que le surcoût des vérifs est faible devant le gain de
>>> sécurité. Ca ne s'applique plus aux contrats, qui sont souvent très
>>> coûteux. Encore une histoire de compromis bénéfice/risque...

>> Par contre, il y a aussi beaucoup de contrats minuscules.

>> Personnellement, il me semblerait judicieux que ce type de contrat soit activé tout le temps.
> 
> 
> Dans la plupart des cas,
> la solution est évidente : les prédicats de sous-type, bien sur !


>> Est ce que ça donne un mécanisme de vérification suffisamment robuste pour qu'on puisse, en toute tranquillité, à la fois :
>> - dans le corps du sous-programme, considérer que les pré-conditions sont forcément respectées, donc pas besoin de les tester à nouveau,
>> - au moment d'utiliser le sous-programme, prévoir un traitement d'exceptions pour traiter le cas où les pré-conditions ne sont pas respectées, sans avoir besoin de les tester avant l'appel du sous-programme ?



Avant de continuer mes questions, j'aimerais vérifier que j'ai bien compris que les prédicats de sous-type sont activés tout le temps.

J'avais cru comprendre ça en te lisant ci-dessus, ainsi que 11.4.2 l 10 rapidement, et je crois bien autre chose ailleurs aussi.
Mais en lisant 3.2.4 l 8-11, puis 11.4.2 l 10 puis l 9 plus soigneusement, j'ai un doute. (Ça m'étonne que tout ça soit écrit pour rien, si les prédicats de sous-type sont activés tout le temps.)

Alors, que dit 11.4.2 l 10 ?
Est-ce que les prédicats de sous-type sont activés tout le temps ?
Ou est-ce que ce sont seulement les tests d'appartenance avec le mot-clé "in" et l'attribut "'Valid", qui sont activés tout le temps, mais la vérification au moment des conversions de sous-type (3.2.4 l 31) est activée en fonction de "pragma Assertion_Policy" pour les "assertion_aspect_mark" "Static_Predicate" ou "Dynamic_Predicate" ?


-- 
RAPID maintainer
http://savannah.nongnu.org/projects/rapid/

_______________________________________________
Ada-france mailing list
[email protected]
https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france