{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T18:12:22Z","timestamp":1743012742860,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":32,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642026546"},{"type":"electronic","value":"9783642026553"}],"license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2009]]},"DOI":"10.1007\/978-3-642-02655-3_3","type":"book-chapter","created":{"date-parts":[[2009,6,29]],"date-time":"2009-06-29T02:17:34Z","timestamp":1246241854000},"page":"9-26","source":"Crossref","is-referenced-by-count":7,"title":["Feature (De)composition in Functional Programming"],"prefix":"10.1007","author":[{"given":"Sven","family":"Apel","sequence":"first","affiliation":[]},{"given":"Christian","family":"K\u00e4stner","sequence":"additional","affiliation":[]},{"given":"Armin","family":"Gr\u00f6\u00dflinger","sequence":"additional","affiliation":[]},{"given":"Christian","family":"Lengauer","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"3_CR1","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1007\/978-1-4612-5695-3_12","volume-title":"Selected Writings on Computing: A Personal Perspective","author":"E. Dijkstra","year":"1982","unstructured":"Dijkstra, E.: On the Role of Scientific Thought. In: Selected Writings on Computing: A Personal Perspective, pp. 60\u201366. Springer, Heidelberg (1982)"},{"key":"3_CR2","doi-asserted-by":"publisher","first-page":"1053","DOI":"10.1145\/361598.361623","volume":"15","author":"D. Parnas","year":"1972","unstructured":"Parnas, D.: On the Criteria to be Used in Decomposing Systems into Modules. Comm. ACM\u00a015, 1053\u20131058 (1972)","journal-title":"Comm. ACM"},{"key":"3_CR3","first-page":"220","volume-title":"Proc. Europ. Conf. Object-Oriented Programming","author":"G. Kiczales","year":"1997","unstructured":"Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Proc. Europ. Conf. Object-Oriented Programming, pp. 220\u2013242. Springer, Heidelberg (1997)"},{"key":"3_CR4","first-page":"107","volume-title":"Proc. Int. Conf. Software Engineering","author":"P. Tarr","year":"1999","unstructured":"Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. Int. Conf. Software Engineering, pp. 107\u2013119. IEEE CS, Los Alamitos (1999)"},{"key":"3_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"195","DOI":"10.1007\/11531142_9","volume-title":"ECOOP 2005 - Object-Oriented Programming","author":"G. Kiczales","year":"2005","unstructured":"Kiczales, G., Mezini, M.: Separation of Concerns with Procedures, Annotations, Advice and Pointcuts. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol.\u00a03586, pp. 195\u2013213. Springer, Heidelberg (2005)"},{"key":"3_CR6","doi-asserted-by":"publisher","first-page":"226","DOI":"10.1145\/1218563.1218588","volume-title":"Proc. Int. Conf. Aspect-Oriented Software Development","author":"C. Zhang","year":"2007","unstructured":"Zhang, C., Jacobsen, H.A.: Efficiently Mining Crosscutting Concerns Through Random Walks. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 226\u2013238. ACM Press, New York (2007)"},{"key":"3_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"477","DOI":"10.1007\/11785477_27","volume-title":"ECOOP 2006 \u2013 Object-Oriented Programming","author":"T. Skotiniotis","year":"2006","unstructured":"Skotiniotis, T., Palm, J., Lieberherr, K.J.: Demeter interfaces: Adaptive programming without surprises. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol.\u00a04067, pp. 477\u2013500. Springer, Heidelberg (2006)"},{"key":"3_CR8","first-page":"419","volume-title":"Proc. Europ. Conf. Object-Oriented Programming","author":"C. Prehofer","year":"1997","unstructured":"Prehofer, C.: Feature-Oriented Programming: A Fresh Look at Objects. In: Proc. Europ. Conf. Object-Oriented Programming, pp. 419\u2013443. Springer, Heidelberg (1997)"},{"key":"3_CR9","first-page":"311","volume-title":"Proc. Int. Conf. Software Engineering","author":"C. K\u00e4stner","year":"2008","unstructured":"K\u00e4stner, C., Apel, S., Kuhlemann, M.: Granularity in Software Product Lines. In: Proc. Int. Conf. Software Engineering, pp. 311\u2013320. ACM Press, New York (2008)"},{"key":"3_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"20","DOI":"10.1007\/978-3-540-78789-1_2","volume-title":"Software Composition","author":"S. Apel","year":"2008","unstructured":"Apel, S., Lengauer, C.: Superimposition: A language-independent approach to software composition. In: Pautasso, C., Tanter, \u00c9. (eds.) SC 2008. LNCS, vol.\u00a04954, pp. 20\u201335. Springer, Heidelberg (2008)"},{"key":"3_CR11","volume-title":"Proc. Int. Conf. Software Engineering","author":"S. Apel","year":"2009","unstructured":"Apel, S., K\u00e4stner, C., Lengauer, C.: FeatureHouse: Language-Independent, Automated Software Composition. In: Proc. Int. Conf. Software Engineering. IEEE Computer Society Press, Los Alamitos (2009)"},{"key":"3_CR12","doi-asserted-by":"publisher","first-page":"355","DOI":"10.1109\/TSE.2004.23","volume":"30","author":"D. Batory","year":"2004","unstructured":"Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Engineering\u00a030, 355\u2013371 (2004)","journal-title":"IEEE Trans. Software Engineering"},{"key":"3_CR13","volume-title":"Generative Programming: Methods, Tools, and Applications","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)"},{"key":"3_CR14","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1145\/976270.976279","volume-title":"Proc. Int. Conf. Aspect-Oriented Software Development","author":"A. Colyer","year":"2004","unstructured":"Colyer, A., Clement, A.: Large-Scale AOSD for Middleware. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 56\u201365. ACM Press, New York (2004)"},{"key":"3_CR15","first-page":"222","volume-title":"Proc. Int. Software Product Line Conf.","author":"C. K\u00e4stner","year":"2007","unstructured":"K\u00e4stner, C., Apel, S., Batory, D.: A Case Study Implementing Features using AspectJ. In: Proc. Int. Software Product Line Conf., pp. 222\u2013232. IEEE CS, Los Alamitos (2007)"},{"key":"3_CR16","doi-asserted-by":"publisher","first-page":"98","DOI":"10.1093\/comjnl\/32.2.98","volume":"32","author":"J. Hughes","year":"1989","unstructured":"Hughes, J.: Why Functional Programming Matters. Comput. J.\u00a032, 98\u2013107 (1989)","journal-title":"Comput. J."},{"key":"3_CR17","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1145\/643603.643609","volume-title":"Proc. Int. Conf. Aspect-Oriented Software Development","author":"Y. Coady","year":"2003","unstructured":"Coady, Y., Kiczales, G.: Back to the Future: A Retroactive Study of Aspect Evolution in Operating System Code. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 50\u201359. ACM Press, New York (2003)"},{"key":"3_CR18","first-page":"165","volume-title":"Aspect-Oriented Software Development","author":"M. Mezini","year":"2005","unstructured":"Mezini, M., Ostermann, K.: Untangling Crosscutting Models with CAESAR. In: Aspect-Oriented Software Development, pp. 165\u2013199. Addison-Wesley, Reading (2005)"},{"key":"3_CR19","first-page":"264","volume":"5","author":"D. Parnas","year":"1979","unstructured":"Parnas, D.: Designing Software for Ease of Extension and Contraction. IEEE Trans. Software Engineering SE\u00a05, 264\u2013277 (1979)","journal-title":"IEEE Trans. Software Engineering SE"},{"key":"3_CR20","doi-asserted-by":"publisher","first-page":"162","DOI":"10.1109\/TSE.2007.70770","volume":"34","author":"S. Apel","year":"2008","unstructured":"Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE Trans. Software Engineering\u00a034, 162\u2013180 (2008)","journal-title":"IEEE Trans. Software Engineering"},{"key":"3_CR21","volume-title":"Proc. Int. Conf. Model Transformation","author":"S. Apel","year":"2009","unstructured":"Apel, S., Janda, F., Trujillo, S., K\u00e4stner, C.: Model Superimposition in Software Product Lines. In: Proc. Int. Conf. Model Transformation. Springer, Heidelberg (2009)"},{"unstructured":"K\u00e4stner, C., Apel, S.: Integrating Compositional and Annotative Approaches for Product Line Engineering. In: Proc. GPCE Workshop Modularization, Composition, and Generative Techniques for Product Line Engineering. Number MIP-0804, Dept. of Informatics and Mathematics, University of Passau, pp. 35\u201340 (2008)","key":"3_CR22"},{"unstructured":"K\u00e4stner, C., Apel, S., Trujillo, S.: Visualizing Software Product Line Variabilities in Source Code. In: Proc. SPLC Workshop Visualization in Software Product Line Engineering, Lero, International Science Centre, University of Limerick, pp. 303\u2013313 (2008)","key":"3_CR23"},{"key":"3_CR24","volume-title":"Proc. Tools Europe","author":"C. K\u00e4stner","year":"2009","unstructured":"K\u00e4stner, C., Apel, S., Trujillo, S., Kuhlemann, M., Batory, D.: Guaranteeing Syntactic Correctness for all Product Line Variants: A Language-Independent Approach. In: Proc. Tools Europe. Springer, Heidelberg (2009)"},{"key":"3_CR25","first-page":"258","volume-title":"Proc. Int. Conf. Automated Software Engineering","author":"C. K\u00e4stner","year":"2008","unstructured":"K\u00e4stner, C., Apel, S.: Type-checking Software Product Lines \u2013 A Formal Approach. In: Proc. Int. Conf. Automated Software Engineering, pp. 258\u2013267. IEEE CS, Los Alamitos (2008)"},{"key":"3_CR26","first-page":"112","volume-title":"Proc. Int. Conf. Software Engineering","author":"J. Liu","year":"2006","unstructured":"Liu, J., Batory, D., Lengauer, C.: Feature-Oriented Refactoring of Legacy Applications. In: Proc. Int. Conf. Software Engineering, pp. 112\u2013121. ACM Press, New York (2006)"},{"unstructured":"Apel, S., Batory, D.: How AspectJ is Used: An Analysis of Eleven AspectJ Programs. Technical Report MIP-0801, Dept. of Informatics and Mathematics, University of Passau (2008)","key":"3_CR27"},{"key":"3_CR28","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1353445.1353448","volume":"30","author":"D. Dantas","year":"2008","unstructured":"Dantas, D., Walker, D., Washburn, G., Weirich, S.: AspectML: A Polymorphic Aspect-Oriented Functional Programming Language. ACM Trans. Programming Languages and Systems\u00a030, 1\u201360 (2008)","journal-title":"ACM Trans. Programming Languages and Systems"},{"key":"3_CR29","doi-asserted-by":"publisher","first-page":"158","DOI":"10.1145\/643603.643620","volume-title":"Proc. Int. Conf. Aspect-Oriented Software Development","author":"D. Tucker","year":"2003","unstructured":"Tucker, D., Krishnamurthi, S.: Pointcuts and Advice in Higher-Order Languages. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 158\u2013167. ACM Press, New York (2003)"},{"key":"3_CR30","first-page":"320","volume-title":"Proc. Int. Conf. Functional Programming","author":"H. Masuhara","year":"2005","unstructured":"Masuhara, H., Tatsuzawa, H., Yonezawa, A.: Aspectual Caml: An Aspect-Oriented Functional Language. In: Proc. Int. Conf. Functional Programming, pp. 320\u2013330. ACM Press, New York (2005)"},{"key":"3_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"144","DOI":"10.1007\/11531142_7","volume-title":"ECOOP 2005 - Object-Oriented Programming","author":"J. Aldrich","year":"2005","unstructured":"Aldrich, J.: Open Modules: Modular Reasoning About Advice. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol.\u00a03586, pp. 144\u2013168. Springer, Heidelberg (2005)"},{"key":"3_CR32","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1145\/1233833.1233838","volume-title":"Proc. Workshop Foundations of Aspect-Oriented Languages","author":"C. Hofer","year":"2007","unstructured":"Hofer, C., Ostermann, K.: On the Relation of Aspects and Monads. In: Proc. Workshop Foundations of Aspect-Oriented Languages, pp. 27\u201333. ACM Press, New York (2007)"}],"container-title":["Lecture Notes in Computer Science","Software Composition"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-02655-3_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,8]],"date-time":"2019-03-08T20:00:59Z","timestamp":1552075259000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-02655-3_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009]]},"ISBN":["9783642026546","9783642026553"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-02655-3_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2009]]}}}