一般にグローバル変数にアクセスしていない関数をリエントラント(再入可能)と呼び他のスレッドのことを気にせず使える性質とされています。アスペクトでは、リエントラントではないがこれとこれは同時に使っても大丈夫、みたいなことも表現できるわけですね。外からは見えない場所へ移動してみましょう。ある全てのグローバル変数にアクセスしているという意味です。アスペクトはSPARKでも使用されており全体を通じての整合性が検証されます。そちらでは仮想のグローバル変数(状態)を宣言できたり状態間の関係を示せたりとより細かく制御できるよう拡張がなされています。2020の範囲ではSPARKほど細かいことはできませんので、グローバル変数ではないがアクセスが競合していないかチェックしたいもの、例えばリンクするライブラリの内部状態やOSやCPUの持っている状態等はいずれかのパッケージに代表させればよいと思います。細かく分けたいならそのための空パッケージを作ったりもありでしょうか。スレッド間での衝突検証では同期なしにアクセスしている場合と同期を行ってアクセスしている場合を区別する必要があります。同期を行っている場合は複数スレッドからアクセスされても問題ありませんが、同期なしにアクセスしているスレッドが混じると危険です。(また予約語を再利用している......。Pkg2;グローバル変数が複数ある場合は括弧で囲いaggregate式のように書きます。