Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux Силаков Денис Владимирович

Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux
<
Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux
>

Диссертация, - 480 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Силаков Денис Владимирович. Методы информационно-аналитической поддержки разработки и использования стандартов на интерфейсы операционной системы Linux : диссертация ... кандидата физико-математических наук : 05.13.11 / Силаков Денис Владимирович; [Место защиты: Ин-т систем. программирования].- Москва, 2010.- 151 с.: ил. РГБ ОД, 61 10-1/1078

Введение к работе

Актуальность темы

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

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

Одним из основных подходов к обеспечению переносимости является стандартизация — определение набора свойств, которыми должна обладать любая платформа, где может быть запущено приложение. Одним из важнейших типов свойств, определяемых стандартами в области разработки ПО, является интерфейс взаимодействия операционной системы с приложениями. Основным, хотя и не единственным видом такого взаимодействия, является программный интерфейс, включающий набор функций (как правило, сгруппированных в библиотеки), предоставляемых системой и доступных выполняемым в ней программам. Соответственно, основные усилия в области стандартизации интерфейса взаимодействия ОС с приложениями направлены на стандартизацию программного интерфейса. Наиболее известными стандартами на интерфейсы ОС являются POSIX и LSB (Linux Standard Base). LSB более молодой стандарт, но он уже охватывает практически в 20 раз больше интерфейсов, чем POSIX.

Качественная поддержка процедуры переноса приложений требует рассмотрения широкого спектра интерфейсных сущностей. Помимо непосредственно библиотечных функций, необходимы описания заголовочных файлов, типов данных, вспомогательных констант и макроопределений. Часть этих сущностей отражает специфику конкретных языков программирования и их стандартизация требует исследования особенностей как самих языков, так и соответствующих систем трансляции. Используемые в Linux компиляторы GCC поддерживают целый ряд языков, для которых осуществляется сборка бинарных файлов в формате ELF; помимо этого, в приложениях Linux активно используются несколько десятков интерпретируемых языков.

Кроме значительного числа разнообразных видов интерфейсных сущностей, трудности возникают в связи с большим количеством сущностей каждого вида. Например, современные дистрибутивы Linux предоставляют до нескольких тысяч библиотек и сотен тысяч функций. Большинство приложений используют от нескольких десятков до нескольких тысяч функций. Количество приложений велико. Порталы и , например, содержат более десяти тысяч программ для ОС Linux. В процессе стандартизации важно оценить реальные потребности приложений и возможности существующих систем, чтобы включать в стандарт с одной стороны, наиболее востребованные приложениями интерфейсы, с другой — интерфейсы, поддерживаемые большим количеством различных дистрибутивов. Подобный подход используется, в частности, при разработке POSIX и LSB. По причине большого количества интерфейсов во множестве программных средств на основе ОС Linux (далее для краткости — экосистеме Linux), необходимы средства автоматизации подобного анализа.

Кроме упомянутой автоматизации, нецелесообразно разрабатывать стандарты «с нуля». А именно, необходимо опираться на уже существующие спецификации. Документация различного характера доступна для многих библиотек и функций Linux, однако она сильно разрознена и при разработке стандарта необходимы средства для ее консолидации и унификации. Важным аспектом является формирование профилей — объединений стандартов либо их подмножеств, охватывающих определенный класс систем. При выделении подмножеств стандартов, равно как и при их объединении, встает задача

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

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

Цель и задачи работы

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

  1. Исследовать многообразие видов интерфейсов приложений с ОС Linux и построить логическую модель системы интерфейсов.

  2. Разработать архитектуру информационно-аналитической системы, предназначенной для поддержки процессов создания, развития и использования стандартов на интерфейсы ОС Linux, обеспечивающую:

a. возможность адаптации информационной системы к
изменениям модели системы интерфейсов;

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

3. Разработать информационно-аналитическую систему,
обеспечивающую:

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

b. поддержку принятия решений в процессе стандартизации на
основе анализа существующих реализаций;

c. возможность создания профилей стандартов.

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

Научная новизна

Научной новизной характеризуются следующие результаты работы:

  1. Логическая модель системы интерфейсов приложений с ОС Linux.

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

  3. Новый метод построения системы поддержки принятия решений в процессе разработки интерфейсных стандартов, базирующийся на анализе интерфейсов, присутствующих в экосистеме Linux.

Практическая значимость

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

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

Разработанные методы были успешно использованы при построении информационно-аналитической системы стандарта Linux Standard Base (LSB) в рамках совместного проекта ИСП РАН и консорциума Linux Foundation по развитию инфраструктуры LSB, стартовавшего в 2006 г. В 2009 г., также совместно с Linux Foundation, была построена информационно-аналитическая система для профиля стандарта мобильных устройств на базе платформы Moblin (Moblin Compliance Specification).

Апробация и публикации

Результаты работы докладывались на семинаре Института проблем информационной безопасности в 2010 году, на 51й Научной конференции МФТИ в 2008 году, на IX Международной научно-технической конференции "Кибернетика и высокие технологии XXI века" (Воронеж) в 2008 году, на семинарах ИСП РАН в 2009-2010 гг., на конференциях SYRCoSE в 2007-2009 гг., на конференциях разработчиков свободных программ на Протве (Обнинск) в 2007-2009 гг., на конференции OpenCert (Милан, Италия) в 2008 году.

По теме диссертации автором опубликовано 15 работ (из них 2 в изданиях по перечню ВАК), список которых приведен в конце автореферата.

Структура и объем диссертации

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