Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования тема диссертации и автореферата по ВАК РФ 05.13.12, кандидат наук Васильев Сергей Алексеевич

  • Васильев Сергей Алексеевич
  • кандидат науккандидат наук
  • 2018, ФГАОУ ВО «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)»
  • Специальность ВАК РФ05.13.12
  • Количество страниц 134
Васильев Сергей Алексеевич. Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования: дис. кандидат наук: 05.13.12 - Системы автоматизации проектирования (по отраслям). ФГАОУ ВО «Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)». 2018. 134 с.

Оглавление диссертации кандидат наук Васильев Сергей Алексеевич

Введение

1. Сервис-ориентированная архитектура схемотехнических САПР

1.1. История появления сервис-ориентированной архитектуры

1.2. Структура сервис-ориентированной архитектуры

1.3. Преимущества и недостатки сервис-ориентированной архитектуры

1.4. Применение сервис-ориентированной архитектуры для схемотехнических САПР

1.5. Выводы по главе

2. Методы применения асинхронного обмена информацией в клиент-серверных веб-приложениях

2.1. Разновидности методов обмена информацией в веб-приложениях

2.2. Преимущества использования протокола WebSocket

2.3. Реализация веб-служб в среде .NET с применением WebSocket

2.4. Взаимодействие компонентов распределенной системы на основе протокола WebSocket

2.5. Коммуникационный модуль WCF с применением WebSocket

2.6. Выводы по главе

3. Математическое обеспечение схемотехнических САПР

3.1. Уровни моделирования

3.2. Структура математического описания систем

3.3. Компонентные уравнения

3.4. Топологические уравнения

3.5. Уравнения линейных систем

3.6. Моделирование стационарного режима нелинейных схем

3.7. Методы расчета нелинейных систем

3.8. Применение математического обеспечения

3.9. Выводы по главе

4. Клиентское приложение для распределенной веб-ориентированной схемотехнической САПР

4.1. Разновидности методов построения клиентских приложений

4.2. Структура клиентского приложения frame

4.3. Обмен данными между фреймами

4.4. Построения клиентских приложений схемотехнических САПР на основе классов наследования

4.5. Описание функционала веб-интерфейса

4.6. Архитектура клиентского веб-приложения

4.7. Выводы по главе

5. Проектирование БД для схемотехнической САПР

5.1. Разновидности программных продуктов для построения БД

5.2. Описание среды разработки и структуры компонентов

5.3. Проектирование и создание БД

5.4. Взаимодействие Visual Studio 2015 c Oracle Database 11g

5.5. Выводы по главе

Заключение

Список сокращений и условных обозначений

Список литературы

Приложения

Листинг 1. ConsoleWebSocketServerOnCalc

Листинг 2 WSSeverMain

Листинг 3 OnCalc

Приложение А. Свидетельство о регистрации программы для ЭВМ

Приложение Б. АКТ ООО Модем

Приложение В. АКТ СПб ГЭТУ «ЛЭТИ»

Приложение Г. АКТ ФГУП НИИР-ЛОНИИР

4

Введение

Показателем качества программного продукта согласно стандарту ISO 9126 является соответствие ряду критериев: функциональность, надежность, эффективность, эргономичность, модифицируемость, мобильность. Функциональность всегда определяется заказчиком и не имеет возможности формирования шаблона для многократного использования, однако все остальные критерии легко поддаются алгоритмизации.

Системы автоматизации схемотехнического проектирования предполагают под собой наличие различного функционала расчетом электронных схем. Одним из самых неосвещенных аспектов качества данного вида программного обеспечения является эргономичность, то есть характеристики продукта, которые позволяют минимизировать усилия пользователя по подготовке исходных данных и оценке полученных результатов. Такой критерий, как эргономичность, неотъемлемо влияет и на остальные составляющие качества программного продукта, в частности на мобильность, т.е. на переносимость программного обеспечения из одной среды в другую или с одного устройства на другое.

Скорость работы программного обеспечения является характеристикой, относящейся к критерию эргономичности, однако эта оценка для сложных систем зависит от большого количества факторов. Построения веб-ориентированных САПР тесно связано с понятиями скорости работы, мобильности, удобства ввода данных и интерпретации полученных результатов.

Понятие веб-ориентированности неразрывно связано с мобильностью, т.к. для пользователя схемотехнической САПР необходим для работы терминал (компьютер), обладающий определенной операционной системой. На текущий момент большинство пользовательских операционных систем оснащены браузером, а значит совместимы с веб-ориентированным программным обеспечением.

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

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

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

Рекомендованный список диссертаций по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Введение диссертации (часть автореферата) на тему «Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования»

Актуальность исследования

Актуальность диссертационной работы определяется необходимостью создания методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования для достижения эффективности использования и высокого качества выполнения проектных работ.

Применение распределенной архитектуры для построения веб-ориентированных систем автоматизации схемотехнического проектирования позволяет использовать её основное преимущество - модульную независимость. Особым видом распределенной архитектуры является SOA (Service-oriented Architecture, сервис-ориентированная архитектура). Такая архитектура обладает основными преимуществами родителя и имеет собственные дополнения в виде особой организации модулей и контроля их деятельности.

Общие вопросы проблематики SOA были описаны ведущими специалистами передовых компаний софт-индустрии таких как IBM, Oracle, Microsoft, проблемами анализа взаимодействия сервисов занимались Кин М., Мур Б., Карвальо А., Иманди П., Лоттер Р., Нортон Ф., Ринглер К., Телерман Г. К таким вопросам относятся: многократное использование и комбинирование стандартизированных компонентов открытой архитектуры, отказоустойчивость и

безопасность распределенной архитектуры, перспективы применения концепции SOA при реализации новых проектов в будущем. Однако, предложенные методы были гармонично применимы для конкретных типов или узконаправленного спектра решаемых задач.

В настоящее время существует несколько проблем, связанных с построением веб-ориентированных схемотехнических САПР. Одной из проблем является построение интерактивных веб-интерфейсов, отвечающих основному требованию предметной области - работа с большим количеством данных (ввод, редактирование, хранение). Вторая проблема обусловлена последовательной методикой обращения к компонентам веб-ориентированной САПР, в том числе и к клиентской составляющей. Возможность отправки асинхронного запроса позволяет использовать остальные функции веб-приложения во время обращения к серверу. Такой подход влияет как на скорость предоставления информации, так и на эффективность ввода- вывода данных, а также визуальное восприятие процесса взаимодействия. Внедрение единых методов асинхронного обмена данными актуально и для внутренних сервисов, так как такой обмен обеспечивает децентрализацию и универсализацию компонентов сервис-ориентированных систем.

Предметом исследования являются методы построения веб-ориентированной системы автоматизации схемотехнического проектирования с применением технологии асинхронного обмена и классов наследования для формирования клиентского приложения.

Объектом исследования диссертационной работы является программное обеспечение веб-ориентированной системы автоматизации схемотехнического проектирования, с использованием технологии асинхронного обмена WebSocket и классов наследования для формирования клиентского приложения.

Целью диссертационной работы является исследование и разработка веб-ориентированной системы автоматизации схемотехнического проектирования с применением технологии асинхронного полнодуплексного обмена и классов наследования для формирование клиентского приложения.

Для достижения поставленной цели следует решить следующие задачи:

1. Выполнить и систематизировать анализ принципов построения программного обеспечения систем с сервис-ориентированной архитектурой.

2. Сформировать компонентный состав и структуру веб-ориентированной системы автоматизации схемотехнического проектирования.

3. Провести исследование эффективности асинхронных методов обмена информацией и организовать их внедрение в модульное взаимодействие распределенной системы для обеспечения быстродействия и независимости модулей.

