Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

ВВЕДЕНИЕ 2 страница



2.3 Недостатки платформы .NET

Приложения, написанные под платформу .NET работают медленнее, это факт. В некоторых случаях скорость может упасть на 15%, что иногда является неприемлемым (например, при создании 3D приложений). Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время так как приложение компилируется по частям, равномерно при работе программы.

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

Необходимо наличие библиотеки FrameWork. Данный недостаток полностью устранен с выходом Windows Vista и более современных ОС MS Windows, т.к. данная библиотека встроена в эти системы по умолчанию.

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

2.4 Особенности среды разработки

Интегрированная среда программирования – система программных средств, используемая программистами для разработки программного обеспечения.

Обычно среда программирования включает в себя:

– текстовый редактор;

– компилятор и/или интерпретатор;

– средства автоматизации сборки;

– отладчик.

Редактор исходного кода — текстовый редактор для создания и редактирования исходного кода программ. Он может быть отдельным приложением, или встроен в интегрированную среду разработки (IDE)[20].

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

Подсветка синтаксиса — выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется в текстовых редакторах для облегчения чтения исходного текста, улучшения визуального восприятия. Часто применяется при публикации исходных кодовв Интернете.

MS Visual Studio Express – бесплатная среда программирования профессионального уровня на языках C++, C# и Visual Basic. Visual Express предоставляет бесплатные инструменты разработки приложений для новейших платформ Windows , Windows Phone и Интернета.

Visual Studio Express позволяет создавать приложения Windows Forms, WPF, консольные приложения и библиотеки классов, а также проекты Win32, библиотеки классов и приложения среды CLR с использованием C++. Вы можете объединять проекты на разных языках в одно большое единое решение. Visual Studio Express насыщена функциональностью улучшения структуры кода, анализа и мощными средствами отладки во время выполнения приложений.

Visual Studio Express можно использовать как стартовую платформу начала программирования, для любительских разработок и разработок коммерческих приложений в соответствии с условиями лицензии. Приложения, созданные в Visual Studio Express поддерживаются в коммерческих выпусках среды: Microsoft Visual Studio Professional, Microsoft Visual Studio Ultimate, что дает возможность расширять свои проекты до профессионального уровня, по мере приобретения опыта и возрастания ваших потребностей.

2.5 Использование сторонних библиотек

В ходе разработки программного обеспечения для формирования математических моделей возникла необходимость реализовать возможность редактирования и визуализации математических формул. Реализация средств визуального редактирования математических формул является очень трудоемкой задачей. Был произведен поиск готовых решений, способных решить ее. Библиотека визуального редактирования MathML текстов NuGenEQML полностью решала поставленную задачу. NuGenEQML – это программное обеспечение, распространяемое по лицензии GNU. Исходный код данной библиотеки размещен на сайте GitHub и доступен по ссылке: github.com/AnthonyNystrom/NuGenEQML.

Пример работы с инструментарием данной библиотеки представлен на рисунке 2.1.

 

Рисунок 2.1 – «Пример работы с инструментарием NuGenEQML»

 

Данная библиотека имеет следующий инструментарий:

– загрузка MathML-текстов;

– редактирование и создание любых математических конструкций, которые поддерживает стандарт MathML;

– отображение MathML-разметки в виде графических формул;

– копирование и вставка отдельных MathML-элементов;

– сохранение полученных графических формул в популярные графические форматы (jpg, png, gif);

– настройка шрифтов и стилей отображения формул.

2.6 Выводы к разделу 2

Проведя анализ различных языков программирования, сред разработки приложений и уже готовых реализаций некоторых компонентов системы было сделано следующие выводы. Язык программирования C# основанный на принципах ООП позволяет быстро создавать большие, сложные проекты, обладает простым в использовании синтаксисом и позволяет легко вносить новые изменения в существующие проекты. Реализация языка С# на технологии .NET Framework позволяет создавать надежные отказоустойчивые приложения обладающие достаточно высокой производительностью. Бесплатная IDE Visual Studio Express очень удобна в использовании и обладает превосходными инструментами разработки [21].

Таким образом было принято решение разрабатывать систему на языке С# в интегрируемой среде разработки Visual Studio Express. Также была найдена готовая реализация компонента визуального редактирования математических текстов NuGenEQML. Данная библиотека также задействована в проекте.


