Special
» 2016年09月01日 10時00分 UPDATE

愛され続ける“類いまれな開発ツール”:誕生から30年、ツールとして深化と熟成を重ねるLabVIEWが見せる新たな芽生え

1986年、グラフィカルなユーザーインタフェースを備えた革新的な開発ツール「LabVIEW」が30周年を迎えた。これほど長い間使われ続けている開発ツールは他にない。8月に開かれたNational Instrumentsの年次カンファレンスで、LabVIEW開発者が紹介した30年の歩みと、最新版「LabVIEW 2016」が身につけた新機能について解説する。

[PR/EE Times]
PR

 National Instruments(ナショナルインスツルメンツ、以下NI)社は2016年、創立から40周年を迎えた。閉じられた筐体にシステム全てが収まり、1つ1つが専用の装置となっていた従来の計測器に対し、NI社は“計測してそれを電気信号に変え、標準的なインタフェースで送るハードウェア”を作り、それを接続したコンピュータで解析するという、斬新なコンセプトを打ち出した。そして、創立10年後の1986年に、データの解析だけにとどまらずハードウェアの制御までも行い計測の自動化を実現する、画期的なシステム開発ツール「LabVIEW」を生み出した。

 LabVIEWが目指したのは、開発や設計における生産性の圧倒的な向上だ。計測器をハードウェア部分とソフトウェア部分に分けることで、ムーアの法則に従って急速に高性能化するコンピューティングパワーが、そのままソフトウェアの性能向上につながるというNI社の狙いは大成功し、LabVIEWは開発ツールとして他に類を見ないほど長期間使われ続け、今もその適用範囲を広げている。

Jeff Kodosky氏 「NIWeek 2016」2日目のキーノートスピーチで、LabVIEWの歴史を振り返るJeff Kodosky氏

 8月1日〜4日に米国テキサス州オースチンで開かれたNI社の年次カンファレンス「NIWeek 2016」では、“LabVIEWの父”と呼ばれる同社フェローのJeff Kodosky氏が、LabVIEWが歩んできた30年を振り返った。

LabVIEW誕生、そして2つのマイルストーン

 Kodosky氏はこのようにLabVIEW誕生前夜の状況を「当時エンジニアはBASICやCを使ってテストプログラムを書いていた。そこでゲームを変える進歩が必要だった」と振り返った。そこにNI創立者であり現在も社長兼最高経営責任者(CEO)を務めるJames Truchard氏の言葉が重なる。「表計算ソフトがフィナンシャルアナリストの生産性を引き上げた。それと同じことを、エンジニアや科学者にしてやろう」

 このビジョンを具現化するために、Kodosky氏らはいくつものアイデアを出してきたが、決定的なものは生まれなかった。直接の契機となったのは1984年のMacintoshの登場だ。グラフィックスユーザーインタフェースの重要性に気付いたKodosky氏の脳裏に重要なアイデアが浮かぶ。「エンジニアはシステム設計やテストの際にダイヤグラムを書く。ダイヤグラムにはシステム全体やコンポーネント、そしてそれらの通信も示されている。これを基にしたソフトウェアが作れないか」

IWeek 2016の展示コーナーに、Macintosh SEで動いている「LabVIEW 1.0」が置いてあった

 7カ月にわたる開発を経て、従来型測定器の中身と、体系的なプログラミングコンセプト、データフローダイヤグラムなどを盛り込んだソフトウェアのイノベーションである「LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench)1.0」を生み出した。LabVIEW 1.0の成功は明白なように思われたが、ターゲットとしていたエンジニアや科学者は相変わらずBASICやCでプログラムを書いていた。LabVIEWのアーリーアダプターとなったMacintoshの熱狂的ファンの中にいたエンジニアたちは、そのすばらしい価値を認めながらも、記述できるシステムサイズの小ささや、編集のやりにくさ、実行速度の遅さにもがいていた。

データフローコンパイラで実用システムを高速に

 LabVIEW誕生後の歴史の中で、特に重要な2つのマイルストーンの1つとKodosky氏が話すのが、1990年にリリースした「LabVIEW 2.0」だ。LabVIEW 2.0ではデータフローコンパイラを実装し、Macintoshの進化も相まって、実用的なシステムが記述できるようになり、それを高速に実行できるようになった。Macintosh IIは(初期のMacintoshと違って)サードパーティーのハードウェアボードを挿せる拡張スロットを備えていたため、測定用のカードとLabVIEW 2.0をセットにしてデータ収集製品としてリリースした。このリリースによって、NI社は現在まで続く非常に重要な市場分野へ参入できた。

 3年後の1993年には「LabVIEW 3.0」を発表。MacintoshだけでなくSunやWindows版もリリースした。これによって「市場に嵐を巻き起こし、われわれはついに自信を得ることができた」(Kodosky氏)

 LabVIEWが市場に歓迎されたのは、LabVIEWを使うことで明確な恩恵を享受できたためだ。ユーザーからの声をKodosky氏がまとめたものが以下だ。

  • 開発設計期間の大幅短縮:従来型のプロジェクトの6〜10分の1に
  • 直感的な理解のしやすさ:ハードウェア/ソフトウェア、I/O、通信などシステム全体を見渡せる
  • 使いやすさ:VI(Virtual Instrument)に代表されるグラフィカルな表現、ドキュメントの分かりやすさ
  • 再利用性:コードの再利用のしやすさ
  • その他:リッチなユーザーインタフェース、スケーラビリティ、データパラレリズム、リモートモニタリング、大きく熱狂的なユーザーコミュニティーなど……