4. Выполнить анализ существующих методов построения клиентских приложений для выбора наиболее оптимального метода обеспечения высокой интерактивности при взаимодействии с конечным пользователем веб-ориентированной распределенной системы автоматизации схемотехнического проектирования.

5. Исследовать структуру и реализовать организацию компонентов информационного обеспечения веб-ориентированных схемотехнических САПР.

Основные методы исследования

При выполнении поставленных задач в диссертации использованы основы системного анализа, общая теория САПР, теория моделирования, аппарат теории матриц и графов.

Новые научные результаты

1. Разработана оригинальная архитектура веб-ориентированной системы автоматизации схемотехнического проектирования на основе унифицированной модели для сборки сервис-ориентированных приложений.

2. Впервые предложена методика создания высокоскоростного асинхронного обмена данными между компонентами распределенной САПР посредством высокоскоростного полнодуплексного протокола.

3. Предложены перспективные методы формирования клиентского интерфейса с учетом специфики предметной области, основанные на JavaScript-классах наследования.

4. Предложена структура организации компонентов информационного обеспечения веб-ориентированных схемотехнических САПР.

Достоверность научных результатов подтверждается основными положениями общей теории САПР, теории моделирования, корректностью применяемого математического аппарата, и результатами, полученными при тестировании созданного программного обеспечения.

Основные положения, выносимые на защиту

1. Структура веб-ориентированной системы автоматизации схемотехнического проектирования

2. Методика создания высокоскоростного асинхронного обмена данными между компонентами распределенной САПР

3. Алгоритм формирования клиентского интерфейса, основанный на классах наследования.

Практическая ценность результатов работы

1. Разработана структура веб-ориентированной системы автоматизации схемотехнического проектирования

2. Обеспечено внедрение асинхронных методов обмена информацией в модульное взаимодействие распределенной системы.

3. Построена библиотека функций, формирующая интерфейс клиентского приложения на основе JavaScript-классов наследования.

4. Реализована структура организации компонентов информационного обеспечения веб-ориентированных схемотехнических САПР.

Разработанная в диссертационной работе система автоматизации схемотехнического проектирования была реализована на языке C# в среде Microsoft Visual Studio. Практическим результатом является клиентская и серверная составляющая веб-ориентированной системы автоматизации схемотехнического проектирования.

Результаты диссертации внедрены в инженерную практику научно-производственной фирмы «Модем», а также применены при построении САПР «Балтика-РРЛ-М» в филиале ФГУП НИИР, и используются в учебном процессе

кафедры САПР СПБГЭТУ "ЛЭТИ" для изучения методики построения программного обеспечения систем автоматизации схемотехнического проектирования при подготовке бакалавров и магистров по направлению «Информатика и вычислительная техника», что подтверждается соответствующими актами о внедрении.

Основные положения диссертации докладывались и обсуждались на следующих конференциях:

1. Международная научно-техническая конференция «Информационные технологии и математическое моделирование систем 2015» - М.: Федеральное государственное бюджетное учреждение науки Центр информационных технологий в проектировании РАН, 2015

2. Всероссийская научно-практическая конференция. Информационные системы и технологии в моделировании и управлении - Симферополь 2016.

3. Международная научно-техническая конференция «Информационные технологии и математическое моделирование систем 2016». Одинцово: Федеральное государственное бюджетное учреждение науки Центр информационных технологий в проектировании Российской академии наук, 2016

4. II-я Всероссийская научно-практическая конференция. Информационные системы и технологии в моделировании и управлении -Симферополь, 2017

5. 70-я Научно-техническая конференция профессорско-преподавательского состава СПбГЭТУ. - СПб 2017.

6. 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus) Year: 2017

7. Труды конгресса по интеллектуальным системам и информационным технологиям «IS&IT'17». Таганрог- 2017

8. Всероссийская научная конференция по проблемам управления в технических системах. - 2017

9. Control in Technical Systems (CTS), 2017 IEEE II International Conference

10. III-я Всероссийская научно-практической конференции с международным участием Информационные системы и технологии в моделировании и управлении - Симферополь, 2018.

Основное теоретическое и практическое содержание диссертационной работы опубликовано в 18 научных работах, в числе которых 7 статей в ведущих рецензируемых изданиях, рекомендованных в действующем перечне ВАК.

Публикации в изданиях, рекомендованных ВАК России:

1. Анисимов В.И., Гридин В.Н., Васильев С.А. Методы построения схемотехнических систем автоматизированного проектирования с использованием сервис-ориентированного подхода на базе протокола Web Socket // Системы и средства информатики. - 2016. - №2 (26). - С. 136-146.

2. Гридин В.Н., Анисимов В.И., Васильев С.А. Методы повышения быстродействия веб-приложений на основе протокола WebSocket // Вестник компьютерных и информационных технологий. - 2016. - №3 (141). - С. 38-43.

3. Гридин В.Н., Анисимов В.И., Васильев С.А. Методы взаимодействия компонентов распределённых схемотехнических САПР на основе протокола WebSocket // Информационные технологии и вычислительные системы. - 2017. -том 67, вып. 2. - С. 62-67.

4. Гридин В.Н., Дмитревич Г.Д., Анисимов В.И., Васильев С.А. Методы построения веб-ориентированных схемотехнических САПР на основе БД Oracle // Известия СПбГЭТУ «ЛЭТИ». - 2017. - №7. - С. 46-50.

5. Гридин В.Н., Анисимов В.И., Васильев С.А. Методы разработки клиентских приложений для схемотехнических САПР // Информационные технологии в проектировании и производстве. - 2017. - №4 - С. 27-30.

6. Анисимов В.И., Васильев С.А., Журавлев Ю.И. Методы построения клиентских приложений схемотехнических САПР на основе классов наследования // Информационные технологии. - 2017. - №10, Том 23. - С. 749-752.

7. Анисимов В.И., Васильев С.А., Тарасова О.Б. Обзор инновационных направлений развития архитектуры схемотехнических САПР // Информационные технологии и вычислительные системы. - 2018. - №2. - С. 103-108.

Публикации в изданиях, индексируемых в международной базе данных SCOPUS:

8. Vladimir N. Gridin; Gennady D. Dmitrevich; Vladimir I. Anisimov; Sergey A. Vasiliev. Methods of constructing service-oriented computer — Aided circuit design systems based on WebSocket Protocol and Oracle database // 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus) Year: 2017 Pages: 409 - 412, DOI: 10.1109/EIConRus.2017.7910578 IEEE Conference Publications

http://ieeexplore.ieee.org/document/7910578/

9. Vladimir. I. Anisimov, Gennady D. Dmitrevich, Sergey A. Vasiliev. High speed asynchronous methods of data exchange for information systems // Control in Technical Systems (CTS), 2017 IEEE II International Conference on // DOI: 10.1109/CTSYS.2017.8109499 // INSPEC Accession Number: 1737527 http://ieeexplore.ieee.org/document/8109499/

Другие статьи и материалы конференций:

10. Васильев С.А., Дятлин В.В., Баринов Д.В., Кузьмин С.А., Ларистов А.И. Междисциплинарный проект по разработке программного обеспечения клиент- серверного приложения для управления данными оконных программ (на основе библиотеки WinAPI) и их отображения на интерактивном веб-сайте. // 67-я Научно-техническая конференция профессорско-преподавательского состава СПбГЭТУ. - СПб.: Издательство СПбГЭТУ «ЛЭТИ», 2014

