{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,16]],"date-time":"2023-11-16T17:12:47Z","timestamp":1700154767830},"reference-count":11,"publisher":"Wiley","issue":"5","license":[{"start":{"date-parts":[[2004,1,23]],"date-time":"2004-01-23T00:00:00Z","timestamp":1074816000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2004,4,25]]},"abstract":"Abstract<\/jats:title>Using roles in object\u2010oriented design leads to a more natural representation of a given problem domain. Despite a lot of research into role\u2013based systems, there is still a gap between conceptual representations of roles and the usage of roles in strongly typed object\u2010oriented programming languages such as C++ or Java. Since these languages associate classes and their instances exclusively and permanently, representing evolving objects that may take on different roles over time is difficult without special support: (i) entities must be reclassified any time they evolve and (ii) class hierarchies may grow exponentially if entities may take on several independent roles.<\/jats:p>This article shows how role hierarchies can be easily implemented in Java. It introduces the Java Role Package, which provides a set of classes to support handling of evolving objects without modifying the semantics of Java itself. Copyright \u00a9 2004 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/spe.571","type":"journal-article","created":{"date-parts":[[2004,3,25]],"date-time":"2004-03-25T18:30:10Z","timestamp":1080239410000},"page":"449-464","source":"Crossref","is-referenced-by-count":6,"title":["Using roles in Java"],"prefix":"10.1002","volume":"34","author":[{"given":"Michael","family":"Schrefl","sequence":"first","affiliation":[]},{"given":"Thomas","family":"Thalhammer","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2004,1,23]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF01231643"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1016\/0169-023X(95)00044-S"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","first-page":"402","DOI":"10.1109\/ICDE.1997.581963","volume-title":"Proceedings IEEE International Conference on Data Engineering","author":"Wong R","year":"1997"},{"key":"e_1_2_1_5_2","first-page":"464","volume-title":"Proceedings 3rd International Conference on Very Large Databases","author":"Bachman C","year":"1977"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-7091-7555-2_2"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/91474.91542"},{"key":"e_1_2_1_8_2","first-page":"298","volume-title":"Proceedings of the ACM SIGMOD Conference on Management of Data","author":"Richardson J","year":"1991"},{"issue":"1","key":"e_1_2_1_9_2","doi-asserted-by":"crossref","first-page":"61","DOI":"10.1002\/j.1096-9942.1995.tb00006.x","article-title":"Using dynamic classes and role classes to model object migration","volume":"1","author":"Wieringa R","year":"1995","journal-title":"TAPOS\u2014Theory and Practice of Object Systems"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/230538.230540"},{"key":"e_1_2_1_11_2","first-page":"187","volume-title":"Proceedings of the 18th VLDB Conference","author":"Rundensteiner EA","year":"1992"},{"key":"e_1_2_1_12_2","volume-title":"The Unified Modeling Language Reference Manual","author":"Rumbaugh J","year":"1999"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.571","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.571","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,16]],"date-time":"2023-11-16T16:40:05Z","timestamp":1700152805000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.571"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,1,23]]},"references-count":11,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2004,4,25]]}},"alternative-id":["10.1002\/spe.571"],"URL":"https:\/\/doi.org\/10.1002\/spe.571","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,1,23]]}}}