ImageVerifierCode 换一换
格式:PPT , 页数:34 ,大小:591KB ,
资源ID:378272      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-378272.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(An Examination of DSLs for Concisely Representing Model .ppt)为本站会员(terrorscript155)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

An Examination of DSLs for Concisely Representing Model .ppt

1、An Examination of DSLs for Concisely Representing Model Traversals and Transformations,Jeff Gray University of Alabama at Birmingham Gbor Karsai Vanderbilt University/ISISHICSS-36,This work is supported by the DARPA IXO, under the Program Composition for Embedded Systems (PCES) program, Contract Num

2、ber: F33615-00-C-1695Support for this project was also provided by Boeing.,Overview,Three DSLs in two different applications Applications: Tool integration and aspect-oriented domain modeling (AODM) Focus of DSLs: Generation of complex data structures from high-level specifications Synthesis of iter

3、ative processes Generation of API wrappers from high-level specs Quantitative description of generated code,Tool Integration,Tool Integration,MM,LRU,FR,FDE,Tool-X,LRU,VAR,Tool-Y,OBS,UNIT,MSG,ALR,Integrated Model,Integrated Model Server (IMS),AEFR,FMECA,ADVISE,GME,RELEX,Browser,COM,CORBA,ADO,ADO,Text

4、,Excel (csv),IMS,Tool Integration Framework (TIF),IMS models can be viewedin a web browser,New tools can access the IMSdirectly through the CMI,Legacy tools require a bi-directional tool adapter,The CMI is specified in CORBA IDL and definesrules and data structures for accessing the IMS,MS Repositor

5、y sits on top of an ODBC database; currently Access or SQL Server,CORBA,Tool Integration Framework (TIF),IMS models can be viewedin a web browser,New tools can access the IMSdirectly through the CMI,Legacy tools require a bi-directional tool adapter,The CMI is specified in CORBA IDL and definesrules

6、 and data structures for accessing the IMS,CORBA,Focus of this portion of the talk:,DSLs for representing tool models as stored in the CMI,DSLs for representing model translation as traversal/visitor specifications,Pieces of the Translation,Structure of the models: Objects to be traversed What are t

7、he possible paths for traversals? Traversal sequences: How to traverse? What are the desired paths for traversals? Visitors: Actions to be taken What to do? Phases of processing Multiple passes over the structure,Tool Specification (Structure),paradigm Foo; model Top_Model .part Component components

8、; model Component .part Entity_1 ent_1;part Entity_2 ent_2;part Component subComponents;rel Rel aRel entity Entity_1 . entity Entity_2 . relation Rel Entity_1 src 1Entity_2 dst *; ,Generation of Data Structures,paradigm RELEX; model RELEX_Model attr string Name; part RELEX_Object objects;part Failur

9、e_Mode failure_Modes;rel RELEX_Failure_Mode rel_FM; entity RELEX_Object attr string Name; attr string Part_Number;attr string User_Text;attr string Reference;attr double Failure_Rate; entity Failure_Mode attr string Failure_Mode; attr string Local_Effects; attr string Next_Effects;attr string End_Ef

