Engineering of Framework-Specific Modeling Languages

被引:26
作者
Antkiewicz, Michal [1 ]
Czarnecki, Krzysztof [1 ]
Stephan, Matthew [1 ]
机构
[1] Univ Waterloo, Dept Elect & Comp Engn, Waterloo, ON N2L 3G1, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Framework-specific modeling language; domain-specific language; object-oriented framework; application programming interface (API); feature model; framework-specific model; forward engineering; reverse engineering; round-trip engineering; evolution; code pattern; mapping; QUALITY; DESIGN; SEMANTICS; SCIENCE;
D O I
10.1109/TSE.2009.30
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Framework-specific modeling languages (FSMLs) help developers build applications based on object-oriented frameworks. FSMLs model abstractions and rules of application programming interfaces (APIs) exposed by frameworks and can express models of how applications use APIs. Such models aid developers in understanding, creating, and evolving application code. We present four exemplar FSMLs and a method for engineering new FSMLs. The method was created postmortem by generalizing the experience of building the exemplars and by specializing existing approaches to domain analysis, software development, and quality evaluation of models and languages. The method is driven by the use cases that the FSML under development should support and the evaluation of the constructed FSML is guided by two existing quality frameworks. The method description provides concrete examples for the engineering steps, outcomes, and challenges. It also provides strategies for making engineering decisions. Our work offers a concrete example of software language engineering and its benefits. FSMLs capture existing domain knowledge in language form and support application code understanding through reverse engineering, application code creation through forward engineering, and application code evolution through round-trip engineering.
引用
收藏
页码:795 / 824
页数:30
相关论文
共 102 条
[1]  
ACHARYA M, 2007, P S FDN SOFTW ENG
[2]   Adding trace matching with free variables to AspectJ [J].
Allan, C ;
Avgustinov, P ;
Christensen, AS ;
Hendren, L ;
Kuzins, S ;
Lhoták, O ;
de Moor, O ;
Sereni, D ;
Sittampalam, G ;
Tibble, J .
ACM SIGPLAN NOTICES, 2005, 40 (10) :345-364
[3]   Mining specifications [J].
Ammons, G ;
Bodík, R ;
Larus, JR .
ACM SIGPLAN NOTICES, 2002, 37 (01) :4-16
[4]  
[Anonymous], 2000, Generative Programming: Methods, Tools, and Applications
[5]  
Antkiewicz M., 2004, Proc. of the Wksp on Eclipse Technology eXchange, P67, DOI DOI 10.1145/1066129.1066143
[6]  
ANTKIEWICZ M, 2008, THESIS U WATERLOO
[7]  
ANTKIEWICZ M, 2007, 200718 U WAT EL COMP
[8]  
Antkiewicz M, 2006, LECT NOTES COMPUT SC, V4199, P692
[9]   Fast extraction of high-quality framework-specific models from application code [J].
Antkiewicz, Michal ;
Bartolomei, Thiago Tonelli ;
Czarnecki, Krzysztof .
AUTOMATED SOFTWARE ENGINEERING, 2009, 16 (01) :101-144
[10]  
Antkiewicz M, 2008, LECT NOTES COMPUT SC, V5235, P3, DOI 10.1007/978-3-540-88643-3_1