Proceedings of the 20th Annual Meeting of Particle Accelerator Society of Japan
August 29 - September 1, 2023, Funabashi

PASJ2023 FRP12

モバイルフレームワークを利用したモバイル端末用加速器運転情報アプリケーションの開発
DEVELOPMENT OF ACCELERATOR OPERATION STATUS APPLICATIONFOR MOBILE DEVICES USING A MOBILE FRAMEWORK
草野史郎 ∗A) 、佐藤政則 B)
Shiro Kusano∗ A) , Masanori SatohB)
A)
Mitsubishi Electric System & Service Co., Ltd.
B)
High Energy Accelerator Research Organization (KEK)

Abstract
The KEK injector linac provides electron/positron beams to five different rings (SuperKEKB LER 4 GeV/HER 7 GeV/Positron
Damping Ring 1.1 GeV, PF 2.5 GeV, PF-AR 6.5 GeV). For the long-term stable beam injection, it is very important to monitor
the accelerator operation status. In recent years, the performance of mobile devices has been remarkably improved. By using
these devices, it is easily possible to obtain the operation status of accelerators at anytime and from anywhere. Previously,
we developed an application for displaying accelerator operation logs for iOS and Android OS platforms. However, since thedifferent development environments were used for iOS and Android OS, it caused the poor maintainability of application. In
this update, we use Flutter, a mobile framework for common development environments, to develop and update the accelerator
operation log display application. This approach is helpful to improve the development and maintenance efficiency. In thispaper, we report the details of this new application and future perspectives.

1.

• クロスプラットフォーム対応
複数のモバイルプラットフォーム（iOS、Android、Windows Phone など）で動作するアプリケーションを開発するためのクロスプラットフォーム対応を提供。これにより、1 つのコードベースで複数のプラットフォーム向けのアプリケーションを作成することができる。
• UI コンポーネント
ユーザーインターフェース（UI）を構築するための事前定義されたコンポーネントが含まれており、ボタン、テキスト入力、リストビューなどの一般的な UI 要素を簡単に組み込むことができる。
• ネイティブ API へのアクセス
ネイティブ機能 (GPS、通知など) や API へのアクセスを提供。これにより、特定のプラットフォーム固有の機能にアクセスし、アプリケーションの機能を拡張することが可能である。
• 再利用可能なコード
ユーザーコミュニティで再利用可能なコンポーネントやライブラリが提供され、同じ機能を複数のアプリケーションで再作成する必要がなくなり、開発効率が向上する。

はじめに

KEK 電子陽電子入射器は、5 つの異なるエネルギーのリング型加速器 (SuperKEKB LER 4 GeV, HER 7 GeV,
positron damping ring 1.1 GeV, PF 2.5 GeV, PF-AR 5 GeV)にビームを供給している。長期間安定にビームを供給するためには、加速器運転状況を把握することが非常に重要である。近年、モバイル端末の進化は著しく、これらの端末を利用することでいつでもどこからでも加速器の状況を把握することができる。以前、iOS、AndroidOS で動作する加速器運転ログ表示用のアプリケーションの開発 [1] をおこなった。しかしながら、iOS および Android OS 用の開発言語が異なっていたため、保守および試験時間の増加など保守性に問題があった。
今回、モバイルフレームワーク (共通開発環境) である
Flutter [2] を用いて加速器運転ログ表示用のアプリケーションの更新をおこない、開発および保守の効率化を図った。本稿では、本アプリケーションについて、詳細を報告する。

2.

アプリケーション概要

2.1 モバイルフレームワーク
モバイルフレームワークは、モバイル端末（スマートフォンやタブレットなど）上で動作するアプリケーションを開発する際に使用されるソフトウェアの基盤である。これらのフレームワークは、アプリケーションの開発プロセスを簡素化し、再利用可能なコンポーネントやツールを提供し、高品質かつ効率的なアプリケーションを作成することができる。モバイルフレー
ムワークの特徴や機能を以下に示す。

2.1.1 モバイルフレームワークの比較
モバイルフレームワークはさまざまな種類があり、以下には代表的ないくつかのモバイルフレームワークの言語、プラットフォーム、特徴を示す。

∗ skusa@post.kek.jp- 855 -

• React Native [3]– プログラム言語 JavaScript– プラットフォーム iOS, Android– 特徴* コードの再利用が可能で、1 つのコードベースで iOS と Android の両方に対応で

