{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,25]],"date-time":"2024-07-25T17:49:13Z","timestamp":1721929753217},"reference-count":60,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2015,11,7]],"date-time":"2015-11-07T00:00:00Z","timestamp":1446854400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2017,10]]},"DOI":"10.1007\/s10270-015-0505-x","type":"journal-article","created":{"date-parts":[[2015,11,7]],"date-time":"2015-11-07T04:41:13Z","timestamp":1446871273000},"page":"997-1017","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["Promoting traits into model-driven development"],"prefix":"10.1007","volume":"16","author":[{"given":"Vahdat","family":"Abdelzad","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Timothy C.","family":"Lethbridge","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,11,7]]},"reference":[{"key":"505_CR1","first-page":"140","volume":"139","author":"E Allen","year":"2005","unstructured":"Allen, E., Chase, D., Hallett, J., et al.: The Fortress language specification. Sun Microsyst. 139, 140 (2005)","journal-title":"Sun Microsyst."},{"key":"505_CR2","doi-asserted-by":"crossref","unstructured":"Ar\u00e9valo, G.: Understanding behavioral dependencies in class hierarchies using concept analysis. LMO\u201903: Langages et Mod\u00e8les \u00e0 Objets (Object Oriented Languages and Models), pp. 47\u201359 (2003)","DOI":"10.3166\/objet.9.1-2.47-59"},{"key":"505_CR3","unstructured":"AspectJ. 2014. https:\/\/www.eclipse.org\/aspectj\/"},{"key":"505_CR4","unstructured":"Badreddin, O., Forward, A., Lethbridge, T.C.: Model oriented programming: an empirical study of comprehension. In: Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research. IBM Corp., pp. 73\u201386 (2012)"},{"key":"505_CR5","unstructured":"Badreddin, O., Lethbridge, T.C., Forward, A., Elasaar, M., Aljamaan, H.: Enhanced Code Generation from UML Composite State Machines. Modelsward (2014)"},{"key":"505_CR6","first-page":"33","volume":"496","author":"O Badreddin","year":"2013","unstructured":"Badreddin, O., Forward, A., Lethbridge, T.C.: Exploring a model-oriented and executable syntax for UML attributes. Softw. Eng. Res. Manag. Appl. Stud. Comput. Intell. 496, 33\u201353 (2013)","journal-title":"Softw. Eng. Res. Manag. Appl. Stud. Comput. Intell."},{"key":"505_CR7","first-page":"129","volume":"496","author":"O Badreddin","year":"2013","unstructured":"Badreddin, O., Forward, A., Lethbridge, T.C.: Improving code generation for associations: enforcing multiplicity constraints and ensuring referential integrity. Softw. Eng. Res. Manag. Appl. Stud. Comput. Intell. 496, 129\u2013149 (2013)","journal-title":"Softw. Eng. Res. Manag. Appl. Stud. Comput. Intell."},{"issue":"2","key":"505_CR8","doi-asserted-by":"crossref","first-page":"8","DOI":"10.1145\/251560.251582","volume":"4","author":"L Benedicenti","year":"1996","unstructured":"Benedicenti, L., Succi, G., Valerio, A., Vernazza, T.: Monitoring the efficiency of a reuse program. ACM SIGAPP Appl. Comput. Rev. 4(2), 8\u201314 (1996)","journal-title":"ACM SIGAPP Appl. Comput. Rev."},{"key":"505_CR9","doi-asserted-by":"crossref","unstructured":"Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Stateful traits. Advances in smalltalk. In: Proceedings of 14th International Smalltalk Conference (ISC 2006). LNCS, pp. 66\u201390 (2007)","DOI":"10.1007\/978-3-540-71836-9_4"},{"issue":"2\u20133","key":"505_CR10","first-page":"83","volume":"34","author":"A Bergel","year":"2008","unstructured":"Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Stateful traits and their formalization. Comput. Lang. Syst. Struct. 34(2\u20133), 83\u2013108 (2008)","journal-title":"Comput. Lang. Syst. Struct."},{"key":"505_CR11","doi-asserted-by":"crossref","unstructured":"Bettini, L., Bono, V., Naddeo, M.: A trait based re-engineering technique for Java hierarchies. In: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, pp. 149\u2013158 (2008)","DOI":"10.1145\/1411732.1411753"},{"key":"505_CR12","doi-asserted-by":"crossref","unstructured":"Bettini, L., Damiani, F., Schaefer, I.: Implementing software product lines using traits. In: Proceedings of the ACM Symposium on Applied Computing, pp. 2096\u20132102 (2010)","DOI":"10.1145\/1774088.1774530"},{"key":"505_CR13","doi-asserted-by":"crossref","unstructured":"Bettini, L., Damiani, F.: Pure trait-based programming on the Java platform. In: Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages, and Tools, ACM Press, pp. 67\u201378 (2013)","DOI":"10.1145\/2500828.2500835"},{"issue":"2","key":"505_CR14","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1109\/MS.1987.230095","volume":"4","author":"T Biggerstaff","year":"1987","unstructured":"Biggerstaff, T., Richter, C.: Reusability framework, assessment, and directions. IEEE Softw. 4(2), 41\u201349 (1987)","journal-title":"IEEE Softw."},{"key":"505_CR15","doi-asserted-by":"crossref","unstructured":"Black, A. P., Scharli, N.: Traits: tools and methodology. In: Proceedings of the 26th International Conference on Software Engineering (2004)","DOI":"10.1109\/ICSE.2004.1317489"},{"key":"505_CR16","unstructured":"Bono, V., Damiani, F., Giachino, E.: Separating type, behavior, and state to achieve very fine-grained reuse. In: Electronic Proceedings of Formal Techniques for Java-like Programs (FTfJP) (2007)"},{"issue":"10","key":"505_CR17","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1145\/97946.97982","volume":"25","author":"G Bracha","year":"1990","unstructured":"Bracha, G., Cook, W.: Mixin-based inheritance. ACM SIGPLAN Not. 25(10), 303\u2013311 (1990)","journal-title":"ACM SIGPLAN Not."},{"key":"505_CR18","doi-asserted-by":"crossref","unstructured":"Chung, W., Harrison, W., Kruskal, V., et al.: Concern manipulation environment (CME). In: Proceedings of the 27th International Conference on Software Engineering, pp. 666\u2013667 (2005)","DOI":"10.1145\/1062455.1062599"},{"key":"505_CR19","unstructured":"CodePro Analytix. 2014. https:\/\/developers.google.com\/java-dev-tools\/codepro\/doc\/"},{"issue":"3","key":"505_CR20","first-page":"69","volume":"11","author":"S Denier","year":"2005","unstructured":"Denier, S.: Traits programming with AspectJ. RSTI-L\u2019objet 11(3), 69\u201386 (2005)","journal-title":"RSTI-L\u2019objet"},{"issue":"2","key":"505_CR21","doi-asserted-by":"crossref","first-page":"331","DOI":"10.1145\/1119479.1119483","volume":"28","author":"S Ducasse","year":"2006","unstructured":"Ducasse, S., Nierstrasz, O., Sch\u00e4rli, N., Wuyts, R., Black, A.P.: Traits: a mechanism for fine-grained reuse. ACM Trans. Program. Lang. Syst. 28(2), 331\u2013388 (2006)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"11","key":"505_CR22","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1145\/504311.504299","volume":"36","author":"D Duggan","year":"2001","unstructured":"Duggan, D., Techaubol, C.-C.: Modular mixin-based inheritance for application frameworks. ACM SIGPLAN Not. 36(11), 223\u2013240 (2001)","journal-title":"ACM SIGPLAN Not."},{"issue":"7","key":"505_CR23","doi-asserted-by":"crossref","first-page":"529","DOI":"10.1109\/TSE.2005.85","volume":"31","author":"WB Frakes","year":"2005","unstructured":"Frakes, W.B., Kang, K.: Software reuse research: status and future. IEEE Trans. Softw. Eng. 31(7), 529\u2013536 (2005)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"505_CR24","doi-asserted-by":"crossref","unstructured":"Frogley, T.: An introduction to C++ traits. Overload J. 43 (2001)","DOI":"10.1093\/oso\/9780198162841.003.0001"},{"key":"505_CR25","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Redwood City (1995)"},{"key":"505_CR26","doi-asserted-by":"crossref","unstructured":"Garzon, M. Lethbridge, T.C.: Exploring how to develop transformations and tools for automated umplification. In: Proceedings of the19th Working Conference on Reverse Engineering. IEEE, pp. 491\u2013494 (2012)","DOI":"10.1109\/WCRE.2012.58"},{"issue":"3","key":"505_CR27","doi-asserted-by":"crossref","first-page":"396","DOI":"10.1145\/503502.503505","volume":"23","author":"A Igarashi","year":"2001","unstructured":"Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst. 23(3), 396\u2013450 (2001)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"10","key":"505_CR28","doi-asserted-by":"crossref","first-page":"318","DOI":"10.1145\/263700.263754","volume":"32","author":"D Ingalls","year":"1997","unstructured":"Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the future: the story of Squeak, a practical Smalltalk written in itself. ACM SIGPLAN Not. 32(10), 318\u2013326 (1997)","journal-title":"ACM SIGPLAN Not."},{"key":"505_CR29","unstructured":"JHotDraw 7. 2004. http:\/\/www.randelshofer.ch\/oop\/jhotdraw\/"},{"key":"505_CR30","doi-asserted-by":"crossref","unstructured":"Kiczales, G., Lamping, J., Mendhekar, A., et al.: Aspect-oriented programming. In: The European Conference on Object-Oriented Programming (ECOOP), LNCS 1241. Springer, pp. 220\u2013242 (1997)","DOI":"10.1007\/BFb0053381"},{"issue":"2","key":"505_CR31","doi-asserted-by":"crossref","first-page":"131","DOI":"10.1145\/130844.130856","volume":"24","author":"CW Krueger","year":"1992","unstructured":"Krueger, C.W.: Software reuse. ACM Comput. Surv. (CSUR) 24(2), 131\u2013183 (1992)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"505_CR32","unstructured":"Lee, E.H.-S.: Object Storage and Inheritance for SELF, a Prototype-Based Object-Oriented Programming Language. Thesis, Stanford University (1988), 508 pp"},{"key":"505_CR33","doi-asserted-by":"crossref","unstructured":"Lethbridge, T.: Teaching modeling using Umple: principles for the development of an effective tool. In: Proceedings of the 27th IEEE Conference on Software Engineering Education and Training (CSEE&T), pp. 23\u201328 (2014)","DOI":"10.1109\/CSEET.2014.6816777"},{"key":"505_CR34","doi-asserted-by":"crossref","unstructured":"Lienhard, A., Ducasse, S., Ar\u00e9valo, G.: Identifying traits with formal concept analysis. In: Proceedings of the 20th IEEE\/ACM International Conference on Automated Software Engineering\u2014ASE\u201905. ACM Press, p. 66 (2005)","DOI":"10.1145\/1101908.1101921"},{"key":"505_CR35","unstructured":"Liquori, L., Spiwack, A.: Featherweight-trait Java: a trait-based extension for FJ. p. 27 (2004)"},{"issue":"2","key":"505_CR36","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1330017.1330022","volume":"30","author":"L Liquori","year":"2008","unstructured":"Liquori, L., Spiwack, A.: FeatherTrait: a modest extension of featherweight Java. ACM Trans. Program. Lang. Syst. 30(2), 1\u201332 (2008)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"4","key":"505_CR37","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1109\/MS.2004.29","volume":"21","author":"S Meyers","year":"2004","unstructured":"Meyers, S.: The most important design guideline? IEEE Softw. 21(4), 14\u201316 (2004)","journal-title":"IEEE Softw."},{"key":"505_CR38","volume-title":"Effective C++: 55 specific ways to improve your programs and designs","author":"S Meyers","year":"2005","unstructured":"Meyers, S.: Effective C++: 55 specific ways to improve your programs and designs, 3rd edn. Addison-Wesley Professional, Redwood City (2005)","edition":"3"},{"issue":"4","key":"505_CR39","doi-asserted-by":"crossref","first-page":"340","DOI":"10.1109\/TSE.2002.995420","volume":"28","author":"M Morisio","year":"2002","unstructured":"Morisio, M., Ezran, M., Tully, C.: Success and failure factors in software reuse. IEEE Trans. Softw. Eng. 28(4), 340\u2013357 (2002)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"505_CR40","doi-asserted-by":"crossref","unstructured":"Murphy-Hill, E.R., Quitslund, P.J., Black, A.P.: Removing duplication from java.io. In: Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM Press, pp. 282\u2013291 (2005)","DOI":"10.1145\/1094855.1094963"},{"key":"505_CR41","unstructured":"Nierstrasz, O., Reichhart, S., Sch, N.: Adding Traits to (Statically Typed) Languages. Technical report IAM-05-006, Institut f\u00fcr Informatik und Angewandte Mathematik University of Bern, Switzerland (2005)"},{"key":"505_CR42","unstructured":"Perl. https:\/\/www.perl.org\/"},{"issue":"4","key":"505_CR43","doi-asserted-by":"crossref","first-page":"1225","DOI":"10.1007\/s10270-014-0430-4","volume":"13","author":"M Petre","year":"2014","unstructured":"Petre, M.: No shit or Oh, shit!: responses to observations on the use of UML in professional practice. Softw. Syst. Model. 13(4), 1225\u20131235 (2014)","journal-title":"Softw. Syst. Model."},{"key":"505_CR44","unstructured":"Quitslund, P.J., Black, A.P.: Java with traits \u2014 improving opportunities for reuse. In: Proceedings of the 3rd International Workshop on MechAnisms for SPEcialization, Generalization and inHerItance (ECOOP), pp. 45\u201349 (2004)"},{"key":"505_CR45","doi-asserted-by":"crossref","unstructured":"Quitslund, P.J., Murphy-Hill, E.R., Black, A.P.: Supporting Java traits in eclipse. In: Proceedings of the 2004 OOPSLA Workshop on Eclipse Technology Exchange. ACM Press, pp. 37\u201341 (2004)","DOI":"10.1145\/1066129.1066137"},{"key":"505_CR46","unstructured":"Quitslund, P.J.: Java Traits\u2014Improving Opportunities for Reuse. Technical report CSE-04-005, OGI School of Science & Engineering Oregon Health & Science University (2004)"},{"key":"505_CR47","volume-title":"Traits in CSharp. Software Composition Group","author":"S Reichhart","year":"2005","unstructured":"Reichhart, S.: Traits in CSharp. Software Composition Group. University of Bern, Switzerland (2005)"},{"key":"505_CR48","doi-asserted-by":"crossref","unstructured":"Reppy, J., Turon, A.: Metaprogramming with traits. In: Proceedings of the 21st European Conference on Object-Oriented Programming (ECOOP), pp. 373\u2013398 (2007)","DOI":"10.1007\/978-3-540-73589-2_18"},{"key":"505_CR49","unstructured":"Sakkinen, M.: Disciplined inheritance. In: European Conference on Object-Oriented Programming (ECOOP), pp. 39\u201356 (1989)"},{"key":"505_CR50","unstructured":"Scala. http:\/\/www.scala-lang.org\/"},{"key":"505_CR51","unstructured":"Schaerli, N., Ducasse, S., Nierstrasz, O.: Classes = Traits + States + Glue (Beyond mixins and multiple inheritance). In: Proceedings of the International Workshop on Inheritance, pp. 1\u20136 (2002)"},{"key":"505_CR52","doi-asserted-by":"crossref","unstructured":"Sch\u00e4rli, N., Ducasse, S., Nierstrasz, O., Black, A.P.: Traits: composable units of behaviour. In: ECOOP 2003\u2014European Conference on Object-Oriented Programming, volume 2743 of Lecture Notes in Computer Science, pp. 248\u2013274. Springer, Berlin (2003)","DOI":"10.1007\/978-3-540-45070-2_12"},{"issue":"11","key":"505_CR53","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1145\/960112.28702","volume":"21","author":"A Snyder","year":"1986","unstructured":"Snyder, A.: Encapsulation and inheritance in object-oriented programming languages. ACM SIGPLAN Not. 21(11), 38\u201345 (1986)","journal-title":"ACM SIGPLAN Not."},{"key":"505_CR54","unstructured":"Traits in PHP (2014). http:\/\/www.php.net\/manual\/en\/language.oop5.traits.php"},{"key":"505_CR55","unstructured":"Traits in Ruby (2014). http:\/\/ruby-naseby.blogspot.ca\/2008\/11\/traits-in-ruby.html"},{"key":"505_CR56","unstructured":"Umple User Manual. Cruise Group, University of Ottawa (2015). http:\/\/www.umple.org"},{"key":"505_CR57","unstructured":"UmpleOnline (2015). http:\/\/www.try.umple.org"},{"issue":"3","key":"505_CR58","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1007\/BF01806107","volume":"4","author":"D Ungar","year":"1991","unstructured":"Ungar, D., Chambers, C., Chang, B.W., H\u00f6lzle, U.: Organizing programs without classes. Lisp Symb. Comput. 4(3), 223\u2013242 (1991)","journal-title":"Lisp Symb. Comput."},{"key":"505_CR59","unstructured":"Unified Modeling Language (UML)\u2014Object Management Group (2014). http:\/\/www.omg.org\/spec\/UML\/"},{"key":"505_CR60","doi-asserted-by":"crossref","unstructured":"Van Cutsem, T., Miller, M.S.: Traits.js: robust object composition and high-integrity objects for ecmascript 5. In: Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients. pp. 1\u20138. ACM Press (2011)","DOI":"10.1145\/2093328.2093330"}],"container-title":["Software &amp; Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-015-0505-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10270-015-0505-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-015-0505-x","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-015-0505-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,12]],"date-time":"2024-06-12T09:03:53Z","timestamp":1718183033000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10270-015-0505-x"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,11,7]]},"references-count":60,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,10]]}},"alternative-id":["505"],"URL":"https:\/\/doi.org\/10.1007\/s10270-015-0505-x","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,11,7]]}}}