Ada_Ru форум

Обсуждение языка Ада

Надёжные конструкции языка

Оставить новое сообщение

Сообщения

Olga Dolbilina
Надёжные конструкции языка
2005-11-12 04:21:12

Доброе время суток!

 

Читала, что для Ada определено подмножество языка, в котором исключены ненадёжные конструкции.

И использование таких конструкций нерекомендуется в критических системах.

Подскажите, что это за множество, и какие конструкции языка являются надёжными.

И где на сей счёт просветиться можно :-)

 

Ольга.

Olga Dolbilina wrote:

 

Доброе время суток!

 

Читала, что для Ada определено подмножество языка, в котором исключены ненадёжные конструкции.

И использование таких конструкций нерекомендуется в критических системах.

Подскажите, что это за множество, и какие конструкции языка являются надёжными.

И где на сей счёт просветиться можно :-)

 

Таких подмножеств - заведомо больше одного.

 

Одно из наиболее известных - Spark Ada Subset, в Гугле можно найти много

материалов, задав эти три слова.

 

Другое подмножество - раздел H.4 стандарта Ады. Можно включать те или иные

ограничения прагмой Restrictions и получать подмножества себе по вкусу.

 

Третий возможный источник информации на эту тему - толстая книжка

Ada 95 Quality and Style, есть в сети.

 

И так далее...

Хочу вставить свои 5 копеек.

Я бы не стал говорить, что кончтрукции не попавшие в то

или другое подмножество языка Ада какие-то особо ненадежные.

Просто каждое подмножество сосдается для своих целей и

содержит возможности языка соответствующие этим целям.

 

Так Spark сделан чтобы автоматически/формально доказывать

корректность программ (соответствие спецификации). И если

он не разрешает динамическое распределение памяти, так это

не от того, что оно ненадежное, а от того, что у него нет

способа всегда судить о поведении программы использующей

его.

 

Ravenscar Profile (набор прагм Restrictions) своей

целью имеет построение многозадачных программ так, что

они могут быть реализованы однопоточным способом. Это

дает существенное упрощение в реализации runtime и

возможность применять оценки выполнения наработанные для

однозадачных программ. Ясно, что не все конструкции

могут удовлетворить этим требованиям.

 

Как по мне, действительно ненадежные конструкции

надо искать по RM по славам "Erroneous Execution" и

"Bounded Errors". Типа asynchronous transfer of control

или abort statement.

 

On Wed, Oct 12, 2005 at 10:38:30AM +0400, Sergey I. Rybin wrote:

Olga Dolbilina wrote:

Читала, что для Ada определено подмножество языка, в котором исключены ненадёжные конструкции.

И использование таких конструкций нерекомендуется в критических системах. Подскажите, что это за множество, и какие конструкции языка являются надёжными.

И где на сей счёт просветиться можно :-)

 

Таких подмножеств - заведомо больше одного.

 

Одно из наиболее известных - Spark Ada Subset, в Гугле можно найти много материалов, задав эти три слова.

 

Другое подмножество - раздел H.4 стандарта Ады. Можно включать те или иные ограничения прагмой Restrictions и получать подмножества себе по вкусу.

Третий возможный источник информации на эту тему - толстая книжка Ada 95 Quality and Style, есть в сети.

 

И так далее...

 

--

Maxim Reznik

Maxim Reznik пишет:

 

Так Spark сделан чтобы автоматически/формально доказывать

корректность программ (соответствие спецификации). И если

он не разрешает динамическое распределение памяти, так это

не от того, что оно ненадежное, а от того, что у него нет

способа всегда судить о поведении программы использующей

его.

А ссылку можно на него? А то попадаются только описания...

Olga Dolbilina wrote:

Maxim Reznik пишет:

 

 

Так Spark сделан чтобы автоматически/формально доказывать

корректность программ (соответствие спецификации). И если

он не разрешает динамическое распределение памяти, так это

не от того, что оно ненадежное, а от того, что у него нет

способа всегда судить о поведении программы использующей

его.

 

 

 

А ссылку можно на него? А то попадаются только описания...

 

Вот тут посмотрите:

 

http://www.praxis-his.com/sparkada/publications.asp

 

возможно, вот это подойдет:

 

http://www.praxis-his.com/sparkada/pdfs/SPARK95.pdf

 

(Правда, там читеть - не перечитать! :)

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти