{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,27]],"date-time":"2026-03-27T09:03:48Z","timestamp":1774602228954,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":18,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540609544","type":"print"},{"value":"9783540497479","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[1996]]},"DOI":"10.1007\/3-540-60954-7_41","type":"book-chapter","created":{"date-parts":[[2012,2,26]],"date-time":"2012-02-26T21:07:57Z","timestamp":1330290477000},"page":"22-37","source":"Crossref","is-referenced-by-count":23,"title":["Using C++ templates to implement role-based designs"],"prefix":"10.1007","author":[{"given":"Michael","family":"VanHilst","sequence":"first","affiliation":[]},{"given":"David","family":"Notkin","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2005,6,7]]},"reference":[{"issue":"4","key":"3_CR1","doi-asserted-by":"crossref","first-page":"355","DOI":"10.1145\/136586.136587","volume":"1","author":"D. S. Batory","year":"1992","unstructured":"D. S. Batory and S. O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology, 1(4):355\u2013398, October 1992.","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"3_CR2","doi-asserted-by":"crossref","unstructured":"Don Batory, Vivek Singhal, Marty Sirkin, and Jeff Thomas. Scalable software libraries. In Proceedings of the First ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 191\u2013199, 1993.","DOI":"10.1145\/256428.167078"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Kent Beck and Ward Cunningham. A laboratory for teaching object-oriented thinking. In Proceedings of the 1989 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 1\u20136, 1989.","DOI":"10.1145\/74877.74879"},{"key":"3_CR4","unstructured":"Gilad Bracha. The programming language JIGSAW: Mixins, Modularity and Inheritance. PhD thesis, University of Utah, 1992."},{"key":"3_CR5","doi-asserted-by":"crossref","unstructured":"Gilad Bracha and William Cooke. Mixin-based inheritance. In Proceedings of the 1990 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 303\u2013311, 1990.","DOI":"10.1145\/97945.97982"},{"key":"3_CR6","unstructured":"Eric Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994."},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"William Harrison and Harold Ossher. Subject-oriented programming (a critique of pure objects). In Proceedings of the 1993 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 411\u2013428, 1993.","DOI":"10.1145\/167962.165932"},{"key":"3_CR8","doi-asserted-by":"crossref","unstructured":"William Harrison, Harold Ossher, Randall B. Smith, and David Ungar. Subjectivity in object-oriented systems workshop summary. In Addendum to the Proceedings of the 1993 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 131\u2013136, 1994.","DOI":"10.1145\/260028.260179"},{"key":"3_CR9","doi-asserted-by":"crossref","unstructured":"Richard Helm, Ian M. Holland, and Dipayan Gangopadhyay. Contracts: Specifying behavioral compositions in object-oriented systems. In Proceedings of the 1990 ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 169\u2013180, 1990.","DOI":"10.1145\/97945.97967"},{"key":"3_CR10","unstructured":"Ian M. Holland. The Design and Representation of Object-Oriented Components. PhD thesis, Northeastern University, 1992."},{"key":"3_CR11","doi-asserted-by":"crossref","unstructured":"Ian M. Holland. Specifying reusable components using contracts. In Proceedings of the 1992 European Conference on Object-Oriented Programming, pages 287\u2013308, 1992.","DOI":"10.1007\/BFb0053043"},{"issue":"2","key":"3_CR12","first-page":"22","volume":"1","author":"R. Johnson","year":"1988","unstructured":"Ralph Johnson and Brian Foote. Designing reusable classes. Journal of Object-Oriented Programming, 1(2):22\u201335, June\/July 1988.","journal-title":"Journal of Object-Oriented Programming"},{"issue":"3","key":"3_CR13","first-page":"8","volume":"1","author":"K. J. Lieberherr","year":"1988","unstructured":"Karl J. Lieberherr and Arthur J. Riel. Demeter: A CASE study of software growth through parameterized classes. Journal of Object-Oriented Programming, 1(3):8\u201322, August\/September 1988.","journal-title":"Journal of Object-Oriented Programming"},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Karl J. Lieberherr and Cun Xiao. Minimizing dependency on class structures with adaptive programs. In Object Technologies for Advanced Software: Proceedings of the First JSSST International Symposium, pages 424\u2013441, 1993.","DOI":"10.1007\/3-540-57342-9_87"},{"issue":"4","key":"3_CR15","doi-asserted-by":"crossref","first-page":"313","DOI":"10.1109\/32.223802","volume":"19","author":"K. J. Lieberherr","year":"1993","unstructured":"Karl J. Lieberherr and Cun Xiao. Object-oriented software evolution. IEEE Transactions on Software Engineering, 19(4):313\u2013343, April 1993.","journal-title":"IEEE Transactions on Software Engineering"},{"issue":"7","key":"3_CR16","doi-asserted-by":"crossref","first-page":"623","DOI":"10.1002\/spe.4380240703","volume":"24","author":"D. R. Musser","year":"1994","unstructured":"D. R. Musser and A. A. Stepanov. Algorithm-oriented generic libraries. Software Practice and Experience, 24(7):623\u2013642, July 1994.","journal-title":"Software Practice and Experience"},{"key":"3_CR17","unstructured":"Trygve Reenskaug and Egil P. Anderson. System design by composing structures of interacting objects. In Proceedings of the 1992 European Conference on Object-Oriented Programming, pages 133\u2013152, 1992."},{"issue":"6","key":"3_CR18","first-page":"27","volume":"5","author":"T. Reenskaug","year":"1992","unstructured":"Trygve Reenskaug, Egil P. Anderson, Arne Jorgen Berre, Anne Hurlen, Anton Landmark, Odd Arild Lehne, Else Nordhagen, Erik Ness-Ulseth, Gro Oftedal, Anne Lise Skaar, and Pal Stenslet. OORASS: Seamless support for the creation and maintenance of object-oriented systems. Journal of Object-Oriented Programming, 5(6):27\u201341, October 1992.","journal-title":"Journal of Object-Oriented Programming"}],"container-title":["Lecture Notes in Computer Science","Object Technologies for Advanced Software"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-60954-7_41.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T21:03:02Z","timestamp":1605646982000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-60954-7_41"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996]]},"ISBN":["9783540609544","9783540497479"],"references-count":18,"URL":"https:\/\/doi.org\/10.1007\/3-540-60954-7_41","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[1996]]}}}