DEIM Forum 2014 C8-5 RMX 223 8522 3 14 1 E-mail: {yohei,kita}@db.ics.keio.ac.jp, toyama@ics.keio.ac.jp RMX,,, RMX., RMX, RMX,., RMX,., RMX,.,,., RMX 1. RMX (Rule-based e-mail exchange System).,,., RMX, RMX,., RMX, RMX., RMX,.,,, Facebook Twitter,.,,, 2., RMX.,.,,.,,. 2 RMX 3 4 5 6 7 2. RMX Rule-based e-mail exchange(rmx) RMX. RMX < RMX >:= < > {< >}@ < >. < > RMX., {}, RMX.,..( 1) 2. 1.. Type: query: query SQL. RMX,.,
"-./0%. "-%!"#$#% $%&'(%)*+,%.!"#+$,$% &'()*% $%&'-(.(/%+,% lab{toyama}.grade{1}@rmx.example.edu $%&'0%12*+,'% 1 RMX.. grade gradetype= integer grade[1]= select s.address from student s where s.grade = $1 ; integer, grade. grade{4}@rmx.example.edu 2 query student, 4. 2. 2. 2 Syntax: < name 1 >{< par 1 >}+... + < name n > {< par n >}@ < subdomain >. < domain > Semantics: name 1 (par 1 )... name n (par n ) +.,.., grade. : grade{3}+grade{4}@rmx.example.edu, 4 yohei : grade{4}+name{yohei}@rmx.example.edu!"#$%&'()"*+,%+#*-.%,%$/!. +. grade group name name{yohei}+grade{4}.group{rmx}@rmx.example.edu 2 grade 2. 2 () RMX. Envelope-To. 2. 2. 1 Syntax: <name 1 > {<par 1 >}..... <name n > {< par n >}@<subdomain>.<domain> Semantics: name 1 (par 1 )... name n (par n ). Envelope-To 2. 2. 3 () Syntax: < name 1 > {< par 1 >... < par n >}@ < subdomain>.<domain> Semantics: name 1 (par 1,..., par n) -. - name matsumoto yohei 2 name name{matsumoto-yohei}@rmx.example.edu
dbpassword = ID 3. ListOpe := UnionOpe := + RuleOpe :=. + Arg := string integer P ara := Arg Arg ListOpe P ara P aralist := P ara P ara UnionOpe P aralist Exp := rule { P aralist } ExpList := Exp Exp RuleOpe ExpList Address := ExpList @ subdomain. domain 3. 1 RMX, RMX,.,,. name{matsumoto-yohei}.lab{toyama}+name{kita}. lab{toyama}@rmx.example.edu 2. 3 < RMX >:= < > @ < >. < >. < >, {}, @, RMX., 3 4 yohei 3+4.yohei@grade.name.rmx.example.edu 2. 4.properties.properties sample.properties sample sample1.properties sample1 dbdriver = dburl = URL dbid = ID 3 RMX 3. 2 RMX, RMX.. RMX RMX,, RMX ( 4). RMX, PluginInterface.java, ( 5)., PluginInterface.java, pluginstart, getavailablefunctionnames., 1, getavailablefunctionnames.,., 1,,.,
,., PluginInterface.java, pluginstart. pluginstart,, RMX. 1 jar,. jar,, RMX.,,,,., RMX,,. 4. RMX,.,,.,,,.,,,.,. 4. 1 help, help. #help.help.<language>#@<subdomain>.<domain> 4!"#$%&'%()*+,-&*'.$"/%(0()*+,-&*'1' ''''''''!"#$%&'2++-34%5)'67*55-/*8'!$"/%(9)-+):7*55-/*';+%/%(-$7*55-/*<=' ''''''''!"#$%&'2++-34%5)'69)+%(/8''/*)2>-%$-#$*?"(&@;(A-B*5:<=' C! 5 3. 3 PluginInterface.java, RMX. #<plugin>.<command>.<arg 1 >..<arg n ># <target> <plugin>,, <command>,. <arg>,., 1. <target>, RMX,. <language>, (en, ja ). 6,. >+'053+'053'$>?.&@3'@%&50'3'A/! >+'053+'053B%>?.&@3'@%&50'3'A/! 6 4. 2!"#$%&'( )*+,-(./0'(,-(%(1.%$-2'.(./0'3(*+'(145'(62(,1-( 5%.%&'1'.(,-(781.,$9:3(;0'%-'(%--,9$(%(/-'.( $%&'3(<(!=#9.6/5( )*+,-(./0'(,-(%(1.%$-2'.(./0'3(*+'(145'(62(,1-( 5%.%&'1'.(,-(781.,$9:3(;0'%-'(%--,9$(%(9.6/5( $%&'3<!!"#$%&'( )"#$%$&'($%$)*+,-%.#/& 012345)6789:;<=>?@A"B)*C#8 9:;<>DEF%GH-%$I'(J@K 67<(!=#9.6/5( )"#$%$&'($%$)*+,-%.#/& 012345)67L$%M=>?@A"B)*C#L $%MNOP6AF%GH-%$I'(J@K 67<!,.,. 7, name, group,. 5.,,.,,
,#;<)$.3<$!13,43$,=$+!,#;<)$.3<>"13,43$,=$+!!"#$%&%'()*+%,-.$%*+%"%/,"!+0$,%,-.$1%()$% /23$%40%*/+%3","#$/$,%*+%56/,*!781%9.$"+$% "++*7!%"%-+$,%!"#$1%:% % 7,4-3%&%'()*+%,-.$%*+%"%/,"!+0$,%,-.$1% ()$%/23$%40%*/+%3","#$/$,%*+%56/,*!781% 9.$"+$%"++*7!%"%7,4-3%!"#$1:!!"#$%&%'"#$%$&'($%$)*+, -%.#/&012345)6789:;<=>? @A"B)*C#89:;<>DEF%GH -%$I'(J@K67:% % 7,4-3%&%'"#$%$&'($%$)*+, -%.#/&012345)67L$%M=>? @A"B)*C#L$%MNOP6AF% GH-%$I'(J@K67:! close. 5. 2 invite invite,.. 7,.,,,.,,,.,,,. 5. 1, member, attend, event 3 ( 8). #event.invite. <code># <rule>{<para>}@ <subdomain>. <domain> <code>, event code. <code>,. invite, id, id attend. attend,.,, 2014 OB,. #event.invite.ob2014#lab{toyama}@rmx.example.edu!"!#"$!"#$% %&"'(!"#$% 5. 3 attend/absent attend, absent,.. ")"'*!"#$% #event.attend.<code>#@<subdomain>.<domain> #event.absent.<code>#@<subdomain>.<domain> 8 member, event. attend, id, id,., status, (attend), (absent), (uncertain). event, 4. invite. attend/absent,,. send.,. <code>,. attend/absent, attend status attend, absent., event update true., 2014 OB,. #event.attend.ob2014#@rmx.example.edu 5. 4 send send,.. #event.send. <code>#@ <subdomain>.<domain> <code>,. send, 1,,
,,. #event.send.<code>. <status>#@<subdomain>. <domain> 2 116 539 <status>, attend ( ), absent ( ), uncertain ()., 2014 OB,,. #event.send.ob2014.uncertain#@rmx.example.edu 5. 5 close close,.., 2,. 6. 2 OB, 5,,,.,, send 2. 5, 10, 15 3.,,, attend. #event.close.<code> #@<subdomain>.<domain>, update false, attend/absent., 2014 OB,. #event.close.ob2014#@rmx.example.edu, 9, 10, 11. : 2014 OB : 2014 OB, OB.OB 17, 18.,. 6. 9 6. 1., 1, 1578. 1 DatabaseDao.java 82 GetMailAddressesFromDBService.java 31 ParseOf1stFormService.java 567 ParseOf2ndFormService.java 667 ParseService.java 231,, 2. : 2014 OB : 2014 OB, OB.. OB.. 10 : 2014 OB : 2014 OB, OB.,.. 11,, 1578, 3
. #event.send.ob2014.attend#@testy.rmxdev.db.ics.keio.ac.jp #event.send.ob2014.absent#@testy.rmxdev.db.ics.keio.ac.jp #event.send.ob2014.uncertain#@testy.rmxdev.db.ics.keio.ac.jp, 12, 13, 14.,,.,,,,. send,.,,.,,.!"#$%&'!(")!"#$%&'!("# %#!" %!!" $#!" $!!" #!"!" #" $!" $#" *+,-./01"2345!4") %!!" $#!" $!!" #!" 67389) :;<=>?@AB:<) 12 672895 :;<=>?@AB:<5 7. RMX, RMX,,,.,, RMX.,,.,,,.!" #" $!" $#"!"#$%&'(!)"* )*+,-./0"1234!3"5 13 &#!" &!!" %#!" %!!" $#!" $!!" #!"!" #" $!" $#" +,-./012"3$45!4"* 67$89* :;<=>?@AB:<* 14,,.,,,,., [1],,,. Magic Mirror Mailing, Pages:123-128 July 2001 [2] Kim Hanki, Sang-Gyu Shin, Motomichi Toyama. A Rule- Based Mailing System for an Organization, International Workshop on INformation Processing over Evolving Networks, June 2006 [3],,. RMX, DBWS2007 [4],. RMX, DEIM2010 [5],,. RMX, DEIM2011 [6],,,. RMX, DEIM2012 [7],,,. RMX, DEIM2013 [8] Luca Cardelli, Peter Wegner, On Understanding Types, Data Abstraction, and Polymorphism, In Computing Surveys, Vol 17 n. 4, December 1985, pp.471-522 [9] Raphael M. Reischuk, Michael Backes, Johannes Gehrke, SAFE Extensibility for Data-Driven Web Applications, In WWW 12 Proceedings of the 21st international conference on World Wide Web Pages 799-808