{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,21]],"date-time":"2025-05-21T06:56:04Z","timestamp":1747810564694},"publisher-location":"Berlin, Heidelberg","reference-count":31,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540235804"},{"type":"electronic","value":"9783540301752"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-30175-2_15","type":"book-chapter","created":{"date-parts":[[2010,9,23]],"date-time":"2010-09-23T19:34:58Z","timestamp":1285270498000},"page":"283-297","source":"Crossref","is-referenced-by-count":9,"title":["Declaring and Enforcing Dependencies Between .NET Custom Attributes"],"prefix":"10.1007","author":[{"given":"Vasian","family":"Cepa","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mira","family":"Mezini","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"15_CR1","first-page":"10","volume-title":"Proc. of AOSD 2002","author":"K. Volder De","year":"2002","unstructured":"De Volder, K., Murphy, G.C., Bryant, A., Catton, A.: Explicit Programming. In: Proc. of AOSD 2002, pp. 10\u201318. ACM Press, New York (2002)"},{"key":"15_CR2","volume-title":"Compilers Principles, Techniques and Tools","author":"V. Aho","year":"1988","unstructured":"Aho, V., Sethi, R., Ullman, J.D.: Compilers Principles, Techniques and Tools. Addison Wesley, Reading (1988)"},{"key":"15_CR3","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1145\/352029.352035","volume":"35","author":"A. Deursen van","year":"2000","unstructured":"van Deursen, A., Klint, P., Visser, J.: Domain-Specific Languages. ACM SIGPLAN Notices\u00a035, 26\u201336 (2000)","journal-title":"ACM SIGPLAN Notices"},{"key":"15_CR4","volume-title":"Java and XML","author":"B. McLaughlin","year":"2001","unstructured":"McLaughlin, B.: Java and XML, 2nd edn. O\u2019Reilly, Sebastopol (2001)","edition":"2"},{"key":"15_CR5","volume-title":"Model Driven Architecture - Applying MDA to Enterprise Computing","author":"D.S. Frankel","year":"2003","unstructured":"Frankel, D.S.: Model Driven Architecture - Applying MDA to Enterprise Computing. Wiley, Chichester (2003)"},{"key":"15_CR6","volume-title":"Design Patterns","author":"E. Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)"},{"key":"15_CR7","volume-title":"Mastering Enterprise JavaBeans","author":"E. Roman","year":"2001","unstructured":"Roman, E., Ambler, S., Jewell, T.: Mastering Enterprise JavaBeans. Wiley, Chichester (2001)"},{"key":"15_CR8","volume-title":"The Unified Modeling Language User Guide","author":"G. Booch","year":"1998","unstructured":"Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1998)"},{"key":"15_CR9","unstructured":"Hedin, G.: Attribute Extension - A Technique for Enforcing Programming Convetions. Nordic Jounral of Computing (1997)"},{"key":"15_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 327\u2013353. Springer, Heidelberg (2001)"},{"key":"15_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"220","DOI":"10.1007\/BFb0053381","volume-title":"ECOOP \u201997 - Object-Oriented Programming","author":"G. Kiczales","year":"1997","unstructured":"Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol.\u00a01241, pp. 220\u2013243. Springer, Heidelberg (1997)"},{"key":"15_CR12","unstructured":"Zderadicka, I.: CS CODEDOM Parser (2002), http:\/\/ivanz.webpark.cz\/csparser.html"},{"key":"15_CR13","volume-title":"Programming C#","author":"J. Liberty","year":"2001","unstructured":"Liberty, J.: Programming C#. O\u2019Reilly, Sebastopol (2001)"},{"issue":"5","key":"15_CR14","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1109\/MS.2002.1032846","volume":"19","author":"J. Newkirk","year":"2002","unstructured":"Newkirk, J., Vorontsov, A.: How.NET\u2019s Custom Attributes Affect Design. IEEE SOFTWARE\u00a019(5), 18\u201320 (2002)","journal-title":"IEEE SOFTWARE"},{"key":"15_CR15","volume-title":"Generative Programming","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.W.: Generative Programming. Addison-Wesley, Reading (2000)"},{"key":"15_CR16","doi-asserted-by":"crossref","unstructured":"Knuth, D.: The Genesis of Attribute Grammars. In: Proc. of International Workshop WAGA (1990)","DOI":"10.1007\/3-540-53101-7_1"},{"key":"15_CR17","doi-asserted-by":"crossref","unstructured":"Abadi, M., Banerjee, A., Heintze, N., Riecke, J.G.: A Core Calculus of Dependency. In: Proc. of the 26th ACM SIGPLAN-SIGACT on Principles of Programming Languages (POPL), pp. 147\u2013160 (1999)","DOI":"10.1145\/292540.292555"},{"key":"15_CR18","doi-asserted-by":"crossref","unstructured":"Shomrat, M., Yehudai, A.: Obvious or Not? Regulating Architectural Decisions Using Aspect-Oriented Programming. In: Proc. of Aspect-Oriented Software Development - AOSD 2001 (2001)","DOI":"10.1145\/508386.508388"},{"key":"15_CR19","unstructured":"Voelter, M.: A Collection of Patterns for Program Generation. In: Proc. EuroPLoP (2003)"},{"key":"15_CR20","volume-title":"Server Components Patterns, Illustrated with EJB","author":"M. Voelter","year":"2002","unstructured":"Voelter, M., Schmid, A., Wolf, E.: Server Components Patterns, Illustrated with EJB. Wiley & Sons, Chichester (2002)"},{"key":"15_CR21","unstructured":"Minsky, N.H.: Why Should Architectural Principles be Enforced. In: Proc. of IEEE Computer Security, Dependability, and Assurance: From Needs to Solutions (1998)"},{"key":"15_CR22","unstructured":"NET Framework MSDN Documentation (2002), ms-help.MS.VSCC\/MS.MSDNVS\/Netstart\/html\/sdkstart.htm"},{"key":"15_CR23","doi-asserted-by":"publisher","first-page":"170","DOI":"10.1145\/242224.242444","volume":"28","author":"R. Paige","year":"1996","unstructured":"Paige, R.: Future Directions in Program Transformations. ACM Computing Surveys\u00a028, 170\u2013170 (1996)","journal-title":"ACM Computing Surveys"},{"key":"15_CR24","volume-title":"Programming Microsoft.NET","author":"J. Prosise","year":"2002","unstructured":"Prosise, J.: Programming Microsoft.NET. Microsoft Press, Redmond (2002)"},{"key":"15_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"296","DOI":"10.1007\/978-3-540-27799-6_25","volume-title":"Software Reuse: Methods, Techniques, and Tools","author":"V. Cepa","year":"2004","unstructured":"Cepa, V.: Implementing Tag-Driven Transformers with Tango. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol.\u00a03107, pp. 296\u2013307. Springer, Heidelberg (2004)"},{"key":"15_CR26","unstructured":"Cepa, V., Mezini, M.: Language Support for Model-Driven Software Development (Editor M. Aksit) Special Issue Science of Computer Programming (Elsevier) on MDA: Foundations and Applications Model Driven Architecture (2004)"},{"key":"15_CR27","unstructured":"NET Attribute Dependency Checker (ADC) Tool (2003), http:\/\/www.st.informatik.tu-darmstadt.de\/static\/staff\/Cepa\/tools\/adc\/index.html"},{"key":"15_CR28","doi-asserted-by":"crossref","unstructured":"Taha, W., Sheard, T.: Multi-stage Programming. ACM SIGPLAN Notices 32(8) (1997)","DOI":"10.1145\/258949.258990"},{"key":"15_CR29","unstructured":"Meta Object Facility (MOF) Specification Version 1.4 (2002), http:\/\/www.omg.org"},{"key":"15_CR30","unstructured":"PMD Java Source Code Scanner (2003), http:\/\/pmd.sourceforge.net"},{"key":"15_CR31","unstructured":"Borland TogetherJ (2003), http:\/\/www.borland.com\/together\/"}],"container-title":["Lecture Notes in Computer Science","Generative Programming and Component Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-30175-2_15.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,19]],"date-time":"2020-11-19T04:45:11Z","timestamp":1605761111000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-30175-2_15"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540235804","9783540301752"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-30175-2_15","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2004]]}}}