LabVIEWの歴史 Kodosky氏のキーノートスピーチで示された、LabVIEWの歴史。LabVIEWのバージョン表示は省かれ、主要な機能をピックアップしてある

FPGAのプログラミングを身近に

 そしてKodosky氏が考えるもう1つのマイルストーンが、2003年の「LabVIEW 7」で可能になったFPGAのプログラミングだ。これは長年開発してきた機能で、1997年のNIWeekで初めてLabVIEWによるFPGAプログラミングのデモンストレーションを披露してから、リリースまで6年かかっている。FPGAプログラミングによって、LabVIEWで書いたダイヤグラムをそのままハードウェア回路にし、高速で動作させることが可能になった。

 従来、FPGAのプログラミングはFPGAを熟知した専門家が行うものだったが、LabVIEWによるFPGAプログラミングではFPGAの専門知識を必要とせず、基本的に通常のLabVIEWプログラムを記述すれば良いという点が大きなメリットだ。あるレポートによると、FPGAのプログラミングによく使われているVHDL(VHSIC Hardware Description Language)との比較で、3分の1の期間で開発できるほど生産性が高いという。FPGAの持つ高い処理能力を簡単に利用できるようになったことで、NI社の当初からのコンセプトである“ハードウェアとソフトウェアを分離した測定器”は、ソフトウェアによってハードウェアの構成まで制御できるという新しい段階にステップアップしたといえるだろう。Kodosky氏はLabVIEWのFPGAプログラミングサポートによる恩恵として3つを挙げている。

  • 1つのプログラムで複数のFPGAプラットフォームをサポートする。FPGAプロセッサとの相互運用性の高さ
  • 開発やシミュレーションにおける簡単さ/期間の短さ
  • パフォーマンスの高さ。正確なタイミングと同期、ピアツーピア通信

Kodosky氏が長く温めてきた「LabVIEW 2016」に実装した新機能とは

 ここまで、エンジニアや科学者が日ごろ書いているダイヤグラムを基にした、ビジュアルシステム開発ツールLabVIEW1.0の誕生、データフローコンパイラによる高速処理、FPGAプログラミングによる、真にソフトウェアが制御する測定システムと、マイルストーンを紹介しながら大きく進化したLabVIEWの歴史を振り返った。もちろんこれらは重要な強化だが、2005年以降毎年リリースされるようになった後も、当然ながら着実にイノベーションは続いている。それではリリースされたばかりのLabVIEW最新版「LabVIEW 2016」の新機能について紹介しよう。

 LabVIEW 2016に加わった新機能としては「チャンネルワイヤ機能」「LabVIEW Cotrol Design and Simulationモジュール」など複数の64ビット対応モジュール、「計測器ドライバネットワーク(IDNet)」への500種類の新デバイス追加、Pythonで書かれたスクリプトをLabVIEWベースのアプリケーションに組み込める「Python Integration Toolkit for LabVIEW」提供などが挙げられる。ここで最も注目すべきチャンネルワイヤ機能と、Python Integration Toolkit for LabVIEWについて紹介する。

チャンネルワイヤ(上)と従来型記述(下)の比較
チャンネルワイヤ(上)と従来型記述(下)の比較 チャンネルワイヤ(上)と従来型記述(下)の比較

 チャンネルワイヤはKodosky氏がLabVIEWに実装しようと構想し、何年もかけて開発してきた機能で、LabVIEWにおける非同期通信の記述を大幅に簡素化し、開発効率を高めるものだ。従来、LabVIEWで2つの並列するループ(コードセクション)の間で行われる非同期のデータ通信を記述するには、それぞれのループにキューRefnumを使って複数のブロックダイヤグラムが必要だが、これは複数の交差するワイヤで記述することになるため、手間がかかり作成後の見通しもよいとはいえないものだった。これに対してチャネルワイヤ機能では、データキューとデータを統合できるためループからループに1本のワイヤを引っ張るだけで非同期通信を定義でき、簡単かつ見通しのよい記述が可能になる。

