ローグウェーブソフトウェアのブログ

開発をシンプルに 安全で高品質のコードを 素早くお客様のもとへ

JViews 2017リリース / 浮動小数点数演算の倍精度化

こんにちは、ローグウェーブのセールスエンジニア柄澤(からさわ)です。Java向けの大規模GUIを作成するためのライブラリ、ローグウェーブのJViews最新版2017がリリースされました 。

先日のTotalViewのPythonデバッグに関するエントリではPYPLにおけるPython人気に触れましたが、このランキングでの1位は依然としてJavaが占めており、この言語の人気の根強さを示しています。Kotlinなどの言語が今後どのくらい受容されていくか、ということも含めて目が離せません。

JViewsは、通信ネットワークの管理や航空機の運行管理など、世界中のミッションクリティカルなアプリケーション開発で信頼され利用されています。オンラインデモのページからは、JViewsを利用したダイアグラム操作やプロセスのモニタリング、ダッシュボードやグラフなど様々なアプリケーションをブラウザでインタラクティブに動かすことができます。

JViewsのバージョン番号は近年の他のローグウェーブ製品に合わせて今回から2017となっていますが、内部的にはまだ前回のリリースまでの慣習を引き継いで、9.0という呼び方もなされています。

倍精度化

さて、今回のJViews 2017ではお客様の重要なアプリケーションを改善するために、従来の製品と非互換な改良を加えました。地図アプリケーションなど大規模なアプリケーションでは正確な計算結果を得たり正しい位置にオブジェクトを配置するために倍精度計算を行うのが一般的ですが、従来floatで値を受け取っていたJViewsメソッドのシグニチャが今回のバージョンからdoubleで受け取るように変更されました。

JViews 2017への移行を支援するために移行ツールが提供されます。このツールはお客様のコードを評価し、どのメソッドやコンストラクタで変更が必要なのか教えてくれます。JViews全体のリリースノートに、このツールダウンロードのための手順と移行のための詳細なガイドラインが記されています。また、このリリースノートにはChartsやMaps等各製品のリリースノートへのリンクがあり、個別のメソッドがどのように変更されたか確認することができます。

移行ツールは、どのメソッドを修正すべきなのかを教えてくれます。その後、EclipseのClean upオプションを使ってコードを整理し、JViewsの新しいライブラリをプロジェクトに加え、APIの引数をfloatからdoubleに変更し、浮動小数点変数のリテラルを、例えば0.5fから0.5のように変更し、あるいは不要なキャストを取り除き、Javadocのannotationをチェックしてください。グラフィックデータの永続性に関するI/Oストリームやシリアル化のような操作はバイナリを直接扱うため殊更に注意が必要です。また、精度が高まったことによって等値の判定基準も影響を受けるはずです。リリースノートに書かれた手順を注意深く読み、十分なテストを行なってください。

移行についてご不明点があったりご支援が必要な場合はサポートチームまでご連絡ください。

Javaサポートバージョン

JViews 2017はJava 7(2011年リリース)と8(2014年リリース)をサポートします。今回のリリースがJava 7をサポートする最後のJViewsリリースになります。

ところで、当初2017年3月に予定されていたJava 9のリリースが7月に延期され、今度はさらに9月に延期されるそうです。強力なプレイヤーがひしめくオープンソースコミュニティと緊密に連携を取り合いながら大規模な仕様の更新を行う苦労は並大抵のものではないだろうと思います。

以上注意を促す書き方になってしまいましたが、計算精度が高まることは間違いなくメリットとなります。JViewsの バージョンアップのご依頼をお待ちしております。

セールスエンジニア 柄澤 (からさわ)