NASA ジェット推進研究所の宇宙探査に貢献するアトラシアン

*本ブログは Atlassian Blogs を翻訳したものです。本文中の日時などは投稿当時のものですのでご了承ください。原文 : 2012 年 5 月 14 日、Sarah Goff-Dupont 投稿 “NASA's Jet Propulsion Lab Launches Atlassian Into Space

 

写真提供:NASA

NASAのジェット推進研究所(JPL)は、飛行任務の計画に使うソフトウェアを開発するためにアトラシアン製品群を使用しています。衛星や火星探査機から送られてくるデータのモデリングにも使用しています。ソフトウェア開発リードであり、JPLにおける「アトラシアン担当者」である David Mittman にインタビューを行い、彼らが考えていることについて詳しく聞いてきました。

JPL は新しいロケット技術をテストする場所として1930年代に設立され、1958年に NASA が設立された後は、太陽系を探査するために必要なロボット宇宙船の開発のための研究を行ってきました。そのほんの一部として、現在進行中のボイジャー計画 (現在太陽系外を飛行中) や、ユリシーズ太陽計画、そして1990年代に火星へ送られたパスファインダー探査機など注目されるプログラムなどがあります。JPLはまた、宇宙でロボット観測により天候や気候変動を追跡する地球観測プログラムを実施しています。「私たちは、宇宙を探索するための新しい技術を常に開発しています」とMittman は語りました。圧倒されるような話の後には、具体例をあげてその詳細を説明してくれました。

真の「アンサンブル」キャスト

無人探査機一式を地球上の人間が操作できるようにする膨大なソフトウェア開発の一部は、カリフォルニア州パサディナにある JPL、サンフランシスコ近郊にあるエイムズ研究センター、ヒューストンにあるジョンソン宇宙センターの共同作業により行なわれています。(元をたどれば私たちの税金が使われているので) これらすべてをできるだけ効率的にするために、「アンサンブル」と呼ばれるプロジェクトを計画しました。それはミッション計画や、宇宙から送られる生の科学的データの解析、そして探査機の移動を示す視覚的な地図作成など、共通した問題を解決するためのものです。

したがって、「アンサンブル」は地理的にさまざまな領域に分散したコラボレーションそのものであり、アトラシアンのエコシステムを利用する理由となりました。「効率的に開発できるインフラを必要としています。だからアトラシアン製品を使っています。」とMittman は説明しました。彼らは現在、JIRA、GreenHopper、Confluence、Bamboo、FishEye、Cloverを使用しており、JPL のとんでもなく高度な目的に対しても、ほとんどがカスタマイズの必要もなく使われています。Crucible がリストにないことにお気づきかもしれません。「私たちはペアプログラミングをたくさん実施しているので、コードレビューを早く行なっているようなものです。この 3 チームのメンバーがもっと増えたら、コラボレーション用として追加するかもしれません。」なるほど。

写真提供:NASA/JPL-カリフォルニア工科大学提供

2011 年 11 月に打ち上げられた「キュリオシティー」という名の火星探査機が、この8月に赤い惑星に着陸する予定ですが、これが現時点で、「アンサンブル」の最大のプロジェクトです。「キュリオシティー」は無人科学実験機であり、岩石蒸発レーザーや、カメラと分光計のハイブリッド、そして高解像度ステレオカメラを用いて、着陸する地域に微生物が生存できるのかどうか (あるいは過去に生存したのか) を調査します。それは科学者たちが火星の放射線環境を理解するのに役立ち、次の10〜15年以内を目標としている最終的な人間のミッションのために利用されます。

現在、火星で作業を行なっている探査機「スピリット」と「オポチュニティー」とともに、「キュリオシティー」は集めたデータを1日1回、火星の日没の頃に地球へ送ります。(太陽電池で動作しているため、探査機は日中は屋外地質学者であり、夜は幸せに眠っています。) 「アンサンブル」とクラウドのような一時的コンピュータ集積である「約1000のCPU」を用いて、「キュリオシティー」の操作者は日中のデータを解析し、数時間以内に翌日のタスクリストを作成して送ります。 これこそアジャイル計画です!

舞台裏では、パイプラインの継続的デプロイが Bamboo により行なわれています。それは「アンサンブル」のエンジニアが行うのと同じくらいの速さで、プライベートクラウドにソフトウェアアップデートをデリバリーすることにより、全体をさらにアジャイルに動かしています。Eclipse と SVN の上にあり、Bamboo により呼びだされるカスタムスクリプトを用いて、6つのアクティブなブランチからコードが作られています。ビルドが成功すると、本番環境に入る前に2つの予備環境にデプロイされ、徹底的にテストされます。(あなたが今日書いたコードにより翌日、火星探査機が動くことを友達に自慢しているのを想像してみてください!これはサイエンス・フィクションではなく、科学的事実です。) Mittmanとチームは、国際宇宙ステーションの運用ソフトウェアを構築する他の開発者と仕事を共有するための継続的デプロイモデルも計画しています。

「アンサンブル」の今後の予定

写真提供:NASA

「アンサンブル」チームは次に何を計画していますか?大したことはないけれど、、、ただ「国際宇宙ステーションで使用するEclipse RCP ベースの最初のアプリケーションを作ります」とMittman は言いました (!) 。 OSGi を用いて、様々なコンポーネントを一つのアプリケーションにプルし、NASA の人間探査テレロボティクスプロジェクトの一部として、このアプリケーションは SPHERES (Synchronized Position Hold Engage and Reorient Experimental Satellites:超小型実験衛星) ロボットを操作します。「アンサンブル」の役割は、データ処理用 Android「Nexus S」スマートフォンを搭載した、自由に飛び回るロボット SPHERES を指揮し、監視することです。今後計画している別のプロジェクトは、同じく国際宇宙ステーションのためのもので、宇宙ステーション内の人間が惑星や月面上でロボットを制御する方法を実証するものです。

宇宙ロボットの準備は?はい、大丈夫です。画期的な技術はあるのか?はい、あります。全ての仕事は「アンサンブル」のメンバーのためです。アトラシアンのツールが、コンピュータ科学者で構成されるこの勇敢な乗組員たちを支えていることを、私たちは恐縮するとともに光栄に思っています。 次の打ち上げまでカウントダウン 5… 4 … 3 … 2 … 1!

 

これらの圧倒されるうようなコンピュータコードのアプリケーションの詳細については、下記のサイトをご覧ください:

David さん、これらの貴重な洞察を共有するためにお時間を頂き大変ありがとうございました!