2017年12月13日水曜日
デジタルツインによるシステム移行の自動化
新卒社員にCOBOLを習得させて現場に投入していいのか
タイトルからして興味深い記事だが、当然ながら筆者の結論は「否」だ。その理由は「他に学ぶことが沢山ある」ということらしい。だが2ページ目からは無駄なドキュメントの話になったりして、文章全体から言いたいことがよく分からなかった。
個人的には、もっとシステム移行技術はまじめに研究されるべきだと思うし、解析の自動化やAI化といった技術を発展させ、COBOLのようなベーシックな言語は覚えなくても済むような世の中になってほしいと思う。COBOLよりもC#だGoだというのは五十歩百歩であって、コード自動生成や自動検査などこそが真に未来的なシステムだと思う。
もちろん、そこまでの道はまだ遠く、それだけを志向して勉強するのは時期尚早ではあるのだけれど、思いの外早くその時代は来るかもしれないとも思っている。システム移行ではなく自動再構築をする方向性がその答えだ。
現行システムのエミュレータを作ること自体は、原理的には難しくない。難しいのは同じ処理速度、同じか安いコストを満たすことだが、この条件を緩和すれば可能なはずだ。これをまず、現行システムのデジタルツインとして構築する。
これは、メインフレームのハードウェアをエミュレーションで作り、その上に同じソフトを構築することで作成される。但しI/Oなど性能での条件は緩和し、つまりは遅くてもよいことにする。忠実に再現できることが最優先だ。
デジタルツインがあれば、幾らでも並行してテストや解析が可能になる。そこで、これと全く同じ入力出力を行いアーキテクチャが最新である、というシステムができればよいことになる。だが実際にはもう一つ条件があって、将来的な仕様の修正が可能である必要がある。完全なブラックボックスではダメだ。
このためには、いきなり新しいシステムを作るのではなく、デジタルツインの仕様を人間可読な形式で出力する必要がある。つまり、ブラックボックスたるデジタルツインの仕様を仕様記述言語で吐き出すシステムと、仕様記述言語から新しいアーキテクチャにシステム構築をするシステムがあればよいことになる。
仕様を修正したいときは、仕様記述言語になった段階で修正を加えればよい。これは何度でもできるので、システム修正自体も今後は楽になる。その代わり、コンパイルした後のシステム構成は都度変わる可能性が高く、そのためにも対象アーキテクチャはパブリッククラウドになるだろう。
また、仕様記述言語自体も変化する可能性があるが、一度変換ができてしまえば言語間移行だけで十分であり、旧システムをデジタルツインにして解析する必要はない。これも将来的な移行コストを低減する。
仕様記述言語の候補としては、現在既に稼動しているコード自動生成ツールのソースが挙げられるが、まだまだ不足しているだろう。ここの言語設計が、移行コスト低減に直結する。
完璧な仕様記述言語などというものは、バグのないプログラムと同様にあり得ないように思える。だがそこはそこ。システム分割して部分的に適用するなどができれば、そこだけでもエンジニアの負荷が減るというものだ。
ここで一番難しいのは、デジタルツインから仕様言語への変換である。デジタルツインは仕様だけでなく実装を含んでいるから、ソースを解析できたとしてもそれが仕様なのか実装なのかの見極めが困難だからだ。また、システムの機能性能を見越した暗黙の省略、例えばバッチ処理には時間が掛かるだろうからセマフォでなくタイマで引っ掛けようとか、COBOLの十進法の誤差や型変換時の仕様を利用したプログラミングなどを見抜くのは困難だろう。
ここは、コード解析をするのではなく、入力と結果のみを見て仕様を推測する、という手法をとることが考えられる。このために専用のテストデータを用意し、いちいちリセットしながらシステムを動作させる。例えば住民の税額の計算なら、基礎控除の前後、税率が変わる前後で収入を変化させながらデータを流し込んでやる。簡単なシステムならこれだけで完成するし、そうでない場合でも部分的には仕様が完成する。
内部で複雑な操作を行った後に初めて出力するようなものではこの方法は使えない。そのため、中間情報たる内部状態やデータベースの値を使って確認する。これを使うと厳密には仕様だけでなく実装が混じってしまうが、最初は止むを得ない。
システムの分割はもちろんできるだけ細かい方が良いし、外と通信するならそれも解析のための情報として使える。だが完全に無人解析するのは当分先の話になるだろう。
将来的には、これらには一括してAIが補助に使われるものと思う。税なら法律文書があるからそれを参考にするとか、行政サービスならWebの解説を参考にするとかができるようになれば、人の仕事はずいぶん楽になるだろう。
登録:
コメントの投稿 (Atom)
注目の投稿:
富士山噴火への備え・再考
以前にも https://spockshightech.blogspot.com/2017/10/blog-post_2.html という投稿をしたことがあるのだが、もう少し状況を詳しく知ることができないか、調べてみた。 首都圏の対策としては、『首都圏における広域降灰対策...
.jpg)
人気の投稿:
-
「人はなぜ悪に憧れるのか」と「人はなぜ正義に憧れるのか」をGoogle検索してみたところ、前者は素直にヒットするのに後者はひねくれたサイトしかヒットしなかった。どうやら人は悪に憧れているようだ。 前者のサイトを読んでいると、様々な解釈が出てきて面白い。だが、検索前に自分...
-
3.11で原発の危険を甘く見ていたように、次は噴火を甘く見ていたと後悔するかもしれない。今の知識を振り返ってみる。 過去の富士山噴火の規模を見ると、溶岩や噴石などの被害はもちろん近隣で発生するとして、広範囲に火山灰が積もる。予測によれば、関東でも数cmは積もる。この量で...
-
一国における貧富の差が余りにも拡大して手が付けられなくなった時に、第二の通貨を発動する、という手が考えられる。お互いの使い方や交換に制限を掛けてやることで、第二通貨が貧乏人の間で主に廻るようにして、独立した(仮想的な)経済圏を作ってやるのがこの目的だ。 低所得層は第二通...
-
年金の制度を調べていて、なんと複雑で面倒なことかと辟易した。今ちょうど年金改革がされているけれども、現行のシステムを複雑にしているだけだ。年金に限らず、様々な社会保障制度が別の名前で呼ばれ、申請方法も異なり、審査も給付も別。ファイナンシャルプランナーや税理士、公認会計士などが必要...
-
ディーン・ケーメン氏が発明した浄水器「 スリングショット 」の原理は、いわゆる蒸留である。つまり水を沸騰させて水蒸気にした後、冷やして水に戻す。汚水と蒸留水の間で熱交換を行うことで効率を上げている。 日本では、防災用の浄水器としては中空糸膜や逆浸透膜が殆どだ。これと蒸留式には...
-
Googleがローカルニュース記事を作成するソフトウェア開発に資金を提供した 記事を見ていると窮余の策にも見えるのだが、考えてみるとむしろ好ましいのかもしれない。今まで、ローカルニュースは地方紙の領分であり、全国紙ではローカルニュースは1ページとか、ごく少数しかなかった...
-
FacebookのAIが、英語を使いながらも人間に理解できない文法でしゃべりだし、そのAIが停止された、と言う話が話題になった。その会話を実際に見てみたが、確かに気持ち悪い。この気持ち悪さ、どこかで感じたことがある、と思って思い出してみたら、眉村卓の小説に度々出てくる「産業...
-
以前にも https://spockshightech.blogspot.com/2017/10/blog-post_2.html という投稿をしたことがあるのだが、もう少し状況を詳しく知ることができないか、調べてみた。 首都圏の対策としては、『首都圏における広域降灰対策...
-
2025年7月30日、ロシアのカムチャツカ半島沖で地震が発生し、日本の太平洋側の広い範囲で津波警報、津波注意報が発令された。最大予測は警報地域で3m、注意報地域で1mだった。 電車は止まったところもそうでなかったところもあったが、都心で避難した人は皆無だった。警報が出てから半...
-
世の中の話題はAGIを通り過ぎてASIに進んでいる。AGIがGeneral IntelligenceならASIはSuper Intelligence、即ち人類を遥かに超えた知性ということらしい。 2045年にシンギュラリティが起きると予測したのは、人工知能研究の世界的権威であ...
0 件のコメント:
コメントを投稿