图模式-续
--图模式(文法的设计模式)。
(omod PERSON is
inc HUMAN .
inc CONVERSION .
inc CONFIGURATION .
class Person | name : String, age : Int .
subclass Person < Human .
op getName : Object -> String .
op setName : Object String -> Object .
msgs name : Oid Oid -> Msg .
msgs name-r : Oid String -> Msg .
vars X O : Oid .
vars N N1 : String .
vars A : Int .
eq getName(< X : Person | name : N >) = N .
eq setName(< X : Person | name : N>, N1) = < X : Person | name : N1 > .
rl [Person.name] : name(X, O) < X : Person | name : N > => < X : Person | > name-r(O, N) .
endom)