Jump to content

Формальные методы

(Перенаправлено из Формальных методов )

В информатике формальные методы это математически строгие методы спецификации , разработки, анализа и проверки программных и аппаратных систем. [1] Использование формальных методов проектирования программного и аппаратного обеспечения мотивировано ожиданием того, что, как и в других инженерных дисциплинах, выполнение соответствующего математического анализа может способствовать надежности и устойчивости проекта. [2]

Формальные методы используют различные информатики теоретические основы , включая логические исчисления, формальные языки , теорию автоматов , теорию управления , семантику программ , системы типов и теорию типов . [3]

Использование

[ редактировать ]

Формальные методы могут применяться на различных этапах процесса разработки .

Спецификация

[ редактировать ]

Формальные методы могут использоваться для формального описания разрабатываемой системы на любом желаемом уровне детализации. От этой спецификации могут зависеть дальнейшие формальные методы синтеза программы или проверки правильности системы.

Альтернативно, спецификация может быть единственным этапом, на котором используются формальные методы. Написав спецификацию, можно обнаружить и устранить неясности в неформальных требованиях. Кроме того, инженеры могут использовать формальную спецификацию в качестве справочника для управления процессами разработки. [4]

Необходимость в формальных системах спецификаций отмечалась уже много лет. В отчете АЛГОЛА 58 : [5] Джон Бэкус представил формальную нотацию для описания синтаксиса языка программирования , позже названную нормальной формой Бэкуса, а затем переименованной в форму Бэкуса-Наура (BNF). [6] Бэкус также написал, что формальное описание значения синтаксически допустимых программ на Алголе не было завершено к моменту включения в отчет, заявив, что оно «будет включено в последующую статью». Однако ни одна статья с описанием формальной семантики так и не была выпущена. [7]

Синтез программы — это процесс автоматического создания программы, соответствующей спецификации. Подходы дедуктивного синтеза полагаются на полную формальную спецификацию программы, тогда как индуктивные подходы выводят спецификацию из примеров. Синтезаторы выполняют поиск в пространстве возможных программ, чтобы найти программу, соответствующую спецификации. Из-за размера этого пространства поиска разработка эффективных алгоритмов поиска является одной из основных задач синтеза программ. [8]

Проверка

[ редактировать ]

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

После разработки формальной спецификации ее можно использовать в качестве основы для доказательства свойств спецификации и, как следствие, свойств реализации системы.

Проверка подписи

[ редактировать ]

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

Доказательство, ориентированное на человека

[ редактировать ]

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

Критики таких подходов отмечают, что двусмысленность, присущая естественному языку, позволяет не обнаруживать ошибки в таких доказательствах; часто в деталях низкого уровня могут присутствовать тонкие ошибки, которые обычно упускаются из виду при таких доказательствах. Кроме того, работа по созданию такого хорошего доказательства требует высокого уровня математических знаний и опыта.

Автоматизированное доказательство

[ редактировать ]

Напротив, растет интерес к доказательствам корректности таких систем с помощью автоматизированных средств. Автоматизированные методы делятся на три основные категории:

  • Автоматическое доказательство теорем , при котором система пытается создать формальное доказательство с нуля, учитывая описание системы, набор логических аксиом и набор правил вывода .
  • Проверка модели , при которой система проверяет определенные свойства посредством исчерпывающего перебора всех возможных состояний, в которые система могла войти во время своего выполнения.
  • Абстрактная интерпретация , при которой система проверяет чрезмерную аппроксимацию поведенческого свойства программы, используя вычисление фиксированной точки на (возможно, полной) решетке, представляющей ее.

Некоторым автоматизированным средствам доказательства теорем требуется руководство относительно того, какие свойства достаточно «интересны», чтобы их исследовать, в то время как другие работают без вмешательства человека. Специалисты по проверке моделей могут быстро увязнуть в проверке миллионов неинтересных состояний, если им не будет предоставлена ​​достаточно абстрактная модель.

Сторонники таких систем утверждают, что результаты имеют большую математическую достоверность, чем доказательства, созданные человеком, поскольку все утомительные детали были проверены алгоритмически. Обучение, необходимое для использования таких систем, также меньше, чем обучение, необходимое для создания хороших математических доказательств вручную, что делает эти методы доступными для более широкого круга практиков.

Критики отмечают, что некоторые из этих систем подобны оракулам : они провозглашают истину, но не дают объяснения этой истины. Существует также проблема « проверки проверяющего »; если программа, помогающая в проверке, сама по себе не проверена, могут быть основания сомневаться в достоверности полученных результатов. Некоторые современные инструменты проверки моделей создают «журнал доказательства», подробно описывающий каждый шаг доказательства, что позволяет при наличии подходящих инструментов выполнить независимую проверку.

