Common Logic (CL) - это структура семейства логических языков, основанная на логике первого порядка, направленная на упрощение обмена и передачи знаний в компьютерных системах.[1]
Определение CL служит основой и способствует разработке ряда различных синтаксических форм, называемых диалектами. Диалект может использовать любой требуемый синтаксис при условии возможности точно продемонстрировать то, как реальный синтаксис диалекта соответствует абстрактной семантике CL, которая основана на теорико - модельной интерпретации. Затем каждый диалект можно рассматривать как формальный язык. Как только устанавливается синтаксическое соответствие, диалект получает семантику CL свободно, т.к. она определяется только по отношению к абстрактному синтаксису, и, следовательно, передается любым соответствующим диалектам. К тому же, все диалекты CL являются равнозначными (например, могут автоматически переводиться из одного в другой), хотя некоторые из них могут быть более выразительными, чем другие.
Как правило, менее выразительное подмножество CL может быть переведено в более выразительную модификацию CL. Но обратное преобразование определен только для подмножества более крупного языка.
Common Logic официально опубликована International Organization for Standardization (ISO) как: «ISO/IEC 24707:2007 - Информационные технологии - Common Logic (CL): основа для семейства языков, основанных на логике».[2] CL можно приобрести в каталоге организации ISO, где CL находится в свободном доступе по индексу общедоступных стандартов ISO.[3][4]
CL Standard включает спецификации для трех диалектов: Common Logic Interchange Format (CLIF) (Приложение А), Conceptual Graph Interchange Format (CGIF) (Приложение В) и нотация на основе XML для Common Logic (XCL) (Приложение С). Семантика этих диалектов определяется в Standard их переводом на абстрактный синтаксис и семантику Common Logic (CL). Многие другие языки, основанные на логике, также могут быть определены с помощью подобных преобразований как подмножества Common Logic. К ним относятся такие языки, как RDF и OWL. Эти языки были определены W3C.
Разработка стандарта ISO началась в июне 2003 года Рабочей Группой 2 (Метаданные) Подкомитета 32 (Обмен Данными) в рамках ISO/IECJTC1 и была завершена в октябре 2007 года. Техническая поправка, включающая исправление некоторых погрешностей исходного стандарта, находится на стадии подготовки в настоящее время.