3 ОСНОВНЫЕ РЕШЕНИЯ ПО РЕАЛИЗАЦИИ КОМПОНЕНТОВ СИСТЕМЫ

3.1 Реализация общей архитектуры программной системы

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

3.2 Библиотека формирования математических моделей

Компонент формирования математических моделей предназначенобеспечить возможность создания математических моделей в виде математических формул. Создание формул должно реализоваться в двух режимах: в режиме написания математического текста и в визуальном режиме.

3.2.1 Разработка языка представления математических моделей

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

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

Разрабатываемый язык подобен языку описания математических текстов такой известной системы как MatLab. Он формализированной и описывается в форме Бэкуса- Наура (БНФ) следующим образом:

<ExprCTRL> ::= <FunctionCTRL>

<ExprRavno> ::= <Variable> ‘=’ <MathExpr> [<Comparison> <MathExpr>]

<Comparison> ::= '=' | '>' | '<' | '>=' | '<=' | '<>'

<MathExpr> ::= <Term> {<Operator1> <Term>}

<Operator1> ::= '+' | '-' | 'or' | 'xor'

<Term> ::= <Factor> {<Operator2> <Factor>}

<Operator2> ::= '*' | '/' | '^' | '%'|

<Factor> ::= <UnaryOp> <Factor> | <Base> ['^' <Factor>]

<UnaryOp> ::= '+' | '-' | '=+'| '=-'

<Base> ::= <Variable> | <Function> | <Number> | '(' <MathExpr> ')'

<Function> ::= <FuncName> '(' <MathExpr> ')'

<FunctionCTRL> ::= <FuncNameCTRL> ['(' <MathExpr> {','<MathExpr>} ')']

<FuncName> ::= 'sin' | 'cos' | 'ln'

<FuncNameCTRL> ::= 'for'| 'if'

<Variable> ::= <Letter> {<Letter> | <digit>}

<Letter> ::= 'A' | ... | 'Z' | 'a' | ... | 'z' | '_'

<digit> ::= '0' | ... | '9'

<Number> ::= <digit> {<digit>} ['.' <digit> {<digit>}]

[('E' | 'e') ['+' | '-'] <digit> {<digit>}]

 

Формы Бэкуса-наура (БНФ) традиционно применяются при описании грамматики формальных языков (в том числе и словно программирование). Эти формы достаточно просто интерпретируются, отличаются лаконичностью и точностью. Они состоят из доступных пониманию буквопечатающих, что называются нетерминальними и терминальными символами. На особенное внимание в БНФ заслуживает символ '::=', который переводится как "СОСТОИТ Из". Определение языковой конструкции в БНФ допускает размещение какого-либо нетерминального символа слева от символа '::='.

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

3.2.2 Разработка основных алгоритмов формирования ММ

Лексический анализ математических текстов является достаточно сложным процессом. В связи с этим алгоритмическая реализация этого процесса требует разбиения на логические части. На рисунке 3.1 представлен алгоритм преобразования математического текста в список лексем.

В процессе преобразования строковая переменная «Expression» хранящая в себе входящую строку математического текста передается по ссылке в функцию «Add», алгоритм которой представлен на рисунке 3.2. Функция «Add» реализует жадный алгоритм извлечения лексемы из входящей строки. Она возвращает в качестве результата полученную лексему и удаляет из входящей строки «Expression» символы, из которых эта лексема получена. Также эта функция принимает аргумент типа «Lexem» Previous. Этот аргумент представляет собой лексему предшествующую полученой. Она используется для выявления синтаксических ошибок.

В случае успешного извлечения лексемы функция «Add» выполняется снова до тех пор, пока переменная «Expression» не станет пустой строкой.

Рисунок 3.1 – Алгоритм преобразования строки в массив лексем

Рисунок 3.2 – Алгоритм работы функции «Add»

Алгоритм преобразования списка лексем реализован в виде рекурсивной функции «BuldTree» (рис. 3.3).

 

Рисунок 3.3 – Алгоритм работы функции «BuldTree»

Этот алгоритм реализует построение дерева, состоящие из математических операторов и их операндов (чисел или переменных). В ходе работы алгоритма производится поиск по списку лексем в указанном аргументами «start» и «end» диапазоне индексов.

Если полученная лексема является оператором, то производится рекурсивный вызов этой же функции с аргументами указывающие индекс полученной лексемы и аргументами «start» и «end». Таким образом, производится построение нового уровня дерева и получение ссылок на их узлы.

