Описание тега spark-ada

SPARK - это язык программирования, разработанный для формального доказательства отсутствия ошибок времени выполнения. SPARK в достаточной степени перекрывается с Ada, поэтому все программы SPARK можно скомпилировать с помощью компилятора Ada.
0 ответов

Ada spark - Добавить -# Производное предложение

Я пытаюсь добавить пункт производных к этой процедуре, и это мое решение: - # получает индекс из ключа, данные и находят из данных, а я из данных; Я не уверен в этом, и мне нужна помощь procedure Find (Key: Integer ; Data : in MyArray ; Index : out …
11 янв '19 в 22:20
3 ответа

Значение постусловия

Я могу понять значение и цель предварительных условий в этом коде, но у меня есть проблема в понимании значения и цели постусловий. В Push Я знаю, что эта часть для увеличения указателя после нажатия целого числа ( Pointer = Pointer~ +1). В Pop Я по…
05 дек '18 в 12:57
1 ответ

Сумма квадратов в спарке

Для школьного проекта я должен написать статью о языке программирования SPARK, что я и сделал, однако часть его - написать короткую программу, которая принимает целое число n и выводит сумму квадратов от 1 до n. В C++ программа будет выглядеть приме…
31 май '14 в 12:02
1 ответ

Задачи в SPARK требуют последовательной проработки

В настоящее время я изучаю Аду во время университетского курса по языкам программирования в реальном времени и у меня есть вопрос о SPARK. Я работаю над проектом с задачей, которая контролирует автономный источник питания. Эта задача имеет решающее …
21 янв '18 в 12:46
1 ответ

"Утверждение может потерпеть неудачу", и предварительное условие не решает его

У меня есть функция, которая контролирует контролируемый сигнал, применяя простую проверку, находится ли сигнал в заданном диапазоне допуска. Функция называется is_within_limits, У меня есть вторая функция под названием is_within_expanded_limits это…
29 янв '18 в 12:00
1 ответ

Эквивалентность между C/frama-c и Spark-ada

Я изучаю фреймворк Frama-c, и мне интересно, есть ли эквивалентность между C/Frama-c и Spark Ada. Я знаю, что может показаться странным сравнивать такие разные языки, но после прочтения статьи Дэвида А. Уилера, сравнения Йоханнеса Канига и небольшог…
24 май '18 в 13:23
1 ответ

Пост-условие Spark-Ada для итогового массива

Как написать постусловие Spark для функции, которая суммирует элементы массива? (Spark 2014, но если кто-то покажет мне, как это сделать для более ранней версии Spark, я смогу адаптировать ее.) Так что если у меня есть: type Positive_Array is array …
28 июн '17 в 16:51
1 ответ

СПАРК: gnatprove с опцией -gnato13 до неузнаваемости?

Я очень новичок в Ada/SPARK. Я пытался следовать некоторым урокам отсюда - http://docs.adacore.com/spark2014-docs/html/ug/gnatprove.html Предположим, я запускаю приведенный здесь пример ISQRT ( http://docs.adacore.com/spark2014-docs/html/ug/gnatprov…
13 ноя '14 в 01:47
2 ответа

Идентификатор Ada и SPARK `State` либо не объявлен, либо не виден в данный момент

Я делаю автоматическую защиту поезда на Аде с помощью подхода SPARK. Это моя спецификация в SPARK: package Sensors --# own State,Pointer,State1,State2; --# initializes State,Pointer,State1,State2; is type Sensor_Type is (Proceed, Caution, Danger, Un…
14 ноя '11 в 21:46
2 ответа

Создание пакета не на библиотечном уровне в SPARK Ada

Как создать экземпляр не-библиотечного уровня в SPARK Ada? Скажем, у меня есть что-то вроде: subtype Die is Integer range 1..6; package Random_Die is new Ada.Numerics.Discrete_Random(Die); Это дает мне ошибки: instantiation error at a-nudira.ads.45 …
30 июн '17 в 00:42
1 ответ

Контракт с неявной функцией недоступен для подтверждения

У меня есть процедура в пакете SPARK, которая вызывает некоторые функции из пакета none SPARK. procedure do_monitoring is U_C1 : constant Float := Sim.Get_U_C1; I_L1 : constant Float := Sim.Get_I_L1; U_C2 : constant Float := Sim.Get_U_C2; I_L2 : con…
23 янв '18 в 20:50
3 ответа

Нет глобального контракта для процедуры / функции

У меня есть процедура в модуле SPARK, которая вызывает стандарт Ada-Text_IO.Put_Line, Во время проверки я получаю следующее предупреждение warning: no Global contract available for "Put_Line", Я уже знаю, как добавить соответствующий контракт зависи…
23 янв '18 в 22:47
1 ответ

Ада Tasking и Безопасность

Я не люблю кодирование, но мне очень понравилась Ада, и я очень новичок в этом. Не могли бы вы разъяснить мне эти моменты? Если у вас есть компьютер с одним непотоковым процессором, задача по- прежнему будет однопроцессорной. То же самое относится и…
22 июн '15 в 11:03
1 ответ

В SPARK не разрешен вызов изменчивой функции в конфликтующем контексте.

В настоящее время я изучаю Аду во время университетского курса по языкам программирования в реальном времени и у меня есть вопрос о SPARK. Я работаю над проектом с задачей, которая контролирует автономный источник питания. Эта задача имеет решающее …
21 янв '18 в 18:58
0 ответов

Как доказать, что функция возвращается в течение 2 секунд в SPARK Ada?

Если вы посмотрите "SPARK Ada WCET", одним из первых результатов Google будет блог AdaCore, в котором говорится: Вместо проверки WCET с помощью SPARK, мы видим интерес к проверке дискретных временных свойств с помощью SPARK, таких как: "в течение по…
04 май '18 в 19:34
3 ответа

Завершение цикла

Я хочу доказать, что цикл в этой процедуре завершится с помощью варианта (связанная функция) вариант будет I и нижняя граница 0 (I: = 0) на каждом повторении, размер I будет уменьшаться до достижения нижней границы 0Как я могу доказать это I будет у…
24 янв '19 в 12:48
3 ответа

Spark Proof аннотация

Привет, я пытаюсь написать корректные аннотации от этой функции.. это написано с использованием языка программирования Spark function Read_Sensor_Majority return Sensor_Type is count1:Integer:=0; count2:Integer:=0; count3:Integer:=0; overall:Sensor_…
17 ноя '13 в 12:14
1 ответ

GNATprove: "постусловие может потерпеть неудачу" в простой функции

Я хочу написать простую функцию, которая находит наибольшее число в данном массиве Integer. Вот спецификация: package Maximum with SPARK_Mode is type Vector is array(Integer range <>) of Integer; function Maximum (A : in Vector) return Integer…
1 ответ

Как использовать Assert и loop_invariants

Спецификация: package PolyPack with SPARK_Mode is type Vector is array (Natural range <>) of Integer; function RuleHorner (X: Integer; A : Vector) return Integer with Pre => A'Length > 0 and A'Last < Integer'Last; end PolyPack ; Я хоч…
09 мар '19 в 00:33
2 ответа

Найти множитель числа

Я хочу найти наименьший фактор значения с нижеуказанной спецификацией procedure S_Factor (N : in out Positive; Factor : out Positive) with SPARK_Mode, Pre => N > 1, Post => (Factor > 1) and (N'Old / Factor = N) and (N'Old rem Factor = 0)…
15 мар '19 в 21:39