Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Disser_k_GOSam.docx
Скачиваний:
124
Добавлен:
19.03.2016
Размер:
8.19 Mб
Скачать
    1. Выводы по главе.

В данной главе проведено исследование в области экспертных систем. Изучена общая структура ЭС, принципы их построения. Так же были освещены основные инструментарии для разработки экспертных систем.

Глава 4. Разработка графического приложения и интеграция экспертной системы.

    1. Выбор программных средств, для реализации экспертной системы.

Для создания модуля программы был выбран язык программирования Java и среда разработки NetBeans 8.0.2.

Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры.

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

Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:

  • применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде;

  • широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках;

  • аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

Для семи разных задач время выполнения на Java составляет в среднем в полтора-два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java-машиной было в 10-30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и большее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на CИдеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.

NetBeans IDE — свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C, C++, Ада и ряда других.

NetBeans IDE поддерживает плагины, позволяя разработчикам расширять возможности среды. Одним из самых популярных плагинов является мощный дизайнер отчётов iReport (основанный на библиотеке JasperReports).

NetBeans IDE доступна в виде готовых дистрибутивов (прекомпилированных бинарных файлов) для платформ Microsoft Windows, Linux, FreeBSD, Mac OS X, OpenSolaris и Solaris (как для SPARC, так и для x86 — Intel и AMD). Для всех остальных платформ доступна возможность скомпилировать NetBeans самостоятельно из исходных текстов.

В версии 7 производитель отказался от поддержки языка Ruby и Ruby on Rails, объясняя этот отказ большим объёмом работ по поддержке Java 7 и сравнительно невысокой потребностью в этом языке и технологии среди пользователей NetBeans (компонент Ruby and Rails был взят на сопровождение сообществом и продолжает существовать[). Таким образом, «из коробки» последние версии NetBeans поддерживают только Java (включая Java FX, Java ME, Java EE), C/C++, Groovy, PHP, HTML, JavaScript,CSS. Также для версии 7 не имеется ни собственных, ни бесплатных сторонних компонентов поддержки UML-моделирования.

Для реализации экспертной системы был выбран язык CLIPS – это язык программирования, позволяющий использовать целый ряд подходов, который обеспечивает поддержку программирования на основе правил, объектно-ориентированного и процедурного программирования.

Возможности логического вывода и представления, предоставляемые основанным на правилах языком программирования CLIPS, аналогичны возможностям языка OPS5, но являются более мощными. По своей синтаксической структуре правила CLIPS весьма напоминают правила, применяемые в таких языках, как Eclipse, CLIPS/R2 и Jess, но CLIPS поддерживает только правила прямого логического вывода. Этот язык не обеспечивает обратный логический вывод.

Возможности объектно-ориентированного программирования языка CLIPS, упоминаемые под общим названием как язык COOL, представляют собой гибридную комбинацию средств, обнаруживаемых в других объектно-ориентированных языках, таких как CLOS (Common Lisp Object System, кроме того, в языке COOL воплощены некоторые новые идеи. С другой стороны, средства языка процедурного программирования, предусмотренные в CLIPS, напоминают средства таких языков, как С, Ada и Pascal, а по своему синтаксису аналогичны языку LISP.

Актуальными версиями выбранных систем на момент написания диссертации являются NetBeans 8.0.2 и ClipsEditor 1.1, в них и будет производится разработка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]