{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,14]],"date-time":"2026-03-14T06:21:02Z","timestamp":1773469262523,"version":"3.50.1"},"reference-count":40,"publisher":"Elsevier BV","issue":"5","license":[{"start":{"date-parts":[[2013,5,1]],"date-time":"2013-05-01T00:00:00Z","timestamp":1367366400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2013,5]]},"DOI":"10.1016\/j.jss.2012.12.024","type":"journal-article","created":{"date-parts":[[2012,12,17]],"date-time":"2012-12-17T05:01:19Z","timestamp":1355720479000},"page":"1239-1256","source":"Crossref","is-referenced-by-count":17,"title":["A reference architecture for organizing the internal structure of metadata-based frameworks"],"prefix":"10.1016","volume":"86","author":[{"given":"Eduardo","family":"Guerra","sequence":"first","affiliation":[]},{"given":"Felipe","family":"Alves","sequence":"additional","affiliation":[]},{"given":"Uir\u00e1","family":"Kulesza","sequence":"additional","affiliation":[]},{"given":"Clovis","family":"Fernandes","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2012.12.024_bib0005","series-title":"Analysis by Means of Annotation Patterns","article-title":"Code legibility","author":"Alba","year":"2011"},{"key":"10.1016\/j.jss.2012.12.024_bib0010","series-title":"Java Persistence with Hibernate","author":"Bauer","year":"2006"},{"key":"10.1016\/j.jss.2012.12.024_bib0015","series-title":"Software Architecture in Practice","author":"Bass","year":"2003"},{"key":"10.1016\/j.jss.2012.12.024_bib0020","series-title":"Smalltalk Best Practice Patterns","author":"Beck","year":"1996"},{"key":"10.1016\/j.jss.2012.12.024_bib0025","series-title":"Struts 2 in Action","author":"Brown","year":"2008"},{"key":"10.1016\/j.jss.2012.12.024_bib0030","volume":"vol. 1","author":"Buschmann","year":"1996"},{"key":"10.1016\/j.jss.2012.12.024_bib0035","volume":"vol. 5","author":"Buschmann","year":"2007"},{"issue":"2","key":"10.1016\/j.jss.2012.12.024_bib0040","doi-asserted-by":"crossref","DOI":"10.19153\/cleiej.13.2.7","article-title":"Quality improvement in annotated code","volume":"13","author":"Correia","year":"2010","journal-title":"CLEI Electronic Journal"},{"key":"10.1016\/j.jss.2012.12.024_bib0045","series-title":"Source Design, Automation and Test in Europe","article-title":"Introspection in system-level language frameworks: meta-level vs. integrated","author":"Doucet","year":"2003"},{"key":"10.1016\/j.jss.2012.12.024_bib0050","series-title":"Building Application Frameworks: Object-Oriented Foundations of Frameworks Design","first-page":"3","article-title":"Application frameworks","author":"Fayad","year":"1999"},{"key":"10.1016\/j.jss.2012.12.024_bib0055","series-title":"XML: Applications and Associated Technologies (XATA 2010)","article-title":"XML, annotations and database: a comparative study of metadata definition strategies for frameworks","author":"Fernandes","year":"2010"},{"key":"10.1016\/j.jss.2012.12.024_bib0060","series-title":"Brasilian Workshop on Systematic and Automated Software Testing","article-title":"MakeATest: a framework for building annotations for validating and initializing external factors in automated tests","author":"Floriano","year":"2011"},{"key":"10.1016\/j.jss.2012.12.024_bib0065","series-title":"Pattern Languages of Program Design 2","article-title":"Evolution, architecture, and metamorphosis","author":"Foote","year":"1996"},{"key":"10.1016\/j.jss.2012.12.024_bib0070","series-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler","year":"1999"},{"key":"10.1016\/j.jss.2012.12.024_bib0075","unstructured":"Intooitus, 2009. InFusion, Timisoara. Available in http:\/\/www.intooitus.com\/inFusion.html (accessed in 30 dez. 2009)."},{"key":"10.1016\/j.jss.2012.12.024_bib0080","series-title":"Proceedings of Conference on Pattern Languages of Programs, vol. 16","article-title":"A pattern language for metadata-based frameworks","author":"Guerra","year":"2009"},{"key":"10.1016\/j.jss.2012.12.024_bib0085","unstructured":"Guerra, E., 2010. A Conceptual Model for Metadata-based Frameworks. PhD Thesis. Aeronautical Institute of Technology, S\u00e3o Jos\u00e9 dos Campos, Brazil."},{"key":"10.1016\/j.jss.2012.12.024_bib0090","series-title":"Proceedings of Conference on Pattern Languages of Programs, vol. 17","article-title":"Architectural Patterns for Metadata-based Frameworks Usage","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2012.12.024_bib0095","series-title":"Latin American Conference on Pattern Languages of Programming, vol. 8","article-title":"Idioms for code annotations in Java language","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2012.12.024_bib0100","series-title":"Latin American Conference on Pattern Languages of Programming, vol. 8","article-title":"An evaluation process for pattern languages","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2012.12.024_bib0105","unstructured":"Java Community Process, 2003. JSR 175: a metadata facility for the java programming language. Available at http:\/\/www.jcp.org\/en\/jsr\/detail?id=175 (accessed in 17 dez. 2009)."},{"issue":"June\/July (2)","key":"10.1016\/j.jss.2012.12.024_bib0110","first-page":"22","article-title":"Designing reusable classes","volume":"1","author":"Johnson","year":"1988","journal-title":"Journal of Object-Oriented Programming"},{"key":"10.1016\/j.jss.2012.12.024_bib0115","series-title":"International Conference on Object Oriented Programming, Systems, Languages and Applications","first-page":"147","article-title":"Concepts and experiments in computational reflection","author":"Maes","year":"1987"},{"key":"10.1016\/j.jss.2012.12.024_bib0120","series-title":"Proceedings of Technology of Object-Oriented Languages and Systems","first-page":"203","article-title":"Framework composition: problems, causes and solutions","author":"Mattsson","year":"1997"},{"issue":"December (4)","key":"10.1016\/j.jss.2012.12.024_bib0125","doi-asserted-by":"crossref","first-page":"308","DOI":"10.1109\/TSE.1976.233837","article-title":"A measure of complexity","volume":"2","author":"McCabe","year":"1976","journal-title":"IEEE Transactions on Software Engineering"},{"key":"10.1016\/j.jss.2012.12.024_bib0130","series-title":"Qualitative Research: A Guide to Design and Implementation","author":"Merriam","year":"2009"},{"key":"10.1016\/j.jss.2012.12.024_bib0135","series-title":"Common Language Infrastructure Annotated Standard","author":"Miller","year":"2003"},{"key":"10.1016\/j.jss.2012.12.024_bib0140","series-title":"XML: Aplica\u00e7\u00f5es e Tecnologias Associadas (XATA 2010)","article-title":"Parsing XML documents in Java using annotations","author":"Nuccitelli","year":"2010"},{"key":"10.1016\/j.jss.2012.12.024_bib0145","series-title":"Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate and Improve the Design of Object-Oriented Systems","author":"Lanza","year":"2006"},{"key":"10.1016\/j.jss.2012.12.024_bib0150","series-title":"Object-Oriented Software Metrics: A Practical Guide","author":"Lorenz","year":"1994"},{"key":"10.1016\/j.jss.2012.12.024_bib0155","series-title":"Building Application Frameworks: Object-Oriented Foundations of Frameworks Design","first-page":"379","article-title":"Hot-spot-driven development","author":"Pree","year":"1999"},{"key":"10.1016\/j.jss.2012.12.024_bib0160","series-title":"Real World Research","author":"Robson","year":"2002"},{"key":"10.1016\/j.jss.2012.12.024_bib0165","series-title":"23rd International Conference on Software Engineering and Knowledge Engineering (SEKE)","first-page":"426","article-title":"How annotations are used in Java: an empirical study","author":"Rocha","year":"2011"},{"key":"10.1016\/j.jss.2012.12.024_bib0170","series-title":"ECOOP International Workshop on Component-Oriented Programming","article-title":"Leveraging component-oriented programming with attribute-oriented programming","author":"Rouvoy","year":"2006"},{"key":"10.1016\/j.jss.2012.12.024_bib0175","series-title":"International ECOOP Workshop on Fractal Component Model, vol. 5","article-title":"Using attribute-oriented programming to leverage fractal-based developments","author":"Rouvoy","year":"2006"},{"key":"10.1016\/j.jss.2012.12.024_bib0180","unstructured":"SAX Project, 2004. Available in http:\/\/www.saxproject.org (accessed in 03 January 2010)."},{"key":"10.1016\/j.jss.2012.12.024_bib0185","series-title":"The International Conference on Object Oriented Programming, Systems, Languages and Applications \u2013 OOPSLA 2008","article-title":"Annotation refactoring: inferring upgrade transformations for legacy applications","author":"Tansey","year":"2008"},{"key":"10.1016\/j.jss.2012.12.024_bib0190","series-title":"Case Study Research Design and Methods","author":"Yin","year":"2003"},{"key":"10.1016\/j.jss.2012.12.024_bib0195","series-title":"IEEE\/IFIP Conference on Software Architecture: System Design, Development and Maintenance","first-page":"3","article-title":"The adaptive object-model architectural style","author":"Yoder","year":"2002"},{"key":"10.1016\/j.jss.2012.12.024_bib0200","series-title":"Spring in Action","author":"Walls","year":"2007"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121212003366?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121212003366?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,7,7]],"date-time":"2019-07-07T03:44:01Z","timestamp":1562471041000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121212003366"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,5]]},"references-count":40,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2013,5]]}},"alternative-id":["S0164121212003366"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2012.12.024","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2013,5]]}}}