
- •Архитектуры и модели программ и знаний
- •Цели проекта
- •Области применения проекта
- •Преимущества
- •Компоненты
- •Язык Knowledge.NET
- •Пример программы
- •Пример запроса
- •Особенности
- •Knowledge Editor
- •Тип проекта:
- •Особенности
- •KIF Converter
- •Ontolingua
- •Knowledge Prospector
- •Алгоритм работы
- •Используемые
- •Текущее состояние проекта
- •Вопросы и домашнее задание к лекции 31

Архитектуры и модели программ и знаний
Лекция 31
Интеграция инженерии знаний и инженерии программ. Система Knowledge.NET
Сафонов Владимир Олегович
Профессор кафедры информатики Заведующий лабораторией Java-технологии
(http://polyhimnie.math.spbu.ru/jtl)
Санкт-Петербургский государственный университет
Email: vosafonov@gmail.com
WWW: http://www.vladimirsafonov.org

Цели проекта
Knowledge.NET
Реализация идей интеграции методов инженерии знаний и инженерии программ в одном удобном и современном языке и инструменте
Расширение языка C# средствами инженерии знаний
Использование платформы .NET как наиболее современной платформы для разработки программРезультат: Разработана уникальная система для платформы .NET для разработки интеллектуальных(C) Сафонов В.О. 2012

Области применения проекта
•Процедурные знания
•Концептуальные знания
•Фактуальные знания
•Эвристические знания
(C) Сафонов В.О. 2012

Преимущества
Knowledge.NET
Гибридные знания
Интеграция с MS Visual Studio.NETИспользование C# в качестве базового языкаКомплексное решение в области
инженерии знаний для Microsoft.NET
(C) Сафонов В.О. 2012

Компоненты
Knowledge.NET
Knowledge.NET – расширение языка С#Редактор и визуализатор знаний Knowledge Editor
Конвертор в формат KIFСистема Knowledge Prospector
(C) Сафонов В.О. 2012

Язык Knowledge.NET
ОнтологииНаборы правил
Интеграция с C# - кодом
Машина прямого и обратного выводаЯзык запросов
(C) Сафонов В.О. 2012

Пример программы
|
Plane is_subconcept_of Vehicle; |
|||
using System; |
|
|||
// C# native code |
|
Submarine is_subconcept_of Vehicle; |
||
|
disjoint Plane, Submarine; |
|||
namespace HelloWorld |
|
disjoint Color, Vehicle; |
||
{ |
class Hello |
|
#properties |
|
|
{ [STAThread] |
|
||
|
|
object property HasColor |
||
|
static void Main(string[] args) |
|
{ |
|
|
{ |
Console.out.WriteLine (“Vehicle: ” |
|
domain Vehicle; |
+ Lada.HasName); |
|
range Color; |
||
|
} |
} |
|
} |
} |
|
|
functional datatype property HasName |
|
|
|
|
{ |
|
// Knowledge .NET specific code |
|
|||
|
domain Vehicle; |
|||
#ontology “Vehicles” |
|
range string; |
||
#concepts |
|
} |
||
Color is_subconcept_of Thing; |
|
|||
|
#individuals |
|||
Vehicle |
|
|||
{ is_subconcept_of Thing; |
|
individual Lada |
||
|
{ |
|||
|
|
some_values_from HasName |
|
is_a Vehicle; |
string;cardinality HasName 1; |
|
|||
|
HasName = “Lada”; |
|||
} |
|
|
|
} |
|
|
|
|
#end_of_ontology “Vehicles” |
|
|
|
|
|
|
|
(C) Сафонов В.О. 2012 |

Пример запроса
individuals of Automobile where (Color contains Red)
or (HasMaxSpeed > 100 and HasMaxSpeed <= 250)
(C) Сафонов В.О. 2012

Особенности
Конвертор написан с использованием инструмента CoCo/R http://www.ssw.uni-linz.ac.at/Research/Projec
ts/Coco/KnowledgeLibrary
Включает в себя машины прямого и обратного вывода
(C) Сафонов В.О. 2012

Knowledge Editor
(C) Сафонов В.О. 2012