Если полученная лексема является числом или переменной, то алгоритм завершает свою работу, передав в качестве возвращаемого значения новый объект типа «INode» содержащий в себе ссылки на полученные узлы.

3.2.3 Взаимодействие компонента формирования ММ с внешними системами

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

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

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

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

 

Система допускового проектирования
 
Расчет ММ
Лексический анализ текстового описания ММ
Компонент
Текстовое описание ММ
Параметри
Построение программного представления ММ
Параметри
Выходные значения значення
Допуски

Рисунок 3.4 – Взаимодействие компонента со внешними системами

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

3.2.4 Разработка диаграмм классов

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

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

Диаграммы классов создаются при логическом моделировании программных средств (ПС) и служат для следующих целей:

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

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

6. Для моделирования навигации экранов. На таких диаграммах показываются пограничные классы и их логическая взаимосвязь. Информационные поля моделируются как атрибуты классов, а управляющие кнопки – как операции и отношения.

7. Для моделирования логики программных компонент (будет описано в последующих статьях).

8. Для моделирования логики обработки данных

 


Рисунок 3.5 – Диаграмма классов разрабатываемого компонента


3.3 Библиотека расчета допусков

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

Библиотека что подключается к системе должна содержать публичный класс, который унаследован от интерфейса IToleranceGenModule с такими публичными полями и методами, :

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

SetMathModels () - функция что вызывается из интерфейса внешней системы. Устанавливает в модуль список доступных математических моделей.

MathModels – массив, что содержит ссылки ко всем доступным математическим моделям системы.

ShowGUI () – процедура, что вызывает окно UserForm.

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


3.3 Библиотека обмена данными с внешними источниками

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

Формат файла хранящего в себе результат трассировки математической модели реализован в виде XML - документа. Данный документ должен содержать следующие данные:

– название математической модели;

– дата последнего редактирования;

– имена входных параметров;

– имена выходных параметров;

– массив данных в трассировки.

Формат хранения математических моделей реализован в виде XML - документа. Данный документ должен содержать следующие данные:

– название математической модели;

– дата последнего редактирования;

– имена входных параметров;

– имена фазовых переменных;

– имена выходных параметров;

– текст математической модели;

– дополнительная информация.


 

3.4 Выводы к разделу 3

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


4 РУКОВОДСТВО ПРОГРАММИСТА

4.1 Назначение и условия применения программы

Назначение программной системы – реализация задач допускового проектирования.

Компонент обеспечивает соответствующий функционал:

– формирование математических моделей;

– обработку математических моделей алгоритмами допускового проектирования;

– обмен данными со сторонними САПР и сохранение результатов роботы.

Компонент поставляется в виде исполняемого exe-файла.

Для запуска приложения на компьютере должна быть установлена библиотека .Net Framework 3.5 или выше.

Для разработки приложения необходим компьютер следующей конфигурации:

– Оперативная память – не ниже 512Мб;

– операционная система MS Windows Vista/7/8;

– клавиатура;

– манипулятор типа мышь;

– монитор.

4.2 Характеристика программы

“ToleranceCAD” – программная система допускового проектирования радиоэлектронных элементов. Программная система разработана в среде Visual studio 2010. Она состоит из набора файлов содержащих исходный код программы сгруппированных по папкам. Весь исходный код программы написан на языке C#.

Программная система допускового проектирования состоит из следующих проектов:

1. eqml – проект библиотеки визуального редактирования MathML-текстов. Распространяется по лицензии GNU;

2. InterfaceDef – в данном проекте описываются интерфейсы взаимодействия компонентов системы и доступные для всех компонентов структуры данных, реалізован механізм контекстов;

3. MathCompiler – содержит в себе инструментарий для построения и расчета математических моделей (синтаксический анализатор, средства построения и расчета дерева математических операций и алгоритмов);

4. DataManager – обеспечивает сохранение загрузку математических моделей и данных полученных от сторонних САПР.

5. ToleranceStrategy – реализуют в себе алгоритмы допускового проектирования

6. ToleranceCAD – Объединяет все библиотеки в единое целое. Реализует пользовательский интерфейс системы.

4.3 Обработка ошибочных ситуаций