Основная особенность подхода абстрактной интерпретации заключается в том, что он обеспечивает обоснованный анализ, т. е. не дает ложноотрицательных результатов. Более того, его можно эффективно масштабировать за счет настройки абстрактной области, представляющей анализируемое свойство, и применения расширяющих операторов. [9] чтобы получить быструю сходимость.

Формальные методы включают в себя ряд различных приемов.

Языки спецификации

[ редактировать ]

Проектирование вычислительной системы может быть выражено с использованием языка спецификации, который является формальным языком, включающим систему доказательства. Используя эту систему доказательств, инструменты формальной проверки могут рассуждать о спецификации и устанавливать, что система соответствует спецификации. [10]

Бинарные диаграммы решений

[ редактировать ]

Диаграмма двоичных решений — это структура данных, представляющая булеву функцию . [11] Если булева формула выражает, что выполнение программы соответствует спецификации, двоичная диаграмма решений может использоваться, чтобы определить, соответствует ли является тавтологией; то есть оно всегда имеет значение ИСТИНА. Если это так, то программа всегда соответствует спецификации. [12]

Решатели SAT

[ редактировать ]

Решатель SAT — это программа, которая может решить булеву проблему выполнимости , проблему поиска такого назначения переменных, которое заставляет данную пропозициональную формулу оцениваться как истинная. Если булева формула выражает, что конкретное выполнение программы соответствует спецификации, а затем определяет, что является невыполнимым, эквивалентно определению того, что все исполнения соответствуют спецификации. Решатели SAT часто используются при проверке ограниченной модели, но также могут использоваться и при проверке неограниченной модели. [13]

Приложения

[ редактировать ]

Формальные методы применяются в различных областях аппаратного и программного обеспечения, включая маршрутизаторы , коммутаторы Ethernet , протоколы маршрутизации , приложения безопасности и операционных систем микроядра , такие как seL4 . Есть несколько примеров, когда они использовались для проверки функциональности аппаратного и программного обеспечения, используемого в центрах обработки данных . IBM использовала ACL2 , средство доказательства теорем, в процессе разработки процессора AMD x86. [ нужна ссылка ] Intel использует такие методы для проверки своего оборудования и прошивки (постоянного программного обеспечения, запрограммированного в постоянное запоминающее устройство ). [ нужна ссылка ] . Датский центр Datamatik в 1980-х годах использовал формальные методы для разработки системы компилятора для языка программирования Ada , который впоследствии стал долгоживущим коммерческим продуктом. [14] [15]

Есть еще несколько проектов НАСА , в которых применяются формальные методы, например, Next Generation Air Transportation System. [ нужна ссылка ] , Интеграция беспилотных авиационных систем в Национальную систему воздушного пространства, [16] и скоординированное разрешение и обнаружение конфликтов с помощью самолетов (ACCoRD). [17] Б-Метод с Ателье Б , [18] используется для разработки автоматики безопасности для различных метрополитенов, установленных по всему миру компаниями Alstom и Siemens , а также для сертификации по общим критериям и разработки системных моделей компаниями ATMEL и STMicroelectronics .

Формальная проверка часто используется в оборудовании большинством известных поставщиков оборудования, таких как IBM, Intel и AMD. Существует много областей аппаратного обеспечения, где Intel использовала формальные методы для проверки работы продуктов, такие как параметризованная проверка протокола, согласованного с кэшем, [19] Проверка механизма выполнения процессора Intel Core i7 [20] (с использованием доказательства теорем, BDD и символьной оценки), оптимизация для архитектуры Intel IA-64 с использованием облегченного средства доказательства теорем HOL, [21] и проверка высокопроизводительного двухпортового гигабитного Ethernet- контроллера с поддержкой протокола PCI Express и технологии расширенного управления Intel с использованием Cadence. [22] Точно так же IBM использовала формальные методы при проверке силовых вентилей. [23] регистры, [24] и функциональная проверка микропроцессора IBM Power7. [25]

В разработке программного обеспечения

[ редактировать ]

В разработке программного обеспечения формальные методы — это математические подходы к решению проблем программного обеспечения (и аппаратного обеспечения) на уровнях требований, спецификаций и проектирования. Формальные методы, скорее всего, будут применяться к критически важному для безопасности или безопасности программному обеспечению и системам, таким как программное обеспечение авионики . Стандарты обеспечения безопасности программного обеспечения, такие как DO-178C, допускают использование формальных методов путем дополнения, а Общие критерии требуют использования формальных методов на самых высоких уровнях категоризации.