11. Анисимов В.И., Гридин В.Н., Васильев С.А. Построение веб-приложений на основе полнодуплексного протокола передачи данных WebSocket в сервис-ориентированных системах автоматизации схемотехнического проектирования // Международная научно-техническая конференция «Информационные технологии и математическое моделирование систем 2015» -М.: Федеральное государственное бюджетное учреждение науки Центр информационных технологий в проектировании РАН, 2015. - С. 26-28.

12. Васильев С.А., Анисимов В.И. Построение сервис-ориентированных схемотехнических САПР с применением комбинированных средств доступа: веб-

служба WCF и WebSocket-сервер. // Всероссийская научно-практическая конференция: Информационные системы и технологии в моделировании и управлении - Симферополь: ИТ «Ариал», 2016. - С. 87-91.

13. Анисимов В.И., Васильев С.А. Методы построения схемотехнических САПР с использование сервис-ориентированного подхода на базе протокола WebSocket // Информационные технологии и математическое моделирование систем 2016 Труды международной научно-технической конференции. Одинцово: Федеральное государственное бюджетное учреждение науки Центр информационных технологий в проектировании Российской академии наук, 2016. С. 14-16.

14. Васильев С.А., Анисимов В.И. Методы увеличения быстродействия клиентских приложений схемотехнических САПР. // Всероссийская научно-практическая конференция: Информационные системы и технологии в моделировании и управлении - Симферополь, 2017. - С. 108-112.

15. Анисимов В.И., Васильев С.А., Никулина В.С. Методы взаимодействия компонентов распределённых схемотехнических САПР на основе протокола WebSocket // 70-я Научно-техническая конференция профессорско-преподавательского состава СПбГЭТУ. - СПб: СПбГЭТУ «ЛЭТИ», 2017.

16. Васильев С.А. Методы построения распределенных сервис-ориентированных электронных образовательных систем на основе протокола WebSocket // Современное образование: содержание, технологии, качество. - СПб: СПбГЭТУ «ЛЭТИ», 2017. Том №1 - С. 137-139.

17. Анисимов В.И., Васильев С.А., Гридин В.Н. Методы повышения отказоустойчивости и быстродействия веб-ориентированных схемотехнических САПР // Труды конгресса по интеллектуальным системам и информационным технологиям «К&ГГ'17». Таганрог- 2017.- т.1.- С. 90-94

18. Анисимов В.И., Дмитревич Г.Д., Васильев С.А. Высокоскоростные асинхронные методы обмена данными для информационных систем // Всероссийская научная конференция по проблемам управления в технических системах. - 2017. - №1. - С. 103-105.

19. Рыжов Н.Г., Анисимов В.И., Васильев С.А. Методы применения классов наследования для формирования интерфейса схемотехнических САПР // Информационные системы и технологии в моделировании и управлении: сборник материалов III Всероссийской научно-практической конференции с международным участием. - Симферополь: ИТ «АРИАЛ», 2018. - С. 354-358.

Диссертационная работа содержит введение, пять глав основного содержания, заключение и список литературы, содержащий 76 наименований. Работа изложена на 134 страницах машинописного текста, и включает в себя 19 рисунков и 2 таблицы.

В первой главе диссертационной работы приводятся проблемы построения схемотехнической САПР с применением распределенной архитектуры, одной из которых является значительный объём передаваемых данных (в том числе служебных) внутри системы. При этом дополнительная сложность заключается в том, что на этапе разработки требуется предусмотреть кроссплатформенность ПО для обеспечения надежной работы приложения в гетерогенных средах. Еще одной проблемой является обеспечение корректности интерпретации структур данных в компонентах, построенных с использованием различных языков программирования.

На основе указанной проблематики приводятся критерии построение сервис-ориентированной схемотехнической САПР:

• Система обеспечивает универсальность каждого компонента, входящего в систему, и соответствие требованиям, наложенным предметной областью.

• Система обеспечивает безопасное соединение и передачу данных между удаленными компонентами или сервисами, совместно использующими локальную вычислительную станцию, для взаимодействия с пользователем напрямую.

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

При построении распределённой веб-ориентированной схемотехнической САПР определены основные компоненты её архитектуры:

• Расчётный сервер, обладающий несколькими сервисами, занимающимися решением схемотехнических задач на сформированных наборах входных данных.

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

• База данных, являющаяся компонентом системы, отвечающим за хранение данных о пользователях, проектах, уровнях допуска, основных функциональных элементах схемотехнического моделирования.

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

Примененная в диссертационной работе для построения веб-ориентированной схемотехнической САПР сервис-ориентированная архитектура позволила децентрализовать систему, существенно повысив её отказоустойчивость в целом. Каждый из сервисов можно использовать отдельно, например, обращаясь к нему напрямую или через альтернативный (запасной) коммуникационный сервер. Выход из строя одного из расчетных сервисов может быть не столь критичен, так как система останется дееспособной, за исключением определенной функции, соответствующей конкретному сервису, остальные функции останутся доступными.

Во второй главе предлагаются методы увеличения быстродействия и интерактивности веб-ориентированной схемотехнической САПР на основе SOA архитектуры. Наиболее эффективным методом увеличения быстродействия является использование полнодуплексного протокола обмена данными WebSocket. Преимущество его использования заключается в том, что протокол позволяет наиболее полно реализовать асинхронный обмен данными, так как является

двунаправленным. Использование данной технологии для построения схемотехнической САПР обеспечивает своевременную реакцию клиентского приложения на события или изменения данных на сервере, затрачивая меньше ресурсов клиентской и серверной (особенно) составляющей, чем альтернативные методологии. При этом использование протокола двухсторонней полнодуплексной связи WebSocket существенно сокращает объем передаваемой служебной информации в сравнении с любым другим, использующим в своей основе HTTP-протокол.

В диссертационной работе приведен алгоритм установление соединения по протоколу WebSocket, для организации работы которого требуется лишь один HTTP-запрос и HTTP-ответ (рукопожатие) для установления связи. Впоследствии передаваемые данные ограничиваются всего двумя байтами служебной информации при каждом запросе и ответе соответственно.

Дополнительным преимуществом использования протокола WebSocket является увеличение продолжительности жизни канала связи, который может существовать значительно дольше в сравнении с подходами на основе Ajax в силу формата самого запроса и фильтрующей деятельности прокси-серверов. Соответственно соединение может находиться в открытом состоянии сколь угодно долго и быть неактивным, а значит, не требовать ресурсов для обработки. При этом в любой нужный момент времени по заранее созданному соединению можно легко передавать любые данные.

В диссертационной работе применяется полнодуплексный асинхронный вызов сервиса. что позволяет веб-приложению осуществлять свою деятельность и выполнять прочие операции, в то время, когда происходит удалённый вызов метода. Клиент-серверные приложения, построенные на платформе WCF, могут участвовать в асинхронных вызовах, обеспечивающих компонентам WCF наибольшую гибкость для увеличения пропускной способности без ущерба для интерактивности сервиса.

Для построения коммуникационного модуля сервиса, входящего в состав информационно-программной системы на основе архитектуры SOA c

применением протокола WebSocket используется стандартная парадигма WCF для определения набора интерфейсов. Служба WebSockets состоит из двух интерфейсов: один содержит метод, который принимает запросы клиента, а другой используется для отправки результатов клиенту. Сервис WCF реализует первый интерфейс - тот, в котором метод принимает запросы.

В диссертационной работе используется новая привязка клиента NetHttpBinding, посредством которой достигается возможность применение протокола обмена данными WebSocket в WCF, что позволяет осуществлять обмен текстовыми или двоично-кодированными SOAP-сообщениями по протоколу WebSocket.

