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

推荐订阅源

P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
B
Blog
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
博客园 - Franky
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
B
Blog RSS Feed
H
Help Net Security

博客园 - 阿飞外传

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)