u/text/302/181130/ html Открытые системы, процессы стандартизации и профили стандартов

Вид материалаДокументы

Содержание


Открытый мир программного обеспечения
Популярное на эту тему
Высокие технологии Китая и Индии / (67)
Подобный материал:
1   ...   4   5   6   7   8   9   10   11   ...   22

Открытый мир программного обеспечения


Сергей Кузнецов

ссылка скрыта :: ссылка скрыта

Авторы статьи не видят причин подвергать разработчиков таким мучениям. Они убеждены, что компонентам крупной программной системы можно придать высокий уровень независимости от платформы и даже языка программирования. В результате можно получить долговечное программное обеспечение, для которого возможна простая миграция при смене платформы. Предлагаемый в статье подход особенно выгоден для разработчиков графических пользовательских интерфейсов (graphical user interface, GUI).

Лючано Барези (Luciano Baresi), Елизабетта Ди Нитто (Elisabetta Di Nitto) и Карло Гецци (Carlo Ghezzi) представили статью «Навстречу программному обеспечению открытого мира: проблемы и вызовы» (Toward Open-World Software: Issues and Challenges). Сегодня разработчики справляются с изменениями среды путем выявления соответствующих требований к изменению программного обеспечения, модификации структуры и реализации программ, проверки того, что результирующий продукт удовлетворяет новым требования и, наконец, повторного внедрения приложения. Такой поход основывается на предположении, что внешний мир изменяется медленно, а потому программное обеспечение может оставаться стабильным в течение долгого периода времени. Также предполагается замкнутость внешнего мира в том смысле, что в требованиях, на основе которых специфицируется взаимодействие программной системы с внешним миром, могут быть зафиксированы все важные с ее точки зрения явления. Само программное обеспечение является замкнутым, поскольку состоит из частей, не изменяющихся при выполнении программ.

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

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

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

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

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

В открытом мире участники, предоставляющие и потребляющие услуги, могут легко стать жертвами мошенничества. Такие ситуации могут распознаваться с помощью мониторинга с инициированием каких-либо восстановительных действий. Однако требуется возможность предотвращения ситуаций, которые могут причинить вред системе. В области сервис-ориентированных систем в рамках инициатив WS-Security, WS-Policy и WS-Trust определяются протоколы, позволяющие некоторым уполномоченным службам гарантировать достоверность других участников. При применении более «демократичного» подхода доверие основывается на репутации участников. Ни один из подходов не гарантирует устойчивость по отношению к атакам. Эти подходы необходимо дополнить методами верификации и мониторинга.

ссылка скрыта    ссылка скрыта    2    ссылка скрыта    ссылка скрыта    ссылка скрыта    ссылка скрыта



Популярное на эту тему





   Возвращение микроядерных операционных систем / (325)



    Высокие технологии Китая и Индии / (67)

ссылка скрыта
Тема майского номера журнала Computer (IEEE Computer Society, Vol. 39, No. 5, May 2006) — будущие операционные системы и парадигмы программирования (Future Operating Systems and Programming Paradigms) Эдвард Ли (Edward Lee) представил статью «Проблемы использования потоков управления» (The Problem with Threads). ссылка скрыта



ссылка скрыта
В июльском номере журнала Computer (IEEE Computer Society, V. 39, No. 72006) отсутствует ярко выраженная тема, хотя формально она обозначена как «глобализация» компьютерной индустрии. К этой теме относятся две большие статьи, посвященные развитию компьютерного бизнеса в Китае и Индии. ссылка скрыта



   Компьютерная поддержка городской жизни / (119)



   Обещания и просчеты UML 2.0 / (201)

ссылка скрыта
В этом году сентябрьский номер журнала Computer (IEEE Computer Society, Vol. 39, No. 9, September 2006) посвящен компьютеризации городской жизни (Urban Computing). Тематическая подборка включает пять больших статей и вводную ссылка скрыта



ссылка скрыта
Темой февральского номера журнала Computer (IEEE Computer Society, Vol. 38, No. 2, February 2006) стала «Управляемая моделями разработка программного обеспечения» (Model-Driven Software Development). Полноценная тематическая подборка статей предваряется объемной заметкой ссылка скрыта