Для оценки эффективности (характера взаимодействия) в области интерактивности описанных технологий по отношению к конечному пользователю в диссертационной работе проведено сравнение количества передаваемых пакетов для поддержания актуальной информации на веб сайте. В качестве инструментов для проведения исследования в диссертационной работе были определены браузер Google Chrome 9 и программа Wireshark Network Protocol Analyzer для получения информации о количестве переданных пакетов. Время проведения исследования составляет 30 минут, данные на сервере формируются каждые 5 минут, polling запрос отправляется каждые 3 минуты, объем трафика, проходящего через сервер, измеряется каждые 6 минут.

В диссертационной работе обоснована целесообразность для построения сервис-ориентированной схемотехнической САПР с применением протокола WebSocket и использование программного фрейморка WCF, обладающего встроенными средствами работы с указанным протоколом. В соответствии с определением веб-службы методика обеспечивает кроссплатформенное взаимодействие, основанное на базе открытых стандартов и протоколов (SOAP и WSDL), а также полную инфраструктурную поддержку со стороны разработчиков всех современных популярных браузеров для создания клиентских веб-приложений. Описанные модификации программной модели WCF не нарушают

стандартизацию интерфейсов и методов взаимодействия в клиент серверных системах.

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

Для минимизации описания схем рекомендуется использовать переход к минимально-мерному координатному базису путем вырождения ряда токовых и потенциальных переменных, таким образом снижается число переменных в уравнениях схемы, что позволяет использовать метод для расчета реальных схем. Для перехода к описанному базису требуется установить иерархию выбора ветвей дерева полюсного графа, где сначала включаются все возможные ветви у-полюсов, а затем дополняются необходимые ветви z-полюсов. Таким образом в графе вырождаются главные сечения z-ветвей и главные контуры у-ветвей, т.е. его z-связи.

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

В четвертой главе исследуются подходы для построения клиентского интерфейса веб-ориентированной схемотехнической САПР, производится сравнительный анализ технологий Iframe для организации вложенных структур и JavaSrcipt-классов наследования, предназначенных для ввода данных. В работе показано, что задача реализации ввода большого количества информации об электронной схеме, с обеспечением требуемого быстродействия и сохранности

ввода данных в отношении разрывов в сети интернет, предоставляемой пользователю, а также поддержки высокоскоростных протоколов передачи данных для обмена с сервером, наиболее эффективно решается на основе применения технологии JavaSrcipt-классов наследования.

В диссертационной работе приводится принцип формирования пользовательского интерфейса на основе специального класса, определяющего иерархию вложенности путем получения ссылки на родительский элемент в качестве параметра. Этот класс можно считать основоположником клиентского приложения, так как он в прямом смысле создает новые объекты путем частичного самокопирования. Также все классы наследуют конструктор данного эталонного класса, оставляя за собой возможность добавления в конструктор дополнительных параметров. Предлагаемая архитектура формирования клиентского приложения на основе JavaScript-классов предоставляет возможности для формирования интерфейса пользователя из большого количества вложенных структур.

Для многопользовательского удаленного проектирования электронных схем в специализированной распределенной среде клиентское приложение обеспечено средствами аутентификации и регистрации пользователей. В работе решена задача обеспечения индикации подключения к серверу, идентификации и установления прав пользователя.

Методика построения клиентского приложения в диссертационной работе предусматривает загрузку параметров из базы данных, а также ввод данных из файла пользователя для всех типов компонентов схемы, для чего предусмотрены отдельные поля на сайте, что обеспечивает полноценное восприятие интерфейса

Похожие диссертационные работы по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Список литературы диссертационного исследования кандидат наук Васильев Сергей Алексеевич, 2018 год

Список литературы

1. Цветков И.Я., Алпатов А.Н. Проблемы распределенных систем // ПНиО. 2014. №6 (12). С.31-36

2. Кононов Д.Д. Сервис-ориентированная архитектура защищенных веб-приложений муниципального управления // Решетневские чтения. 2016.

3. Касьянова Е.Л., Кикин П.М., Грищенко Д.В. Разработка картографических приложений для мобильных устройств // Интерэкспо ГеоСибирь. - 2015. №1. С.75-78

4. Пелёвина А.А., Гнетова А.И., Скопич Д.В. Web - технологии в управлении производством // Ceteris Paribus. 2016. №1-2. С.11-14

5. Дмитревич Г.Д., Мохсен Аяд А.А., Ларистов А.И. Архитектура Web-ориентированных САПР // Информационно-управляющие системы. 2010. №5. С.20-23.

6. Данилов И.Г. Сервис-ориентированная архитектура как основа для построения современных распределённых систем // Известия ЮФУ. Технические науки. 2010. №7. С. 168-173

7. Веселовская В.В. Сервис-ориентированная архитектура в банковской сфере // Научные записки молодых исследователей. 2014. №2. С. 63-69.

8. Кадочников А.А., Якубайлик О. Э. Сервис-ориентированные веб-системы для обработки геопространственных данных // Вестник НГУ. Серия: Информационные технологии. 2015. №1. С. 37-45.

9. Глотова Т.В., Бешер Х.И. Особенности информационной безопасности распределённых систем // Моделирование, оптимизация и информационные технологии. - 2016. - №3(14)

10. Лаврищева Е.М., Карпов Л.Е., Томилин А.Н. Сервисные средства Интернет для решения бизнес-задач // Труды ИСП РАН. 2015. №1. С. 125-150.5

11. Воронцов Ю.А., Козинец А.В. Стандарты веб-сервисов для создания распределенных информационных систем // Век качества. 2015. №3. С.55-72.

12. Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А. Архитектура распределенных сервис-ориентированных систем автоматизированного проектирования // Известия ЮФУ. Технические науки. 2014. №7 (156). С.51-58.

13. Ягьяева Л.Т., Валеев М.Ю., Сайфуллин И.И. Разработка автоматизированной системы контроля и учета энергоресурсов // Вестник Казанского технологического университета. 2015. №21 С. 141-143.

14. Шнепс-Шнеппе М.А., Сухомлин В.А., Намиот Д.Е. О глобальных информационных системах // International Journal of Open Information Technologies. 2017. №4. С.55-62.

15. Anisimov V. I., Almaasali S. A. Methods of Organization of Computations During the Simulation of Grand Systems Based on Diacoptics // Proceedings of the IEEE, North West Section, 2014. Vol. 6. P. 44-48.

16. Przemyslaw Juszkiewicz, Bartosz Sakowicz, Piotr Mazurv, Andrzej Napieralski The Use of Adobe Flex in Combination with Java EE Technology on the Example of Ticket Booking System // Радиоэлектроника и информатика. 2011. №4. С.84-87

17. Корниловский А.В., Губин В.А. Разработка веб-сервиса удалённого взаимодействия с базами данных // АСУ и приборы автоматики. 2010. №151. С 86-88.

18. Анисимов В.И., Гридин В.Н., Васильев С.А. Методы построения схемотехнических систем автоматизированного проектирования с использованием сервис-ориентированного подхода на базе протокола WebSocket // Системы и средства информатики. - 2016. - №2 (26). - С. 136-146.

19. Гридин В.Н., Анисимов В.И., Васильев С.А. Методы повышения быстродействия веб-приложений на основе протокола WebSocket // Вестник компьютерных и информационных технологий. - 2016. - №3 (141). - С. 38-43.

20. Иванов И.П. Концепция «реактивного» форума на основе подхода REST/WebSocket/GraphQL // Сборник научных трудов по материалам X международной научной конференции. Научные тенденции: Вопросы точных и технических наук. - СПб.: LJournal, 2017. - С. 17-21.

21. Lubbers P., Greco F. HTML5 Web Sockets: A Quantum Leap in Scalability for the Web. / Peter Lubbers, Frank Greco. //WebSocket.org, 2011. Режим доступа: http://www.websocket.org/quantum.html (Дата обращения: 10.03.2018)

