A Generative Approach to Model Interpreter Evolution.ppt

上传人:bowdiet140 文档编号:377831 上传时间:2018-10-09 格式:PPT 页数:11 大小:397KB
下载 相关 举报
A Generative Approach to Model Interpreter Evolution.ppt_第1页
第1页 / 共11页
A Generative Approach to Model Interpreter Evolution.ppt_第2页
第2页 / 共11页
A Generative Approach to Model Interpreter Evolution.ppt_第3页
第3页 / 共11页
A Generative Approach to Model Interpreter Evolution.ppt_第4页
第4页 / 共11页
A Generative Approach to Model Interpreter Evolution.ppt_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、A Generative Approach to Model Interpreter Evolution,Jing Zhang, Jeff Gray, and Yuehua Lin zhangj, gray, liny cis.uab.edu Dept. of Computer & Information Sciences University of Alabama at Birmingham http:/www.cis.uab.edu/softcom/,Evolution of models and interpreters in terms of meta-model changes,MM

2、: The changes made to the meta-models M: The changes reflected in the domain models I: The changes reflected in the model interpreters,Example: Old/New Metamodel and model,Example: Old/New Interpreter,CBuilderAtom *GetStartState( CBuilderModel *StateDiagram) CBuilderAtom *startstate = null; const CB

3、uilderAtomList *states = StateDiagram-GetAtoms(“State“); POSITION pos=states-GetHeadPosition(); while(pos) CBuilderAtom *st = states-GetNext(pos); CBuilderConnectionList *cons = st-GetInConnections(“Transition“); if ( cons = null ) if ( startstate = null) startstate = st; else ASSERT ( startstate !=

4、null ); return startstate; ,CBuilderAtom *GetStartState( CBuilderModel *StateDiagram) const CBuilderAtomList *startstates = StateDiagram-GetAtoms(“StartState“);ASSERT(startstates-GetCount()=1);CBuilderAtom *startstate = startstates-GetHead();return startstate; ,Technical Challenges,Lack of formally-

5、written model interpreter Different developers may program interpreters in various ways Hard to maintain and evolve such subjective realizations of model interpreters Lack of formal specification for metamodel transformation Metamodel transformation specifications must include the entire knowledge f

6、or the underlying interpreter evolution MM I Lack of support for parsing and invasively transforming program source code from higher-level models.,Utilize a mature program transformation engine: The Design Maintenance System (DMS),?,Model Interpreter Evolution Architecture (MIEA),DMS rewriting rules

7、 for evolving intepreter(1),rule ChangeName (id:identifier): expression_statement - expression_statement = “id - GetModels(“State“);“ - “id - GetModels(“StartState“);“.,Differences of names for any model entities, relationships and attributes,rule ChangeModelType (id:identifier): expression_statemen

8、t - expression_statement = “id - GetAtoms(“State”);” - “id - GetModels(“State”);”.,Differences of model types,DMS rewriting rules for evolving intepreter(2),rule ChangeAttrType (): declaration_statement - declaration _statement = “CString Text;” - “int Text;”.,DMS rewriting rules for evolving intepr

9、eter(3),Differences of attribute types,Conclusion,Ideal Goal: Support the (semi)-automation of model interpreter evolution in terms of metamodel changes and modeling API changes Proposed Solution: Model Interpreter Evolution Architecture Obstacles: Informal model interpreter Hard to maintain the fid

10、elity mapping of high-level abstract models to the low-level source code Possible solution approaches to be investigated: Attach program rewriting rules to the existing model transformation specification Develop a new high-level specification for model transformation that can generate the rewriting rules Investigate an intelligent model comparison technique to generate the rules through human interactions,Questions ?,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1