Proceedings of the 20th Annual Meeting of Particle Accelerator Society of Japan
August 29 - September 1, 2023, Funabashi

PASJ2023 FRP12きる。
* ネイティブコンポーネントへのアクセスが容易である。
* アクティブなコミュニティからのサポートが期待できる。
* Facebook によって開発・メンテナンスされており、安定性が高い。
• Flutter– プログラム言語 Dart [4]– プラットフォーム iOS, Android, Web, Desktop– 特徴* ネイティブパフォーマンスに近い高速なアプリケーションを構築可能である。
* カスタム UI を作成するための豊富なウィジェットが用意されている。
* 1 つのコードベースで複数のプラットフォームに対応している。
* Google によって開発・メンテナンスされており、アクティブなコミュニティが存在する。
• Xamarin [5]– プログラム言語 C#– プラットフォーム iOS, Android, macOS, Windows– 特徴* .NET フレームワークと統合しており、既存の C#のスキルを活用可能である。
* ネイティブ機能へのアクセスが可能である。
* Microsoft によって開発・メンテナンスされており、豊富なドキュメンテーションが提供されている。
2.1.2 モバイルフレームワークの選定
本アプリのモバイルフレームワークとして、Flutterを採用した。Flutter は、ほかのモバイルフレームワークと比べて高度に最適化された Dart 言語によって動作しているため、ネイティブアプリケーションに近い動作速度をもっている。UI は、Google 推奨のマテリアルデザインを採用しており、豊富なウィジェットライブラリが提供されている。これにより、独自のカスタム UIを簡単に作成ができ、アプリケーションの外観を柔軟にカスタマイズすることができる。さらに、ホットリロード機能が備わっているため、コードの変更をリアルタイムに反映させながら、素早く開発を進めることができる。Google がバックアップする Flutter の開発コミュニティは非常に活発であり、多くの情報源やサードパーティのパッケージが利用可能なことから、将来性が高いと判断して本アプリのモバイルフレームワー
クとして採用した。
2.2 開発環境
アプリ開発開発環境は、Windows PC 上でおこなった。ただし、iOS 用アプリ関しては、iOS 用にコンパイルする macOS が必要となるため、コンパイル環境用として MacBook Pro を採用した。開発環境用 Widows PCと Mac PC のスペックを Table 1 に示す。
Table 1: Development EnvironmentPC

MPro-T330

MacBook Pro

CPU

R3.7GHz Intel Core i9

R2.3 GHz Intel Core i5

Memory

64GB

16 GB

OS

windows11

macOS Big Sur

2.3

Android Studio

本アプリの開発は、Android Studio [6] でおこなった。
Android Studio は、Google が提供する Android OS 向けアプリ開発用の IDE である。Android Studio は、Android開発者向けのサイト Android Develpers から無償でダウンロードすることができる。Android Studio は開発するための OS に制限がなく、Windows、macOS、Linux お
よび Google Chrome OS に対応している。Android Studioは、Flutter のプロジェクト開発においても、コードの自動補完やリファクタリング、デバッグ、テスト、エミュレーションなどの機能を効果的に利用できる。Figure 1に Android Studio の表示画面を示す。

Figure 1: Screen shot image of Android Studio.

3.

加速器運転情報アプリ

Figure 2 にアプリのトップ画面を示す。（a）が入射器、（b）が低速陽電子のタブページある。入射器のタブ
ページにおいては、加速器施設の概況および予定を表示している。運転日誌、トラブル、Injection Summary は、以下に記述する各パネルへのリンクボタンとなっている。低速陽電子のタブページでは、現在の Pulse Width、Beam Charge、Beam Rep、RF Power、Beam Energy、BeamPower の値を表示している。運転日誌、トラブルは、以下に記述する各パネルへのリンクボタンとなっている。両タブページの概況および予定、各パラメータの値は、画面中央にある Floating Button を押すことで更新される。

- 856 -

Proceedings of the 20th Annual Meeting of Particle Accelerator Society of Japan
August 29 - September 1, 2023, Funabashi

PASJ2023 FRP12(a) Linac Tab(b) Slow e+ Tab(a) Linac Operation Log

Figure 2: Screen image of accelerator operation status application.

(b) Slow e+ Operation Log

Figure 3: Screen shot of operation log.

