Перспективы развития индустрии производства программного обеспечения в России

Автор работы: Пользователь скрыл имя, 21 Декабря 2011 в 14:26, доклад

Описание работы

Одной из актуальнейших задач построения в России экономики, основанной на знаниях, является развитие индустрии производства программного обеспечения. Сделать производство программных продуктов индустрией впервые удалось компании «Microsoft», чем и объясняется ее финансовый и профессиональный успех. Есть ли в России объективные условия для развития такой индустрии? Несомненно, есть! Такая уверенность обусловлена хорошей естественнонаучной подготовкой выпускников российских школ и вузов, и, в первую очередь, традиционно хорошей математической подготовкой, которая, несмотря на неудачные попытки ее реформировать, остается на достаточно высоком уровне.

Файлы: 1 файл

высокие технологии 21века.docx

— 371.52 Кб (Скачать файл)

     Следовательно, для формирования одного комплексного отсчета во входном буфере ПМВВ перед  пересылкой в память КО необходимо накопить два временных отсчета  абонента.

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

     ПМВВ  – осуществляет параллельный прием  информации от абонентов по 7 - каналам,  буферизацию данных «на проходе» за счет чередования тактов приема и выдачи, согласование форматов портов обмена и выдачу 16 – ти разрядной  информации на I уровень обработки.

            ПМВВ разбит, на следующие функциональные  модули.

           Узел 1 приема, буферизации, редактирования и выдачи информации на контроллеры транзитных связей (КТС) I-го уровня обработки. Узел 1 включает блоки синхронной статической памяти объёмом 128 Мбайт.

           Узлы 2, 3 обмена служебной  информацией и параметрами начальной  загрузки по шине PCI, включая указания о состоянии абонентов и предполагаемом режиме работы.

           Узел  4 формирования сигнатур для выполнения контроля функционирования ПМВВ.

           Узел  5 для синхронизации  приема и выдачи информации.

           Узлы 6, 7 системы JTAG и конфигурации ПЛИС.

     Основной (штатный) режим ПМВВ – это обеспечение  для каждого абонента приема информации с загрузкой в два блока  памяти. Информация поступает строками, нечетные строки в первый блок памяти, четные во второй. В момент записи i – строки, (i – 1) строка считывается и передается в обработку.

     Архитектура процессора TMS 320С64Х включает два параллельных канала HPI и EMIF с прямым доступом к внутренней памяти. Канал HPI – имеет 16 разрядное слово обмена и производительность 34 Мбайт/с обменов внутри процессора, и производительность 24,2 Мбайт/с обменов с динамической памятью. Контроллер транзитных связей (КТС) – формирует отдельные массивы для выполнения временной фильтрации.

     Канал EMIF   обеспечивает передачу полученного преобразования Фурье в динамическую память устройств КТС/11 и КТС/12 для дальнейшей маршрутизации в следующий II-ой уровень обработки.

     Выделим основные информационные потоки в системе  обработке сигналов.

     Информация  поступает от абонентов реального  времени АРВ(I¸ IV), при этом от абонента I информация поступает по 4 направлениям,  а от абонентов II ¸ IV – по одному направлению от каждого от абонентов.

     Процессор ПМВВ распределяет информацию следующим  образом:

     информация  от АРВ (I) поступает в устройство  I уровня, в котором выполняется временная многоканальная фильтрация. Затем результат временной фильтрации по тракту АО[32], сопровождаемый сигналом маршрутизации поступает в устройстве пространственной фильтрации (II уровень), а также передается в ПМВВ для организации системы диагностического обслуживания и для контроля и калибровки входных трактов абонентов реального уровня;

     информация  от абонентов АРВ (II, III) передается  в структорный уровень   I, II (ПФ/6), в котором выполняется временная и пространственная  фильтрация, а затем результат по шине Б6 в сопровождении строба БС/6 поступает в ПМВВ;

     информация  от абонента АРВ (IV) передается  в структорный уровень   I, II (ПФ/7), в котором выполняется временная и пространственная  фильтрация, а затем результат по шине Б7 в сопровождении строба Б7/7 поступает в ПМВВ.

     Информация  от АРВ I после выполнения временной фильтрации поступает в структурный уровень II, в котором выполняется пространственная фильтрация в устройствах ПФ/1¸5 для распределенных частотных диапазонов по процессорам ПФ/1¸5. Сформированные пространственные спектры сигналов с выхода ПФ/5 по шине Б/5 в сопровождении строба БС/5 поступают в ПМВВ и передаются по тракту PCI в универсальный вычислитель для дальнейшей обработки.

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

Анализ  особенностей разработки кроссплатформенного  программного обеспечения  на примере системы  тестирования неоднородного  вычислительного  комплекса 

