Введение

Common Logic (CL) — это основание для семейства логических языков, базирующееся на логике первого порядка и предназначенное для упрощения обмена и передачи знаний в компьютерных системах. Определение CL допускает и стимулирует разработку различных синтаксических форм, называемых диалектами. Диалект может использовать любой желаемый синтаксис, но необходимо чётко продемонстрировать, как конкретный синтаксис диалекта соответствует абстрактной семантике CL, которая основана на модели-теоретической интерпретации. Каждый диалект может рассматриваться как формальный язык. После установления синтаксического соответствия диалект автоматически получает семантику CL, поскольку она специфицирована относительно абстрактного синтаксиса и, следовательно, наследуется любым соответствующим диалектом. Кроме того, все диалекты CL сопоставимы (то есть могут быть автоматически преобразованы в общий язык), хотя некоторые могут быть более выразительными, чем другие. В общем случае, менее выразительное подмножество CL может быть преобразовано в более выразительную версию CL, но обратное преобразование определено только для подмножества более широкого языка.

Стандарт ISO

ISO опубликовала Common Logic как "ISO/IEC 24707:2007 Информационные технологии — Common Logic (CL): основа для семейства языков, основанных на логике". Он доступен для приобретения в каталоге ISO и свободно доступен в индексе общедоступных стандартов ISO. Стандарт CL включает спецификации для трех диалектов: Формат обмена Common Logic (CLIF) (Приложение A), Формат обмена концептуальными графами (CGIF) (Приложение B) и нотацию Common Logic на основе XML (XCL) (Приложение C). Семантика этих диалектов определяется в стандарте посредством их преобразования в абстрактный синтаксис и семантику Common Logic. Многие другие языки, основанные на логике, также могут быть определены как подмножества CL с помощью подобных преобразований; среди них языки RDF и OWL, разработанные W3C. Разработка стандарта ISO началась в июне 2003 года в Рабочей группе 2 (Метаданные) Подкомитета 32 (Обмен данными) в рамках JTC 1 ISO/IEC и была завершена в октябре 2007 года. В настоящее время готовится техническое исправление, устраняющее некоторые ошибки в исходном стандарте.