Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.
Программи́руемый логи́ческий контро́ллер, программируемый контроллер — специальная разновидность электронной вычислительной машины. Чаще всего ПЛК используют для автоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.
Система автоматизированного проектирования или система автоматизации проектных работ — автоматизированная система CAD, реализующая информационную технологию выполнения функций проектирования, представляет собой организационно-техническую систему, предназначенную для автоматизации процесса проектирования, состоящую из персонала и комплекса технических, программных и других средств автоматизации его деятельности. Также для обозначения подобных систем широко используется аббревиатура САПР.
Программи́руемая логи́ческая интегра́льная схе́ма — электронный компонент, используемый для создания конфигурируемых цифровых электронных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программатор и IDE, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры. Альтернативой ПЛИС являются:
- БМК — базовые матричные кристаллы, требующие заводского производственного процесса для программирования;
- ASIC — специализированные заказные большие интегральные схемы (БИС), которые при малосерийном и единичном производстве существенно дороже;
- специализированные компьютеры, процессоры или микроконтроллеры, которые из‑за программного способа реализации алгоритмов в работе медленнее ПЛИС;
- непрограммируемые цифровые устройства и системы, настроенные на решение заранее известных задач, построенные на принципах так называемой «жёсткой логики».
Автоматизированная система управления технологическим процессом (АСУТП) — система технических и программных средств, предназначенных для автоматизации управления технологическим процессом. Может иметь связь с более общей автоматизированной системой управления предприятием (АСУП).
Верифика́ция в различных сферах деятельности человека может подразумевать:
- подтверждение того, что заданные требования выполнены, через предоставление объективных свидетельств;
- оценка соответствия продукта, услуги или системы нормам, требованиям, спецификациям или установленным условиям;
- проверка, подтверждение, метод доказательств каких-либо теоретических положений, алгоритмов, программ и процедур путём их сопоставления с опытными данными, алгоритмами и программами;
- методика распознавания на соответствие правде;
- в науке, проверка теоретических положений на соответствие реальности при помощи эксперимента.
Switch-технология — технология разработки систем логического управления на базе конечных автоматов, охватывающая процесс спецификации, проектирования, реализации, отладки, верификации, документирования и сопровождения. Предложена А. А. Шалыто в 1991 году.
Проверка моделей — метод автоматической формальной верификации параллельных систем с конечным числом состояний, позволяет проверить, удовлетворяет ли заданная модель системы формальным спецификациям.
Формальная верификация или формальное доказательство — формальное доказательство соответствия или несоответствия предмета верификации его формальному описанию. Предметом выступают алгоритмы, программы и другие доказательства.
Coq — интерактивное программное средство доказательства теорем, использующее собственный язык функционального программирования (Gallina) с зависимыми типами. Позволяет записывать математические теоремы и их доказательства, удобно модифицировать их, проверяет их на правильность. Пользователь интерактивно создаёт доказательство сверху вниз, начиная с цели. Coq может автоматически находить доказательства в некоторых ограниченных теориях с помощью так называемых тактик. Coq применяется для верификации программ.
Темпоральная логика — логика, в высказываниях которой учитывается временной аспект. Используется для описания последовательностей явлений и их взаимосвязи по временной шкале.
В информатике и инженерии программного обеспечения формальными методами называется группа техник, основанных на математическом аппарате для спецификации, разработки и верификации программного и аппаратного обеспечения. Использование формальных методов для проектирования программного и аппаратного обеспечения обусловлено ожиданиями того, что, как и в других инженерных областях, использование математического анализа может существенно поднять надёжность систем. При этом формальные методы довольно сложны, требуют специальной подготовки, временных и ресурсных вложений, и при этом нередко основываются на не всегда достижимых в реальных условиях предположениях. Это приводит к тому, что формальные методы чаще всего находят применение в проектировании высокоточных систем, где важность безопасности оправдывает любые средства.
Логика разделения, сепарационная логика — формальная система, субструктурная логика, применимая к верификации программ, содержащих изменяемые структуры данных и указатели, расширение логики Хоара. Разработана Джоном Рейнольдсом, Питером О’Хирном, Самином Иштиаком и Хонсёком Яном на основе работ Рода Бёрстола. Язык утверждений логики разделения является специальным случаем логики пучковых импликаций.
Формальная верификация криптографических протоколов — проверка криптографических протоколов на обеспечение требуемых свойств безопасности. Одной из составляющих такой проверки является определение стойкости протокола к атакам в предположении о надёжности криптографических примитивов, на которых он основывается. Для решения этой задачи разработан ряд подходов, основанных на различных формальных методах верификации. Общей чертой формальных методов является использование системного подхода к проблеме, позволяющего выполнять более обоснованную, точную и эффективную проверку свойств безопасности протокола.
Теория языков программирования — раздел информатики, посвящённый вопросам проектирования, анализа, определения характеристик и классификации языков программирования и изучением их индивидуальных особенностей. Тесно связана с другими ветвями информатики, результаты теории используются в математике, в программной инженерии и лингвистике.
Семанти́ческий механи́зм рассужде́ний, семанти́ческая машина формирования рассуждений или движо́к пра́вил — это часть программного обеспечения, способная вывести логические умозаключения из набора адекватно формализованных базовых знаний или аксиом. Понятие семантического механизма рассуждений обобщает понятие машины вывода, предоставляя более богатый набор механизмов для работы. Правила вывода обычно определяются с помощью языка онтологий и часто языков описательной логики. Многие семантические механизмы рассуждений используют логику первого порядка для выполнения рассуждений; вывод обычно происходит путём прямой и обратной цепочек рассуждений. Существуют также примеры вероятностных механизмов рассуждений, включая неаксиоматическую систему рассуждений Пей Ванга и вероятностные логические сети.
Isabelle — интерактивный инструмент для автоматического доказательства, использующий логику высшего порядка. Реализован в том же стиле, что и один из первых подобных инструментов — LCF и, точно так же как и LCF, был первоначально полностью написан на языке Standard ML. Система содержит компактное логическое ядро, которое можно принимать в качестве истинного без дополнительных доказательств. Как универсальный инструмент, реализует металогику, которая используется для реализации нескольких вариантов логики объектов Isabelle, таких как логика первого порядка (FOL), логика высшего порядка (HOL) или теория множеств Цермело-Френкеля (ZFC). Чаще всего используется вариант объектной логики является Isabelle/HOL, так же достаточно серьёзные разработки в области теории множеств проводились с использованием Isabelle/ZF.
Инструмент интерактивного доказательства теорем — программное обеспечение, помогающее исследователю в разработке формальных доказательств. Доказательства вырабатываются в процессе взаимодействия человека с машиной. Как правило, такое программное обеспечения включает в себя какую-то разновидность интерактивного редактора доказательств или другой интерфейс, с помощью которого человек может вести поиск доказательств, сведения о которых хранятся в компьютере, а также процедуры автоматической проверки доказательств, осуществляемые компьютером.
NQTHM это средство автоматического доказательства теорем, которое иногда называют средством доказательства теорем Бойера — Мура. Он был предшественником ACL2.
В математической логике, суждение, умозаключение или утверждение — высказывание или формулировка на метаязыке. Например, типичными суждениями в логике первого порядка являются утверждение, о том, что строка является правильно сформированной формулой, или утверждение, о том, что предложение истинно. Аналогично, суждение может утверждать вхождение свободной переменной, в выражение объектного языка или доказательство пропозиции. В общем смысле, суждением, может быть любое индуктивно определяемое утверждение метатеории.