Для последовательного программного обеспечения примеры формальных методов включают B-Method , языки спецификаций, используемые в доказательстве теорем , RAISE и нотацию Z. автоматизированном

В функциональном программировании тестирование на основе свойств позволило математическую спецификацию и тестирование (если не исчерпывающее тестирование) ожидаемого поведения отдельных функций.

Язык объектных ограничений (и его специализации, такие как язык моделирования Java ) позволили формально определять объектно-ориентированные системы, хотя и не обязательно формально проверять их.

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

Другой подход к формальным методам разработки программного обеспечения заключается в написании спецификации в некоторой форме логики (обычно в виде вариации логики первого порядка ) и затем непосредственном выполнении этой логики, как если бы это была программа. язык OWL , основанный на логике описания Примером может служить . Также ведется работа по автоматическому сопоставлению некоторой версии английского (или другого естественного языка) с логикой и обратно, а также непосредственному выполнению логики. Примерами являются Attempto Controlled English и Internet Business Logic, которые не стремятся контролировать словарный запас или синтаксис. Особенностью систем, поддерживающих двунаправленное отображение логики на английском языке и прямое выполнение логики, является то, что их можно заставить объяснять свои результаты на английском языке на деловом или научном уровне. [ нужна ссылка ]

Полуформальные методы

[ редактировать ]

Полуформальные методы — это формализмы и языки, которые не считаются полностью «формальными». Он откладывает задачу завершения семантики на более поздний этап, который затем выполняется либо посредством человеческой интерпретации, либо посредством интерпретации с помощью программного обеспечения, такого как генераторы кода или тестовых примеров . [26]

Некоторые практики считают, что сообщество формальных методов придаёт слишком большое значение полной формализации спецификации или проекта. [27] [28] Они утверждают, что выразительность используемых языков, а также сложность моделируемых систем делают полную формализацию сложной и дорогостоящей задачей. В качестве альтернативы были предложены различные упрощенные формальные методы, в которых упор делается на частичную спецификацию и целенаправленное применение. Примеры этого облегченного подхода к формальным методам включают нотацию моделирования объектов Alloy , [29] Синтез Денни некоторых аспектов нотации Z с разработкой на основе вариантов использования , [30] и инструменты CSK VDM . [31]

Формальные методы и обозначения

[ редактировать ]

Существует множество формальных методов и обозначений.

Языки спецификации

[ редактировать ]

Модельные шашки

[ редактировать ]

Решатели и соревнования

[ редактировать ]

Многие задачи формальных методов являются NP-трудными , но могут быть решены в случаях, возникающих на практике. Например, задача булевой выполнимости является NP-полной по теореме Кука – Левина , но решатели SAT могут решать множество больших задач. Существуют «решатели» множества задач, возникающих в формальных методах, и периодически проводится множество соревнований по оценке современного состояния решения таких задач. [33]

Организации

[ редактировать ]

См. также

