- •Получение с помощью имитационной модели производственной системы данных для анализа закономерностей предметной области Введение
- •1. Обоснование выбора языка и среды моделирования
- •1.Цель и содержание работы
- •2. Теоретическая часть
- •2.1.Объект моделирования
- •2.2.Выбор программных объектов модели
- •2.3.Описание процесса обслуживания
- •2.4.Работа в среде clips
- •3.Автоматизация планирования имитационных экспериментов и составления командного (пакетного) файла для получения данных
- •3.1. Полный факторный эксперимент
- •3.2. Дробный факторный эксперимент
- •3.3. Использование среды Excel для автоматизации составления планов дфэ и командного файла
- •4. Выполнение работы
- •4.1. Предоставляемое программное обеспечение
- •4.2. Практическая часть
- •4.3. Получаемые самостоятельно программные продукты:
- •5. Отчет по работе
- •Пояснения к программе имитационного моделирования
- •Краткие сведения об используемых в программе конструкциях языка clips
- •Пояснения и примеры по программированию генераторов на языке clips
2.4.Работа в среде clips
Работа в среде CLIPS начинается с запуска файла CLIPSWin.exe, который следует поместить в папку, где находится программа моделирования (файл model.clp). После этого на экран будет выведено главное окно CLIPS (рис.1). Загрузка программ осуществляется из меню File путем выбора команды Load… или Load Batch. В первом случае после команд (reset) и (run) будет осуществлен однократный прогон программы со сбросом результатов в текстовый файл. Вторая команда позволяет осуществить многократный автоматический запуск программы с дописыванием результатов в текстовый файл. Для реализации второго варианта необходимо предварительно создать командный файл с расширением .bat, например, run.bat, где указать условия для каждого запуска. Остановимся пока на варианте однократного запуска с помощью команд Load и run. После выбора Load открывается стандартное диалоговое окно открытия файла, в котором следует выбрать файл model.clp и нажать клавишу “Открыть”.
Рис.1.Главное окно CLIPS (V6.22).
Рис.2.Окно диалога с результатами загрузки программы model.clp.
На экран будут выведен список всех используемых конструкторов и их имен (рис.2). При успешной проверке список заканчивается сообщением TRUE и строкой приглашения для ввода дальнейших команд. Такими командами являются (Reset), (run) или (step). Для их выбора лучше использовать меню Execution (рис.3).
Рис.3.Меню выбора команд запуска и наблюдения за ходом выполнения программ.
Команда Reset обязательна. Она обновляет факты и создает факт initial-fact. Наблюдаемый результат выполнения команды (Reset) после открытия файла будет зависеть от предварительного выбора режима наблюдения, который желательно установить с помощью позиции Watch на рис.3 до выполнения команды (Reset). Появится панель (рис.4).
Рис.4.Окно установки режима наблюдения за ходом выполнения программы.
По умолчанию отмеченной является только позиция Compilations. В этом случае после выполнения команды Reset будут добавлены все конструкторы, но отображаться на экране будет только эта команда и строка приглашения. Если еще выбрать хотя бы позицию Facts, то после выполнения команды Reset в диалоговое окно будет помещен упорядоченный список исходных фактов (рис.5).
Заключительной командой запуска программы на выполнение является команда (run) из меню Execution. Для выполнения программы в пошаговом режиме служит команда (step) из того же меню. Для полного контроля за ходом выполнения программы по команде step следует предварительно в окне Watch Options (см.рис.4) дополнительно отметить опции Deffunctions (для наблюдения за выполнением пользовательских функций), Instances, Slots и Message-handlers для наблюдения соответственно за объектами, значениями их слотов и за действиями обработчиков сообщений пользовательских классов. Каждый шаг выводит группу выполненных действий, и объем выводимой информации будет значительным, особенно, если поставить галочку напротив окна Messages. Советуем чаще использовать режим step для понимания действий программы при изучении ее работы.
Рис.5.Отображение упорядоченного списка исходных фактов после выполнения команды Reset.
Рис.6. Панель настройки приоритетов правил (свойство Salience) и выбора стратегии разрешения конфликтов.
С помощью меню Execution можно также настраивать приоритеты правил и устанавливать подходящую стратегию разрешения конфликтов (рис.6), позволяющую реализовать принцип запуска самого важного из конкурирующих в данный момент правил. Стратегию выбирает пользователь программы. В нашем случае он должен выбрать стратегию “в ширину” (breadth), как отвечающую порядку обслуживания FIFO. При произвольной смене стратегии программа может перестать правильно работать.
Исходный текст программы model.clp можно открыть и редактировать с помощью редактора WordPad или Блокнота. Перед запуском программы модифицированный текст следует обязательно сохранить.
Полученные результаты можно посмотреть в текстовом файле data.txt в той же папке, который автоматически обновляется при очередном прогоне программы. Этот файл удобно использовать для визуального контроля эффективности вносимых изменений в исходные данные программы моделирования. В программе также предусмотрена возможность сохранять результаты в файле data.xml.
Для накопления статистических данных обслуживания программа может запускаться многократно в автоматическом режиме с помощью командного файла run.bat (рис.7). Этот файл можно создать в Блокноте и поместить в ту же папку, где содержатся CLIPS, model.clp и data.txt. Просмотреть и изменить командный файл можно из контекстного меню, выбрав команду “Изменить”. При запуске по команде Load Batch программа создает структурированный выходной файл data.xml в той же папке. Если файл с таким именем уже присутствует в папке, он будет изменен.
Файл data.xml можно просмотреть и в последующем использовать для экспорта результатов множества экспериментов в БД. При неоднократном прогоне модели в файле run.bat предусмотрена возможность изменения стартового числа программного генератора БСВ с помощью выполнения команд (seed (round (time))) для исключения повторяемости результатов. В командном файле можно поменять и запускаемый рабочий файл. Для этого достаточно между очередными командами (run) и (reset) вставить строки:
(clear)
(load model1.clp),
где указано имя другого файла (см. пример в файле run1.bat).
Рис.7. Фрагмент командного файла run.bat для многократного прогона модели с неизменяемыми входными данными и рабочим файлом и сбрасывания результатов в файл data.xml.
