{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,7]],"date-time":"2024-09-07T12:07:57Z","timestamp":1725710877320},"publisher-location":"Berlin, Heidelberg","reference-count":39,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642359910"},{"type":"electronic","value":"9783642359927"}],"license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"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":[[2013]]},"DOI":"10.1007\/978-3-642-35992-7_2","type":"book-chapter","created":{"date-parts":[[2013,1,2]],"date-time":"2013-01-02T06:22:16Z","timestamp":1357107736000},"page":"55-100","source":"Crossref","is-referenced-by-count":5,"title":["Variation Programming with the Choice Calculus"],"prefix":"10.1007","author":[{"given":"Martin","family":"Erwig","sequence":"first","affiliation":[]},{"given":"Eric","family":"Walkingshaw","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"2_CR1","doi-asserted-by":"crossref","unstructured":"Adams, M.D.: Scrap Your Zippers \u2013 A Generic Zipper for Heterogeneous Types. In: ACM SIGPLAN Workshop on Generic Programming, pp. 13\u201324 (2010)","DOI":"10.1145\/1863495.1863499"},{"issue":"5","key":"2_CR2","doi-asserted-by":"publisher","first-page":"49","DOI":"10.5381\/jot.2009.8.5.c5","volume":"8","author":"S. Apel","year":"2009","unstructured":"Apel, S., K\u00e4stner, C.: An Overview of Feature-Oriented Software Development. Journal of Object Technology\u00a08(5), 49\u201384 (2009)","journal-title":"Journal of Object Technology"},{"key":"2_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1007\/11554844_3","volume-title":"Software Product Lines","author":"D. Batory","year":"2005","unstructured":"Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol.\u00a03714, pp. 7\u201320. Springer, Heidelberg (2005)"},{"issue":"6","key":"2_CR4","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.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. on Software Engineering\u00a030(6), 355\u2013371 (2004)","journal-title":"IEEE Trans. on Software Engineering"},{"key":"2_CR5","unstructured":"Bernstein, P.A., Dayal, U.: An Overview of Repository Technology. In: Int. Conf. on Very Large Databses, pp. 705\u2013712 (1994)"},{"key":"2_CR6","doi-asserted-by":"crossref","unstructured":"Boucher, Q., Classen, A., Heymans, P., Bourdoux, A., Demonceau, L.: Tag and Prune: A Pragmatic Approach to Software Product Line Implementation. In: IEEE Int. Conf. on Automated Software Engineering, pp. 333\u2013336 (2010)","DOI":"10.1145\/1858996.1859064"},{"key":"2_CR7","doi-asserted-by":"crossref","unstructured":"Bracha, G., Cook, W.: Mixin-Based Inheritance. In: ACM SIGPLAN Int. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pp. 303\u2013311 (1990)","DOI":"10.1145\/97946.97982"},{"key":"2_CR8","unstructured":"Darcs, \n                    \n                      darcs.net"},{"issue":"10","key":"2_CR9","first-page":"28","volume":"44","author":"T. Elrad","year":"2001","unstructured":"Elrad, T., Filman, R.E., Bader, A.: Aspect-Oriented Programming: Introduction. Communications of the ACM\u00a044(10), 28\u201332 (2001)","journal-title":"Communications of the ACM"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Erwig, M.: A Language for Software Variation. In: ACM SIGPLAN Conf. on Generative Programming and Component Engineering, pp. 3\u201312 (2010)","DOI":"10.1145\/1868294.1868296"},{"key":"2_CR11","doi-asserted-by":"crossref","unstructured":"Erwig, M., Walkingshaw, E.: Program Fields for Continuous Software. In: ACM SIGSOFT Workshop on the Future of Software Engineering Research, pp. 105\u2013108 (2010)","DOI":"10.1145\/1882362.1882384"},{"issue":"1","key":"2_CR12","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2063239.2063245","volume":"21","author":"M. Erwig","year":"2011","unstructured":"Erwig, M., Walkingshaw, E.: The Choice Calculus: A Representation for Software Variation. ACM Trans. on Software Engineering and Methodology\u00a021(1), 6:1\u20136:27 (2011)","journal-title":"ACM Trans. on Software Engineering and Methodology"},{"key":"2_CR13","unstructured":"GNU Project. The C Preprocessor. Free Software Foundation (2009), \n                    \n                      gcc.gnu.org\/onlinedocs\/cpp\/"},{"key":"2_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"300","DOI":"10.1007\/11813040_21","volume-title":"FM 2006: Formal Methods","author":"P. H\u00f6fner","year":"2006","unstructured":"H\u00f6fner, P., Khedri, R., M\u00f6ller, B.: Feature Algebra. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol.\u00a04085, pp. 300\u2013315. Springer, Heidelberg (2006)"},{"key":"2_CR15","unstructured":"Hoogle, \n                    \n                      http:\/\/haskell.org\/hoogle\/"},{"key":"2_CR16","doi-asserted-by":"crossref","unstructured":"Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU\/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)","DOI":"10.21236\/ADA235785"},{"key":"2_CR17","doi-asserted-by":"crossref","unstructured":"K\u00e4stner, C., Apel, S., Kuhlemann, M.: Granularity in Software Product Lines. In: IEEE Int. Conf. on Software Engineering, pp. 311\u2013320 (2008)","DOI":"10.1145\/1368088.1368131"},{"issue":"10","key":"2_CR18","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1145\/383845.383858","volume":"44","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: Getting Started with Aspect. J. Communications of the ACM\u00a044(10), 59\u201365 (2001)","journal-title":"J. Communications of the ACM"},{"key":"2_CR19","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap Your Boilerplate: A Practical Design Pattern for Generic Programming. In: ACM SIGPLAN Workshop on Types in Language Design and Implementation, pp. 26\u201337 (2003)","DOI":"10.1145\/640136.604179"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"Liebig, J., K\u00e4stner, C., Apel, S.: Analyzing the Discipline of Preprocessor Annotations in 30 Million Lines of C Code. In: Int. Conf. on Aspect-Oriented Software Development, pp. 191\u2013202 (2011)","DOI":"10.1145\/1960275.1960299"},{"key":"2_CR21","doi-asserted-by":"publisher","first-page":"180","DOI":"10.1007\/3-540-60578-9_17","volume":"5","author":"S.A. MacKay","year":"1995","unstructured":"MacKay, S.A.: The State of the Art in Concurrent, Distributed Configuration Management. Software Configuration Management: Selected Papers SCM-4 and SCM\u00a05, 180\u2013194 (1995)","journal-title":"Software Configuration Management: Selected Papers SCM-4 and SCM"},{"issue":"5","key":"2_CR22","doi-asserted-by":"publisher","first-page":"449","DOI":"10.1109\/TSE.2002.1000449","volume":"28","author":"T. Mens","year":"2002","unstructured":"Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. on Software Engineering\u00a028(5), 449\u2013462 (2002)","journal-title":"IEEE Trans. on Software Engineering"},{"key":"2_CR23","doi-asserted-by":"crossref","unstructured":"Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Int. Conf. on Aspect-Oriented Software Development, pp. 90\u201399 (2003)","DOI":"10.1145\/643603.643613"},{"issue":"6","key":"2_CR24","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1145\/1041685.1029915","volume":"29","author":"M. Mezini","year":"2004","unstructured":"Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. ACM SIGSOFT Software Engineering Notes\u00a029(6), 127\u2013136 (2004)","journal-title":"ACM SIGSOFT Software Engineering Notes"},{"key":"2_CR25","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511530104","volume-title":"Purely Functional Data Structures","author":"C. Okasaki","year":"1998","unstructured":"Okasaki, C.: Purely Functional Data Structures. Cambridge University Press, Cambridge (1998)"},{"key":"2_CR26","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1145\/1562164.1562183","volume":"52","author":"B. O\u2019Sullivan","year":"2009","unstructured":"O\u2019Sullivan, B.: Making Sense of Revision-Control Systems. Communication of the ACM\u00a052, 56\u201362 (2009)","journal-title":"Communication of the ACM"},{"issue":"1","key":"2_CR27","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1109\/TSE.1976.233797","volume":"2","author":"D.L. Parnas","year":"1976","unstructured":"Parnas, D.L.: On the Design and Development of Program Families. IEEE Trans. on Software Engineering\u00a02(1), 1\u20139 (1976)","journal-title":"IEEE Trans. on Software Engineering"},{"key":"2_CR28","unstructured":"PLT. Racket (2011), \n                    \n                      racket-lang.org\/new-name.html"},{"key":"2_CR29","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-28901-1","volume-title":"Software Product Line Engineering: Foundations, Principles, and Techniques","author":"K. Pohl","year":"2005","unstructured":"Pohl, K., B\u00f6ckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)"},{"key":"2_CR30","doi-asserted-by":"crossref","unstructured":"Roundy, D.: Darcs: Distributed Version Management in Haskell. In: ACM SIGPLAN Workshop on Haskell, pp. 1\u20134 (2005)","DOI":"10.1145\/1088348.1088349"},{"key":"2_CR31","unstructured":"Sheard, T.: A Taxonomy of Meta-Programming Systems, \n                    \n                      web.cecs.pdx.edu\/~sheard\/staged.html"},{"key":"2_CR32","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/3-540-44806-3_2","volume-title":"Semantics, Applications, and Implementation of Program Generation","author":"T. Sheard","year":"2001","unstructured":"Sheard, T.: Accomplishments and Research Challenges in Meta-programming. In: Taha, W. (ed.) SAIG 2001. LNCS, vol.\u00a02196, pp. 2\u201344. Springer, Heidelberg (2001)"},{"key":"2_CR33","doi-asserted-by":"crossref","unstructured":"Sheard, T., Peyton Jones, S.L.: Template Metaprogramming for Haskell. In: ACM SIGPLAN Workshop on Haskell, pp. 1\u201316 (2002)","DOI":"10.1145\/581690.581691"},{"key":"2_CR34","unstructured":"Spencer, H., Collyer, G.: #ifdef Considered Harmful, or Portability Experience With C News. In: USENIX Summer Technical Conference, pp. 185\u2013197 (1992)"},{"key":"2_CR35","unstructured":"Stallman, R.M.: The C Preprocessor. Technical report, GNU Project, Free Software Foundation (1992)"},{"issue":"1-2","key":"2_CR36","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1016\/S0304-3975(00)00053-0","volume":"248","author":"W. Taha","year":"2000","unstructured":"Taha, W., Sheard, T.: MetaML and Multi-Stage Programming with Explicit Annotations. Theoretical Computer Science\u00a0248(1-2), 211\u2013242 (2000)","journal-title":"Theoretical Computer Science"},{"key":"2_CR37","unstructured":"Tichy, W.F.: Design, Implementation, and Evaluation of a Revision Control System. In: IEEE Int. Conf. on Software Engineering, pp. 58\u201367 (1982)"},{"key":"2_CR38","unstructured":"Tichy, W.F.: Tools for Software Configuration Management. In: Int. Workshop on Software Version and Configuration Control, pp. 1\u201320 (1988)"},{"key":"2_CR39","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Theorems for Free! In: Conf. on Functional Programming and Computer Architecture, pp. 347\u2013359 (1989)","DOI":"10.1145\/99370.99404"}],"container-title":["Lecture Notes in Computer Science","Generative and Transformational Techniques in Software Engineering IV"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-35992-7_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,10]],"date-time":"2019-05-10T03:56:28Z","timestamp":1557460588000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-35992-7_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013]]},"ISBN":["9783642359910","9783642359927"],"references-count":39,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-35992-7_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2013]]}}}