Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
04.01.2020
Размер:
178.86 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Отчёт по лабораторной работе №3,4

Факультет бизнеса

Группа ФБИ-11

Студенты: Колун А.Ю., Перов Н.А.

Преподаватель: Бакаев М.А.

Новосибирск

2014

Цель работы:

  • Освоение основ проектирования ИС. Реализация структуры прототипа ИС в среде CLIPS.

  • Освоить принципы проектирования онтологий и их разработки с использованием инструментальных средств.

  • Понять содержание гибридной модели представления знаний, сочетающей фреймы и правила вывода.

  • Получить навыки разработки интеллектуальной системы на основе гибридной модели.

Предметная область.

Рассматриваемой областью является диагностика ПК. Целью является определение неисправности и вывод советов по устранению.

Исходными данными буду ответы пользователя на вопросы, тем самым будет определен неисправный элемент в ПК пользователя и вывод совета по устранению. Классы, свойства, правила, были определены с учетом данной области.

Иис По диагностики пк Массив вопросов Неисправность

Ответы пользователя

Советы по устранению

Рисунок 1 – Информационная модель

2) Реализация онтологий в protégé

Рисунок 2 – Иерархия классов

Рисунок 3 – Свойства классов

Рисунок 4 - Визуализация иерархическое древо классов

Рисунок 5 – связь между классами

В листинге -1 представлена структура классов сгенерированных в protégé с помощью плагина CLIPSTAB.

Листинг 1 программы:

(defclass PRODUCER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_producer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass LOCATION

(is-a PRODUCER)

(role concrete)

(pattern-match reactive)

(single-slot street

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot city

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_manufacturer

(type INSTANCE)

;+ (allowed-classes PRODUCER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot name_computer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot type_computer

(type INSTANCE)

;+ (allowed-classes TYPE_COMPUTER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_pc

(type INSTANCE)

;+ (allowed-classes APPLICATION HARDWARE SYSTEM)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DEFECTS

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass SYSTEM

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot defect_system

(type INSTANCE)

;+ (allowed-classes LINUX MAC_OS WINDOWS)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot cost_system_defect

(type INTEGER)

(range 0 15000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARDWARE

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot cost_hardware

(type INTEGER)

(range 0 25000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_hardware

(type INSTANCE)

;+ (allowed-classes CPU DISC_DRIVE HARD_DISC MOTHERBOARD RAM VIDEO_CARD)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass APPLICATION

(is-a DEFECTS)

(role concrete)

(pattern-match reactive))

(defclass TYPE_COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot type

(type SYMBOL)

;+ (allowed-parents LEPTOP NETBOOK NOOTBOOK PC)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass NOOTBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass NETBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass LEPTOP

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass PC

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass STRUCTURA_PC

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass BLOK

(is-a STRUCTURA_PC)

(role concrete)

(pattern-match reactive))

(defclass MOTHERBOARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass CPU

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass VIDEO_CARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARD_DISC

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass RAM

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DISC_DRIVE

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass OS

(is-a STRUCTURA_PC)

(role concrete)

(pattern-match reactive))

(defclass LINUX

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass MAC_OS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass WINDOWS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass PRODUCER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_producer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass LOCATION

(is-a PRODUCER)

(role concrete)

(pattern-match reactive)

(single-slot street

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot city

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_manufacturer

(type INSTANCE)

;+ (allowed-classes PRODUCER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot name_computer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot type_computer

(type INSTANCE)

;+ (allowed-classes TYPE_COMPUTER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_pc

(type INSTANCE)

;+ (allowed-classes HARDWARE_DEFFECT SYSTEM_PO_DEFECT)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DEFECTS

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass SYSTEM_PO_DEFECT

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot defect_system

(type INSTANCE)

;+ (allowed-classes LINUX MAC_OS WINDOWS)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot cost_system_defect

(type INTEGER)

(range 0 15000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARDWARE_DEFFECT

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot cost_hardware

(type INTEGER)

(range 0 25000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_hardware

(type INSTANCE)

;+ (allowed-classes CPU DISC_DRIVE HARD_DISC MOTHERBOARD RAM VIDEO_CARD)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass TYPE_COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot type

(type SYMBOL)

;+ (allowed-parents LEPTOP NETBOOK NOOTBOOK PC)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass NOOTBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass NETBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass LEPTOP

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass PC

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass STRUCTURA_PC

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass BLOK

(is-a STRUCTURA_PC)

(role concrete)

(pattern-match reactive))

(defclass MOTHERBOARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass CPU

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass VIDEO_CARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARD_DISC

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass RAM

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DISC_DRIVE

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass PROGRAMM

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass OS

(is-a PROGRAMM)

(role concrete)

(pattern-match reactive))

(defclass LINUX

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass MAC_OS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass WINDOWS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass PRODUCER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_producer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass LOCATION

(is-a PRODUCER)

(role concrete)

(pattern-match reactive)

(single-slot street

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot city

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot name_manufacturer

(type INSTANCE)

;+ (allowed-classes PRODUCER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot name_computer

(type STRING)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot type_computer

(type INSTANCE)

;+ (allowed-classes TYPE_COMPUTER)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_pc

(type INSTANCE)

;+ (allowed-classes HARDWARE_DEFFECT SYSTEM_PO_DEFECT)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DEFECTS

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass SYSTEM_PO_DEFECT

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot defect_system

(type INSTANCE)

;+ (allowed-classes LINUX MAC_OS WINDOWS)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot cost_system_defect

(type INTEGER)

(range 0 15000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARDWARE_DEFFECT

(is-a DEFECTS)

(role concrete)

(pattern-match reactive)

(single-slot cost_hardware

(type INTEGER)

(range 0 25000)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot defect_hardware

(type INSTANCE)

;+ (allowed-classes CPU DISC_DRIVE HARD_DISC MOTHERBOARD RAM VIDEO_CARD)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass TYPE_COMPUTER

(is-a USER)

(role concrete)

(pattern-match reactive)

(single-slot type

(type SYMBOL)

;+ (allowed-parents LEPTOP NETBOOK NOOTBOOK PC)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass NOOTBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass NETBOOK

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass LEPTOP

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass PC

(is-a TYPE_COMPUTER)

(role concrete)

(pattern-match reactive))

(defclass STRUCTURA_PC

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass BLOK

(is-a STRUCTURA_PC)

(role concrete)

(pattern-match reactive))

(defclass MOTHERBOARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass CPU

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass VIDEO_CARD

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass HARD_DISC

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass RAM

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass DISC_DRIVE

(is-a BLOK)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass PROGRAMM

(is-a USER)

(role concrete)

(pattern-match reactive))

(defclass OS

(is-a PROGRAMM)

(role concrete)

(pattern-match reactive))

(defclass LINUX

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass MAC_OS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))

(defclass WINDOWS

(is-a OS)

(role concrete)

(pattern-match reactive)

(single-slot is_work

(type SYMBOL)

(allowed-values FALSE TRUE)

(default TRUE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write))

(single-slot is_freezes

;+ (comment "Свойство класса булева типа которая отображает некорректную работу операционной системы, по умолчанию false")

(type SYMBOL)

(allowed-values FALSE TRUE)

(default FALSE)

;+ (cardinality 0 1)

(visibility public)

(create-accessor read-write)))