3.1 運転日誌パネル
Figure 3 に入射器および低速陽電子の運転日誌パネルを示す。運転日誌パネルは、すでに所外向けに提供している電子ログブックシステムの Web ページを利用している [7]。画面下部に表示されている前ボタンは前シフト、後ボタンは次シフト、ホームボタンはトップ画面に遷移する。電子ログブックシステムの Web ページ
では、関係者以外が閲覧できないようにユーザー認証で管理されている。本アプリは、接続する度パスワードを入力する手間を省くため、flutter_secure_storage モ
ジュールを用いて端末本体にユーザーおよびパスワードを暗号化して保存している。
3.2 トラブルパネル
Figure 4 にトラブルパネルの表示画面を示す。トラブルの表示は、入射器で提供している RSS フィードのWeb ページを利用して表示している。パネルでは、直近のトラブル件数 10 件をリスト表示している。各リス
トをタップするとトラブルの詳細が表示される。
3.3

Injection Summary パネル

Figure 5 に入射器の Injection Summary の表示画面を示す。Injection Summary は、入射器で提供している Injection
Summary の Web ページを利用して表示している。パネルでは、SuperKEKB HER、SuperKEKB LER、PF、PF-ARのそれぞれの蓄積電流、ビーム繰り返し、入射効率、BTEnd での電荷量をグラフで表示している。グラフの横軸は時間軸となっており、ボタンで 24H、8H、2H を選択可能となっている。また、各グラフをタップするとグラフが拡大して表示される。

Figure 4: Screen shot image of trouble report.

4.

課題

4.1

通知機能および加速器情報の記録

以前のアプリでは、Google 社が提供する mobile Backend as a Service（mBaaS）である Firebase を利用した。
アプリがバックグラウンドにある場合でも利用できるプッシュ通知機能の Firebase Cloud Messaging やユー
ザー認証機能の Firebase Authentication、リアルタイムデータベースの Firebase Realtime Database などのサービスを用いて通知機能や加速器情報の記録用データベースを実装した。本アプリにおいては、機密情報管理の観点から外部サービスを利用することは好ましくない- 857 -

Proceedings of the 20th Annual Meeting of Particle Accelerator Society of Japan
August 29 - September 1, 2023, Funabashi

PASJ2023 FRP12

参考文献[1] S. Kusano et al., “モバイル端末を利用した加速器運転情報アプリケーションの開発 “, Proceedings of the 19th
Annual Meeting of Particle Accelerator Society of Japan,
October 18-21, 2022, Online (Kyushu University).
[2] https://flutter.dev/[3] https://reactnative.dev/[4] https://dart.dev/[5] https://docs.microsoft.com/ja-jp/xamarin/[6] https://developer.android.com/studio[7] T. Kudou et al., “入射器における電子ログブックシ
ステムの更新 “, Proceedings of the 8th Annual Meetingof Particle Accelerator Society of Japan, August 1-3, 2011,
Tsukuba, Japan.

Figure 5: Screen shot image of linac injection summary.と判断し、KEK の所外向け Web サーバーに情報を記録することにした。その記録方法は、加速器の現在の情報を XML ファイルに記録し、Flutter の XML パッケー
ジにより XML ファイルに記録されているタグ情報を元にそれぞれの加速器の情報を表示した。プッシュ通知機能においては、mattermost サーバーを利用することを検討している。
4.2 アプリの配布方法
以前のアプリの配布方法は、iOS 用では、AppSrore（TestFlight）による配布、Android 用アプリは、任意のWeb サイトから配布でおこなっていた。今回のアプリでは、Firebase App Distribution を利用した配布を検討している。Firebase App Distribution は、アプリ利用者がアプリ作成者の招待状により、Firebase App Distribution アプリのインストールをおこなう。Firebase App Distribution ア
プリを通じてアプリのインストールができる。FirebaseApp Distribution のメリットは、iOS か Android かを問わず、開発途中のアプリを配布することが可能であり、アプリを更新した際、Firebase App Distribution アプリによりアップグレード通知のサービスを受けることができる。

5.

まとめ

モバイルフレームワークを利用したモバイル端末用加速器運転情報アプリケーションの開発をおこなった。
現在、2~3 名のユーザーで試験運用をおこなっている。
以前のアプリと比べて、1 つのコードベースで複数のプラットフォーム（iOS、Android、Web、Desktop）に対応しているため、開発およびテストやデバッグの時間が短縮され、開発効率が向上した。今後は、さらに多くの関係者が利用できるような本格的な運用を目指す予定である。

- 858 -