Общая логика


Common Logic ( CL ) — это фреймворк для семейства логических языков , основанный на логике первого порядка , предназначенный для облегчения обмена и передачи знаний в компьютерных системах. [1]

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

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

Common Logic опубликована ISO как «ISO/IEC 24707:2007 — Информационные технологии — Common Logic (CL): основа для семейства языков, основанных на логике». [2] Он доступен для покупки в каталоге ISO, а также в свободном доступе в указателе общедоступных стандартов ISO. [3] [4]

Стандарт CL включает спецификации для трех диалектов: формат обмена общей логикой ( CLIF ) (приложение A), формат обмена концептуальными графами ( CGIF ) (приложение B) и нотация на основе XML для общей логики ( XCL ) (приложение C) . ). Семантика этих диалектов определяется в Стандарте их переводом на абстрактный синтаксис и семантику Common Logic. Многие другие языки, основанные на логике, также могут быть определены как подмножества CL посредством подобных переводов; среди них языки RDF и OWL , которые были определены W3C .

Разработка стандарта ISO началась в июне 2003 г. под руководством Рабочей группы 2 (Метаданные) Подкомитета 32 (Обмен данными) в рамках ISO/IEC JTC1 и была завершена в октябре 2007 г. Техническое исправление, исправляющее некоторые ошибки в исходном стандарте, готовится в данный момент.