22. Дутиков Дмитрий Николаевич Применение soap-сервисов для обеспечения взаимодействия внутри распределенной информационной системы и удаленного управления ресурсами // Вестник ЮУрГУ. Серия: Компьютерные технологии, управление, радиоэлектроника. 2010. №22 (198). С 9 - 14.

23. Двоеглазов Д.В., Дешко И.П., Кряженков К.Г., Тихонов А.А. Применение технологии WebSocket в системе удаленного доступа к лабораторным стендам с инфокоммуникационным оборудованием // Интернет-журнал Науковедение. 2015. №4 (29). С.69

24. Акользин Д.Н. Обзор методов повышения производительности программного обеспечения диспетчерского центра // ИВД. 2014. №2. С.81

25. Шестаков В.С., Сагидуллин А.С. Применение технологий WebSocket в WEB-приложениях технологического назначения // Известия высших учебных заведений. Приборостроение. 2015. №Выпуск № 4 / том 58. С. 328-330.

26. Беседа Д.Г., Семенистый Н.В., Аноприенко А.Я. Исследование технологии построения приложений реального времени c использованием протокола websocket // Конференция ИУС КМ - 2013: [155]. - Донецк: Донецкий национальный технический университет, 2013. - С. 276-282.

27. Reverse Ajax, Part 3: Web servers and Socket.IO // http://www.ibm.com/ URL: http://www.ibm.com/developerworks/web/library/wa-reverseajax3/index.html? S_TACT=105AGX99&S_CMP=CP (дата обращения: 12.12.201б).

28. Колосков М.А. Методы обмена данными между клиентом и сервером в веб-приложениях с применением коммуникаций реального времени. // Научное сообщество студентов XXI столетия. Технические науки: сб. ст. по мат. XLIII международная студенческая научно-практическая конференция № б(42). URL^ttpsV/sibac.info/archive/technic^^^pdf (дата обращения: 06.02.2017)

29. Автоматное управление асинхронными процессами в ЭВМ и дискретных системах / Варшавский, Кишиневский, Мараховский, Песчанский, Розенблюм, Таубин, Цирлин; под ред. Варшавский В.И. - М.: Наука, 1986.

30. Лаушкин А.Ф., Ткачев Д.В., Саяпин А.В. Разработка распределенной системы составления расписания на основе концепции service oriented architecture (SOA) (на примере Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева) // Актуальные проблемы авиации и космонавтики. 2011. №7. С.394-395.

31. Гридин В.Н., Анисимов В.И., Васильев С.А. Методы взаимодействия компонентов распределенных схемотехнических САПР на основе протокола WebSocket // Информационные технологии и вычислительные системы. - 2017. -№2. - С. 62-67.

32. Дятлов А.К., Мурыгин А.В. Интеграция системы управления содержимым с WCF-сервисами // Актуальные проблемы авиации и космонавтики. 2015. №11. С.447-449.

33. Орлов А.А., Тельных А.А., Степанов Е.А., Сорокин А.Д., Аксенова Ю.Е. Технические аспекты создания автоматизированных информационных систем многоцелевого применения // Наукоемкие технологии в космических исследованиях Земли. 2013. №4. С.40-44.

34. Федоренков Р.В., Ничушкина Т.Н. Интерактивный веб-сервис WebSocket 2307-0595 // Инженерный вестник, 2015. № 01. С. 539-545.

35. Анисимов В.И. Моделирование непрерывных систем. Учебное пособие. СПб.: Изд-во СПбГЭТУ, 2006 г. 172 с.

36. Пахоменков Ю.М. Алгоритм комплексирования измерительных каналов двухотсчетных преобразователей. // Системы управления и обработки информации: Научн. - техн. сб. / ФНПЦ «НПО «Аврора», СПб. - 2017. - №37.

37. Анисимов В.И., Дмитревич Г.Д., Скобельцын К.Б. и др. Диалоговые системы схемотехнического проектирования: / Под ред. В.И. Анисимова. М.: Радио и связь, 1988.

38. Анисимов В.И., Дмитревич Г.Д., Ежов С.Н. и др. Автоматизация схемотехнического проектирования на мини-ЭВМ. / Под ред. В.И. Анисимова. Изд. Ленинградского университета, 1983.

39. Пахоменков Ю.М. Исследование одного класса нелинейных фильтров // Системы управления и обработки информации: Научн. - техн. сб. / ФНПЦ «НПО «Аврора», СПб. - 2014. - №29

40. Влах И., Сингхал К. Машинные методы анализа и проектирования электронных схем. /Пер. с англ. М.: Радио и связь, 1988.

41. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР. М.: Высш. шк., 1990.

42. Арчер Т., Уайтчепел Э. Visual C++ .NET. Библия пользователя. / Пер. с англ. М.: Диалектика, 2003.

43. Веников В.А., Веников Г.В. Теория подобия и моделирования (применительно к задачам электроэнергетики): Учебник для вузов по спец. «Кибернетика электр. систем». — 3-е изд., перераб. и доп. —. М.: М.: Высш. шк., 1981.

44. Сольницев Р.И. Информационные технологии в проектировании: Учеб. пособие. СПб.: Изд-во ГУАП, 2007.

45. Федоров Ю. Справочник инженера по АСУТП. Проектирование и разработка. 2014.

46. ГОСТ 23501.101-87: Системы автоматизированного проектирования.

47. ГОСТ Р 51904-2002 Программное обеспечение встроенных систем. Общие требования к разработке и документированию.

48. Гридин В.Н., Анисимов В.И. Методы построения распределённых систем автоматизированного проектирования // Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM-2014). М.: ООО «Аналитик», 2014. С. 250-254.

49. Гридин В.Н., Анисимов В.И. Моделирование больших систем на основе методов декомпозиции и компактной обработки разреженных матриц //

Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM-2015). М.: ООО «Аналитик», 2015. С. 62-66.

50. Коваленко О.С., Курейчик В.М. Обзор проблем и состояний облачных вычислений и сервисов // Известия ЮФУ. Технические науки. - 2012. - №7. - С. 146-153.

51. JavaScript: Подробное руководство / David Flanagan. Под ред. А. Киселев. - М.: Символ-Плюс, 2008.

52. Силич В.В. Технология интерактивного взаимодействия веб-приложений в среде интернет // Материалы докладов Всероссийской научно-технической конференции студентов, аспирантов и молодых ученых «Научная сессия ТУСУР - 2006», посвященной 75-летию Ф.И. Перегудова. - Томск: В-Спектр, 2006. - С. 35-37.

53. Различные механизмы клиент-серверного взаимодействия в web-приложениях, основанных на Ajax // www.ibm.com URL: http://www.ibm.com/developerworks/ru/library/wa-aj-ajaxcomm/index.html (дата обращения: 12.02.2017).

54. Гридин В.Н., Михайлов В.Б., Шустерман Л.Б. Численно-аналитическое моделирование радиоэлектронных схем, монография, -M.: Наука, 2008, 342 с.

55. Жуков В. Г., Хеирхабаров А. С. Безопасность HTML5 // Материалы VIII Всероссийской научно-практической конференции творческой молодежи, посвященной 55-летию запуска первого искусственного спутника Земли. -Красноярск: Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, 2012. - С. 380-381.

56. Иващенко А.В., Орлов А.Ю. Обеспечение безопасности при реализации онлайн браузера // Труды Международного симпозиума «Надежность и качество». - 2008. - №2. - С. 269-271.

57. Исаев И. Актуальность использования веб-интерфейсов в современной информационной среде // Вестник Московского государственного университета печати. 2012. №9. С.81-85

