とりあえず教科書が届いたのでざっくり読んでみた。 ここからどうやって勉強していくかなー。とりあえず既に存在しているソフトウェアをモデリングしてみて、自分がどこまでできてどこでつまずくかを確認してみるか。んー、じゃ、Gitをモデリングする。 とりあえずコミットオブジェクトがあるんだよな。コミットオブジェクトは1個のツリーオブジェクトを持っていて、ツリーオブジェクトは0個以上のブロブオブジェクトを持っている、と。 とりあえず「いくつ持ってる」って制約は保留して、3つの種類のオブジェクトだけ作る。あと、「制約を満たすものを表示する」という命令である「run」を書く。教科書p7のpred showはひどいネーミングだなぁ。 module nhiro/etude1 sig CommitObj { tree: TreeObj } sig TreeObj { blobs: BlobObj } sig B
![Alloyを勉強する日記(1) - 西尾泰和のはてなダイアリー](https://cdn-ak-scissors.b.st-hatena.com/image/square/b2c5ec217cfc66ceb0d913f5d39f6c7406fdfe13/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnishiohirokazu%2F20120403%2F20120403171111.png)