В случае если в программе возникла непредвиденная ошибка, благодаря механизму обработки исключительных ситуаций программа сообщит пользователю, какой именно компонент вызвал данную ошибку. Программа полностью защищена от ввода пользователем некорректных данных. В случае ввода некорректных данных механизмами оповещения сообщит пользователю об ошибке. В случае если пользователь совершил ошибку в математическом тексте описания ММ, компонент формирования ММ оповестит пользователя об ошибки средствами отладки. Пример отладки математической модели представлено на рисунках 4.1 – 4.2.

Рисунок 4.1 – Попытка использования в математической модели неизвестной функции

Рисунок 4.2 – Сообщение о неизвестной лексеме «badFunc» в тексте описания математической модели

4.4 Входные и выходные данные

Входными данными для данного компонента является текстовые описания математических моделей и входные параметры к ним.

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


1)

5 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

5.1 Назначение программы

Назначение программной системы – реализация задач допускового проектирования.

Компонент обеспечивает соответствующий функционал:

– формирование математических моделей;

– обработку математических моделей алгоритмами допускового проектирования;

– обмен данными со сторонними САПР и сохранение результатов роботы.

5.2 Условия работы программы

Для разработки приложения необходим компьютер следующей конфигурации:

– оперативная память – не ниже 512Мб;

– операционная система MS Windows Vista / 7/8;

– клавиатура;

– манипулятор типа мышь;

– монитор;

– установленный.NET Framework версии 3.5 и выше.


 

5.3 Быстродействие программы

Время выполнения программы зависит от объема создаваемой модели и вычислительной сложности ее обработки. Программа имеет удобный интерфейс. Работа с программой не требует от пользователя базовые знания в программировании.

5.4 Выполнение программы

Работа с системой допускового проектирования начинается с создания новой математической модели. Для этого пользователь вызывает процедуру создания новой математической модели через интерфейс внешней системы (Рис 5.1). На вкладке «Код» пользователь может ввести математическую модель. Пример введенной математической модели представлено на рисунке 5.2. На вкладке «Параметры» необходимо указать, что данная модель интерпретируется как функция, указав флажок «Является функцией». Далее необходимо ввести имена входных параметров модели и константных значений (Рис 5.3).

Рисунок 5.1 – Вызов процедуры создания новой математической модели

 

После того как пользователь ввел текстовое описание ММ и указал входные параметры можно выполнить построение математической модели. Для этого необходимо нажать на кнопку «В» в панели инструментов. В случае успешного построения модели пользователю становиться доступно отображение ММ в графическом режиме (Рис. 5.4).

Рисунок 5.2 – Ввод математического текста ММ

 

Рисунок 5.3 – Ввод входных параметров и констант

 

После успешного создания математической модели можно начать ее обработку алгоритмами допускового проектирования. Для этого необходимо в главном окне ToleranceCAD перейти на вкладку «Алгоритмы», далее «Синтез допусков» и выбрать нужную стратегию (рис 5.5). В появившемся окне необходимо выбрать созданную ММ и указать диапазоны варирования входных параметров и оптимальные выходные значения.

 

Рисунок 5.4 – Представление математической модели в графическом режиме

 

Рисунок 5.5 – Запуск алгоритма синтеза допусков

5.5 Сообщения

В случае если в программе возникла непредвиденная ошибка, благодаря механизму обработки исключительных ситуаций программа сообщит пользователю, какой именно компонент вызвал данную ошибку. Программа полностью защищена от ввода пользователем некорректных данных. В случае ввода некорректных данных механизмами оповещения сообщит пользователю об ошибке. В случае если пользователь совершил ошибку в математическом тексте описания ММ, компонент формирования ММ оповестит пользователя об ошибки средствами отладки. Пример отладки математической моделе представлено на рисунках 5.1 – 5.2.

 

Рисунок 5.6 – Попытка использования в математической модели неизвестной функции

Рисунок 5.7 – Сообщение о неизвестной лексеме «badFunc» в тексте описания математической модели

6 ЭКОНОМИКО-ОРГАНИЗАЦИОННАЯ ЧАСТЬ

6.1 Введение

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

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

Таким образом, использование на предприятии специализированного программного обеспечения способного формировать математические модели и использовать их в алгоритмах допускового проектирования позволяет ускорить процесс проектирования радиоприборов и сокращает время расчетов на ЭВМ с 1200 до 500 часов в год.




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.