{"id":143,"date":"2013-09-09T18:16:47","date_gmt":"2013-09-10T03:16:47","guid":{"rendered":"http:\/\/prg.is.titech.ac.jp\/?page_id=143"},"modified":"2021-02-14T14:41:53","modified_gmt":"2021-02-14T23:41:53","slug":"type-relaxed-weaving","status":"publish","type":"page","link":"https:\/\/prg.is.titech.ac.jp\/ja\/projects\/modularity\/aspect-oriented-programming-languages\/type-relaxed-weaving\/","title":{"rendered":"\u578b\u7de9\u548c\u7e54\u8fbc"},"content":{"rendered":"<p>AspectJ\u8a00\u8a9e\u306earound\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057(\u3084\u4ed6\u306e\u64cd\u4f5c)\u306e\u5b9f\u884c\u6642\u306e\u5f15\u6570\u3084\u8fd4\u5024\u3092\u5909\u66f4\u3067\u304d\u308b\u5f37\u529b\u306a\u6a5f\u80fd\u3067\u3042\u308b\u3002\u3057\u304b\u3057\u3001around\u30a2\u30c9\u30d0\u30a4\u30b9\u306b\u306f\u578b\u306b\u95a2\u3059\u308b\u5f37\u3044\u5236\u9650\u304c\u3042\u308a\u3001\u4f8b\u3048\u5b89\u5168\u3067\u3042\u3063\u3066\u3082\u30a2\u30b9\u30da\u30af\u30c8\u304c\u5024\u3092\u5909\u66f4\u3067\u304d\u306a\u3044\u5834\u5408\u304c\u3042\u308b\u3002\u672c\u7814\u7a76\u3067\u306f\u3001\u30a2\u30b9\u30da\u30af\u30c8\u306e\u7e54\u8fbc\u898f\u5247\u3092\u578b\u5b89\u5168\u6027\u3092\u640d\u3046\u3053\u3068\u306a\u304f\u7de9\u3081\u3001\u3088\u308a\u591a\u304f\u306e\u5834\u5408\u306b\u5024\u3092\u5909\u66f4\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3092\u76ee\u6a19\u3068\u3059\u308b\u3002\u52a0\u3048\u3066\u3001\u7de9\u548c\u3055\u308c\u305f\u7e54\u8fbc\u898f\u5247\u306e\u3082\u3068\u3067\u306eproceed\u30e1\u30bd\u30c3\u30c9\u306e\u578b\u306b\u95a2\u3059\u308b\u67d4\u8edf\u6027\u306e\u5411\u4e0a\u3084\u3001\u7dcf\u79f0\u578b\u30fb\u5171\u5909\u8fd4\u5024\u578b\u3078\u306e\u5bfe\u5fdc\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u4e00\u4f8b\u3068\u3057\u3066\u3001\u6b21\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u5b9a\u7fa9\u3092\u6319\u3052\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">aspect WrapActionListener {\n  ActionListener around(): call(ActionListener+.new(..)) {\n    ActionListener l = proceed();\n    return new Wrapper(l); \/\/ Wrapper implements ActionListener\n  }\n}<\/pre>\n\n\n\n<p>\u73fe\u5728\u306eAspectJ\u30b3\u30f3\u30d1\u30a4\u30e9\u306f\u3001\u3053\u306e\u4e00\u898b\u6b63\u3057\u304f\u898b\u3048\u308b\u30a2\u30c9\u30d0\u30a4\u30b9\u5b9a\u7fa9\u3092\u7e54\u308a\u8fbc\u3080\u969b\u306b\u30a8\u30e9\u30fc\u3092\u5831\u544a\u3059\u308b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"content_1_1\">\u30e1\u30f3\u30d0\u30fc<\/h2>\n\n\n\n<ul class=\"list1 wp-block-list\"><li>\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a><\/li><li>Manabu Toyama<\/li><\/ul>\n\n\n\n<ul class=\"list1 wp-block-list\"><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/aotani\/\" data-internallinksmanager029f6b8e52c=\"290\" title=\"&lt;!--:en--&gt;Tomoyuki Aotani&lt;!--:--&gt;&lt;!--:ja--&gt;\u9752\u8c37\u77e5\u5e78&lt;!--:--&gt;\" target=\"_blank\" rel=\"noopener\">\u9752\u8c37\u77e5\u5e78<\/a><\/li><li><a href=\"https:\/\/www.fos.kuis.kyoto-u.ac.jp\/~igarashi\/index.html\" data-internallinksmanager029f6b8e52c=\"289\" title=\"Atsushi Igarashi\" target=\"_blank\" rel=\"noopener\">\u4e94\u5341\u5d50\u6df3<\/a> (\u4eac\u90fd\u5927\u5b66)<\/li><li>\u5f53\u5c71\u5b66<\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">\u5897\u539f\u82f1\u5f66<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"content_1_2\">\u8ad6\u6587\u306a\u3069<\/h2>\n\n\n\n<ul class=\"list1 wp-block-list\"><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/aotani\/\" data-internallinksmanager029f6b8e52c=\"290\" title=\"&lt;!--:en--&gt;Tomoyuki Aotani&lt;!--:--&gt;&lt;!--:ja--&gt;\u9752\u8c37\u77e5\u5e78&lt;!--:--&gt;\" target=\"_blank\" rel=\"noopener\">Tomoyuki Aotani<\/a>, Manabu Toyama, and <a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a>, <em>Supporting covariant return types and generics in type relaxed weaving<\/em> <ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li>Workshop on Foundations of Aspect-Oriented Languages(FOAL), March 2011.<\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/foal2011-trw.pdf\">PDF<\/a> <\/li><\/ul><\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/aotani\/\" data-internallinksmanager029f6b8e52c=\"290\" title=\"&lt;!--:en--&gt;Tomoyuki Aotani&lt;!--:--&gt;&lt;!--:ja--&gt;\u9752\u8c37\u77e5\u5e78&lt;!--:--&gt;\" target=\"_blank\" rel=\"noopener\">Tomoyuki Aotani<\/a>, Manabu Toyama, and <a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a>, <em>StrongRelaxAJ: integrating adaptability of RelaxAJ and expressiveness of StrongAspectJ<\/em> <ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li>Workshop on Foundations of Aspect-Oriented Languages(FOAL), March 2010.<\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/foal2010.pdf\">PDF<\/a> <\/li><\/ul><\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a>, <a href=\"https:\/\/www.fos.kuis.kyoto-u.ac.jp\/~igarashi\/index.html\" data-internallinksmanager029f6b8e52c=\"289\" title=\"Atsushi Igarashi\" target=\"_blank\" rel=\"noopener\">Atsushi Igarashi<\/a>, and Manabu Toyama, <em>Type Relaxed Weaving<\/em> <ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li>The 9th International Conference on Aspect-Oriented Software Development (AOSD&#8217;10), March 2010. <ul class=\"list3\" style=\"padding-left: 16px; margin-left: 16px;\"><li><a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/aosd2010.pdf\">PDF<\/a><\/li><\/ul><\/li><\/ul><\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a>, <em>Relaxing Type Restrictions of Around Advice in Aspect-Oriented Programming<\/em> <ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li>The Fifth ASIAN Symposium on Programming Languages and Systems (APLAS 2007), November 2007.<\/li><li>poster presentation. <a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/aplas2007abstract.pdf\">abstract<\/a> <\/li><\/ul><\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">Hidehiko Masuhara<\/a>, <em>On Type Restriction of Around Advice and Aspect Interference<\/em> <ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li>The 3rd International Workshop on Aspects, Dependencies and Interactions (ADI&#8217;08), July 2008.<\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/adi2008.pdf\">PDF<\/a> <\/li><\/ul><\/li><li>\u5f53\u5c71\u5b66, <a href=\"https:\/\/prg.is.titech.ac.jp\/ja\/people\/masuhara\/\" data-internallinksmanager029f6b8e52c=\"285\" title=\"\u5897\u539f\u82f1\u5f66\" target=\"_blank\" rel=\"noopener\">\u5897\u539f\u82f1\u5f66<\/a>, &#8220;\u7570\u306a\u308b\u578b\u306e\u5024\u3092\u8fd4\u3059\u30a2\u30c9\u30d0\u30a4\u30b9\u3092\u8a31\u3059\u30a2\u30b9\u30da\u30af\u30c8\u6307\u5411\u8a00\u8a9e\u306e\u7e54\u8fbc\u6a5f\u69cb&#8221;<ul><li>\u7b2c11\u56de\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u304a\u3088\u3073\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u30ef\u30fc\u30af\u30b7\u30e7\u30c3\u30d7(PPL2009), March 2009.<\/li><li><a href=\"https:\/\/prg.is.titech.ac.jp\/members\/masuhara\/papers\/ppl2009.pdf\">PDF<\/a>\u00a0<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"content_1_3\">\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/h2>\n\n\n\n<ul class=\"list1 wp-block-list\"><li>\u30b3\u30f3\u30d1\u30a4\u30e9<ul class=\"list2\" style=\"padding-left: 16px; margin-left: 16px;\"><li><a href=\"https:\/\/prg.is.titech.ac.jp\/wp-content\/uploads\/2013\/09\/relaxaj-0.3.0.zip\">relaxaj-0.3.0.zip<\/a><br> <\/li><\/ul><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>AspectJ\u8a00\u8a9e\u306earound\u30a2\u30c9\u30d0\u30a4\u30b9\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u547c\u3073\u51fa\u3057(\u3084\u4ed6\u306e\u64cd\u4f5c)\u306e\u5b9f\u884c\u6642\u306e\u5f15\u6570\u3084\u8fd4\u5024\u3092\u5909\u66f4\u3067\u304d\u308b\u5f37\u529b\u306a\u6a5f\u80fd\u3067\u3042\u308b\u3002\u3057\u304b\u3057\u3001around\u30a2\u30c9\u30d0\u30a4\u30b9\u306b\u306f\u578b\u306b\u95a2\u3059\u308b\u5f37\u3044\u5236\u9650\u304c\u3042\u308a\u3001\u4f8b\u3048\u5b89\u5168\u3067\u3042\u3063\u3066\u3082\u30a2\u30b9\u30da\u30af\u30c8\u304c\u5024\u3092&hellip; <a class=\"continue\" href=\"https:\/\/prg.is.titech.ac.jp\/ja\/projects\/modularity\/aspect-oriented-programming-languages\/type-relaxed-weaving\/\">Continue Reading \u578b\u7de9\u548c\u7e54\u8fbc<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":2577,"menu_order":1900,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","footnotes":""},"class_list":["post-143","page","type-page","status-publish","hentry","radius"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/pages\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":9,"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/pages\/143\/revisions"}],"predecessor-version":[{"id":3421,"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/pages\/143\/revisions\/3421"}],"up":[{"embeddable":true,"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/pages\/2577"}],"wp:attachment":[{"href":"https:\/\/prg.is.titech.ac.jp\/ja\/wp-json\/wp\/v2\/media?parent=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}