(Computer Celebrates NASA’s 50th Anniversary).

Национальный комитет по аэронавтике и исследованию космического пространства (National Aeronautics and Space Administration, NASA) был основан в октябре 1958 года. Большинство читателей журнала Computer помнят экспедицию Apollo 11, доставившую на Луну Нейла Армстронга и База Олдрина, были свидетелями эпохи космических шатлов и создания Международной космической станции. Проект по исследованию Марса Mars Exploration Rover, начатый еще в 2003 году, остается в новостях мировых информационных агентств — марсоходы Spirit и Opportunity продолжают искать геологические доказательства существования жизни на Марсе. В середине ноября 2008 года космический телескоп NASA «Хаббл» сделал первый четкий снимок планеты Formalhaut b, которая вращается вокруг звезды Formalhaut, удаленной от Земли на расстояние в 25 световых лет.

В течение последнего десятилетия в журнале Computer отслеживаются достижения NASA, публикуются статьи о новаторских исследованиях в областях робототехники, искусственного интеллекта и программной инженерии.

Тематическую подборку открывает статья Маргарет Гамильтон и Вильяма Хэклера «Язык универсальных систем: уроки Apollo» (Universal Systems Language: Lessons Learned from Apollo).

Огромные средства расходуются на проекты, в которых ключевую роль играют проектирование системы и разработка программного обеспечения, однако существенная часть этих средств тратится впустую, а критически важным системам свойственен риск отказов, иногда приводящих к катастрофическим последствиям. В значительной степени так происходит из-за использования «посмертной» парадигмы, на которой основываются языки определения систем. Авторы статьи предполагают, что проектировщики и разработчики программного обеспечения могут значительно смягчить эти проблемы за счет применения языка, основанного на радикально ином подходе, предупреждающем, а не исправляющем сбойные ситуации. Таким является «язык универсальных систем» (Universal Systems Language, USL), который основывается на теории систем и опирается на уроки проекта по разработке бортового программного обеспечения кораблей Apollo.

USL устраняет необходимость применения пользователями каких-либо предопределенных понятий, поскольку является самостоятельным миром — это полностью новый способ понимания систем. Вместо использования понятия объектно-ориентированных или модельно-управляемых систем, проектировщик оперирует терминами системно-ориентированных объектов (system-oriented object, SOO) и системно-управляемых моделей. Предлагаемый авторами подход во многом противоречит традиционным взглядам и его можно назвать системно-центрическим.

Статью «Автономия марсоходов: прошлое, настоящее и будущее» (Autonomy for Mars Rovers: Past, Present, and Future) представили Макс Махрачария, Марк Мэймоун и Дэниэл Хелмик.

В июле 1997 года в рамках проекта NASA Mars Pathfinder на Марс был доставлен первый аппарат Sojourner, а в январе 2004 года прибыли Spirit и Opportunity. За четыре года первый преодолел более четырех миль, а Opportunity — более семи миль, хотя проектное время жизни этих аппаратов составляло всего три месяца. Осенью 2009 года NASA планирует запустить корабль с марсоходом Mars Science Laboratory. На рисунке показаны макеты всех трех марсоходов.

Аппарат Sojourner работал под управлением процессора Intel 80C85/01 МГц с 512 Kбайт оперативной памяти и 176 Kбайт флэш-памяти, а устройства класса MSL будут оснащаться процессором 200 МГц RAD750 PowerPC/200 МГц с 256 Mбайт оперативной памяти, 512 Mбайт флэш-памяти и работать под управлением ОС VxWorks. В недалеком будущем в совместном проекте NASA и Европейского космического агентства Mars Sample Return (MSR), вероятно, будет использоваться легковесный марсоход, который будет обладать беспрецедентным уровнем автономности.

Авторы статьи «Интегрированная среда гидрологического моделирования и ассимиляции данных» (An Integrated Hydrologic Modeling and Data Assimilation Framework) — Суджай Кумар, Криста Петерс-Лидард, Юдонг Тиан, Рольф Рейчл, Джеймс Гейджер, Чарльз Элонг, Джон Ейландер и Пол Хоузер.

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

Вне тематической подборки опубликованы две большие статьи. Мария Пиннингофф, Риккардо Контрерас и Джон Аткинсон представили статью «Использование генетических алгоритмов для моделирования дорожных сетей» (Using Genetic Algorithms to Model Road Networks).

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