チャンネルワイヤで記述すると、プローブ機能を使ってデータの状態を一元的に監視できる チャンネルワイヤで記述すると、プローブ機能を使ってデータの状態を一元的に監視できる

 コードを書くのではなくビジュアルプログラミングが特長のLabVIEWだが、コードで書かれたプログラムをLabVIEWから呼び出す仕組みも用意している。その理由は、ユーザーが抱えるプログラム資産の活用だ。Pythonは、大学や研究機関などの科学者が実験用プログラムを書くために広く使われている。LabVIEW 2016では、LabVIEWツールネットワークを通じて提供するPython Integration Toolkit for LabVIEWによって、Python、サードパーティーベンダーであるEnthoughtのAPIを利用し、LabVIEWアプリケーションの中でPythonスクリプトを呼び出し、実行することができる。

 NI社は2010年から、LabVIEWを初めて体験するユーザーにも、使い続けているユーザーにも、プログラミングの効率化と生産性向上を提供しようという、LabVIEWの改善作業を進めており、LabVIEW 2016のこれらの新機能もその成果の1つだ。これらの改善の成果には、新しい機能としては出てこないLabVIEWの安定性向上も含まれており、この数年間でバグを大きく削減しているという。

 さらにNIWeek 2016の2日目の基調講演では、NI社のソフトウェアに将来実装されるべく開発中の新しい機能を、実際に試してNI社ソフトウェア開発チームに要望をフィードバックできる「NI Software Technology Preview」プログラムが発表された。リリース前の新機能を見せるだけの技術プレビューはよくあるが、このプログラムではユーザーが手元で動かすことができるのはもちろん、ガイドやヘルプモジュール、ディスカッションフォーラムも含めて提供するものだ。しかも、大手ユーザーなどに限らず、標準サポート/保守プログラム契約中のユーザーであれば誰でも参加できる。ユーザーに寄り添ったソフトウェア開発を進めるNI社の姿勢が現れたものといえる。

「NIWeek 2016」基調講演2日目に発表された、「NI Software Technology Preview」の概要 「NIWeek 2016」基調講演2日目に発表された、「NI Software Technology Preview」の概要

 エンジニアや科学者の立場になって、開発や研究の現場における生産性、イノベーション、発見を加速するツールを提供するというNI社のスローガンのもと、誕生から30年を迎えたLabVIEWは、よりよいツールに向かう歩みを決して緩めることはない。


この記事に興味のある方におすすめのホワイトペーパー:


なぜ、30年も使われ続けるのか!
人気の開発用ソフトウェアでできることとは?


グローバル化やデバイス増加による変化により企業は常に新たな課題に直面している。そんな中、長年変わらずエンジニアや研究者に広く使われ続けてきた開発用ソフトウェアツールがある。本資料は、そのツールの使用方法やメリットおよび事例まで全容を解説する。

▼ ▼ ▼



Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:日本ナショナルインスツルメンツ株式会社
アイティメディア営業企画/制作:EE Times Japan 編集部/掲載内容有効期限:2016年9月30日

MONOist & EE Times Japan Special

センサーや通信、機械学習。さまざまな要素が相互に絡みあう産業用IoT(IIoT)を実現するには、多数の企業が業界を超えて協力しなければならない。テスト・計測・制御ソリューションを提供するナショナルインスツルメンツ(NI)が自社のテクニカルカンファレンス「NIWeek 2016」でIIoTの実現に必要なものとして強調したのは、プラットフォームとエコシステムであった。NIの取り組みとはどういったものか。「NIWeek 2016」から、IIoTに関連する予知保全とTSNの事例を紹介する。

1986年、グラフィカルなユーザーインタフェースを備えた革新的な開発ツール「LabVIEW」が30周年を迎えた。これほど長い間使われ続けている開発ツールは他にない。8月に開かれたNational Instrumentsの年次カンファレンスで、LabVIEW開発者が紹介した30年の歩みと、最新版「LabVIEW 2016」が身につけた新機能について解説する。

標準規格の策定前に試作を素早く実行し、必要な機器開発を進め、規格策定後に勝ち残る。無線の開発においては、ソフトウェア無線を利用することで開発速度を高めることが可能だ。ナショナルインスツルメンツ(NI)が開催したテクニカルカンファレンス「NIWeek 2016」から、「5G」の開発に役立つ事例や製品を紹介する。

コネクテッドカーの命は複数のセンサーを束ねるソフトウェアにある。ソフトのテストを実機ではなくシミュレーターを用いて実現できれば、テスト期間を短縮でき、広範なテストシナリオを網羅可能だ。ナショナルインスツルメンツ(NI)は、自社のテクニカルカンファレンス「NIWeek 2016」において、従来のシミュレーター(HIL)の欠点を補い、特に難しいレーダーをも扱った事例を示した。

RSSフィード

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.