Содержание к диссертации
Введение
Глава 1 Исследование методов проектирования алгоритмического в программного обеспечения структур конкурентоспособных ВКС
1.1 Методы проектирования ВКС на микросхемах с программируемой структурой 11
1.2 Роль инструментальных средств проектирования в процессе разработки систем на базе программируемых БИС 22
1.3 Подход к проектирования ВКС, основанный на удовлетворении потребительских пожеланий 28
Выводы по главе 1 43
Глава 2 Синтез функциональной модели встраиваемой компьютерной системы
2.1 Функциональная модель встраиваемой компьютерной системы 45
2.2 Декомпозиция функциональной модели встраиваемой компьютерной системы 50
2.3 Оценка качества декомпозиции системы из условия минимальной функциональной связности 52
Выводы по главе 2 55
Глава 3 Синтез модели проектирования встраиваемой компьютерной системы
3.1 Линейно-аддитивная модель проектирования встраиваемой компьютерной системы 57
3.2 Нахождение оценки вектора компонентов системы методом максимального правдоподобия 68
3.3 Модель проектирования встраиваемой компьютерной системы на основе прототипа 74
3.4 Синтез рекуррентного алгоритма оценки вектора компонентов встраиваемой системы
Выводы по главе 3 79
Глава 4 Реализация системы учета пожелании потребителей при проектировании ВКС 81
4.1 Модуль главного окна программы 82
4.2 Входная форма 84
4.3 Выходная форма 85
4.4 Диаграмма Парето 86
Выводы по главе 4 87
Заключение 88
Список литературы 93
- Роль инструментальных средств проектирования в процессе разработки систем на базе программируемых БИС
- Декомпозиция функциональной модели встраиваемой компьютерной системы
- Нахождение оценки вектора компонентов системы методом максимального правдоподобия
- Синтез рекуррентного алгоритма оценки вектора компонентов встраиваемой системы
Введение к работе
Появление элементной базы в виде БИС с программируемой структурой породило новой класс компьютерных устройств, именуемых встраиваемыми компьютерными системами (ВКС). БИС с программируемой структурой позволили перенести центр тяжести процесса проектирования ВКС с разработки схемотехники на проектирование алгоритмов функционирования и последующую их реализацию в виде целевых программ на традиционных языках программирования и языках описания аппаратуры, например, типа VHDL, Verilog [19].
Одной из основных отличительных особенностей ВКС является возможность реализации с их помощью алгоритмов, которые реализовывались ранее с помощью механических, электромеханических, гидравлических и других неэлектронных устройств. Применение ВКС позволяет легко модифицировать алгоритмы функционирования устройств, применительно к пожеланиям пользователей и меняющимся условиям эксплуатации.
ВКС позволяют создавать устройства путем тесного,
взаимопроникающего объединения компьютерных систем и механических элементов. Появились устройства, механические аналоги которых просто невозможны. Более того, в современных устройствах со встроенными системами трактовка и объединение программных и аппаратных (в том числе механических) частей существенно отличается от ранее принятой. В отличие от существовавших ранее своих предшественников, из-за тесной взаимосвязи всех компонентов, они проектируются как единое целое с самых первых этапов разработки устройства.
Практически каждое современное устройство, реализующее какие-либо алгоритмы, требует применения встроенного вычислителя на основе программируемых БИС. Это может быть контроллер с целевой программой, цифровой сигнальный процессора и/или программируемая логическая
интегральная микросхема (ПЛИС), соответствующим образом конфигурируемая.
При проектировании устройств с встраиваемыми системами решаются задачи выбора рациональной структуры ВКС из набора множества возможных альтернативных структур и реализация на их базе программным путем алгоритма функционирования.
Задачи формирования целевых программ и программ для конфигурации ПЛИС на основе алгоритма функционирования решается с использованием традиционных языков программирования и языков описания аппаратуры и соответствующих инструментальных средств проектирования. Однако работ, где ставятся аналогичные задачи в настоящее время немного.
Проблеме выбора рациональной структуры ВКС на этапе структурного проектирования и рассматривается в данной работе.
В первой главе работы рассматриваются вопросы, связанные с оценкой ожидаемого качества проектируемой ВКС.
Основная цель любой промьішленнойкомпанииі- поставлять на рынок новые изделия раньше своих конкурентов; по более низкой*цене и лучшего качества. Одним из механизмов достижения этой цели у многих зарубежных компаний является метод структурирования функций качества (QFD). Он является ключевым в системе технологий менеджмента на основе качества. Различные варианты этого метода используются ведущими мировыми компаниями в ходе разработки новых продуктов и услуг [93].
В1 главе рассматривается способ адаптации этого метода применительно к оценке качества альтернативных структур проектируемых встраиваемых систем с целью последующего выбора одной из них, конкурентоспособной.
Элементная база в виде БИС с программируемой структурой и инструментальные средства автоматизации проектирования программного обеспечения предоставляют возможность большому числу небольших коллективов разработчиков заниматься разработкой ВКС. В условиях
6 рыночной экономики усиливается конкурентная борьба между производителями такой техники. Поэтому актуальной становится проблема оценки качества ВКС на ранних этапах проектирования для сравнения их с другими системами.
Оценка проводится на стадии структурного проектирования, когда ошибочные решения могут привести к появлению неконкурентоспособного продукта. Большое разнообразие доступной элементной базы позволяет реализовывать функционально одинаковые ВКС в виде различных структур с программным обеспечением, реализующих однотипные алгоритмы.
Рациональный выбор структуры ВКС на этапе структурного проектирования, определяет в дальнейшем его степень соответствия потребительским ожиданиям, стоимость, сроки и трудоемкость проектирования, возможность последующей модернизации и многое другое. Важнейшую роль играет способ оценки степени удовлетворенности потребителей ВКС. Предлагается методика, позволяющая преобразовывать требования потребителей (зачастую носящие качественный характер) в конечные количественные характеристики проектируемой системы. Так как в работе оценивается качество ВКС еще на этапе структурного проектирования, то под потребителями в работе понимаются не только покупатели будущей системы, но также разработчики технического и программного обеспечения, конструкторы и производители разрабатываемой системы.
Вторая глава работы посвящена проблеме функциональной декомпозиции проектируемой ВКС.
При проектировании встраиваемой системы решается задача распределения программ и данных по уровням иерархии и узлам системы. Эффективность встроенной системы в большой степени определяется тем, насколько удачно распределены потоки данных и функции по узлам системы между отдельными процессорами. Под процессорами встраиваемой системы в работе понимаются некоторые элементы (целевые программы и
контроллеры, схемы, реализованные на ПЛИС), осуществляющие обработку информации. Таким образом, структурное проектирование встраиваемых компьютерных систем связано с анализом большого количества параметров, в пространстве которых приходится искать наилучшее решение.
Одним из способов уменьшения пространства параметров проектируемой системы — сведение размерности пространства параметров к размерности характеристик целевой ВКС.
Отдельно рассматриваются проблемы, связанные с проектированием ВКС на базе уже существующих прототипов. При разработке таких систем приходится сталкиваться, как с техническими, так и с организационными проблемами. Решается задача выбора прототипа из имеющихся структурных решений в качестве базового для последующей модернизации.
Показано, что залогом эффективного решения этих задач, прежде всего, является выбор рациональной структуры проектируемой ВКС в соответствии с техническим заданием и пожеланиями потребителей и возможностями коллектива разработчиков (наличие инструментальных средств проектирования, опыта работы с ними, ограничениями на сроки проектирования и т.д.).
В третьей главе рассмотрены проблемы собственно проектирования ВКС, то есть, определение такого состава компонентов и программных средств, который образует в результате структуру ВКС с заданными функциональными и потребительскими характеристиками.
Эти проблемы весьма актуальны из-за постоянного расширения номенклатуры БИС с программируемой структурой, инструментальных средств проектирования и областей применения встраиваемых систем.
В главе рассматриваются пути преодоления ограничений, связанных с временными затратами на выполнение программным путем отдельных фрагментов алгоритма для устройств, работающих в реальном времени.
В четвертой главе описан программный пакет, разработанный на основе результатов диссертации. Программа позволяет оценить пожелания
будущих потребителей ВКС при структурном проектировании системы (по результатам главы 2), преобразовать их в технические параметры проектируемой системы, а также получить оценку вектора проектирования, обеспечивающего заданные интегральные потребительские характеристики системы (по результатам главы 3).
В Заключении сформулированы основные результаты работы, указаны перспективы развития исследований и разработок.
В Приложении приведены акты внедрения результатов диссертационной работы и свидетельства об официальной регистрации программ для ЭВМ.
Цель работы является
Разработка методики сравнительной оценки качества проектируемой и эталонной ВКС.
Разработка методики преобразования требования потребителя в конечные количественные характеристикики компонентов и программного обеспечения ВКС.
Разработка модели итеративного структурного проектирования ВКС с заданными интегральными показателями.
Для достижения поставленной цели решаются следующие задачи:
построение модели структурного проектирования встраиваемых систем на базе программируемых БИС,
оценка соответствия параметров модели пожеланиям потребителей,
разработка методов итеративного структурного проектирования для систем на базе программируемых БИС.
В диссертации рассмотрены работы, посвященные аналогичной тематике - кандидатские диссертации Парфенова В.Л. (СПбГУ, 1995г.) [49], Кулинича А.А. (ИЛУ РАН М., 2003 г.) [38], Соловей Д.Е. (Гос. техн. унив. Воронеж, 1998 г.) [64], Эка Нараен Чапагайна (Москва, 2001 г.) [81], Худова К.А. (М., 2006 г.) [80], Малинина Д.И. (Тула, 2008) [44], Михайлова И.С. (Москва, 2008) [45], Бодрова А.А. (Москва, 2006) [12], Белова В.В. (МГАПИ,
2000) [10],Третьякова СВ. (МГУПИ, 2007) [12], Белых А.А. (МЭИ ТУ М., 2006 г.) [11].
Степень обоснованности научных положений, выводов и рекомендаций.
Научные положения, выводы и рекомендации обоснованы теоретически с использованием аппарата системного анализа и системного проектирования, методов декомпозиции задач и алгоритмов, а также методов синтеза алгоритмов. Предложенная методика проектирования подтверждена результатами работы разработанного программного обеспечения.
Научная новизна работы состоит в следующем:
разработана модель проектирования» встраиваемых компьютерных систем» с заданными интегральными показателями на основе прототипа;
адаптирован метод обработки пожеланий потребителей' разрабатываемых систем применительно к процессу формирования векторного критерия качества;
разработан метод получения оценки вектора компонентов системы по критерию максимального правдоподобия;
исследована рекуррентная методика оценки вектора компонентов системы с изменяемыми и дополнительными интегральными показателями.
Практическая ценность. На основе проведенных исследований и предложенных методов разработан алгоритм и программа позволяющая
оценить пожелания потребителей проектируемой встраиваемой системы на этапе структурного проектирования;
получить оценку вектора проектирования, обеспечивающего заданное качество системы в виде интегральных потребительских характеристик системы.
Апробация работы. Основные результаты работы былишредставлены на Научно-практической конференции «Актуальные проблемы аппаратно-
программного и информационного обеспечения науки, образования, культуры и бизнеса» 2008 г.
Положения диссертации докладывались на научных семинарах кафедры "Персональные ЭВМ и сети" (МГУПИ).
Публикации, Результаты диссертационной работы опубликованы в 5 печатных работах.
Роль инструментальных средств проектирования в процессе разработки систем на базе программируемых БИС
Не меньшее значение, чем выбор компонентов имеет проблема выбора инструментальных средств проектирования и отладки ВКС [72]. При этом разработчик оценивает следующие факторы: функциональные возможности, предоставляемые ими, и влияние их на производительность труда разработчика, стоимость средств проектирования, наличие опыта работы у коллектива разработчиков, универсальность средств проектирования и возможность их использования в дальнейших проектах.
При оценке функциональных возможностей инструментальных средств, прежде всего надо учитывать, что они должны позволять: эффективно работать с текстом целевых программ, транслировать целевые программы в исполняемые коды, проводить автономную отладку целевых программ, проводить отладку схемотехники проектируемых ВКС с использованием отладочных тестов, проводить комплексную отладку целевых программ и аппаратуры разрабатываемой ВКС.
Различные средства проектирования по-разному реализуют эти возможности. Прежде всего, следует отметить, что перечисленные возможности могут реализовываться единым набором средств проектирования. Обычно такой набор средств проектирования носит название интегрированной среды разработки и включает в себя некоторый комплекс программ, работающих на персональном компьютере, и дополнительную аппаратуру для взаимодействия с отлаживаемым устройством. Комплекс таких программ обычно называют кросс-средствами, они включают в свой состав редакторы текстов программ, трансляторы, отладчики, программы управляющие функционированием дополнительной аппаратуры - внутрисхемными эмуляторами, загрузчиками программ в память ВСК (программаторами). Обычно набор этих средств ориентирован на какое-либо конкретное семейство микросхем и поэтому не является универсальным. Более того, даже в рамках одного семейства микросхем, но для различных моделей, необходимо приобретать дополнительную аппаратуру и программы. Например, внутрисхемные эмуляторы с соответствующими драйверами.
Однако такой набор средств может быть реализован не только в виде интегрированной среды проектирования. Для написания программ можно использовать обычные редакторы текстов. Сторонние фирмы обычно поставляют кросс-компиляторы, которые часто позволяют получать более эффективные исполняемые коды целевых программ. Что касается автономных отладчиков, то многие квалифицированные программисты не занимаются автономной отладкой программ, а сразу переходят к комплексной отладке. Программаторы интегрированных средств проектирования также не универсальны.
Внутрисхемное (ISP — In System Programming) программирование — это способ занесение целевой программы, программы конфигурирования и данных в память МК (RAM, E2PROM, Flash) или ПЛИС конструктивно находящихся в составе ВКС. Технология ISP направлена на то, чтобы освободить разработчика от необходимости программировать память вне целевой системы. Преимуществами применения ISP являются увеличение надежности системы (нет необходимости ставить на плату для микросхемы панель устройства), сокращение времени цикла программирования и отладки, улучшение надежности конечного изделия [29].
Отладка это проверка корректности функционирования спроектированной системы с целью выявления и исправления ошибок и несоответствий исходному техническому заданию.
Тестирование — это проверка корректности функционирования системы с целью выявления ошибок. Тестирование является частью отладки. Тестирование программного обеспечения и аппаратуры обычно стремятся автоматизировать, так как при тестировании фиксируется реакция системы на внешние сигналы и сверяется соответствие результатов работы со спецификацией.
На рисунке 1.3 представлена классификация встроенных инструментальных средств (включая встроенные средства загрузки (программирования), тестирования аппаратуры, тестирования и отладки ПО).
Классификация инструментальных средств В настоящее время множество фирм выпускает универсальные программаторы. Включение в их состав отладочных функций для микроконтроллеров со встроенными средствами отладки сделает такие устройства универсальными и дешевыми.
Комплексная отладка взаимодействия целевой программы с аппаратурой является наиболее трудоемким процессом проектирования ВКС. При этом используются такие традиционные средства как универсальные контрольно-измерительные приборы - осциллографы, логические анализаторы, программаторы. Применение внутрисхемных эмуляторов позволяет резко снизить трудоемкость отладки.
Декомпозиция функциональной модели встраиваемой компьютерной системы
Полученная модель данных позволяет разделить данные, поступающие на вход всей системы, и данные, являющиеся входными и выходными для подфункций узловых процессоров.
Следует, однако, иметь в виду, что модель структуры данных, описываемая выражением (2.5), описывает только преобразование величин потоков данных в системе, но никак не характеризует содержательное преобразование данных. Декомпозиция функциональной модели встраиваемой компьютерной системы
Выполнение структурного проектирования системы заключается в распределении отдельных функций обработки данных по узловым процессорам (микроконтроллерам и конфигурируемым ПЛИС) таким образом, чтобы сделать по возможности меньшей потоковую связность узлов между собой. Для этого следует объединить связанные потоками функции внутри каждого узла.
Потоковую связность функций между собой характеризует матрица преобразования А. Для того, чтобы получить разбиение системы на несвязные подсистемы, следует привести матрицу А к клеточной форме. В этом случае матрица А заменяется прямой суммой ее подматриц-клеток.
В реальной системе, конечно, преобразовать матрицу А к клеточной форме не удается, так как для произвольной конфигурации узлов распределенной системы каждая функция связана с каждой. В этом случае можно попытаться преобразовать матрицу к квазиклеточному виду, при котором элементы, не стоящие на клеточной квазидиагонали не нулевые, но имеют достаточно малые значения.
Процесс преобразования в квазиклеточную форму может производиться следующим образом: в матрице А ищется минимальный элемент яzy = \; значение \ вычитается из всех элементов матрицы А; делается попытка приведения вновь получившейся матрицы А к клеточной форме; если разбиение получается, процесс завершается; если результат неудовлетворителен, опять в матрице А выбирается минимальный элемент ah = Л2, и опять делается попытка приведения матрицы А к клеточной форме; процесс повторяется до тех пор, пока результат не удовлетворит разработчика; если процесс повторялся / раз, то эквивалентный коэффициент
Получившееся разбиение системы описывается блочными уравнениями: новый вектор выходных потоков данных системы на шаге к, и к + 1 соответственно, полученный из исходного перестановкой компонентов в соответствии с приведением матрицы преобразования к квазиклеточному виду, - клеточная матрица, характеризующая связность подфункций; клетка с совпадающими индексами описывает связность внутри подфункций, с несовпадающими - связность подфункций между собой.
В процессе проведения функциональной декомпозиции системы следует контролировать, удовлетворяет ли текущее разбиение условиям и ограничениям, накладываемым на систему. Основных таких условий три [72]: принадлежит ли текущее разбиение множеству допустимых конфигураций; хватает ли пропускной способности сетей связи для передачи входных и выходных потоков данных функциональных элементов; хватает ли аппаратных ресурсов для реализации всех подсистем.
Для проверки первого условия перед началом проектирования системы строится множество допустимых конфигураций Ч = {i//i,y/2,..-y/s}, каждый элемент которого представляет собой подмножество функций, которое может быть реализовано в одном функциональном элементе. Для проверки условия принадлежности текущего разбиения к множеству допустимых конфигураций необходимо проверить, мажорируют ли элементы множества все элементы блочной диагонали матрицы
Нахождение оценки вектора компонентов системы методом максимального правдоподобия
1. Показано, что для решения задачи проектирования встраиваемой компьютерной системы — нахождения вектора компонентов по желаемому вектору целевых интегральных характеристик - может быть применен метод максимального правдоподобия, разработанный Р. Фишером для оценки параметров. 2.
Показано, что функция правдоподобия может быть описана условной плотностью вероятности р\ КС , связывающей искомый вектор компонентов Е, и выборочные наблюдения вектора целевых интегральных характеристик у. Характеристики функции правдоподобия определяются вектором случайных отклонений а целевых интегральных характеристик у от ожидаемых номинальных значений. 3. Показано, что при нормальном распределении вектора случайных отклонений у (что достаточно вероятно в силу большого числа мало влияющих факторов) задача максимизации функции правдоподобия сводится к критерию минимума квадратичной ошибки оценки вектора целевых интегральных характеристик у от номинального значения. 4. Методом прямой минимизации полученного критерия получена оценка вектора компонентов проектируемой встраиваемой компьютерной системы. Полученное выражение позволяет определить набор компонентов, используя которые можно спроектировать встраиваемую компьютерную систему с заданными характеристиками у. 5. Получена модель проектирования встраиваемой компьютерной системы для случая, когда необходимо произвести модификацию существующей системы (улучшить потребительские характеристики, добавить новую функциональность и т. д.). 6. Получен рекуррентный алгоритм оценки вектора компонентов проектируемой встраиваемой компьютерной системы, не требующий обращения матриц на итерациях. 7.
Разработан алгоритм функционирования процесса структурного проектирования встраиваемой системы. По результатам методики обработки пожеланий потребителей, разработанной в предыдущих главах, был разработан программный пакет, реализующий эту методику. Программный пакет состоит из следующих модулей: - основного модуля программы, - модуля ввода данных о пожеланиях потребителей, - модуля обработки данных о пожеланиях потребителей, - модуля построения диаграммы Парето. Разработанная программа успешно эксплуатировалась в ЗАО «РЭ группа» при проектировании специализированного устройства сбора информации с территориально распределенных объектов.
На главном окне программы показана причинно-следственная диаграмма, основанная на данных, полученных от экспертов - специалистов-проектировщиков и потенциальных пользователей измерительной системы. Эта диаграмма позволяет сопоставить пожелания потребителей и технические характеристики проектируемой системы, а также выявить дополнительные компоненты векторного критерия, которые должны учитываться для получения конкурентного преимущества перед прототипом. Главное окно содержит меню, состоящее из трех пунктов: - ВВОД, - ВЫВОД, - диаграмма. При выборе первого пункта меню открывается подменю, позволяющее выбрать входную форму для ввода пожеланий потребителей, выходную форму для индикации обработанных пожеланий или форму для построения диаграммы Парето.
Синтез рекуррентного алгоритма оценки вектора компонентов встраиваемой системы
Показано, что для решения задачи проектирования встраиваемой компьютерной системы — нахождения вектора компонентов по желаемому вектору целевых интегральных характеристик - может быть применен метод максимального правдоподобия, разработанный Р. Фишером для оценки параметров. 2. Показано, что функция правдоподобия может быть описана условной плотностью вероятности р\ КС , связывающей искомый вектор компонентов Е, и выборочные наблюдения вектора целевых интегральных характеристик у. Характеристики функции правдоподобия определяются вектором случайных отклонений а целевых интегральных характеристик у от ожидаемых номинальных значений. 3. Показано, что при нормальном распределении вектора случайных отклонений у (что достаточно вероятно в силу большого числа мало влияющих факторов) задача максимизации функции правдоподобия сводится к критерию минимума квадратичной ошибки оценки вектора целевых интегральных характеристик у от номинального значения. 4.
Методом прямой минимизации полученного критерия получена оценка вектора компонентов проектируемой встраиваемой компьютерной системы. Полученное выражение позволяет определить набор компонентов, используя которые можно спроектировать встраиваемую компьютерную систему с заданными характеристиками у. 5. Получена модель проектирования встраиваемой компьютерной системы для случая, когда необходимо произвести модификацию существующей системы (улучшить потребительские характеристики, добавить новую функциональность и т. д.). 6. Получен рекуррентный алгоритм оценки вектора компонентов проектируемой встраиваемой компьютерной системы, не требующий обращения матриц на итерациях. 7.
Разработан алгоритм функционирования процесса структурного проектирования встраиваемой системы. По результатам методики обработки пожеланий потребителей, разработанной в предыдущих главах, был разработан программный пакет, реализующий эту методику. Программный пакет состоит из следующих модулей: - основного модуля программы, - модуля ввода данных о пожеланиях потребителей, - модуля обработки данных о пожеланиях потребителей, - модуля построения диаграммы Парето. Разработанная программа успешно эксплуатировалась в ЗАО «РЭ группа» при проектировании специализированного устройства сбора информации с территориально распределенных объектов. На главном окне программы показана причинно-следственная диаграмма, основанная на данных, полученных от экспертов - специалистов-проектировщиков и потенциальных пользователей измерительной системы. Эта диаграмма позволяет сопоставить пожелания потребителей и технические характеристики проектируемой системы, а также выявить дополнительные компоненты векторного критерия, которые должны учитываться для получения конкурентного преимущества перед прототипом. Главное окно содержит меню, состоящее из трех пунктов