В стремлении построить наиболее эффективную транспортную сеть планировщики должны принимать во внимание разнообразные ограничения и переменные, включая топологию сети (взаимосвязь дорог), свойства дорог и местоположения их пересечений. Для еще большего повышения эффективности планирования транспортной сети исследователи изучают возможности автоматического проектирования сети. Один из подходов состоит в применении модели, основанной на генетических алгоритмах — метаэвристических стратегиях, которые становятся все более популярными при решении разнообразных проблем, от транскрибирования музыки до обработки изображений. Модель использовалась в экспериментах по сравнению автоматизированного планирования с существующим планированием транспортной сети одного из чилийских городов на период с 2000-го по 2010 годы. Эксперименты показали, что автоматизация значительно увеличивает число допустимых вариантов сети и повышает эффективность. В частности, модификации транспортной сети, предложенные на основе модели для 2010 год, оказались на 75-79% более эффективными, чем те, которые ранее планировались к этому году.

Последнюю большую статью номера написали Донг Хиук Ву и Хсиен-Хсин Ли. Статья называется «Расширение закона Амдала для вычислений с эффективным энергопотреблением в многоядерную эпоху» (Extending Amdahl’s Law for Energy-Efficient Computing in the Many-Core Era).

Марсоходы NAS. Слева направо: Sojourner, Spirit, MSL

Несбалансированное энергопотребление и все возрастающая сложность проектирования и верификации вынуждают индустрию микропроцессоров интегрировать несколько процессорных ядер в одном кристалле, что позволяет следовать закону Амдала: последовательное выполнение программы сильно ограничивает максимально достижимое ускорение. Любое непараллельное исполнение или коммуникации между ядрами быстро сведут на нет масштабируемость производительности независимо от числа дополнительных вычислительных ресурсов. К сожалению, помимо производительности, перед компьютерными архитекторами стоит и другая фундаментальная проблема: эффективность энергопотребления, уровень которого может легко превысить предельный объем энергопотребления однопроцессорного кристалла. Другими словами, объем энергопотребления каждого ядра будет ограничивать число ядер, которые могут быть интегрированы на одном кристалле. По-видимому, энергопотребление становится важнее производительности при масштабировании многоядерных процессоров. Для решения этих проблем в наступающую эпоху многоядерных микропроцессоров требуется расширить закон Амдала для принятия в расчет ограничений масштабируемости, связанных с энергопотреблением. За счет использования ясных аналитических моделей на ранней стадии проектирования можно улучшить понимание пределов эффективного энергопотребления.

Этика в программной инженерии

По традиции январский номер журнала (IEEE Computer Society, Vol. 42, No 1, January 2009) посвящен исследованиям, которые, как ожидается, окажут существенное влияние на будущее человечества, и на этот раз подборка статей связана с темой вычислений над большим объемом данных (data-intensive computing, DIC).

Ричард Кузес, Гордон Андерсон, Стефен Эльберт, Ян Гортон и Дебора Грацио представили статью «Изменение парадигмы вычислений с большими объемами данных» (The Changing Paradigm of Data-Intensive Computing).

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

Авторами статьи «Организация инфраструктур grid и управление ими» (The Organization and Management of Grid Infrastructures) являются Ян Берд, Боб Джонс и Керк Ки.

В конце 90-х физики, разрабатывающие модели экспериментов с использованием Большого адронного коллайдера (Large Hadron Collider, LHC), столкнулись с проблемой использования распределенных ресурсов для решения задач хранения и обработки данных. После проведения ряда экспериментальных общеевропейских проектов в области data grid стало понятно, что для CERN этот подход наиболее приемлем — так возник проект LHC Computing Grid (LCG), который со временем преобразовался в проект Worldwide LHC Computing Grid (WLCG, lcg.web.cern.ch/LCG), сплотивший 150 вычислительных центров (узлов) из 35 стран. Вычислительные центры WLCG подписывают Меморандум о намерениях (memorandum of understanding, MoU), в котором определяются уровни обеспечиваемых ресурсов, а также предоставляемые услуги и их качество. Эти центры опираются на различные проекты по созданию инфраструктуры grid для обеспечения инструментальных средств, служб и поддержки структур, необходимых для выполнения требований соответствующего MoU. В Европе это, прежде всего, проект Enabling Grids for E-sciencE (EGEE, www.eu-egee.org), а в США — Open Science Grid (OSG, www.opensciencegrid.org).

Статью «Вычисления с использованием белков» (Computing with Proteins) написали Нарен Рамакришнан, Джон Тайсон и Упиндер Бхалла.

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

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

