Category Archives: ソフトウェア

Technical Report – BCDS Agent: An Architecture for Bidirectional Collaborative Data Sharing, Masato Takeichi. March 31, 2020.

Abstract.

We have been discussing data sharing among autonomous independent sites in the distributed system to meet various demands for application. Among them the need for collaborative data sharing has attracted attention in many fields where not only the owner of the original data but the receiver can update that shared data. The BCDS Agent is a new building unit for configuring such systems with scalability and versatility. It rests on the novel feature of bidirectional programming which encourages us to take the compositional approach in developing the distributed system with data consistency.
We present the key issue on designing the BCDS Agent with some examples.

TR-BCDS Agent

 

双方向変換を用いたデータ共有システムについて

まったく久しぶりの投稿です。

すでに触れましたが、2018年3月に大学改革支援・学位授与機構の職を離れて、再び、大学に勤めていたときの計算機科学分野の研究を振り返りつつリハビリに努めてきました。

7年間の「空白」もありましたが、やり残していたことも思い出しながら関数プログラミングを楽しんでいます。2018年の秋から「双方向変換を用いたデータ共有システム」に関する研究に取り組んでいます。

情報学研究所 (NII) の胡振江教授(現北京大学・NII教授)が代表として進めている科学研究費補助金による研究のアドバイザを務める傍ら、久しぶりのソフトウェア開発を行って、アイデアの実証を行っています。

2019年の3月頃から3ヶ月ほどで開発して、いくつかの応用システムのプロトタイプによって有効性を実証した「双方向協調型データ共有 (Bidirectional Collaborative Data Sharing, BCDS) システム」の概要を添付しておきます。このシステムはネットワーク通信を含めてすべて関数型言語 Haskell で記述してあります。SQLデータベースとともに使うことを想定したシステムですが、そのためのライブラリ 700行とネットワーク機能を含むデータ共有を実現する800行程度のプログラムで、Mac OS と Windows 10 のもとの(これらが混在した)ローカルネットワークで実行することができます。

最近、いくつかのタクシーの配車サービス(Taxi Dispatching) システムが実用化されていますが、簡単な仕様記述によってそのプロトタイプを作成するなどの実験を行いました。協調型データ共有のアプリケーション構築のための基盤技術の一つとして位置づけています。

BCDS概要