10、fects; attr string Failure_Detection_Method; attr long Mode_Severity_Code;attr double Failure_Mode_Ratio; attr double Failure_Effect_Probability;attr double Failure_Rate; relation RELEX_Failure_Mode RELEX_Object Owner 1 Failure_Mode Failures *; ,int RELEX_Model_M:get_objects(vector ,Structured Speci

11、fication of Translators (Traversal/Visitor),visitor Visitor at Component. traverse.;at Entity_1.;at Entity_2.;at Rel.traverse.; ,traversal Traversal using Visitor from Top_Model - to components. ;from Component. to entity_1., entity_2., subComponents., rel.;from Rel. to src., dst. ; ,Generation of T

12、raversal/Visitors, from ComponentIMS:Component_M , void Traversal_T:traverse(GME_4_0:Component_M ,Achieved Goals - Tool Integration,Using a DSL, the underlying CORBA data structures and service calls that are needed to perform the model integration are hidden. Using a DSL, the often tedious and repe

13、titive code fragments that are needed for iteration and transformation can be more concisely/intuitively specified. Separation of concerns: Cleaner solution by separating semantic (translator) and syntactic (adapter) issues,Aspect-Oriented Domain Modeling,Please see October 2001 issue of Communicati

14、ons of the ACM,Model-Integrated Computing (MIC) with the Generic Modeling Environment (GME),Generic Modeling Environment (GME) is a domain-specific modeling toolGrew out of over 14 years of research on computer-based systems in aerospace, instrumentation, manufacturing and robotics.It can be utilize

15、d in many different domains by providing a meta-level paradigm description. Paradigm describes all of the entities of the domain, as well as valid relationshipsA modeler first loads the domain paradigm and then constructs new models in that domain,Available for download at http:/www.isis.vanderbilt.

16、edu,Please see November 2001 issue of IEEE Computer,Difficulties in Managing Constraints,A,B,c,d,e,1,2,3,B,c,d,e,1,2,4,F,B,c,d,e,1,2,3,4,Multiple Levels of Hierarchy,Replicated Structures,Context Sensitive,Change Maintenance?,Process of Using a Model Weaver,GME,Quantification Over Base Code (AOP),We

17、avers instrument code with advice,pointcut pubIntf(Object o): call(public * com.borland.*.*() ,after(Object o) throwing (Error e): pubIntf(o) log.write(o, e); ,Quantification Over a Domain Model (AODM),Apply AO Weaving concepts to Model-based systems Weavers Decorate Models with attributes & constra

18、ints Weavers compose new model constructs, select(p | p.name() = “Model*” ,Strategy1Strategy2Strategy3StrategyN,The Metaweaver Framework,Strategy Code Generator,XML Parser,Aspect Parser,Strategies (C+),Strategy Specifications,Specification Aspects,strategy ApplyConstraint(constraintName : string, ex

19、pression : string) addAtom(“OCLConstraint“, “Constraint“, constraintName).addAttribute(“Expression“, expression); strategy RemoveConstraint(constraintName : string) findAtom(constraintName).removeChild(); strategy ReplaceConstraint(constraintName : string, expression : string) RemoveConstraint(const

20、raintName);ApplyConstraint(constraintName, expression); ,XML (Model Hierarchy),Embedded Constraint Language,Included OCL Operators,Embedded Constraint Language (ECL),Traditional OCL has been strictly a declarative query language New uses require an imperative procedural style Addition of side effect

21、s into model Examples:addAtom(), findAtom()addAttribute(), findAttribute()removeNode() Support for recursion Chaining of strategies (procedure calls) Inlined C+ code,Generation of ECL, components.models(“)-select(c |c.id() = refID)-DetermineLaziness(); ,CComPtr mods=XMLParser:models(components,“); n

22、odeTypeVector selectVec1 = XMLParser:ConvertDomList(mods); nodeTypeVector selectVecTrue1 = new std:vector; vector:iterator itrSelect1; for(itrSelect1 = selectVec1-begin(); itrSelect1 != selectVec1-end(); itrSelect1+) nodeType selectNode1 = (*itrSelect1); nodeType c; c = selectNode1; CComBSTR id0 = X

23、MLParser:id(c); ClData varforward1(id0); ClData varforward2(refID); bool varforward3 = varforward1 = varforward2; if(varforward3) selectVecTrue1-push_back(*itrSelect1); vector:iterator itrCollCall1; for(itrCollCall1 = selectVecTrue1-begin(); itrCollCall1 != selectVecTrue1-end(); itrCollCall1+) Deter

24、mineLaziness:apply();,Achieved Goals - AODM,Using a DSL, the modeler is shielded from the details of the core XML Document Object Model (DOM) API calls. Using a DSL, the specification of the navigation within the domain models (while performing transformations) is raised to a higher level of abstrac

25、tion,Analysis of Generated Code,MSF to Generated Code,TVL to Generated Code,ECL to Generated Code,Concluding Remarks- Benefits of DSL use in these Two Projects,The tedious and mundane parts of writing a program are automated in the translation from the DSL to a traditional programming language. Repe

26、titive code sequences are generated automatically instead of the error-prone manual cut-and-paste method. The generation of such tedious code also has advantages in the maintenance phase of a projects lifecycle. Solutions can be constructed quickly because the programmer can more easily focus on the

27、 key abstractions. A DSL hides the underlying details of the solution space as implemented in a traditional programming language.,Concluding Quotes,Niklaus Wirth: We must recognize the strong and undeniable influence that our language exerts on our ways of thinking and, in fact, delimits the abstrac

28、t space in which we can formulate give form to our thoughts. George Polya: An important step in solving a problem is to choose the notation. It should be done carefully. The time we spend now on choosing the notation may be well repaid by the time we save later avoiding hesitation and confusion. Mor

29、eover, choosing the notation carefully, we have to think sharply of the elements of the problem which must be denoted. Thus, choosing a suitable notation may contribute essentially to understanding the problem. Ted Biggerstaff: The first order term in the success equation of reuse is the amount of d

30、omain-specific content and the second order term is the specific technology chosen in which to represent that content.,Additional Slides,Evaluating Tool Integration Solutions,How much time and effort does it cost to integrate a new tool? How scalable is the integration approach? How much expert know

31、ledge is needed to realize an integration solution? What is the coupling between the individual tools and the integration technology?,Development Effort,Translators can be written within a few man-days Average translator was 225 lines of traversal/visitor code Tool Adapter development depends on: Co

32、mplexity of tool Complexity of the tools data access mechanism (e.g., ADO, COM, comma separated values) Developer experience with previous Tool Adapters Our average development time for a bi-directional Tool Adapter is about 10 person-weeks,Lessons Learned,Successful integration of 5 tools Separation of concerns: Cleaner solution by separating semantic and syntactic issues Framework approach using software generators infrastructural elements tool-specific translators (componentized) traversal/visitor specification language,

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