[ редактировать ]
  1. ^ Батлер, RW (6 августа 2001 г.). «Что такое формальные методы?» . Проверено 16 ноября 2006 г.
  2. ^ Холлоуэй, К. Майкл. «Почему инженерам следует использовать формальные методы» (PDF) . 16-я конференция по системам цифровой авионики (27–30 октября 1997 г.). Архивировано из оригинала (PDF) 16 ноября 2006 года . Проверено 16 ноября 2006 г. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  3. ^ Монин, стр.3-4.
  4. ^ Уттинг, Марк; Ривз, Стив (31 августа 2001 г.). «Облегченное обучение формальным методам посредством тестирования» . Тестирование, проверка и надежность программного обеспечения . 11 (3): 181–195. дои : 10.1002/stvr.223 .
  5. ^ Бэкус, JW (1959). «Синтаксис и семантика предложенного международного алгебраического языка на Цюрихской конференции ACM-GAMM». Материалы международной конференции по обработке информации . ЮНЕСКО.
  6. ^ Кнут, Дональд Э. (1964), Нормальная форма Бэкуса против формы Бэкуса Наура. Сообщения ACM , 7(12):735–736.
  7. ^ О'Хирн, Питер В.; Теннент, Роберт Д. (1997). Алголоподобные языки .
  8. ^ Гулвани, Сумит; Полозов, Александр; Сингх, Ришаб (2017). «Синтез программы» . Основы и тенденции в языках программирования . 4 (1–2): 1–119. дои : 10.1561/2500000010 .
  9. ^ А. Кортези и М. Заниоли, Операторы расширения и сужения для абстрактной интерпретации . Компьютерные языки, системы и структуры. Том 37 (1), стр. 24–42, Elsevier, ISSN   1477-8424 (2011).
  10. ^ Бьёрнер, Дайнс; Хенсон, Мартин К. (2008). Логика языков спецификации . стр. VII–XI.
  11. ^ Брайант, Рэндал Э. (2018). «Двоичные диаграммы решений». В Кларке, Эдмунд М.; Хензингер, Томас А.; Фейт, Хельмут; Блум, Родерик (ред.). Справочник по проверке моделей . п. 191.
  12. ^ Чаки, Сагар; Гурфинкель, Арье (2018). «Проверка символьной модели на основе BDD». В Кларке, Эдмунд М.; Хензингер, Томас А.; Фейт, Хельмут; Блум, Родерик (ред.). Справочник по проверке моделей . п. 191.
  13. ^ Прасад, Мукул Р; Бьер, Армин; Гупта, Аарти (25 января 2005 г.). «Обзор последних достижений в формальной проверке на основе SAT». Международный журнал по программным инструментам для трансфера технологий . 7 (2): 156–173. дои : 10.1007/s10009-004-0183-4 .
  14. ^ Бьёрнер, Дайнс; Грэм, Кристиан; Оест, Оле Н.; Ристрем, Лейф (2011). «Данский Датаматик Центр». В Импальяццо, Джон; Лундин, Пер; Ванглер, Бенкт (ред.). История Nordic Computing 3: Достижения ИФИП в области информационных и коммуникационных технологий . Спрингер. стр. 350–359.
  15. ^ Бьёрнер, Дайнс; Хавелунд, Клаус. «40 лет формальных методов: некоторые препятствия и некоторые возможности?». FM 2014: Формальные методы: 19-й Международный симпозиум, Сингапур, 12–16 мая 2014 г. Материалы (PDF) . Спрингер. стр. 42–61.
  16. ^ Георге, А.В., и Ансель, Э. (2008, ноябрь). Интеграция беспилотных авиационных систем в Национальную систему воздушного пространства. В книге «Инфраструктурные системы и услуги: построение сетей для светлого будущего» (INFRA), Первая международная конференция 2008 г. (стр. 1–5). IEEE.
  17. ^ Скоординированное разрешение и обнаружение конфликтов с помощью самолетов, http://shemesh.larc.nasa.gov/people/cam/ACCoRD/. Архивировано 5 марта 2016 г. в Wayback Machine.
  18. ^ «Ателье Б» . www.atelierb.eu .
  19. ^ CT Chou, PK Mannava, S. Park, « Простой метод параметризованной проверки протоколов когерентности кэша », Формальные методы в автоматизированном проектировании, стр. 382–398, 2004.
  20. ^ Формальная проверка в механизме выполнения процессора Intel Core i7, http://cps-vo.org/node/1371. Архивировано 3 мая 2015 г. на Wayback Machine , по состоянию на 13 сентября 2013 г.
  21. ^ Дж. Гранди, «Проверенная оптимизация для архитектуры Intel IA-64», В «Доказательстве теорем в логике высшего порядка», Springer Berlin Heidelberg, 2004, стр. 215–232.
  22. ^ Э. Селигман, И. Яром, « Наиболее известные методы использования Cadence Conformal LEC », в Intel.
  23. ^ К. Эйснер, А. Нахир, К. Йорав, « Функциональная проверка конструкций с силовым затвором с помощью композиционных рассуждений». [ постоянная мертвая ссылка ] ", Компьютерная проверка, Springer Berlin Heidelberg, стр. 433–445.
  24. ^ ПК Атти, Х. Чоклер, « Автоматическая проверка отказоустойчивых эмуляций регистров », Электронные заметки в теоретической информатике, том. 149, нет. 1, стр. 49–60.
  25. ^ К.Д. Шуберт, В. Рознер, Дж. М. Ладден, Дж. Джексон, Дж. Бучерт, В. Парути, Б. Брок, « Функциональная проверка микропроцессора IBM POWER7 и многопроцессорных систем POWER7 », IBM Journal of Research and Development, vol. 55, № 3.
  26. ^ X2R-2, поставка D5.1 .
  27. ^ Дэниел Джексон и Жаннетт Винг , «Облегченные формальные методы» , IEEE Computer , апрель 1996 г.
  28. ^ Вину Джордж и Рэйфорд Вон, «Применение облегченных формальных методов в разработке требований». Архивировано 1 марта 2006 г. в Wayback Machine , Crosstalk: Журнал оборонной разработки программного обеспечения , январь 2003 г.
  29. ^ Дэниел Джексон, «Сплав: облегченная нотация моделирования объектов» , Транзакции ACM по разработке программного обеспечения и методологии (TOSEM) , Том 11, Выпуск 2 (апрель 2002 г.), стр. 256-290
  30. ^ Ричард Денни, Успех в сценариях использования: разумная работа для обеспечения качества , Addison-Wesley Professional Publishing, 2005, ISBN   0-321-31643-6 .
  31. ^ Стен Агерхольм и Питер Г. Ларсен, «Облегченный подход к формальным методам». Архивировано 9 марта 2006 г. в Wayback Machine , В материалах международного семинара по текущим тенденциям в прикладных формальных методах , Боппард, Германия, Springer-Verlag, октябрь 1998 г.
  32. ^ «ЭСБМК» . esbmc.org .
  33. ^ Барточчи, Эцио; Бейер, Дирк; Блэк, Пол Э.; Федюкович, Григорий; Гаравель, Юбер; Хартманс, Арнд; Хейсман, Марике; Кордон, Фабрис; Нагеле, Джулиан; Сигиряну, Михаэла; Штеффен, Бернхард; Суда, Мартин; Сатклифф, Джефф; Вебер, Тьярк; Ямада, Акихиса (2019). «TOOLympics 2019: Обзор соревнований по формальным методам». В Бейере, Дирк; Хейсман, Марике; Кордон, Фабрис; Штеффен, Бернхард (ред.). Инструменты и алгоритмы построения и анализа систем . Конспекты лекций по информатике. Чам: Международное издательство Springer. стр. 3–24. дои : 10.1007/978-3-030-17502-3_1 . ISBN  978-3-030-17502-3 .
  34. ^ Фролейкс, Нильс; Хойле, Марин; Изер, Маркус; Ярвисало, Матти; Суда, Мартин (01 декабря 2021 г.). «Конкурс САТ 2020» . Искусственный интеллект . 301 : 103572. doi : 10.1016/j.artint.2021.103572 . ISSN   0004-3702 .
  35. ^ Корнехо, Сезар (27 января 2021 г.). «Арифметическая поддержка сплавов на основе SAT» . Материалы 35-й Международной конференции IEEE/ACM по автоматизированной разработке программного обеспечения . АСЭ '20. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 1161–1163. дои : 10.1145/3324884.3415285 . ISBN  978-1-4503-6768-4 .
  36. ^ Барретт, Кларк; Детерс, Морган; де Моура, Леонардо; Оливерас, Альберт; Стамп, Аарон (01 марта 2013 г.). «6 лет СМТ-КОМП» . Журнал автоматизированного рассуждения . 50 (3): 243–277. дои : 10.1007/s10817-012-9246-5 . ISSN   1573-0670 .
  37. ^ Федюкович, Григорий; Рюммер, Филипп (13 сентября 2021 г.). «Отчет о конкурсе: CHC-COMP-21» . Электронные труды по теоретической информатике . 344 : 91–108. arXiv : 2008.02939 . дои : 10.4204/EPTCS.344.7 . ISSN   2075-2180 .
  38. ^ Шукла, Анкит; Бьер, Армин; Пулина, Лука; Зайдль, Мартина (ноябрь 2019 г.). «Обзор применения количественных логических формул» . 31-я Международная конференция IEEE по инструментам с искусственным интеллектом (ICTAI) , 2019 г. IEEE. стр. 78–84. дои : 10.1109/ICTAI.2019.00020 . ISBN  978-1-7281-3798-8 .
  39. ^ Пулина, Лука; Зайдль, Мартина (01 сентября 2019 г.). «Оценки решателей QBF 2016 и 2017 годов (QBFEVAL'16 и QBFEVAL'17)» . Искусственный интеллект . 274 : 224–248. дои : 10.1016/j.artint.2019.04.002 . ISSN   0004-3702 .
  40. ^ Бейер, Дирк (2022). «Прогресс в проверке программного обеспечения: SV-COMP 2022». В Фисмане, Дана; Розу, Григоре (ред.). Инструменты и алгоритмы построения и анализа систем . Конспекты лекций по информатике. Том. 13244. Чам: Springer International Publishing. стр. 375–402. дои : 10.1007/978-3-030-99527-0_20 . ISBN  978-3-030-99527-0 .
  41. ^ Алур, Раджив; Фисман, Дана; Сингх, Ришаб; Солар-Лезама, Армандо (28 ноября 2017 г.). «СиГуС-Комп 2017: Итоги и анализ» . Электронные труды по теоретической информатике . 260 : 97–115. arXiv : 1611.07627 . дои : 10.4204/EPTCS.260.9 . ISSN   2075-2180 .

Дальнейшее чтение

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