{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T06:41:49Z","timestamp":1694587309130},"reference-count":19,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2012,3,19]],"date-time":"2012-03-19T00:00:00Z","timestamp":1332115200000},"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":[[2014,4]]},"abstract":"<jats:title>SUMMARY<\/jats:title><jats:p>In the context of our research on Aspect\u2010Oriented Programming, we have a need for a modern and powerful aspect language for Smalltalk. Current aspect languages for Smalltalk however fall short on various points. To address this deficit, we elected to design and build PHANtom: a modern aspect language for Pharo Smalltalk. PHANtom is designed to be an aspect language in the spirit of Smalltalk: dynamic, simple, and powerful. PHANtom is a modern aspect language because it incorporates the best features of languages that precede it, includes recent research results in aspect interactions and reentrancy control, and is designed from the onset to be optimized and compiled where possible. In this paper, we present the latest version of the language and give examples and patterns of use. Copyright \u00a9 2012 John Wiley &amp; Sons, Ltd.<\/jats:p>","DOI":"10.1002\/spe.2117","type":"journal-article","created":{"date-parts":[[2012,3,19]],"date-time":"2012-03-19T06:52:32Z","timestamp":1332139952000},"page":"393-412","source":"Crossref","is-referenced-by-count":2,"title":["PHANtom: a modern aspect language for Pharo Smalltalk"],"prefix":"10.1002","volume":"44","author":[{"given":"Johan","family":"Fabry","sequence":"first","affiliation":[{"name":"PLEIAD Laboratory, Computer Science Department (DCC) University of Chile  Santiago Chile"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Galdames","sequence":"additional","affiliation":[{"name":"PLEIAD Laboratory, Computer Science Department (DCC) University of Chile  Santiago Chile"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2012,3,19]]},"reference":[{"key":"e_1_2_9_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02059-9_4"},{"key":"e_1_2_9_3_1","doi-asserted-by":"crossref","DOI":"10.1145\/1509307","volume-title":"Proceedings of the 4th Workshop on Domain\u2010Specific Aspect Languages","author":"Cleenewerck T","year":"2009"},{"key":"e_1_2_9_4_1","volume-title":"Proceedings of IWST2011","author":"Fabry J","year":"2011"},{"key":"e_1_2_9_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45337-7_18"},{"key":"e_1_2_9_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36557-5_17"},{"key":"e_1_2_9_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0054101"},{"key":"e_1_2_9_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2005.1553548"},{"key":"e_1_2_9_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/976270.976276"},{"key":"e_1_2_9_10_1","volume-title":"4th Workshop on Dynamic Languages and Applications (DYLA 2010)","author":"Renggli L","year":"2010"},{"key":"e_1_2_9_11_1","series-title":"DLS \u201908","first-page":"8:1","volume-title":"Proceedings of the 2008 Symposium on Dynamic Languages","author":"Assaf A","year":"2008"},{"key":"e_1_2_9_12_1","series-title":"AOSD \u201910","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1145\/1739230.1739236","volume-title":"Proceedings of the 9th International Conference on Aspect\u2010Oriented Software Development","author":"Tanter \u00c9","year":"2010"},{"key":"e_1_2_9_13_1","volume-title":"Proceedings of the 11th Workshop on Foundations of Aspect\u2010Oriented Languages (FOAl 2012)","author":"Tanter \u00c9","year":"2012"},{"key":"e_1_2_9_14_1","volume-title":"Smalltalk Best Practice Patterns","author":"Beck K","year":"1996"},{"key":"e_1_2_9_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cl.2011.10.002"},{"key":"e_1_2_9_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2011.11"},{"key":"e_1_2_9_17_1","series-title":"RCOST \/ Software Technology Series","first-page":"55","volume-title":"Tools for Software Maintenance and Reengineering","author":"Ducasse S","year":"2005"},{"key":"e_1_2_9_18_1","first-page":"67","volume-title":"Proceedings IEEE International Workshop on Visualizing Software for Understanding (Vissoft'07)","author":"Lienhard A","year":"2007"},{"key":"e_1_2_9_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1119479.1119483"},{"key":"e_1_2_9_20_1","unstructured":"MarotA.Preserving the Separation of Concerns while Composing Aspects with Reflective AOP.Ph.D. Thesis Universit\u00e9 Libre de Bruxelles 2011."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.2117","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.2117","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,12]],"date-time":"2023-09-12T09:45:55Z","timestamp":1694511955000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.2117"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,3,19]]},"references-count":19,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2014,4]]}},"alternative-id":["10.1002\/spe.2117"],"URL":"https:\/\/doi.org\/10.1002\/spe.2117","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,3,19]]}}}