58. Егорова И.Н., Филипенко О.В. Разработка методики создания графического интерфейса веб-сайтов // SCIENCERISE. 2016. №2 (18). С. 58-61.

59. Лоскутников А. А., Сенюшкин Н. С., Ялчибаева Л. Н. Управление техническими системами с помощью web-интерфейса // Молодой ученый. — 2011. — №12. Т.1. — С. 28-30.

60. Жуйков Р., Шарыгин Е. Методы предварительной оптимизации программ на языке JavaScript // Труды Института системного программирования РАН. 2015. №6 С.67-86.

61. Зотов В.А. Реализация языка JavaScript ajах и node.js // Вестник Московского государственного университета печати. 2013. №9. С 46-47

62. Артюхова А.С. Проектирование web-интерфейса средствами генетического программирования // Научное периодическое издание «IN SITU». 2016. №11 С.17-20.

63. Лукьянов Н.М., Дергачев А.М. Организация сетевого взаимодействия узлов распределенных систем хранения данных // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики. - 2011. - №2 (72). - С. 137-141.

64. Павлов Д.В. Реляционная распределенная система управления базами данных с автоматической масштабируемостью// Вестник УГАТУ.2012. №3 (48). С.143-152

65. Хуторов В.С., Беленькая М.Н. Основные проблемы и цели мониторинга базы данных средствами СУБД ORACLE // T-COMM — Telecommunications and Transpor. Инфокоммуникационно-управленческие сети. Расчет и оптимизация систем связи. - 2013. - №7. - С. 133-134.

66. Додохов А.Л., Сабанов А.Г. Исследования применения СУБД Oracle для защиты персональных данных // Доклады Томского государственного

университета систем управления и радиоэлектроники. - 2011. - №2-2 (24). - С. 263-266.

67. Leverage your Oracle 11g skills to learn DB2 9.7 for Linux, UNIX, and Windows // https://www.ibm.com/ URL: https://www.ibm.com/developerworks/ data/library/techarticle/dm-0401 gupta/dm-0401 gupta-pdf.pdf (дата обращения: 27.10.2016).

68. Корогодова А.О., Беленькая М.Н. Проблемы производительности СУБД ORACLE под управлением сетевой ОС WINDOWS // T-COMM — Telecommunications and Transpor. Инфокоммуникационно-управленческие сети. Расчет и оптимизация систем связи. - 2013. - №7. - С. 72-73.

69. Варкентин В.В., Барбасова Т.А. разработка программного обеспечения автоматизированных систем управления технологическими процессами с использованием Visual Studio и базы данных ORACLE // Современные наукоемкие технологии. - 2013. - № 8 (часть 1) - С. 78-80.

70. Литовка Ю.В., Дьяков И.А., Романенко А.В., Алексеев С.Ю., Попов А.И. /Основы проектирования баз данных в САПР / - Тамбов: Издательство ТГТУ, 2005.

71. Полное видение Oracle Database 11g / Сэм Р. Алапати; под ред. Я.П.Волковой, Ю.И.Корниенко, Н.А.Мухина, Ю.Н.Артеменко. - М.: Вильямс, 2010.

72. Палюх Б.В., Котов С.Л., Мельникова В.В., Проскуряков М.А. Механизм реализации мандатной политики безопасности в АСУП на базе Oracle ECM 11g // Программные продукты и системы. 2012. №1. C.115-118/

73. SQL: The Complete Reference / Грофф Дж. Р., Вайнберг П.Н., Оппелъ Э. Дж., - Третье изд. - М.: Вильямс, 2015.

74. Gridin V.N.; Dmitrevich G.D.; Anisimov V.I.; Vasiliev S.A. Methods of constructing service-oriented computer — Aided circuit design systems based on WebSocket Protocol and Oracle database // 2017 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus) Year: 2017

Pages: 409 - 412, DOI: 10.1109/EIConRus.2017.7910578 IEEE Conference Publications http://ieeexplore.ieee.org/document/7910578/

75. Гаврилова Т.А., Хорошевский В.Г. Базы знаний интеллектуальных систем. СПб.: Питер, 2000.

76. Додохов А.Л., Сабанов А.Г. Исследование применения СУБД Oracle для защиты персональных данных // Доклады ТУСУР. 2011. №2-2 (24).

112

Приложения Листинг 1. ConsoleWebSocketServerOnCalc

using System;

using System.Collections .Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Fleck;

using System.Security.Cryptography.X509Certificates;

namespace ConsoleWebSocketServerOnCalc

