時間: 
11月07日 15時

はじめよう!ATS言語による安全な低レベルプログラミング

登壇者: 
岡部究

C言語でのポインタの使用などは低レベルプログラミングに必須であるにもかかわらず危険です。ATS言語を使うとポインタを用いてなお安全な設計を行えます。本発表ではそのような設計手法を紹介します。

ところでポインタの使用は何故危険なのでしょうか?それはポインタを使う時にポインタの先にあるデータが有効であるか知ることが通常困難であるためです。ATS言語は「ポインタが有効である期間」を表わす線形型(View)という機能を持っています。この機能を用いることで無効なポインタに対するアクセスをコンパイルエラーにすることができるのです。

またATS言語にはプログラムの証明を司る機能もあります。これは依存型(Prop)と呼ばれ、値の取り得る範囲をコンパイル時に検査したり、プログラムの挙動が正しいことを証明することができます。

まとめると、ATS言語はこのような強い型を用いてプログラムが正しく動くことを他の言語よりも強くコンパイル時に特徴付けることができるのです。
ATS言語のコンパイルフロー
また、ATS言語はこのような強い型が使えるにもかかわらずArduinoのようなメモリが数kBしかない小規模なマイコン上でさえ動作します。まさにATS言語は組み込みアーキティクチャを設計するのに相応しい関数型言語です。
arduino-ats
本発表では、このATS言語についての概要とその利点についてわかりやすく解説します。

資料
ビデオ / スライド : 
団体名:
Japan ATS User Group
セミナー企画