При вычислениях на основе белков информация представляется и обрабатывается в аналоговой форме — «состояния» кодируются во взаимодействующих концентрациях белков и непрерывно изменяются, а информация обрабатывается путем биохимических трансформаций, таких как связывание белков-лигандов, фосфорилированиедефосфорилирование и регулируемые синтез и разрушение белка. Вычисления на основе белка обеспечивают межклеточные коммуникационные конвейеры и масштабируются на много порядков величин: от регулирования экспрессии генов до метаболического регулирования (поток вещества и энергии от усвоения пищи до синтеза новых макромолекул) и до сигнальных сетей (например, инициирующих иммунную реакцию на патогенную атаку).

Белковые регуляторные сети в клетке существенно отличаются от компьютерных архитектур. Например, их характеристики «сигнал-реакция» прямо связаны с самой молекулярной схемой. Обработка информации в белковых регуляторных сетях ведется практически параллельно (все реакции в клетке происходят одновременно) и является очень неточной (молекулярный шум ограничивает точность вычислений 3-4 битами). В своей статье авторы сосредоточиваются на том, как теория биохимических реакционных сетей может помочь обнаружить внутри сложные, основанные на белках блоки обработки информации.

Следующую статью — «Нательные сенсорные сети: проблемы и перспективы» (Body Area Sensor Networks: Challenges and Opportunities) — представили Марк Хэнсон, Хэрри Поуелл, Эдам Бат, Кайл Рингенберг, Бентон Кэлхоун, Джеймс Эйлор, Джон Лэч.

Современные достижения в области координированной, интеллектуальной обработки данных обеспечивают возможность создания сенсорных сетей, производящих мониторинг окружающей среды, систем и сложных взаимодействий в целом ряде приложений. Например, нательные сенсорные сети (Body area sensor network, BASN) перспективны в здравоохранении, фитнесе и индустрии развлечений. Каждая BASN состоит из нескольких взаимосвязанных узлов, размещаемых на поверхности или внутри человеческого тела и обеспечивающих возможности коммуникаций, сбора и обработки информации.

Для практического применения BASN необходимо решить ряд фундаментальных задач, связанных с обеспечением надежности, безопасности, конфиденциальности информации, интероперабельности и т.д. Хотя во многом проблемы и перспективы BASN аналогичны проблемам и перспективам беспроводных сенсорных сетей (wireless sensor networks, WSN) в целом имеется много исследовательских и конструкторских вопросов. Например, для достижения общественного признания, узлов BASN в сети должно быть меньше, чем в традиционной WSN, и они должны быть меньшего размера. Для амортизации разовых инженерных затрат на каждой платформе BASN потребуется значительный объем функциональных возможностей, обеспечиваемых в одном приложении или нескольких приложениях. Для этого необходимо достижение разумного компромисса между оптимизацией приложений в расчете на конкретную прикладную область и простотой программирования.

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

Статья «Круглосуточная фабрика знаний: может ли она заменить ночную смену?» (The 24-Hour Knowledge Factory: Can It Replace the Graveyard Shift?) написана Амаром Гуптой.

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

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

Последняя статья январского номера называется «Профессиональные и этические дилеммы в программной инженерии» (Professional and Ethical Dilemmas in Software Engineering) и представлена Брайеном Беренбахом и Манфредом Броем.

Люди занимаются инженерной деятельностью в течение сотен лет, и всегда они сталкиваются, по существу, с одними и теми же этическими проблемами. Чем же в таком случае существенно отличается инженерия программного обеспечения? Специалисты в области программной инженерии часто ведут себя непрофессионально или неэтично, не осознавая этого. Объединенная рабочая группа ACM и IEEE Computer Society создала этический кодекс, посвященный проблемам неэтичного поведения (www.nspe.org/Ethics/index.html). Но слишком часто упор делается на сценарии поведения, почерпнутые из газетных заголовков, а не на земные ситуации, которыми изобилует работа специалиста по разработке программного обеспечения. Возникает этическая дилемма, когда профессионалу приходится выбирать между конкурирующими ценностями, такими как личная и профессиональная. Например, менеджер по продажам может подписать контракт на поставку некоторого программного продукта, зная, что этот продукт не может быть поставлен заказчику к указанной дате. В качестве реакции на этот неэтичный поступок менеджер проекта создает нереалистичный план выполнения проекта, которому вынуждены подчиняться разработчики. Цепочка неэтичных или непрофессиональных поступков в результате может привести к выплате штрафов, судебным искам, увольнениям и даже банкротству. И ни один из участников этого процесса так и не поймет, что его поведение было неэтичным или непрофессиональным.

Всего вам доброго, до следующей встречи, Сергей Кузнецов, kuzloc@ispras.ru.