{

class Program {

static void Main(string[] args) {

WebSocketServer server = new WebSocketServer("ws://127.0.0.1:8181"); FleckLog.Level = LogLevel.Debug;

//WebSocketServer server = new WebSocketServer("wss://127.0.0.1:8181");

//server.Certificate = new X509Certificate2("certificato.pfx"); //server.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(Application.StartupP ath + "\\servercert.pfx", "pwd");

List<IWebSocketConnection> clients = new List<IWebSocketConnection>();

server.Start(socket => {

{

clients .Add(socket); Console.WriteLine("id: M+Convert.ToString(socket.ConnectionInfo.Id));

socket.Send("id: " + Convert.ToString(socket.Connectionlnfo.Id));

};

socket.OnClose = () =>

{

Console.WriteLine("Close! " + socket.ConnectionInfo.Id); clients.Remove(socket);

};

socket.OnMessage = message => {

Console.WriteLine(message + " " + socket.ConnectionInfo.Id);

////message = "1";

check ch = new check(message);

ch.raschet();

message=ch.OnCalc();

socket.Send(message);

Console.WriteLine("Answer: "+message +" " +

socket.ConnectionInfo.Id);

};

});

//Console.WriteLine("OnCALC - ready"); Console.ReadLine();

}

} }

Листинг 2 WSSeverMain

using System;

using System.Collections .Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Fleck;

using Oracle.ManagedDataAccess.Client;

using WebSocketSharp; //using System.Data; //using WebSocketSharp.Net; //using System.Net; //using System.Net.WebSockets;

namespace WSServerMain {

class Program {

static void Main(string[] args) {

// установление сервера ВЕБ сокет WebSocketServer server = new WebSocketServer("ws://127.0.0.1:8282");

List<IWebSocketConnection> clients = new List<IWebSocketConnection>();

server.Start(socket => {

{

clients.Add(socket); Console.WriteLine("WS_id: " + Convert.ToString(socket.ConnectionInfo.Id));

socket.Send("WS_id: " +

Convert.ToString(socket.ConnectionInfo.Id));

};

socket.OnClose = () => {

Console.WriteLine("Close! " + socket.ConnectionInfo.Id); clients.Remove(socket);

};

socket.OnMessage = message => {

Console.WriteLine(message + " " + socket.ConnectionInfo.Id); string letter = message.Substring(0, message.IndexOf(':')); string LOGIN, PASS, NAME, s,ID,str; int number;

string connectionString = "DATA SOURCE=localhost:1521/XE;PASSWORD=sergei;PERSIST SECURITY INFO=True;USER ID=sergei";

switch (letter)

{

case "Show_projects":

Console.WriteLine("Запрос списка проектов"); OracleConnection conS = new OracleConnection(connectionString);

conS.Open();

OracleCommand cmdS = new OracleCommand(); cmdS.Connection = conS;

ID = message.Substring(message.LastIndexOf(':')+1); cmdS.CommandText = "select PROJECT_NAME from

PROJECTS where user_id='"+ID+.....;

//для получения массивов данных OracleDataReader re = cmdS.ExecuteReader(); //OracleDataReader re = com2.ExecuteReader(); str = "";

foreach (System.Data.Common.DbDataRecord row in re)

{

str = str + row["PROJECT_NAME"].ToString() + "*";

}

str = str.Substring(0, str.LastIndexOf('*')); conS.Close();

message = "Projects_Name:"+str; break; case "LoadProject": Console.WriteLine("3anpoc проекта"); OracleConnection conL = new OracleConnection(connectionString);

conL.Open();

OracleCommand cmdL = new OracleCommand(); cmdL.Connection = conL;

s = message.Substring(message.LastIndexOf(':') + 1); ID = s.Substring(0, s.LastIndexOf('*')); s=s.Substring(s.LastIndexOf('*')+1); cmdL .CommandText = "SELECT p1,p2,R_data FROM r_elements r join projects p on r.project_id=p.project_id and p.project_name= '" + s + "'

join authentic a on p.user_id = a.user_id and a.USER_ID = '" + ID +.....;

OracleDataReader r = cmdL.ExecuteReader(); str = "R";

int i; i = 1;

foreach (System.Data.Common.DbDataRecord row in r)

{

str = str+ i.ToString() +":"+ row["P1"].ToString() + "*" + row["P2"].ToString() + "*" + row["R_DATA"].ToString() + ";";

i++;

}

str = str + '#';

cmdL .CommandText = "SELECT p1,p2,L_data FROM l_elements l join projects p on l.project_id=p.project_id and p.project_name= + s + "'

join authentic a on p.user_id = a.user_id and a.USER_ID = + ID +.....;

OracleDataReader l = cmdL.ExecuteReader(); str = str + "L"; i = 1;

foreach (System.Data.Common.DbDataRecord row in l)

{

str = str + i.ToString() + ":" + row["P1"].ToString() + "*" + row["P2"].ToString() + "*" + row["L_DATA"].ToString() + ";";

i++;

}

str = str + '#';

cmdL .CommandText = "SELECT p1,p2,C_data FROM C_elements C join projects p on C.project_id=p.project_id and p.project_name= '" + s +

"' join authentic a on p.user_id = a.user_id and a.USER_ID = '" + ID +.....;

OracleDataReader c = cmdL.ExecuteReader(); str = str + "C"; i = 1;

foreach (System.Data.Common.DbDataRecord row in c)

str = str + i.ToString() + ":" + row["P1"].ToString() + "*" + row["P2"].ToString() + "*" + row["C_DATA"] .To String() + ";";

i++;

}

message = "Sheme:" + str; conL.Close(); break; case "Authorisation":

Console.WriteLine("3anpoc авторизация пользователя"); OracleConnection conA = new OracleConnection(connectionString);

conA.Open();

OracleCommand cmdA = new OracleCommand(); cmdA.Connection = conA;

LOGIN = message.Substring(0, message.IndexOf('*')); LOGIN = LOGIN.Substring(message.IndexOf(':') + 1); PASS = message.Substring(message.IndexOf('*') + 1); s = "select distinct USER_PASS from AUTHENTIC where

USER_LOGIN=" +.....+ LOGIN +.....;

cmdA.CommandText = s^/запрос в базу Console.WriteLine("Зaпрос учётных данных в базу

данных");

var USER_PASSa = cmdA.ExecuteScalar();

if (USER_PASSa != null) {

Console.WriteLine(LOGIN + " - логин определён");

if (USER_PASSa.ToString() == PASS) {

cmdA.CommandText = "select distinct USER_Name from AUTHENTIC where USER_LOGIN=" +.....+ LOGIN +.....;

message = "user: "+cmdA.ExecuteScalar().ToString(); cmdA.CommandText = "select distinct USER_ID from

AUTHENTIC where USER_LOGIN=" +.....+ LOGIN +.....;

message = message+ " -user_id:"+cmdA.ExecuteScalar().ToString();

Console.WriteLine(PASS + " - пароль верный"); Console.WriteLine(message);

}

else {

Console.WriteLine(PASS + " - пароль не верный"); message = "Пароль не верный";

}

}

else {

Console.'WriteLineC^T такого пользователя"); message = "Логин не верный";

}

conA.Close(); break; case "Registration":

Console.WriteLine("Запрос регистрация пользователя"); OracleConnection conR = new OracleConnection(connectionString);

conR.Open();

OracleCommand cmdR = new OracleCommand(); cmdR.Connection = conR; s = message;

PASS = s.Substring(s.IndexOf('*') + 1);

s = s.Remove(message.IndexOf('*'));

LOGIN = s.Substring(message.IndexOf('#') + 1);

s = s.Remove(message.IndexOf('#'));

NAME = s.Substring(message.IndexOf(':') + 1);

cmdR.CommandText = "SELECT Max(User_id) FROM

authentic";

number= Convert.ToInt32(cmdR.ExecuteScalar()); s = "insert into AUTHENTIC values('" + (number+1)+ "', '" + NAME + "', '" + LOGIN + "', '" + PASS + "', '" + DateTime.Today.ToString("d") + "')";

cmdR.CommandText = s; cmdR.ExecuteScalar(); cmdR.CommandText = "commit"; cmdR.ExecuteScalar(); conR.Close();

Console.WriteLine("Регистрaция произведена"); message = "Регистрация произведена"; conR.Close(); break; case "Data":

s = message.Substring(message.IndexOf(':')+1); Console.WriteLine("Зaпрос обработки данных"); message=ConnectOnCalcWS("ws://127.0.0.1:8181",s); //check ch = new check(message.Substring((message.IndexOf(':'))+1));

//ch.raschet(); //message = ch.OnCalc(); break; default:

Console.WriteLine("Зaпрос не известен"); break;

}

socket.Send(message);

Console.WriteLme("Ответ от WSServerMain: " + message + " " +

socket.ConnectionInfo.Id);

};

});

Console.ReadLine();

}

public static string ConnectOnCalcWS(string HostOnCalc, string message) {

// создание соединения ВЕБ сокет WebSocket client; string s = null;

client = new WebSocket(HostOnCalc);

Console.WriteLine("Connect to " + HostOnCalc +" ..."); //для првоерки

//message = "1*2*0,1*2*3*1*2*0*10*3*0*1*1*0*3*0*0,16*0*0*1*"; //для проверки

client.OnOpen += (ss, ee) => Console.WriteLine("Connected successfully to " + HostOnCalc);

client.OnError += (ss, ee) => Console.WriteLine(" Error: " +

ee.Message);

client.OnClose += (ss, ee) => Console.WriteLine("Disconnected with " +

HostOnCalc);

//Console.ReadLine();

client.Connect();

client.Send(message);

while (s == nully/ожидание ответа от севера ОнКалк {

client.OnMessage += (ss, ee) => s = ee.Data;

if (s != null)

{

string letter = s; if (s.Contains(":")) letter = letter.Substring(0, s.IndexOf(':'));

if (letter == "id") {

Console.WriteLine("Connection " + s); s = null;

}

}

}

Console.WriteLine("OnCalc ответил: " + s);

client.Close();

return s;

}

}

}

Листинг 3 OnCalc index

var OnCalc = document.getElementById("OnCalc"); OnCalc.onclick = function () {

var doc_level_1=document.getElementById("doc_level_1 "); if(doc_level_1){

doc_level_1 .parentNode.removeChild(doc_level_1); I

doc_level_1=document.createElement('div');

doc_level_1.style.width='1400px';

doc_level_1.style.height='600px';

doc_level_1.style.background='#E5FFF1';

doc_level_1.style.position='absolute';

doc_level_1.style.left='170px';

doc_level_1.style.top='150px';

doc_level_1.id = "doc_level_1";

document.body.appendChild(doc_level_1);

var R=document.createElement('input'); R=create_button(doc_level_1,R,'R',"Сопротивление"); var doc_level_1=document.getElementById("doc_level_1 "); var R=document.getElementById("R");

var L=document.createElement('input'); R=create_button(doc_level_1,L,'L',"Индуктивность");

var C=document.createElement('input'); С=а^е_Ьийоп^ос_^еМ,С,'С,"Емкость");

H=create_button(doc_level_1 ,Н,'Н',"Входные узлы");

var P=document.createElement('input'); P=create_button(doc_level_1,P,'P',"Пaрaметры расчёта");

var br = document.createElement("br"); doc_level_1 .appendChild(br);

var B=document.createElement('input'); B=create_button(doc_level_1,B,'B',"Зaгрузить из базы");

var br = document.createElement("br"); doc_level_1 .appendChild(br);

var M=document.createElement('input');

M=create_button(doc_level_1,M,'M',"Рaсчёт");

layer_count=2;

}

function create_button(direct,Perem,ID,name){ Perem.type='button'; Perem.id=ID;

Perem.style.width='170px'; Perem.value=name; direct.appendChild(Perem); Perem.classList.add("btn");

var br = document.createElement("br"); direct.appendChild(br); if (layer_count>1) { layer_count=3;

ID="example";

}

else{

var script = document.createElement('script'); script.src = "JS/OnCalc/"+ID+".j s"; document.head. appendChild(script);

}

}

Link

var layer_count=0; var socket; var str;

var info = document.getElementById("info"); var label = document.getElementById("status"); var btnLink = document.getElementById("link"); var OnCalc = document.getElementById("OnCalc"); var btnStop = document.getElementById("stop"); if (!window.WebSocket) {

info.innerHTML = 'WebSocket в текущем браузере не поддерживается';

}

else {

info.innerHTML = 'WebSocket в текущем браузере поддерживается'; }

// установление соедениения с сервером btnLink.onclick = function(){ socket = new WebSocket("ws://127.0.0.1:8282"); socket.onopen = function (event) {

if(socket.readyState === WebSocket.OPEN)

{

}

}

// закрытие соедениения с сервером btnStop.onclick = function(){ if(socket.readyState===WebSocket.OPEN)

socket.close(); }

// при закрытии соедениения с сервером socket.onclose = function (event) { var code=event.code; var reason=event.reason; var wasClean=event.wasClean; if(wasClean)

label.innerHTML = 'Соединение закрыто без ошибок'; else

label.innerHTML = 'Соединение закрыто с ошибкой '+reason;

}

