Формально темой июльского номера являются беспроводные сети. Однако в отличие от принятого в редакции подхода на этот раз отсутствуют специальные редакторы. Полагая, что главный редактор располагает в номере статьи в должном порядке, в своем обзоре я буду следовать тому же порядку. Поэтому тематически ориентированная часть на этот раз не будет первой.
Итак, первой из основных статей номера является статья Джона Хеннинга (John L. Henning) из корпорации Compaq Computer, посвященная спецификациям SPEC CPU2000 («SPEC CPU2000: Measuring CPU Performance in the New Millennium»). Не буду говорить о содержании статьи, поскольку в этом номере «Открытых систем» публикуется ее полный перевод. Хочу только пояснить, почему была выбрана именно эта статья. Любой независимый эксперт регулярно и достаточно часто сталкивается с вопросами о выборе аппаратно-программных платформ. Вообще говоря, критериев выбора много, но если говорить про объективные оценки, то они могут основываться только на принятых основными производителями тестовых наборах (benchmark). Для сравнения эффективности процессоров и базового программного обеспечения (операционных систем и компиляторов) используются тестовые наборы, разрабатываемые Консорциумом SPEC. Статья Хеннинга интересна тем, что в ней представлены основные черты нового тестового набора CPU2000 (официально пришедшего 30 июня 2000 года на смену предыдущему CPU95), но еще более интересно обоснование выбора тестовых приложений. Очень жаль, что нет аналогичной статьи о современных тестовых наборах семейства TPC для оценки производительности систем баз данных.
Следующая статья уже относится к тематической подборке. Ее автор - Дэвид Гудман (David J. Goodman) из Политехнического университета (Бруклин, Нью-Йорк). Статья носит многообещающее название «Беспроводной Internet: обещания и вызовы» («The Wireless Internet: Promises and Challenges»). Статья состоит из двух логических частей. В первой части анализируются основные причины, препятствующие широкому распространению беспроводных компьютерных сетей (низкие скорости передачи данных, высокая стоимость предоставляемых служб, слишком большая мощность радио-модемов и т.д.). В этой же части анализируются достоинства и недостатки технологии третьего поколения цифровой сотовой связи (3G) и протокола WAP (Wireless Application Protocol). Вторая часть статьи посвящена описанию концепции и состоянию исследований в другом направлении - Infostation. Основная идея проста, далеко не всегда требуется доступ к любым данным всегда и везде. Infostation «заряжает» мобильный компьютер той информацией, которая адекватна текущему его расположению и текущему времени (и может производить выгрузку информации на стационарный компьютер, когда он находится в зоне видимости станции). Поскольку речь идет о беспроводных коммуникациях в весьма ограниченном пространстве (физически Infostation похожа на заправочную станцию), то можно существенно увеличить скорость передачи данных при небольшой мощности радиомодемов, использовать нелицензируемые частоты и т.д. В нескольких американских организациях ведутся соответствующие исследования, в том числе и в самом Политехническом университете Бруклина.
В статье «Организация беспроводных систем минимальной мощности на базе пикорадио-систем» («PicoRadio Supports Ad Hoc Ultra-Low Power Wireless Networking») группы авторов из Университета Беркли (Йан Рабай, Джози Аммер, Джулио да Сальва-мл.,Дэнни Пател, Стед Раунди — Jan M. Rabaey, M. Josie Ammer, Julio L. da Salva Jr., Danny Patel, Stad Roundy) обсуждаются вопросы построения беспроводных сетей с использованием приемо-передатчиков минимальной мощности. Такие устройства должны стоить не более одного доллара и занимать объем в пределах одного кубического дециметра. Естественно, сфера действия таких устройств ограничена десятками метров. Приводятся несколько реальных сценариев, в которых такая беспроводная сеть может быть полезна (например, в больницах), а также обсуждаются «гибридные» подходы, в которых пикорадио-системы могут использоваться совместно с традиционными.
Статья «Надежность и выживаемость беспроводных и мобильных сетей» («Reliability and Survivability of Wireless and Mobile Networks») Эндрю Сноу (Andrew P. Snow), Упкара Варшни (Upkar Varshney) и Алиши Маллоя (Alisha D. Malloy) из Университета Джорджии посвящена исследованию проблемы сбоев и отказов беспроводных сетей. Авторы отмечают, что хотя Федеральная комиссия по коммуникациям США располагает информацией о числе и свойстве сбоев в беспроводных сетях, эта информация не доводится до широкой публики (в отличие от данных о сбоях в обычных сетях). Поэтому в статье приводится анализ характера сбоев для различных компонентов беспроводной сети и статистические данные о соответствующих задержках клиентов. Предлагаются некоторые способы (достаточно очевидные) повышения надежности беспроводных сетей, их доступности и «выживаемости» в случае сбоев.
В статье «Использование путей выполнения для измерения, объяснения и улучшения поведения программ» («Using Paths to Measure, Explain, and Enhance Program Behavior») Томаса Балла (Thomas Ball) и Джеймса Ларуса (James R. Larus) из Microsoft Research приводится обзор состояния дел в различных компьютерных областях, связанных с анализом путей выполнения программ, т. е. тех цепочек команд и вызовов подпрограмм, которые возможны при выполнении программы. Для упрощения и обеспечения возможности практического использования рассматриваются только пути, сосредоточенные внутри одной процедуры и вне циклов. Утверждается, что авторы обладают техникой сбора таких путей (хотя сама техника не описывается). Затем на основе анализа литературы анализируются различные способы использования информации о путях выполнения программы: для разработчиков компьютерных архитектур, для разработчиков оптимизирующих компиляторов языков программирования, для отладки, тестирования и понимания программ. Мне кажется, что в статье более важен обзор, чем собственные результаты авторов.
Следующая статья написана Вацлавом Раджлихом (Vaclav T. Rajlich) из Университета Уэйна и Кейтом Беннетом (Keith H. Bennett) из Университета Бурхама и называется «Фазовая модель жизненного цикла программного обеспечения» («A Staged Model for the Software Life Circle»). Ее авторы предлагают собственную модель жизненного цикла программного обеспечения, критикуя принятый подход, когда организуется единый процесс проектирования, разработки, сопровождения, распространения ПО. Выделяются пять фаз, в которых работают отдельные процессы: начальная разработка (создание первой работающей версии), развитие (повышение функциональных возможностей системы, возможно, затрагивающее принципиально важные принципы ее построения), обслуживание (мелкие функциональные обновления), плавный отказ от продукта (прекращение обслуживания с продолжением маркетинга) и выход с рынка (уход с рынка с предложением замены). Приводится ряд примеров, демонстрирующих правильность предлагаемого подхода.
Наконец, последняя из больших статей - «Как чтение с перспективой может помочь в инспекции требований» («How Perspective-Based Reading Can Improve Requirements Inspections») касается весьма важной темы экспертизы программного проекта на самой ранней стадии - стадии формулировки требований. Ее авторы Форест Шулл, Иоана Рус и Виктор Базили (Forrest Shull, Ioana Rus, Victor Basili), представляющие Центр Фраунхофера экспериментального программирования из Мэриленда - справедливо утверждают, что писать документацию гораздо легче, чем ее читать (с этим сталкивался любой эксперт). Процесс инспекции начального проекта включает несколько фаз: планирование, обзор, обнаружение дефектов, сбор дефектов, устранение дефектов и т.д. Наиболее важной фазой является обнаружение дефектов. Предлагается некоторая методология подготовки инспекторов проектов, которая поможет им выявить максимальное число дефектов. Название статьи - Perspective-Based Reading - явно говорит инспекторам проектов - учитесь правильно читать документацию.
Из мелких материалов номера отмечу весьма забавную переписку читателей с редакцией по поводу апрельской статьи об ошибках в языке Java. Опубликованы два письма, в первом из которых читатели обвиняют авторов статьи в ошибке и получают соответственно гневный отпор, а во втором письме указываются дополнительные недостатки Java, и авторы статьи весьма мягко реагируют на это.
В сводке новостей содержится приятное для всех нас известие - команда ВМиК МГУ вошла в десятку призеров авторитетного соревнования Computer Society International Design Competition (CSIDC). По последней информации мы разделили с другими участниками с шестого по десятое места. Это здорово! Поздравляю команду МГУ.
Из новых книг, анонсируемых в номере, хочу порекомендовать две (обе вышли в издательстве Addison Wesley Longman, дополнительную информацию о них можно получить на серверах www.avl.com или www.amazon.com). Первая написана Дэвидом Тэнсли (David Tansley) и называется «Linix & UNIX Shell Programming». Хорошее описание возможностей стандартного интерпретатора командного языка Bourne Shell для использования в разных UNIX-средах, включая Linux. Вторая книга «XML: Manager?s Guide» Кевина Дика (Kevin Dick) предназначена для того, чтобы менеджеры среднего и высшего уровня правильно понимали возможности технологии XML. Мне кажется, что на сегодняшний день это очень полезная книга. Русский перевод (если появится), наверняка опоздает.
Подписку на журнал Computer автоматически получает каждый член IEEE Computer Society. Вступайте в сообщество! Подробная информация на сайтах www.computer.org.ru и www.computer.org. Консультации — у меня; электронная почта: kuzloc@ispras.ru, телефон: +7 (095) 912-4614.