АННОТАЦИЯ 3
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ,
СОКРАЩЕНИЙ, ТЕРМИНОВ 7
ВВЕДЕНИЕ 8
1 Глава Программное окружение и требования к подсистеме 10
1.1 Описание программного комплекса SCADA Integrity 10
1.2 Состав SCADA Integrity 10
1.3 Архитектура сервера ввода/вывода 14
1.4 Процесс создания модуля 16
1.5 Требования к подсистеме 17
2 Глава Анализ программных решений и спецификации OSGI JAVA . 20
2.1 Спецификация OSGI Java 20
2.2 Анализ существующих программных решений 26
2.3 Сравнение рефлексии в различных языках 34
2.4 Анализ существующих библиотек для С++ с поддержкой
рефлексии 40
2.5 Определение и решение архитектурных проблем 49
2.6 Дополнительный модуль 50
Глава 3 Проектирование архитектуры подсистемы дополнительных модулей 53
3.1 Определение основных сущностей архитектуры 53
3.2 Определение сервисных компонентов 54
3.3 Архитектура компонента OSGI 56
3.4 Архитектура компонента Runtime 59
3.5 Архитектура компонента Configurator 63
Глава 4 Реализация подсистемы дополнительных модулей 65
4.1 Вспомогательные проекты 65
4.2 Framework_console 67
4.3 Unit-тестирование 68
4.4 Модули конфигуратора сервера ввода/вывода 70
4.5 Руководство программиста 72
ЗАКЛЮЧЕНИЕ 78
ЛИТЕРАТУРА 79
Приложение А - Акт о внедрении на производство 80
На данный момент в России существует множество предприятий, требующих автоматизации технологических процессов. Такими предприятиями являются, например, РосАтом, Московский метрополитен, Газпром и Роснефть и так далее. Автоматизацией технологических процессов, а также разработкой программных инструментов для этих целей занимаются множество компаний, среди которых АО «Элеси».
В создании больших и сложных проектов автоматизации важную роль играет удобство использования программных инструментов. Множество зарубежных компаний, к примеру, Siemens, пришли к идее создания «Сквозного конфигуратора» - приложения, объединяющего в себе все возможности SCADA комплексов. Объединение всех функциональных возможностей в одном приложении упрощает настройку, уменьшает сроки создания проектов автоматизации, а также позволяет централизовать управление развертыванием и дальнейшим администрированием SCADA системы.
АО «Элеси» ведет разработку и поддержку инструментального комплекса SCADA Integrity. Данный комплекс состоит из множества приложений, каждое из которых отвечает за определенные задачи автоматизации. К его недостаткам можно отнести отсутствие «Сквозного конфигуратора», а как следствие - сложность создания больших проектов автоматизации.
Для обеспечения конкурентоспособности данного комплекса необходимо разработать «Сквозной конфигуратор» SCADA Integrity/
Разработка Сквозного конфигуратора с нуля требует много времени и ресурсов компании. Так как таких ресурсов на данный момент нет, было принято решение о разработке на базе конфигуратора сервера ввода/вывода, являющегося частью программного комплекса SCADA Integrity. Тем самым время и трудозатраты на создание Сквозного конфигуратора будут значительно снижены. В качестве подготовительных работ планируется создание системы дополнительных модулей, которая объединит все приложения Integrity в единую систему, обеспечит гибкость архитектуры при плавном переходе к конфигурированию проектов на базе одного приложения, упростит совместную разработку модулей для SCADA системы и повысит безопасность разработки ПО.
Целью данной работы является разработка подсистемы дополнительных модулей, объединяющей все решения комплекса SCADA Integrity в единую систему, с возможностью параллельной разработки новых модулей в рамках создания «Сквозного конфигуратора.
Для достижения цели необходимо решить следующие задачи:
1. Изучить структуру и состав программного комплекса SCADA Integrity.
2. Изучить проблемы, возникающие при создании новой функциональности.
3. Определить требования к подсистеме дополнительных модулей.
4. Изучить спецификацию OSGI Java.
5. Провести анализ существующих решений и возможности их использования в разработке с учетом принятых ограничений.
6. Определить возможные проблемы, делающие разработку невозможной, и методы их решения.
7. Разработать архитектуру подсистемы с возможностью поэтапного расширения.
8. Реализовать подсистему с обеспечением кроссплатформенности.
9. Провести Unit тестирование разработанного продукта.
10. Создать руководство программиста для разработанной подсистемы.
11. Внедрить подсистему в программно-инструментальный комплекс SCADA Integrity.
Результатом написания магистерской диссертации стала подсистема дополнительных модулей, написанная для программного комплекса SCADA Integrity, являющегося коммерческой разработкой компании АО «Элеси».
В ходе работы установлены требования к подсистеме дополнительных модулей, проведен сравнительный анализ существующих решений на рынке. Определена архитектура подсистемы и проблемы, связанные с реализацией. Проведен анализ проблем и определены пути их решения. Реализован прототип подсистемы. Создана управляющая консоль, предназначенная для отладки плагинов.
Таким образом все поставленные задачи решены, цель работы достигнута. В качестве подтверждения успешного завершения работ по проектированию и реализации подсистемы дополнительных модулей, в приложении А представлен акт внедрения данной подсистемы в программный комплекс SCADA Integrity в рамках подготовительных работ по разработке сквозного конфигуратора.