socketonerror = function (event) (label.innerHTML = 'ошибка';} socket.onmessage = function (event) {

if(typeof event.data==='string') {

if(event.data.indexOf('user:') + 1) { info.innerHTML = event.data; OnCalc.disabled=false;

OnCalc.click();

}

}

}

};

Authorisation

var authorisation = document.getElementById("Authorisation"); authorisation.onclick = function () {

var doc_level_1=document.getElementById("doc_level_1");

if(doc_level_1){doc_level_1.parentNode.removeChild(doc_level_1);}

doc_level_1=document.createElement('div');

doc_level_1.style.width=,1400px';

doc_level_1.style.height=,600px';

doc_level_1.style.background='#E5FFF1';

doc_level_1.style.position='absolute';

doc_level_1.style.left='170px';

doc_level_1.style.top='150px';

doc_level_1.id = "doc_level_1";

document.body.appendChild(doc_level_1);

doc_level_1.classList.add("div1");

var br = document.createElement("br"); doc_level_1 .appendChild(br); var br = document.createElement("br"); doc_level_1 .appendChild(br);

var label_1=document.createElement('label'); label_1 .innerHTML="Login:"; doc_level_1.appendChild(label_1); label_1.classList.add("lbl");

var br = document.createElement("br"); doc_level_1 .appendChild(br);

Login.type='text'; Login.id="Login"; doc_level_1 .appendChild(Login); Login.classList.add("textbox2");

var br = document.createElement("br"); doc_level_1 .appendChild(br); var br = document.createElement("br"); doc_level_1 .appendChild(br);

var label_2=document.createElement('label'); label_2.innerHTML="Password: "; doc_level_1.appendChild(label_2); label_2.classList.add("lbl");

var br = document.createElement("br"); doc_level_1 .appendChild(br);

var Password=document.createElement('input');

Password.type='text';

Password.id="Password";

doc_level_1.appendChild(Password);

Password.classList.add("textbox2");

var br = document.createElement("br"); doc_level_1 .appendChild(br); var br = document.createElement("br"); doc_level_1 .appendChild(br);

enter.type='button'; enter.id="Enter"; enter.value="Вход"; doc_level_1 .appendChild(enter); enter.classList.add("btn");

var script = document.createElement('script'); script.src = "JS/Enter.js"; document.head.appendChild(script); if (layer_count<1) layer_count=1;

}

HomePage

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link href="css/main_navigation.css" rel="stylesheet" media="screen"> <link rel="stylesheet" href="CSS/mystyle.css" type="text/css"> </head> <body>

<div align="center">

<img src="Pictures/LOGO.png"></img>

<label id="info">Требуется aвторизaция</label>

<hr>

</div>

<div style="width: 140px; text-align: center;">

<br/>

<br/><br/>

<input class="btn" type="button" id="Registration" value=мРегистрациям/></a>

<br/><br/>

<input class="btn" type="button" id="Authorisation" value=мАвторизациям/>

<br/><br/>

<input class="btn" disabled="true" type="button" id="OnCalc" value-'Расчёт'Ух/^

<br/><br/> <hr>

<input class-'btn" type-'button" id-'link" value-'Соединение"/>

<br/><br/>

<input class="btn" type="button" id="stop" value-Тазъединение7>

<br/><br/>

<label id=мstatusм>Не подключен</label>

<br/><br/> </div> </body>

<script type="text/javascript" src="JS/authorisation_form.js"></script> <script type="text/javascript" src="JS/registration.js"></script> <script type="text/javascript" src="JS/OnCalc.js"></script> <script type="text/javascript" src="JS/link.js"></script> </HTML>

Приложение А. Свидетельство о регистрации программы для ЭВМ

Приложение Б. АКТ ООО Модем

ООО «Научно-производственная фирма

«Модем»

ИНН 7813133391 / КПП 780401001

195427, Санкт-Петербург, ул. Академика Константинова, д. 1

«Утверждаю»

Директор по производству Исаков А.Б.

р/сч. 40702810200300005436 в ОАО Банк «АЛЕКСАНДРОВСКИЙ» г. Санкт- Петербург к/сч. 30101810000000000755 БИК 044030755

Код ОКОНХ 14760 Код ОКПО 53307496 ОГРН 1037828009273

тел./факс (812) 340-01-02, 340-01-03 E-mail: sales@npfmodem.spb.ru

№ от 01.06.2018 г.

на № от

АКТ

о внедрении результатов диссертационной работы Васильева С.А.

«Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования»

Настоящим актом удостоверяется, что научные и практические результаты диссертационной работы Васильева Сергея Алексеевича. «Исследование и разработка методов построения веб-ориентированных систем автоматизации схемотехнического проектирования на основе асинхронных технологий и классов наследования» внедрены в научно-производственной фирме «Модем» (г. Санкт-Петербург). Разработанное в диссертации программное обеспечение САПР на основе асинхронных технологий и классов наследования используется для проектирования электронных изделий и микропроцессорных устройств.

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

Ведущий специалист к.т.н.

Назаров Ю.В.

Приложение В. АКТ СПб ГЭТУ «ЛЭТИ»

Приложение Г. АКТ ФГУП НИИР-ЛОНИИР

УТВЕРЖДАЮ Директор филиала ФГУП НИИР-ДОНИИР

/РрИ' Михайлов

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.