Jump to content

Уточнение (вычисления)

(Перенаправлено из «Уточнение программы »)

Уточнение — это общий термин информатики, который охватывает различные подходы к созданию правильных компьютерных программ и упрощению существующих программ для обеспечения их формальной проверки.

Доработка программы [ править ]

В формальных методах уточнение программы — это проверяемое преобразование абстрактной ( высокоуровневой) формальной спецификации в конкретную (низкоуровневую) исполняемую программу . [ нужна ссылка ] Поэтапная доработка позволяет выполнять этот процесс поэтапно. Логично, что уточнение обычно предполагает импликацию , но могут возникнуть дополнительные сложности.

Постепенная своевременная подготовка журнала невыполненных работ (списка требований) в рамках гибких подходов к разработке программного обеспечения, таких как Scrum , также обычно описывается как доработка. [1]

Уточнение данных [ править ]

Уточнение данных используется для преобразования абстрактной модели данных ( в виде наборов например, ) в реализуемые структуры данных (такие как массивы ). [ нужна ссылка ] Уточнение операции преобразует спецификацию операции в системе в реализуемую программу (например, процедуру ). В этом процессе постусловие может быть усилено и/или предусловие ослаблено. Это уменьшает любой недетерминизм в спецификации, обычно до полностью детерминированной реализации.

Например, x € {1,2,3} (где x — значение переменной x после операции) может быть уточнено до x € {1,2}, затем x € {1} и реализовано как x : = 1. Реализации x := 2 и x := 3 в этом случае были бы одинаково приемлемы, если бы для уточнения использовался другой путь. Однако мы должны быть осторожны, чтобы не уточнить x ∈ {} (эквивалентно false ), поскольку это нереализуемо; невозможно выбрать член из пустого множества .

Иногда также используется термин «реификация» (придуманный Клиффом Джонсом ). Сокращение расходов является альтернативным методом, когда формальное уточнение невозможно. Противоположностью утонченности является абстракция .

Уточняющее исчисление [ править ]

Уточняющее исчисление — это формальная система (вдохновленная логикой Хоара ), которая способствует усовершенствованию программ. Система трансформации FermaT — это промышленная реализация усовершенствований. B -метод также является формальным методом , который расширяет уточняющее исчисление с помощью компонентного языка: он использовался в промышленных разработках.

Типы уточнений [ править ]

В теории типов тип уточняющий [2] [3] [4] — это тип, наделенный предикатом, который предполагается справедливым для любого элемента уточненного типа. Уточняющие типы могут выражать предварительные условия при использовании в качестве аргументов функции или постусловия при использовании в качестве возвращаемых типов : например, тип функции, которая принимает натуральные числа и возвращает натуральные числа больше 5, может быть записан как . Типы уточнения, таким образом, связаны с поведенческими подтипами .

См. также [ править ]

Ссылки [ править ]

  1. ^ Чо, Л (2009). «Внедрение гибкой культуры — путь команды по обеспечению пользовательского опыта». Agile-конференция 2009 года . стр. 416–421. дои : 10.1109/AGILE.2009.76 . ISBN  978-0-7695-3768-9 . S2CID   38580329 .
  2. ^ Фриман, Т.; Пфеннинг, Ф. (1991). «Типы уточнений для ML» (PDF) . Материалы конференции ACM по проектированию и реализации языков программирования . стр. 268–277. дои : 10.1145/113445.113468 .
  3. ^ Хаяши, С. (1993). «Логика типов уточнения». Труды семинара по типам доказательств и программ . стр. 157–172. CiteSeerX   10.1.1.38.6346 . дои : 10.1007/3-540-58085-9_74 .
  4. ^ Денни, Э. (1998). «Виды уточнения для спецификации». Материалы Международной конференции ИФИП по концепциям и методам программирования . Том. 125. Чепмен и Холл. стр. 148–166. CiteSeerX   10.1.1.22.4988 .


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d641270d6249c8722c5e89bee0a39cb8__1711472820
URL1:https://arc.ask3.ru/arc/aa/d6/b8/d641270d6249c8722c5e89bee0a39cb8.html
Заголовок, (Title) документа по адресу, URL1:
Refinement (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)