С. Е. Ветошкин,  ОАО  “НИИ суперЭВМ” 
 

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

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

        Кроме того, в разрабатываемого  ПО были заложены принципы  переносимости между платформами.  Для этого использовались кросс  платформенная библиотека Qt фирмы Trolltech. Существуют ряд других библиотек решающих задачу создания многоплатформенных библиотек, такие как GTK+, Xaw. Библиотека Xaw, это надстройка над XLib, поэтому она может быть перенесена только вместе со средой X Window. Она предоставляет простой чёрно-белый интерфейс. На основе данной библиотеки разработаны некоторые версии X – терминалов. Библиотека не имеет встроенных средств, для работы с различными расширениями, такими как: графические надстройка OpenGL, различные поддерживаемые сетевые протоколы, средства доступа к базам данных. Также данная библиотека не имеет средств, для визуальной разработки интерфейсов и создания многоязыковых приложений.

        Наиболее широкими возможностями  обладают библиотеки Gtk и Qt. На первой создана оболочка GNOME, на второй KDE. Они предоставляют практически равные функциональные возможности. Эти две графические библиотеки лежат в основе двух наиболее популярных в мире Linux рабочих сред, указанных выше. Обе библиотеки являются многоплатформенными и работают не только на операционных системах типа UNIX, но и на операционных системах Windows.

        Библиотека GTK+ - это, как уже было сказано выше, многоплатформенный набор средств для создания графического интерфейса пользователя. Включая полный спектр виджетов (widgets – элементы управления) библиотека подходит как для создания маленьких проектов, так и для создания крупных программных пакетов. GTK+ - это свободное программное обеспечение и является частью проекта GNU; Целью проекта GNU является создание свободной UNIX-подобной операционной системы). Однако сама библиотека лицензирована по LGPL, что позволяет использовать данную библиотеку и в проприетарных программных продуктах.  Изначально GTK создавалась для использования программой GIMP (GNU Image Manipulation Program), откуда собственно и произошло название (GIMP Toolkit). Сегодня GTK+ используется в большой группе приложений и активно используется в проекте GNU.

        Qt поддерживает развитие многоплатформенных GUI приложений с подходом: “записать однажды, компилировать где-угодно”. Используя единственный проект,  набор файлов с исходным кодом и простую перетрансляцию, приложения могут быть написаны в Windows 95/98/NT4/ME/2000/XP, Mac OS X, Linux, Solaris, HP-UX и многих других версиях Unix с X11. Qt приложения могут также быть откомпилированы для выполнения на встраиваемых устройствах под управлением Qt/Embedded. Qt предоставляет уникальный межобъектный механизм связи, называемый “сигналы и слоты”.

        Qt имеет превосходную поддержку для многих доменов (областей) программирования: двухмерная и трехмерная графика, интернационализация, XML, сетевые протоколы, обращение к базам данных и т.д. Qt приложения могут быть сформированы визуально, используя Qt Designer. Qt может быть лицензирована двумя способами: либо проприетарная коммерческая лицензия, либо свободная лицензия на выбор QPL или GPL. Таким образом, с использованием Qt можно создавать как полностью свободные, так и проприетарные программные пакеты. Qt поддерживает модули (plugins)  - встраиваемые библиотеки, расширяющие функциональность исходного продукта.

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

        Функциональная часть ПО была  заложена в классы “команд  ВК”. Разработанные команды ВК  могут быть использованы как  в ПО, предназначенном для наладки  ВК, его тестирования, или в качестве  модулей штатного функционального  ПО. Современные ВК часто имеют  многомашинную универсальную часть.  Передача данных между узлами  ВК может осуществляться различными  средствами как программными (различные  протоколы передачи данных), так  и аппаратными.  Если ставиться  цель добиться переносимости  алгоритмов на разные платформы  и другие ВК использовать наиболее  распространённые и поддерживаемые  протоколы передачи данных.  В  данной разработке использовалось  при необходимости передача данных  между машинами, в том числе  в гетерогенной среде (в стенде  ВК, кроме штатных ВК “Эльбрус90-микро”  использовались рабочие станции  под управлением Microsoft Windows).

     Описание  структуры разработанного ПО для наладки  ВК.

        Программа для наладки блоков  МПО (mbkp_gs) обладает графическим интерфейсом, построенным на библиотеке Qt. Изначально она имеет несколько конфигураций. Планировалось, что данная программа будет использовать протокол JTAG и читать цепочки битов состояния ячеек и анализировать их. Программа, выполняющая данную задачу, уже существовала на PC, и эксплуатировалась. Была показана принципиальная возможность использования данного прибора, и функциональность для работы с ним заложена в программу, опционально как параметр конфигурирования при компиляции. Однако с целью сокращения времени разработки и отладки программного комплекса, и учитывая то, что работа через JTAG, осуществляется только при наладке/ремонте блоков МПО, было принято следующее решение. Что работа с JTAG будет осуществляться через РС, и частично некоторые возможности будут передаваться программе на рабочей станции, для упрощения. Эти возможности передаются через разработанное клиент-серверное взаимодействие. Программа на РС была оснащена клиентской функциональностью, а на ВК Эльбрус90-микро – серверной. Через сетевое взаимодействие доступна вся функциональность, через специальный протокол передачи команд, клиентская часть использует только необходимую функциональность. В конкретный момент времени программа может обеспечивать только серверную функциональность, либо только локальную. Единственная локальная функциональность, не экспортируемая протоколом взаимодействия это возможность редактирования управляющих файлов. Это разработанный формат файлов, содержащий набор команд программе, и ссылки указывающий на наборы используемых файлов.   Так как в программу вносить изменения (добавлять команды) могли и другие программисты, необходимо было разработать проект программы, позволяющий лёгкое расширение и минимальное внесение изменений в исходный текст программы. Схематически проект ПО изображён на рисунке.

Информация о работе Перспективы развития индустрии производства программного обеспечения в России