{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,22]],"date-time":"2025-04-22T14:40:07Z","timestamp":1745332807572,"version":"3.40.4"},"publisher-location":"Berlin, Heidelberg","reference-count":42,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642355509"},{"type":"electronic","value":"9783642355516"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-35551-6_7","type":"book-chapter","created":{"date-parts":[[2012,11,22]],"date-time":"2012-11-22T16:25:33Z","timestamp":1353601533000},"page":"268-305","source":"Crossref","is-referenced-by-count":5,"title":["Challenges in the Design of the Package Template Mechanism"],"prefix":"10.1007","author":[{"given":"Eyvind W.","family":"Axelsen","sequence":"first","affiliation":[]},{"given":"Fredrik","family":"S\u00f8rensen","sequence":"additional","affiliation":[]},{"given":"Stein","family":"Krogdahl","sequence":"additional","affiliation":[]},{"given":"Birger","family":"M\u00f8ller-Pedersen","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"7_CR1","unstructured":"Dahl, O.J., Myhrhaug, B., Nygaard, K.: Simula 67 common base language. Technical Report Publication No. S-22 (Revised edition of publication S-2), Norwegian Computing Center (1970)"},{"issue":"4","key":"7_CR2","first-page":"367","volume":"2","author":"B. Stroustrup","year":"1989","unstructured":"Stroustrup, B.: Multiple inheritance for C++. Computing Systems\u00a02(4), 367\u2013395 (1989)","journal-title":"Computing Systems"},{"key":"7_CR3","unstructured":"Bracha, G.: Generics in the Java programming language. Technical report, Sun Microsystems, Santa Clara, CA (2004), http:\/\/java.sun.com\/j2se\/1.5\/pdf\/generics-tutorial.pdf"},{"key":"7_CR4","doi-asserted-by":"publisher","first-page":"397","DOI":"10.1145\/74877.74919","volume-title":"OOPSLA 1989: Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications","author":"O.L. Madsen","year":"1989","unstructured":"Madsen, O.L., M\u00f8ller-Pedersen, B.: Virtual classes: a powerful mechanism in object-oriented programming. In: OOPSLA 1989: Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications, pp. 397\u2013406. ACM, New York (1989)"},{"key":"7_CR5","volume-title":"Object-oriented programming in the BETA programming language","author":"O.L. Madsen","year":"1993","unstructured":"Madsen, O.L., M\u00f8ller-Pedersen, B., Nygaard, K.: Object-oriented programming in the BETA programming language. ACM Press\/Addison-Wesley Publishing Co., New York, NY, USA (1993)"},{"key":"7_CR6","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.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol.\u00a01241, pp. 220\u2013242. Springer, Heidelberg (1997)"},{"key":"7_CR7","series-title":"Lecture Notes in Computer Science","first-page":"327","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"N. Sch\u00e4rli","year":"2003","unstructured":"Sch\u00e4rli, N., Ducasse, S., Nierstrasz, O., Black, A.: Traits: Composable Units of Behavior. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 327\u2013339. Springer, Heidelberg (2003)"},{"issue":"10","key":"7_CR8","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1145\/97946.97982","volume":"25","author":"Gilad Bracha","year":"1990","unstructured":"Bracha, G., Cook, W.: Mixin-based inheritance. In: Meyrowitz, N. (ed.) OOPSLA\/ECOOP, Ottawa, Canada, pp. 303\u2013311. ACM Press (1990)","journal-title":"ACM SIGPLAN Notices"},{"issue":"7","key":"7_CR9","doi-asserted-by":"publisher","first-page":"59","DOI":"10.5381\/jot.2009.8.7.a1","volume":"8","author":"S. Krogdahl","year":"2009","unstructured":"Krogdahl, S., M\u00f8ller-Pedersen, B., S\u00f8rensen, F.: Exploring the use of package templates for flexible re-use of collections of related classes. Journal of Object Technology\u00a08(7), 59\u201385 (2009)","journal-title":"Journal of Object Technology"},{"key":"7_CR10","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1929999.1930002","volume-title":"Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance, MASPEGHI 2010","author":"F. S\u00f8rensen","year":"2010","unstructured":"S\u00f8rensen, F., Axelsen, E.W., Krogdahl, S.: Reuse and combination with package templates. In: Proceedings of the 4th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance, MASPEGHI 2010, pp. 3:1\u20133:5. ACM, New York (2010)"},{"key":"7_CR11","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1145\/1640134.1640139","volume-title":"DLS 2009: Proceedings of the 5th Symposium on Dynamic Languages","author":"E.W. Axelsen","year":"2009","unstructured":"Axelsen, E.W., Krogdahl, S.: Groovy package templates: supporting reuse and runtime adaption of class hierarchies. In: DLS 2009: Proceedings of the 5th Symposium on Dynamic Languages, pp. 15\u201326. ACM, New York (2009)"},{"key":"7_CR12","volume-title":"DLS 2010: Proceedings of the 6th Symposium on Dynamic Languages","author":"E.W. Axelsen","year":"2010","unstructured":"Axelsen, E.W., Krogdahl, S., M\u00f8ller-Pedersen, B.: Controlling dynamic module composition through an extensible meta-level API. In: DLS 2010: Proceedings of the 6th Symposium on Dynamic Languages. ACM, New York (2010)"},{"key":"7_CR13","doi-asserted-by":"crossref","unstructured":"Ernst, E.: Gbeta - a language with virtual attributes, block structure, and propagating, dynamic inheritance (1999)","DOI":"10.7146\/dpb.v29i549.7654"},{"key":"7_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1007\/11687061_5","volume-title":"Transactions on Aspect-Oriented Software Development I","author":"I. Aracic","year":"2006","unstructured":"Aracic, I., Gasiunas, V., Awasthi, P., Ostermann, K.: An Overview of CaesarJ. In: Rashid, A., Aksit, M. (eds.) Transactions on AOSD I. LNCS, vol.\u00a03880, pp. 135\u2013173. Springer, Heidelberg (2006)"},{"key":"7_CR15","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1145\/1028976.1028986","volume-title":"OOPSLA 2004: Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications","author":"N. Nystrom","year":"2004","unstructured":"Nystrom, N., Chong, S., Myers, A.C.: Scalable extensibility via nested inheritance. In: OOPSLA 2004: Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 99\u2013115. ACM, New York (2004)"},{"key":"7_CR16","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1145\/1167473.1167476","volume-title":"OOPSLA 2006: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and applications","author":"N. Nystrom","year":"2006","unstructured":"Nystrom, N., Qi, X., Myers, A.C.: J&: nested intersection for scalable software composition. In: OOPSLA 2006: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and applications, pp. 21\u201336. ACM, New York (2006)"},{"key":"7_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"405","DOI":"10.1007\/978-3-642-14107-2_20","volume-title":"ECOOP 2010 \u2013 Object-Oriented Programming","author":"G. Bracha","year":"2010","unstructured":"Bracha, G., von der Ah\u00e9, P., Bykov, V., Kashai, Y., Maddox, W., Miranda, E.: Modules as Objects in Newspeak. In: D\u2019Hondt, T. (ed.) ECOOP 2010. LNCS, vol.\u00a06183, pp. 405\u2013428. Springer, Heidelberg (2010)"},{"key":"7_CR18","doi-asserted-by":"crossref","first-page":"469","DOI":"10.1017\/S0960129500070043","volume":"6","author":"A.B. Compagnoni","year":"1996","unstructured":"Compagnoni, A.B., Pierce, B.C.: Higher-order intersection types and multiple inheritance. Mathematical Structures in Computer Science\u00a06, 469\u2013501 (1996)","journal-title":"Mathematical Structures in Computer Science"},{"key":"7_CR19","doi-asserted-by":"publisher","first-page":"270","DOI":"10.1145\/1111037.1111062","volume-title":"Conference record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006","author":"E. Ernst","year":"2006","unstructured":"Ernst, E., Ostermann, K., Cook, W.R.: A virtual class calculus. In: Conference record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, pp. 270\u2013282. ACM, New York (2006)"},{"key":"7_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"123","DOI":"10.1007\/978-3-540-24851-4_6","volume-title":"ECOOP 2004 \u2013 Object-Oriented Programming","author":"M. Torgersen","year":"2004","unstructured":"Torgersen, M.: The Expression Problem Revisited Four New Solutions Using Generics. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 123\u2013146. Springer, Heidelberg (2004)"},{"key":"7_CR21","unstructured":"Ernst, E.: The expression problem, scandinavian style. In: Lahire, P., Ar\u00e9valo, G., Astudillo, H., Black, A.P., Ernst, E., Huchard, M., Sakkinen, M., Valtchev, P. (eds.) MASPEGHI 2004 (2004)"},{"key":"7_CR22","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns -Elements of Reusable Object-Oriented Software. Addison-Wesley (1994)"},{"key":"7_CR23","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1297105.1297029","volume":"42","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd extensible Java compiler. SIGPLAN Not.\u00a042, 1\u201318 (2007)","journal-title":"SIGPLAN Not."},{"key":"7_CR24","doi-asserted-by":"publisher","first-page":"14","DOI":"10.1016\/j.scico.2007.02.003","volume":"69","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd system \u2014 modular extensible compiler construction. Sci. Comput. Program.\u00a069, 14\u201326 (2007)","journal-title":"Sci. Comput. Program."},{"key":"7_CR25","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1016\/j.cl.2007.05.003","volume":"34","author":"A. Bergel","year":"2008","unstructured":"Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Stateful traits and their formalization. Computer Languages, Systems & Structures\u00a034, 83\u2013108 (2008)","journal-title":"Computer Languages, Systems & Structures"},{"key":"7_CR26","unstructured":"Nierstrasz, O., Ducasse, S., Reichhart, S., Sch\u00e4rli, N.: Adding Traits to (Statically Typed) Languages. Technical Report IAM-05-006, Institut f\u00fcr Informatik, Universit\u00e4t Bern, Switzerland (2005)"},{"key":"7_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"303","DOI":"10.1007\/3-540-45337-7_17","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"E. Ernst","year":"2001","unstructured":"Ernst, E.: Family polymorphism. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 303\u2013326. Springer, Heidelberg (2001)"},{"key":"7_CR28","doi-asserted-by":"publisher","first-page":"285","DOI":"10.1017\/S0956796807006405","volume":"18","author":"C. Saito","year":"2008","unstructured":"Saito, C., Igarashi, A., Viroli, M.: Lightweight family polymorphism. J. Funct. Program.\u00a018, 285\u2013331 (2008)","journal-title":"J. Funct. Program."},{"key":"7_CR29","doi-asserted-by":"publisher","first-page":"113","DOI":"10.1145\/1297027.1297037","volume-title":"Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications, OOPSLA 2007","author":"A. Igarashi","year":"2007","unstructured":"Igarashi, A., Viroli, M.: Variant path types for scalable extensibility. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications, OOPSLA 2007, pp. 113\u2013132. ACM, New York (2007)"},{"key":"7_CR30","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/1094811.1094826","volume-title":"Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005","author":"A. Bergel","year":"2005","unstructured":"Bergel, A., Ducasse, S., Nierstrasz, O.: Classbox\/J: controlling the scope of change in Java. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, pp. 177\u2013189. ACM, New York (2005)"},{"key":"7_CR31","doi-asserted-by":"publisher","first-page":"517","DOI":"10.1145\/1133651.1133655","volume":"28","author":"C. Clifton","year":"2006","unstructured":"Clifton, C., Millstein, T., Leavens, G.T., Chambers, C.: MultiJava: Design rationale, compiler implementation, and applications. ACM Trans. Program. Lang. Syst.\u00a028, 517\u2013575 (2006)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"7_CR32","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1145\/1167473.1167477","volume-title":"Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2006","author":"A. Warth","year":"2006","unstructured":"Warth, A., Stanojevi\u0107, M., Millstein, T.: Statically scoped object adaptation with expanders. In: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2006, pp. 37\u201356. ACM, New York (2006)"},{"key":"7_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"62","DOI":"10.1007\/3-540-47993-7_3","volume-title":"ECOOP 2002 - Object-Oriented Programming","author":"Y. Ichisugi","year":"2002","unstructured":"Ichisugi, Y., Tanaka, A.: Difference-Based Modules: A Class-Independent Module Mechanism. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol.\u00a02374, pp. 62\u201388. Springer, Heidelberg (2002)"},{"key":"7_CR34","doi-asserted-by":"crossref","unstructured":"Corradi, A., Servetto, M., Zucca, E.: DeepFJig - modular composition of nested classes. In: 2010 International Workshop on Foundations of Object-Oriented Languages, FOOL 2010 (2010)","DOI":"10.1145\/2093157.2093172"},{"key":"7_CR35","unstructured":"Ledgard, H.: Reference Manual for the ADA Programming Language. Springer-Verlag New York, Inc., Secaucus (1983)"},{"key":"7_CR36","unstructured":"Barnes, J.: Programming in Ada95. Addison Wesley Longman Publishing Co., Inc., Redwood City (1995)"},{"key":"7_CR37","doi-asserted-by":"crossref","unstructured":"Colyer, A.: AspectJ. In: Aspect-Oriented Software Development, pp. 123\u2013143. Addison-Wesley (2005)","DOI":"10.1145\/1052898.1052909"},{"key":"7_CR38","unstructured":"Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. In: Filman, R.E., Elrad, T., Clarke, S., Ak\u015fit, M. (eds.) AOSD, pp. 21\u201331. Addison-Wesley (2005)"},{"key":"7_CR39","unstructured":"St\u00f6rzer, M., Koppen, C.: Pcdiff: Attacking the fragile pointcut problem, abstract. In: EIWAS, Berlin, Germany (2004)"},{"key":"7_CR40","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1145\/1509276.1509286","volume-title":"ACP4IS 2009: Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software","author":"E.W. Axelsen","year":"2009","unstructured":"Axelsen, E.W., S\u00f8rensen, F., Krogdahl, S.: A reusable observer pattern implementation using package templates. In: ACP4IS 2009: Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, pp. 37\u201342. ACM, New York (2009)"},{"key":"7_CR41","doi-asserted-by":"publisher","first-page":"161","DOI":"10.1145\/583854.582436","volume":"37","author":"J. Hannemann","year":"2002","unstructured":"Hannemann, J., Kiczales, G.: Design pattern implementation in Java and AspectJ. SIGPLAN Not.\u00a037, 161\u2013173 (2002)","journal-title":"SIGPLAN Not."},{"key":"7_CR42","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1145\/643603.643613","volume-title":"AOSD 2003","author":"M. Mezini","year":"2003","unstructured":"Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: AOSD 2003, pp. 90\u201399. ACM, New York (2003)"}],"container-title":["Lecture Notes in Computer Science","Transactions on Aspect-Oriented Software Development IX"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-35551-6_7.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,22]],"date-time":"2025-04-22T14:22:26Z","timestamp":1745331746000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-35551-6_7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642355509","9783642355516"],"references-count":42,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-35551-6_7","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}