惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
小众软件
小众软件
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
Jina AI
Jina AI
博客园 - 【当耐特】
V
Visual Studio Blog
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
量子位
IT之家
IT之家
G
Google Developers Blog
V
V2EX
The GitHub Blog
The GitHub Blog
月光博客
月光博客
GbyAI
GbyAI

博客园 - 阿飞外传

ruby-core 简单rails开发环境 关于MDA的长期等待 Is MOF the kernel language of MDA langs family graduated 语言内实例表示机制 类型信息隐藏 MOF自描述 符号软件工程(SSE) next MDA? Algebra operator declaration 's UML profile 应用元建模读书笔记 再谈实例化和图转换 EclipseUML2.0::Class的接口 主题与模型 MDA轮廓 UML::Element的代数规范 UML::InstanceValue是元类吗 MDA is a big reflection i need a job CGN的IP之父访谈的两句话 A sample of writing a loop in Action Semantic codes
图模式-续
阿飞外传 · 2005-04-19 · via 博客园 - 阿飞外传


--图模式(文法的设计模式)。

(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)