|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Michał Antkiewicz, Krzysztof Czarnecki, Matthew Stephan, "Engineering of Framework-Specific Modeling Languages," IEEE Transactions on Software Engineering, vol. 35, no. 6, pp. 795-824, November/December, 2009. | |||
| BibTex | x | ||
| @article{ 10.1109/TSE.2009.30, author = {Michał Antkiewicz and Krzysztof Czarnecki and Matthew Stephan}, title = {Engineering of Framework-Specific Modeling Languages}, journal ={IEEE Transactions on Software Engineering}, volume = {35}, number = {6}, issn = {0098-5589}, year = {2009}, pages = {795-824}, doi = {http://doi.ieeecomputersociety.org/10.1109/TSE.2009.30}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Engineering of Framework-Specific Modeling Languages IS - 6 SN - 0098-5589 SP795 EP824 EPD - 795-824 A1 - Michał Antkiewicz, A1 - Krzysztof Czarnecki, A1 - Matthew Stephan, PY - 2009 KW - Framework-specific modeling language KW - domain-specific language KW - object-oriented framework KW - application programming interface (API) KW - feature model KW - framework-specific model KW - forward engineering KW - reverse engineering KW - round-trip engineering KW - evolution KW - code pattern KW - mapping. VL - 35 JA - IEEE Transactions on Software Engineering ER - | |||
[1] Eclipse Documentation—Version 3.3: Editors, Eclipse Foundation, http://help.eclipse.org/help33/index.jsp?topic=/ org.eclipse. platform.doc.isv/guide editors.htm, 2009.
[2] D. Springgay, Creating an Eclipse View, http://www.eclipse.org/articles/viewArticle ViewArticle2.html, Nov. 2001.
[3] Java Tutorials, Lesson: Applets, Sun Microsystems, http://java.sun. com/docs/books/tutorial/ deployment/appletindex.html, 2009.
[4] M. Antkiewicz and K. Czarnecki, “Framework-Specific Modeling Languages with Round-Trip Engineering,” Proc. Int'l Conf. Model Driven Eng. Languages and Systems, pp. 692-706, 2006.
[5] M. Antkiewicz, “Framework-Specific Modeling Languages,” PhD dissertation, Univ. of Waterloo, http://hdl.handle.net/100124030, 2008.
[6] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley Longman Publishing Co., Inc., 1999.
[7] K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson, “Feature-Oriented Domain Analysis (FODA) Feasibility Study,” Technical Report CMU/SEI-90TR-21, Software Eng. Inst., Carnegie Mellon Univ., 1990.
[8] A.R. Hevner, S.T. March, J. Park, and S. Ram, “Design Science in Information Systems Research,” Management Information Systems (MIS) Quarterly, vol. 28, no. 1, pp. 75-105, 2004.
[9] O.I. Lindland, G. Sindre, and A. Sølvberg, “Understanding Quality in Conceptual Modeling,” IEEE Software, vol. 11, no. 2, pp. 42-49, Mar./Apr. 1994.
[10] J. Krogstie, G. Sindre, and H. Jørgensen, “Process Models Representing Knowledge for Action: A Revised Quality Framework,” European J. Information Systems, vol. 15, no. 1, pp. 91-102, 2006.
[11] T.R.G. Green, “Cognitive Dimensions of Notations,” Proc. Fifth Conf. British Computer Soc., Human-Computer Interaction Specialist Group on People and Computers V, A. Sutcliffe and L. Macaulay, eds., pp. 443-460, 1989.
[12] T.R.G. Green and M. Petre, “Usability Analysis of Visual Programming Environments: A `Cognitive Dimensions' Framework,” J. Visual Languages & Computing, vol. 7, no. 2, pp. 131-174, 1996.
[13] S.T. March and G.F. Smith, “Design and Natural Science Research on Information Technology,” Decision Support Systems, vol. 15, no. 4, pp. 251-266, 1995.
[14] M. Antkiewicz, T.T. Bartolomei, and K. Czarnecki, “Fast Extraction of High-Quality Framework-Specific Models from Application Code,” Automated Software Eng., vol. 16, no. 1, pp. 101-144, Mar. 2009.
[15] K. Czarnecki, S. Helsen, and U. Eisenecker, “Formalizing Cardinality-Based Feature Models and Their Specialization,” Software Process Improvement and Practice, vol. 10, no. 1, pp. 7-29, special issue on software variability process and management, 2005.
[16] M. Stephan and M. Antkiewicz, “Ecore.FMP: A Tool for Editing and Instantiating Class Models as Feature Models,” Technical Report #2008-08, ECE, Univ. of Waterloo, http://gp.uwaterloo. ca/tr2008-stephan-ecore-fmp.pdf , 2008.
[17] K. Czarnecki and U.W. Eisenecker, Generative Programming: Methods, Tools, and Applications. Addison-Wesley Publishing Co., 2000.
[18] M. Antkiewicz and K. Czarnecki, “Design Space of Heterogeneous Synchronization,” Generative and Transformational Techniques in Software Eng. II, pp. 3-46, Springer, 2008.
[19] S. Khanna, K. Kunal, and B.C. Pierce, “A Formal Investigation of Diff3,” FSTTCS 2007: Foundations of Software Technology and Theoretical Computer Science, Springer, 2007.
[20] J. Makhoul, F. Kubala, R. Schwartz, and R. Weischedel, “Performance Measures for Information Extraction,” Proc. Defense Advanced Research Projects Agency (DARPA) Broadcast News Workshop, pp. 249-252, 1999.
[21] W. Nöth, Handbook of Semiotics. Indiana Univ. Press, 1996.
[22] M. Stephan, “Discovery of Java EE 5 EJB Antipattern Instances Using Framework-Specific Models,” master's thesis, Univ. of Waterloo, 2009.
[23] G. Fairbanks, D. Garlan, and W. Scherlis, “Design Fragments Make Using Frameworks Easier,” Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp.75-88, 2006.
[24] B. Dudney, S. Asbury, J. Krozak, and K. Wittkopf, J2EE AntiPatterns. Wiley, 2003.
[25] A.P. Cheema, “Struts2JSF—Framework Migration in J2EE Using Framework-Specific Modeling Languages,” master's thesis, Univ. of Waterloo, http://hdl.handle.net/100123031, 2007.
[26] Javadoc for Package org.eclipse.ui.part, Eclipse Foundation, http://help.eclipse.org/help33/index.jsp?topic=/ org.eclipse.platform. doc.isv/reference/ api/org/eclipse/ui/partpackage-summary. html , 2007.
[27] C. Pandit, “Make Your Eclipse Applications Richer with View Linking,” http://www-128.ibm.com/developerworks/ opensource/ libraryos-ecllink/, 2005.
[28] M.R. Hoffmann, Eclipse Workbench: Using the Selection Service, http://www.eclipse.org/articles/Article-WorkbenchSelections article.html, Apr. 2006.
[29] Struts Javadoc, Apache Software Foundation, http://struts.apache. org/1.3.5/apidocsindex.html , 2006.
[30] Struts 1.35 dtd, Apache Software Foundation, http://struts. apache.org/1.3.5/dtdsstruts-config_1_3.dtd , July 2006.
[31] Struts 1.35 User Guide, Apache Software Foundation, http://struts.apache.org/1.3.5/userGuide introduction.html, July 2006.
[32] A Walking Tour of the Struts MailReader Demonstration Application, Apache Software Foundation, http://svn.apache.org/viewvc/struts/struts1/ trunk/apps/mailreader/src/main/webapp tour.html?revision=481833, 2009.
[33] Lesson: Applets, Sun Microsystems, Inc., http://java.sun.com/docs/books/tutorial/ deployment/appletindex.html, Feb. 2008.
[34] Processes and Threads, Sun Microsystems, Inc., http://java.sun. com/docs/books/tutorial/ essential/concurrencyprocthread. html, Feb. 2008.
[35] JavaTM Platform Enterprise Edition, v 5.0 API Specifications, Sun Microsystems, Inc., http://java.sun.com/javaee/5/docsapi/, 2007.
[36] L. DeMichiel, EJB Core Contracts and Requirements, Sun Microsystems, Inc., May 2006.
[37] Enterprise JavaBeans Deployment Descriptor Schema, Sun Microsystems, Inc., http://java.sun.com/xml/ns/javaeeejb-jar_3_0.xsd , May 2006.
[38] E. Jendrock, J. Ball, D. Carson, I. Evans, S. Fordin, and K. Haase, The Java EE 5 Tutorial, Sun Microsystems, Inc., http://java.sun. com/javaee/5/docs/tutorial/ docindex.html, Sept. 2007.
[39] K. Lee and K.C. Kang, “Feature Dependency Analysis for Product Line Component Design,” Proc. Int'l Conf. Software Reuse, pp. 69-85, 2004.
[40] M. Antkiewicz, T. Tonelli Bartolomei, and K. Czarnecki, “Automatic Extraction of Framework-Specific Models from Framework-Based Application Code,” Proc. Int'l Conf. Automated Software Eng., pp. 214-223, 2007.
[41] A. Blackwell and T. Green, “A Cognitive Dimensions Questionnaire,” http://www.cl.cam.ac.uk/afb21/CognitiveDimensions CDquestionnaire.pdf, Feb. 2007.
[42] D.L. Parnas and P.C. Clements, “A Rational Design Process: How and Why to Fake It,” IEEE Trans. Software Eng., vol. 12, no. 2, pp.251-257, Feb. 1986.
[43] D. Hou, K. Wong, and H.J. Hoover, “What Can Programmer Questions Tell Us about Frameworks?” Proc. Int'l Workshop Program Comprehension, pp. 87-96, 2005.
[44] F. Shull, F. Lanubile, and V.R. Basili, “Investigating Reading Techniques for Object-Oriented Framework Learning,” IEEE Trans. Software Eng., vol. 26, no. 11, pp. 1101-1118, Nov. 2000.
[45] M. Antkiewicz and K. Czarnecki, “Framework-Specific Modeling Languages; Examples and Algorithms,” Technical Report 2007-18, Electrical and Computer Eng. Dept., Univ. of Waterloo, 2007.
[46] H. Lee, M. Antkiewicz, and K. Czarnecki, “Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions,” Proc. Int'l Workshop Domain-Specific Program Development, 2008.
[47] G. Little and R.C. Miller, “Keyword Programming in Java,” Automated Software Eng., vol. 16, no. 1, pp. 37-71, Mar. 2008.
[48] D. Harel and B. Rumpe, “Meaningful Modeling: What's the Semantics of “Semantics?” Computer, vol. 37, no. 10, pp. 64-72, Oct. 2004.
[49] P. Avgustinov, E. Hajiyev, N. Ongkingco, O. de Moor, D. Sereni, J. Tibble, and M. Verbaere, “Semantics of Static Pointcuts in AspectJ,” SIGPLAN Notices, vol. 42, pp. 11-23, 2007.
[50] C. Allan, P. Avgustinov, A.S. Christensen, L. Hendren, S. Kuzins, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble, “Adding Trace Matching with Free Variables to AspectJ,” Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp. 345-364, 2005.
[51] M. Antkiewicz and K. Czarnecki, “FeaturePlugin: Feature Modeling Plug In for Eclipse,” Proc. Eclipse Technology eXchange Workshop, pp. 67-72, 2004.
[52] K. Czarnecki and P. Kim, “Cardinality-Based Feature Modeling and Constraints: A Progress Report,” Proc. Int'l Workshop Software Factories, OOPSLA, 2005.
[53] K. Czarnecki and A. Wasowski, “Feature Diagrams and Logics: There and Back Again,” Proc. Int'l Software Product Line Conf., pp.23-34, 2007.
[54] D. Roberts and R. Johnson, “Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks,” Proc. Conf. Pattern Languages of Programs, 1996.
[55] M. Mernik, J. Heering, and A.M. Sloane, “When and How to Develop Domain-Specific Languages,” ACM Computing Surveys, vol. 37, no. 4, pp. 316-344, 2005.
[56] M. Bravenboer and E. Visser, “Concrete Syntax for Objects: Domain-Specific Language Embedding and Assimilation without Restrictions,” Proc. Conf. Object-Oriented Programming Systems Languages and Applications, pp. 365-383, 2004.
[57] T. Stahl and M. Voelter, Model-Driven Software Development, first ed. Wiley, May 2006.
[58] T. Clark, P. Sammut, and J. Willans, Applied Metamodeling. A Foundation for Language Driven Development, second ed. Ceteva, 2008.
[59] J. Greenfield, K. Short, S. Cook, and S. Kent, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, 2004.
[60] Meta Object Facility (mof) Core Specification v. 2.0, Object Management Group, Inc., http://www.omg.orgmof/, Jan. 2008.
[61] F. Budinsky, S.A. Brodsky, and E. Merks, Eclipse Modeling Framework. Pearson Education, 2003.
[62] S. Cook, G. Jones, S. Kent, and A.C. Wills, Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley Professional, 2007.
[63] K. Smolander, “GOPRR: A Proposal for a Meta Level Model,” Univ. of Jyväskylä, 1993.
[64] S. Kelly and J.-P. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE CS Press, 2008.
[65] D.L. Moody, “Theoretical and Practical Issues in Evaluating the Quality of Conceptual Models: Current State and Future Directions,” Data and Knowledge Eng., vol. 55, no. 3, pp. 243-276, 2005.
[66] M. Kutar, C. Britton, and T. Barker, “A Comparison of Empirical Study and Cognitive Dimensions Analysis in the Evaluation of UML Diagrams,” Proc. Workshop Psychology of Programming Interest Group, pp. 1-14, 2002.
[67] C.A. Austin, “Renaissance: A Functional Shading Language,” master's thesis, Iowa State Univ., 2005.
[68] A.F. Blackwell, C. Britton, A.L. Cox, T.R.G. Green, C.A. Gurr, G.F. Kadoda, M. Kutar, M. Loomes, C.L. Nehaniv, M. Petre, C. Roast, C. Roe, A. Wong, and R.M. Young, “Cognitive Dimensions of Notations: Design Tools for Cognitive Technology,” Proc. Int'l Conf. Cognitive Technology, pp. 325-341, 2001.
[69] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect-Oriented Programming,” Proc. European Conf. Object-Oriented Programming, pp. 220-242, 1997.
[70] S. Apel and D. Batory, “When to Use Features and Aspects?: A Case Study,” Proc. Int'l Conf. Generative Programming and Component Eng., pp. 59-68, 2006.
[71] C.H.P. Kim, K. Czarnecki, and D. Batory, “On-Demand Materialization of Aspects for Application Development,” Proc. Workshop Software Eng. Properties of Languages and Aspect Technologies, pp. 1-6, 2008.
[72] D. Batory, J.N. Sarvela, and A. Rauschmayer, “Scaling Step-Wise Refinement,” Proc. Int'l Conf. Software Eng., pp. 187-197, 2003.
[73] J. Liu, D. Batory, and C. Lengauer, “Feature Oriented Refactoring of Legacy Applications,” Proc. Int'l Conf. Software Eng., pp.112-121, 2006.
[74] G.E. Krasner and S.T. Pope, “A Cookbook for Using the Model-View Controller User Interface Paradigm in Smalltalk-80,” J.Object Oriented Programming, vol. 1, no. 3, pp. 26-49, 1988.
[75] W. Pree, G. Pomberger, A. Schappert, and P. Sommerlad, “Active Guidance of Framework Development,” Software—Concepts and Tools, vol. 3, no. 16, 1995.
[76] A. Ortigosa and M. Campo, “Smartbooks: A Step Beyond Active-Cookbooks to Aid in Framework Instantiation,” Proc. Int'l Conf. Technology of Object-Oriented Languages and Systems, p.131, 1999.
[77] R.E. Johnson, “Documenting Frameworks Using Patterns,” Proc. Conf. Object-Oriented Programming Systems Languages and Applications, pp. 63-76, 1992.
[78] M. Fontoura, W. Pree, and B. Rumpe, “UML-F: A Modeling Language for Object-Oriented Frameworks,” Proc. European Conf. Object-Oriented Programming, pp. 63-82, 2000.
[79] M. Hakala, J. Hautamäki, K. Koskimies, J. Paakki, A. Viljamaa, and J. Viljamaa, “Generating Application Development Environments for Java Frameworks,” Proc. Third Int'l Conf. Generative and Component-Based Software Eng., pp. 163-176, 2001.
[80] T. Tourwé, “Automated Support for Framework-Based Software Evolution,” PhD dissertation, Vrije Universiteit Brussel, 2002.
[81] G. Ammons, R. Bodík, and J.R. Larus, “Mining Specifications,” Proc. Symp. Principles of Programming Languages, pp. 4-16, 2002.
[82] J. Yang, D. Evans, D. Bhardwaj, T. Bhat, and M. Das, “Perracotta: Mining Temporal API Rules from Imperfect Traces,” Proc. Int'l Conf. Software Eng., pp. 282-291, 2006.
[83] D. Lo, S.-C. Khoo, and C. Liu, “Efficient Mining of Iterative Patterns for Software Specification Discovery,” Proc. Int'l Conf. Knowledge Discovery and Data Mining, pp. 460-469, 2007.
[84] S. Sankaranarayanan, F. Ivanči, and A. Gupta, “Mining Library Specifications Using Inductive Logic Programming,” Proc. Int'l Conf. Software Eng., pp. 131-140, 2008.
[85] A. Wasylkowski, A. Zeller, and C. Lindig, “Detecting Object Usage Anomalies,” Proc. Symp. Foundations of Software Eng., 2007.
[86] M. Acharya, T. Xie, J. Pei, and J. Xu, “Mining API Patterns as Partial Orders from Source Code: From Usage Scenarios to Specifications,” Proc. Symp. Foundations of Software Eng., 2007.
[87] M.K. Ramanathan, A. Grama, and S. Jagannathan, “Path-Sensitive Inference of Function Precedence Protocols,” Proc. Int'l Conf. Software Eng., pp. 240-250, 2007.
[88] D. Mandelin, L. Xu, R. Bodík, and D. Kimelman, “Jungloid Mining: Helping to Navigate the API Jungle,” Proc. Conf. Programming Language Design and Implementation, pp. 48-61, 2005.
[89] S. Thummalapenta and T. Xie, “PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web,” Proc. Int'l Conf. Automated Software Eng., pp. 204-213, 2007.
[90] N. Sahavechaphan and K. Claypool, “XSnippet: Mining for Sample Code,” Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp. 413-430, 2006.
[91] R. Holmes and G.C. Murphy, “Using Structural Context to Recommend Source Code Examples,” Proc. Int'l Conf. Software Eng., pp. 117-125, 2005.
[92] M. Bruch, T. Schafer, and M. Mezini, “FrUiT: IDE Support for Framework Understanding,” Proc. Workshop Eclipse Technology eXchange, pp. 55-59, 2006.
[93] A. Michail, “Data Mining Library Reuse Patterns using Generalized Association Rules,” Proc. Int'l Conf. Software Eng., pp. 167-176, 2000.
[94] A. Heydarnoori, “Supporting Framework Use via Automatically Extracted Concept Implementation Templates,” PhD dissertation, Univ. of Waterloo, 2009.
[95] A. Heydarnoori, K. Czarnecki, and T. Tonelli Bartolomei, “Supporting Framework Use via Automatically Extracted Concept Implementation Templates,” Proc. European Conf. Object-Oriented Programming, 2009.
[96] K. Czarnecki, S. She, and A. Wasowski, “Sample Spaces and Feature Models: There and Back Again,” Proc. Int'l Software Product Line Conf., pp. 22-31, 2008.
[97] D. Hou and H. Hoover, “Using SCL to Specify and Check Design Intent in Source Code,” IEEE Trans. Software Eng., vol. 32, no. 6, pp. 404-423, June 2006.
[98] D. Hou, “FCL: Automatically Detecting Structural Errors in Framework-Based Development,” PhD dissertation, Univ. of Alberta, 2004.
[99] D. Dig and R. Johnson, “The Role of Refactorings in API Evolution,” Proc. Int'l Conf. Software Maintenance, pp. 389-398, 2005.
[100] Z. Xing and E. Stroulia, “API-Evolution Support with Diff-CatchUp,” IEEE Trans. Software Eng., vol. 33, no. 12, pp. 818-836, Dec. 2007.
[101] T. Schäfer, J. Jonas, and M. Mezini, “Mining Framework Usage Changes from Instantiation Code,” Proc. Int'l Conf. Software Eng., pp. 471-480, 2008.
[102] A. Mesbah and A. van Deursen, “Migrating Multi-Page Web Applications to Single-Page AJAX Interfaces,” Proc. European Conf. Software Maintenance and Reeng., pp. 181-190, 2007.

