- 24
- 0
- 约 25页
- 2016-05-27 发布于安徽
- 举报
RGen:Ruby建模和代架
简介
本文介“Ruby方式”RGen框架[1]。从MDA和MDD[2](但是除“建模”DSL)。模型。
RGen受到了openArchitectureWare(oAW)[3]这个有着相似应用范围的Java框架的影响。RGen的核心思想不Ruby在框架内作RGen通DSLs,Ruby十分适合在在一个著名的案例即是 Ruby on Rails[4],它包含了一些内置的Ruby DSLs。但是,oAW使用了一些外部的DSLs来定
经验告诉我们RGen方法是非常的使用Ruby和RGen我
使用RGen和oAWXML或者一“C++代UML状”作RGen来ECU)
模型和元模型
建模框架最重要的基本方面是表示模型和元模型的能力。元模型描述了特殊目的的模型看起来会是什
RGen在Ruby中采用了一Ruby表示法如1所示。
RGen通DSL一也就是所-元模型。
1:模型,元模型以及其Ruby表示
不像元模型,元-元模型在RGen里面已ECore -- Eclipse建模框架(EMF)[5]的元-元模型。2是ECore元模型的一个ECore中,元模型基本由一些以
图2:ECore元模型的
和其他例如oAW的框架相反,RGen的元模型定Ruby形式,一DSL。列表1描述了Ruby关键词来定义一个模块1和一些。Ruby类和模块中分辨出这些元素,需要一些额外的代码:模块加上了一些特殊的RGen模1),而且RGen元模型的基MMBase(2)。
元模型Ruby类继承来表示(3)。注意到Ruby原始不支持多重RGen命令可以支持MMMultiple(,,……)的返回
# 表1:元模型的状
module StatemachineMetamodel
extend RGen::MetamodelBuilder::ModuleExtension # (1)
class ModelElement RGen::MetamodelBuilder::MMBase # (2)
has_attr name, String
end
class Statemachine ModelElement; end # (3)
class State ModelElement; end
class SimpleState State; end
class CompositeState State; end
class Transition ModelElement
has_attr trigger, String # (4)
has_attr action, String
end
Statemachine.contains_one_uni topState, State # (5)
Statemachine.contains_many_uni transitions, Transition
CompositeState.contains_many subStates, State, container
CompositeState.has_one initState, State
State.one_to_many outgoingTransitions, Transition, sourceState
State.one_to_many incomingTransitions, Transition, targetState
end
元模型的属性和引用由MMBase提供的特殊的类方法指定。因为Ruby类的定义是在相关代码执行的时候才被解释。在一个类的定义域内,当前对象是这个类的一个对象,所以这个类对象的方法能够被直接调用2.
has_attr方法用来定Ruby数据3(4)。RGen在内部将RubyECore的原生EString。 contains_one_uni和contains_many_uni定one_to_one,one_to_many和 many_to_many5)中源的角色。注意,目RGen元模型中的引用都是在
当模型Ruby类会被初始化。属性值和引用目标都保存在相关对象的实例变量中。由于Ruby不允Ruby的getter方法的名字和相setter方法也是一setter方法能
上述的Ruby的4。在一getter方法会返回一个数setter方法也用数
表2Ruby类初始化机制(1)能4)。注意包的名字需要避免重3)。状s1的名字属性可以被getter方法的2)。一个s1(to-many)中,然后自to-one)
您可能关注的文档
- (盲版)基于大学生移动__活动行为的大学园区发展问题的研究—以杭州下沙高教园区为例.doc
- (新)石河子大学科学学位研究生学位论文答辩及其学位申请工作细则.doc
- [软件工程]CH9__面向对象方法.ppt
- __针灸综合方法治疗干眼症__扬威.ppt
- 《Kalman滤波原理及其程序(手册)》.doc
- 《液压和气压传动》的考试题库及其参考答案.doc
- 《住户收支和生活状况调查编码手册》.doc
- 【创新设计】2012届高中历史一轮复习2__4__1各国经济体制的创新和调整配套课件.ppt
- 【试卷解析】安徽省蚌埠一中2015届高三上学期月考生物试卷(10月份).doc
- 【优化设计】2016届高考历史三轮复习_模块整合训练(二)工业文明.ppt
最近下载
- 瓦斯抽采管路与电缆及通信电缆交叉点岔门处同侧悬挂安全技术措施2.docx VIP
- 2025至2030中国CMP抛光材料行业发展趋势分析及投资前景预测报告.docx VIP
- 2025年山东省高职院校综合评价招生考试(素质测试)历年参考题库含答案详解.docx VIP
- 2025年南京机电职业技术学院单招语文测试题库标准卷.docx VIP
- Altium Designer电路设计与制作(第三版)教案全套 陈学平 项目1--6 Altium Designer 20.1 的简介---交通信号灯的设计与制作 .docx
- 整套教学课件《植物病虫害防治》ppt.pptx VIP
- 2026年党支部在学习贯彻党的创新理论等“对照五个方面”存在的问题及整改措施4280字范文.docx VIP
- GB50169-2016 电气装置安装工程接地装置施工及验收规范附条文.docx VIP
- 2022年度组织生活会全套资料(方案、对照检查材料、报告、批评意见1).docx VIP
- gb51348-2019民用建筑电气设计标准.docx VIP
原创力文档

文档评论(0)