みつじです。
ideiさん、
まず、描きたい物が実装モデルなのか、概念モデルなのか
はっきりする必要がありますね。
今私が描きたいのは概念モデルです。
特定の言語や技術で実装しようとしたときにどうなるかに関係なく、
現実として、「私」は一度も死ぬことなく「起きている私」から
「寝ている私」に変化しているわけで、概念モデルというレベルでは
その事実を忠実に表すことを大事にしたいのです。
ちょっと屁理屈っぽいですが、
『(概念としての)私の死』=『オブジェクト変数[私]の消滅』
としなければならないとなると、
・私
・生きている私
・死んでいる私
を表現するとき、「死んでいる私」を変数として表現できなくなってしまう
という反証もできます。
オブジェクト指向のデータとリレーショナルデータベースのデータの間
にインピーダンスミスマッチがあって、それを埋めるテクニックや
ツールが存在しているように、概念モデルと設計モデル・実装モデルの間にも
少なからずギャップはあって、それはまたそれを埋めるテクニックやツールで
後で解決することにして、概念モデルを描くときは、なるべく実装を
考えずやりたいし、そのほうが洗練されたモデルになるんじゃないかと
予想します。
そうなってくると、モデルから自動的に実装を生成とかは、出来なくなる
というとになってしまい、時代には逆行してる考え方かも知れないのですが...
>ideiです。
>> ちょっと例を変えてみると、
>>
>> ・私
>> ・起きている私
>> ・寝ている私
>>
>> で状態を考えると、私は起きているあいだ中「起きている」と書いてある旗を
>> 持って過ごしているわけではありません。「起きている」を持っていると
>> いうよりは様々な時点での「私」の一種として「起きている私」があると
>> いうほうがより自然な感じがするのです。
>
>
>モデリングには詳しくないですが、実装という観点からすると
>
> 私 m = new 私("起きている");
>
>と、これで、私が起きている状態を示せますが、
>寝ている私に遷移する際に、
>
> 私 m = new 私("寝ている");
>
>と再度、私を new しないといけません。
>これって、私が、いっぺん死んで、あらたな私が生まれることに
>なり、論理的にもおかしなことになると考えます。
>
>なので、
>「私」は、「起きている」と「寝ている」という状態を持っている、
>と考えたほうが自然なのかな〜、なんて僕は考えます。
>
>