=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.70 retrieving revision 1.85 diff -u -p -r1.70 -r1.85 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/24 10:57:52 1.70 +++ OpenXM/doc/Attic/genkou19991125.tex 1999/12/25 10:00:48 1.85 @@ -1,11 +1,16 @@ \documentclass{jarticle} -%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.69 1999/12/24 10:08:41 tam Exp $ +%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.84 1999/12/25 09:05:48 tam Exp $ \usepackage{jssac} \title{ -1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦¡£\\ -3. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì¡£ +1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦. \\ +2. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì. \\ +3. Åļ¤¬Í·¤ó¤Ç¤Ð¤«¤ê¤Ç¤ª¤ì¤Ð¤«¤ê»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ï¤É¤¦¹Í¤¨¤Æ¤âÉÔ¸øÊ¿¤À. +¤Ê¤ó¤Ç»Å»ö¤ò¤·¤Ê¤¤¤Î¤«, ¤¤¤¤²Ã¸º»Å»ö¤ò¤·¤í, Åļ. \\ +3.5 ¤½¤¦¤¤¤¦¤´ÈӤȤ«¤Ä¤Þ¤é¤Ê¤¤Ï两ã¤Ê¤¯¤Æ, commit ¤Î¾ðÊó¤ò¤ß¤ì¤ÐÅļ¤¬ +Ç¡²¿¤Ë»Å»ö¤ò¤·¤Æ¤¤¤Ê¤¤¤Î¤«¤è¤¯¤ï¤«¤ë¤è. \\ +4. ¤¤¤¤²Ã¸º, Section 8 ¤ò½ñ¤±. } \author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} @@ -28,36 +33,37 @@ \section{OpenXM¤È¤Ï} -OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë¡£ -¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ -¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢ -¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë¡£ -¤Ê¤ª¡¢ OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë¡£ -OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê¡¢ -asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë¡£ +OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë. +¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê, +¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê, +¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë. +¤Ê¤ª, OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë. +OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê, +asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë. -½é´ü¤Î¼ÂÁõ¤Ç¤Ï¡¢Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿¡£ -¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ¡¢ -Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï¡¢ -¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬¡¢»È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë¡£ +½é´ü¤Î¼ÂÁõ¤Ç¤Ï, Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿. +¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ, +Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. +¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï, +¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬, »È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë. -¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë¡£ -¾åµ­¤Îʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á¡¢ -OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ¡¢ -¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë. +¾åµ­¤Îʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á, +OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ, +¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë. -OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬¡¢ -¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ -¤½¤³¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¡£ +OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬, +¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤. +\footnote{asir ¤Ç¤Ï MPI ¤òÍѤ¤¤¿¼ÂÁõ¤â¤¢¤ë.} +¤½¤³¤Ç, ¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë. \section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} -ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë¡£ -Á°Àá¤Ç²¾Äꤷ¤¿¤È¤ª¤ê¡¢¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦¡£ +ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë. +Á°Àá¤Ç²¾Äꤷ¤¿¤È¤ª¤ê, ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦. -OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê, +¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë. \begin{tabular}{|c|c|} \hline @@ -65,22 +71,22 @@ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ \hline \end{tabular} -¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë¡£ -¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢ -Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤¡£ +¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë. +¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬, +Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤. -¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¡£ +¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë. \begin{enumerate} -\item Á°È¾¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê¡¢ - ¥¿¥°¤È¸Æ¤Ð¤ì¤ë¡£ -\item ¸åȾ¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë¡£ +\item Á°È¾¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê, + ¥¿¥°¤È¸Æ¤Ð¤ì¤ë. +\item ¸åȾ¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë. \end{enumerate} -¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë¡£ -¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬¡¢ -´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï¡¢¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ -°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ +¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë. +¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬, +´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê, +¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. +¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï, ¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ +°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. \begin{verbatim} #define OX_COMMAND 513 @@ -92,77 +98,77 @@ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ #define OX_DATA_MP 525 \end{verbatim} -¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ -¥¿¥°¤¬ OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢ -¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë¡£ +¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. +¥¿¥°¤¬ OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê, +¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë. ¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë -¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ÀâÌÀ¤¹¤ë¡£ +¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß, ÀâÌÀ¤¹¤ë. -´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· -¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î -¸ÇÍ­¤Îɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­¸ú¤Ç¤¢¤ë¡£¿·¤·¤¤¼±ÊÌ»Ò -¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ +´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï, ¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· +¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë. ¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î +¸ÇÍ­¤Îɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­¸ú¤Ç¤¢¤ë. ¿·¤·¤¤¼±ÊÌ»Ò +¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. \section{OpenXM ¤Î·×»»¥â¥Ç¥ë} -OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤Þ¤¿¡¢ OpenXM µ¬ -Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ -¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ -¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ -ÆÀ¤é¤ì¤ë¡£¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë¡£¤Ä¤Þ¤ê¡¢ -¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬¡¢¥µ¡¼¥Ð¤«¤é¤Ï¼« -ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó -¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï ?? Àá¤Ç½Ò¤Ù¤ë¡£ +OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¤Þ¤¿, OpenXM µ¬ +Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç, ¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ +¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ +¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ +ÆÀ¤é¤ì¤ë. ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë. ¤Ä¤Þ¤ê, +¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬, ¥µ¡¼¥Ð¤«¤é¤Ï¼« +ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤. ¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó +¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá +¤Ç½Ò¤Ù¤ë. ¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ -¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá +¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá (OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ -±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¡£¤³¤Î¤È¤­¡¢Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è -¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê¡¢¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ -¤¢¤ë¡£¤â¤·¡¢Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë -¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ +±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦. ¤³¤Î¤È¤­, Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è +¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê, ¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ +¤¢¤ë. ¤â¤·, Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë +¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ ¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð -¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ¡¢¥µ¡¼¥Ð¤«¤é¥¯¥é -¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë¡£ +¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ, ¥µ¡¼¥Ð¤«¤é¥¯¥é +¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë. -{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} +%{\Huge °Ê²¼, ½ñ¤­Ä¾¤·} -¤Þ¤È¤á¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ -·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤òÄɤäƤ¤¤¯¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ +¤Þ¤È¤á¤ë¤È, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê, +·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë. \begin{enumerate} \item -¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë¡£¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥ª¥Ö -¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¤Þ¤º, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë. ¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥ª¥Ö +¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. \item -¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿ -¤ò¼è¤ê½Ð¤·¡¢¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¤Ã¤Æ½ñ¤¤¤Æ¤ë¤±¤É¡¢Ì¿Î᤬SM\_popCMO ¤È¤« SM\_shutdown ¤Î¾ì¹ç¤Ï? -\item -ºÇ¸å¤Ë¡Ö¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¡×¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ø -Á÷½Ð¤¹¤ë¡£ +¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë·×»»¤ÎÌ¿Îá¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¤¢¤é¤«¤¸¤áÄê¤á¤ì¤é¤¿ +Æ°ºî¤ò¹Ô¤¦. °ìÉô¤ÎÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë. Î㤨¤Ð SM\_executeFunction, +SM\_executeStringByLocalParser ¤Ê¤É¤ÎÌ¿Îá¤Ï, ¥¹¥¿¥Ã¥¯¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é +·×»»¤ò¹Ô¤¦. SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString ¤Ï, ¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö +¥¸¥§¥¯¥È¤ò¼è¤ê¤À¤·, ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤êÊÖ¤¹. \end{enumerate} -\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó} -OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢OpenXM -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö¡£¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ -¤·¤è¤¦¡£ +\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} -¤Þ¤º¡¢OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê -¤¹¤ë¤¬¡¢OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤࡢ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï -µ¬Äꤷ¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë -¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë¡¢³Æ¿ô³Ø¥·¥¹ -¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë¡£¤³¤ÎÊÑ -´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤¡£ +OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë. °Ê²¼, OpenXM +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö. ¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ +¤·¤è¤¦. -¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£OpenXM ¥¹¥¿¥Ã¥¯ -¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä¡£OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È -ƱÍͤˡ¢4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î -ɽµ­¤Ë¤·¤¿¤¬¤¦¡£OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ -¤È¤Ï¤Ê¤¤¡£¸½ºß¤Î¤È¤³¤í¡¢OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ +¤Þ¤º, OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê +¤¹¤ë¤¬, OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤà, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï +µ¬Äꤷ¤Ê¤¤. ¤Ä¤Þ¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë +¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë. ¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë, ³Æ¿ô³Ø¥·¥¹ +¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë. ¤³¤ÎÊÑ +´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤. +¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. OpenXM ¥¹¥¿¥Ã¥¯ +¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä. OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È +ƱÍͤË, 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç, ¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î +ɽµ­¤Ë¤·¤¿¤¬¤¦. OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ +¤È¤Ï¤Ê¤¤. ¸½ºß¤Î¤È¤³¤í, OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. + \begin{verbatim} #define SM_popSerializedLocalObject 258 #define SM_popCMO 262 @@ -194,288 +200,404 @@ OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤ #define SM_control_reset_connection 1030 \end{verbatim} -°Ê²¼¡¢¤É¤¦¤¤¤¦¤È¤­¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ -ɬÍפǤ¢¤í¤¦¡£ +%°Ê²¼, ¤É¤¦¤¤¤¦¤È¤­¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ +%ɬÍפǤ¢¤í¤¦. -\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤} +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë. +·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç, ¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. +¤¿¤È¤¨¤Ð, Ì¿Îá SM\_executeStringByLocalParser ¤Ï +¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò +¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô¤Ê¤¦¤¬, +¹Ô¤Ê¤Ã¤¿·×»»¤Î·ë²Ì¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. +%{\Large ¤³¤ì, ËÜÅö? ʸ»úÎó¤ÇÀѤޤì¤ë¤Î? ¤É¤³¤Ç·è¤Þ¤Ã¤Æ¤ë¤Î?} +%¢¬¤¹¤¤¤Þ¤»¤ó¡¢±³¤Ç¤·¤¿¡£ -OpenXM µ¬Ìó¤Ç¤Ï¡¢¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common -Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ -¥¿¤Ï¡¢¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ -¤Æ¤¤¤ë¡£ +¤Ê¤ª, Ì¿Îá¤Î¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤³¤ê, ·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï, +¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. -CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä¡£ -\begin{verbatim} -¥Ø¥Ã¥À ¥Ü¥Ç¥£ -\end{verbatim} -¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë¡£ -¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢0¤Ç¤â¤è¤¤¡£ -\begin{verbatim} -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -\end{verbatim} +\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} +OpenXM µ¬Ìó¤Ç¤Ï, ¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common +Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë. ¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ +¥¿¤Ï, ¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ +¤Æ¤¤¤ë. -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤òÍý²ò¤·¤Æ¤ª¤¯¤È¡¢ -CMO ·Á¼°¤Î¾¤Î¥Ç¡¼¥¿¹½Â¤¤À¤±¤Ç¤Ê¤¯¡¢ -OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÍÍ¡¹¤Ê¥Ç¡¼¥¿¹½Â¤¤òÍý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤È»×¤¨¤ë¤Î¤Ç¡¢ -¤³¤³¤Ç¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ -%¤³¤³¤Ç¤Ï CMO ·Á¼°¤ÎÃæ¤Ç¤â¤è¤¯»È¤ï¤ì¤ë¤â¤Î¤Î¤ß¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ +CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä. -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ï¿ÇÜĹÀ°¿ô°Ê³°¤Ë¤â -ʸ»úÎó¤ä¥ê¥¹¥È¹½Â¤¤Ê¤É¤¬¤¢¤ë¡£¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¤«¤Ï -¥Ç¡¼¥¿¤ÎÀèƬ 4 ¥Ð¥¤¥È¤Ë¤¢¤ë(¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤȤÏÊ̤ˤ¢¤ë)¥¿¥°¤ò¸«¤ì¤Ð -ȽÊ̤Ǥ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ÎȽÊ̤λÅÊý¤È¤ª¤Ê¤¸¤Ç¤¢¤ë¡£ -¤Ê¤ª¡¢¥¿¥°¤Ï³Æ¥Ç¡¼¥¿Ëè¤Ë 32 bit ¤ÎÀ°¿ô¤Çɽ¤µ¤ì¤Æ¤ª¤ê¡¢ -¿ÇÜĹÀ°¿ô¤Ï 20 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤è¤¯»È¤ï¤ì¤ë¤È»×¤ï¤ì¤ë CMO ·Á¼°¤Î¥¿¥°¤ò¤¢¤²¤Æ¤ª¤¯¡£ -\begin{verbatim} -#define CMO_INT32 2 /* (CMO ·Á¼°¤Î)32 ¥Ó¥Ã¥ÈÀ°¿ô */ -#define CMO_STRING 4 /* ʸ»úÎó */ -#define CMO_MATHCAP 5 /* mathcap(¸å½Ò) */ -#define CMO_LIST 17 /* ¥ê¥¹¥È¹½Â¤ */ -#define CMO_ZZ 20 /* ¿ÇÜĹÀ°¿ô */ -\end{verbatim} -¥¿¥°°Ê¹ß¤Ï¥Ç¡¼¥¿ËÜÂΤǤ¢¤ê¡¢¥Ç¡¼¥¿ËÜÂΤι½Â¤¤Ï¥Ç¡¼¥¿¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ -À°¿ôÃÍ $123456789$ ¤òɽ¤¹ CMO\_INT32 ¤Ï \begin{tabular}{|c|c|} \hline -CMO\_INT32 & $123456789$ \\ \hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline \end{tabular} -¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤ò°Ê¸å (CMO\_INT32, 123456789) ¤È¤·¤Æɽ¤¹¡£ +¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬, +0¤Ç¤â¤è¤¤. -¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëɬÍפ¬¤¢¤ë¡£ -OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò -{\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ -¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë -ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ -(°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò -»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢ -2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë. ¤¹¤Ê¤ï¤Á, CMO ¤Ç¤Ï¥Ø¥Ã +¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à. ¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦. ¤µ¤Æ, +CMO ¤Ç¤Ï, ¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë. ¤¹¤Ê¤ï¤Á, ¥¿¥°¤Ï¤½¤ì +¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë. ¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï +\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë. ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ +ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. -CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ -Éä¹æÉÕ¤­ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ -¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ +\begin{verbatim} +#define CMO_ERROR2 0x7f000002 +#define CMO_NULL 1 +#define CMO_INT32 2 +#define CMO_DATUM 3 +#define CMO_STRING 4 +#define CMO_MATHCAP 5 -\begin{tabular}{|c|c|c|c|c|} \hline -$f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline -\end{tabular} +#define CMO_START_SIGNATURE 0x7fabcd03 +#define CMO_ARRAY 16 +#define CMO_LIST 17 +#define CMO_ATOM 18 +#define CMO_MONOMIAL32 19 +#define CMO_ZZ 20 +#define CMO_QQ 21 +#define CMO_ZERO 22 +#define CMO_DMS_GENERIC 24 +#define CMO_DMS_OF_N_VARIABLES 25 +#define CMO_RING_BY_NAME 26 +#define CMO_RECURSIVE_POLYNOMIAL 27 +#define CMO_LIST_R 28 -¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ -$f$ ¤ÏÉä¹æÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ -$b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹æ¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ -¤µ¤é¤Ë¡¢ $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï -\[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots - + b_{n-1} (2^{32})^{n-1} \} \] -¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -¤¿¤À¤·¡¢ -\[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} - 1 & f>0 \\ - 0 & f=0 \\ - -1 & f<0 \\ \end{array} \right. \] -¤Ç¤¢¤ë¡£ +#define CMO_INT32COEFF 30 +#define CMO_DISTRIBUTED_POLYNOMIAL 31 +#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 +#define CMO_RATIONAL 34 -¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ -$4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î -¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£ +#define CMO_64BIT_MACHINE_DOUBLE 40 +#define CMO_ARRAY_OF_64BIT_MACHINE_DOUBLE 41 +#define CMO_128BIT_MACHINE_DOUBLE 42 +#define CMO_ARRAY_OF_128BIT_MACHINE_DOUBLE 43 +#define CMO_BIGFLOAT 50 +#define CMO_IEEE_DOUBLE_FLOAT 51 -\section{mathcap ¤Ë¤Ä¤¤¤Æ} +#define CMO_INDETERMINATE 60 +#define CMO_TREE 61 +#define CMO_LAMBDA 62 +\end{verbatim} -OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© -¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã -¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£¤Þ¤¿¡¢³Æ¥½¥Õ¥È¥¦¥§¥¢ -¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤âÍ­¸ú¤Ç¤¢¤ë¡£¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) -¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ -¥¿¹½Â¤¤È¡¢¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ +¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, +CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ +¥¯¥È¤Ç¤¢¤Ã¤Æ, ¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. -¤Þ¤º¡¢¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ -¥¯¥é¥¤¥¢¥ó¥È¦¤Î mathcap ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ -¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿ mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤ߾夲¤ë¡£ -¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤³¤È¤Ë¤è¤ê¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¤ò¼è¤ê½Ð¤·¡¢ -mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ø -Á÷¤é¤Ê¤¤¤è¤¦¤ËÀßÄꤹ¤ë¡£ -¥µ¡¼¥Ð¦¤Î mathcap ¤¬Íߤ·¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£ -¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë mathcap ¤òÍ׵᤹¤ë¤È¡¢ -¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ð¼«¿È¤Î mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¤µ¤é¤Ë¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤òÁ÷¤ì¤Ð¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤Ë¤¢¤ë mathcap ¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ -¤³¤Î¤è¤¦¤Ë¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¦¤Î mathcap ¤ò¼õ¤±¼è¤ì¤ë¤ï¤±¤Ç¤¢¤ë¡£ +¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤Ëµ­Ë¡¤Ë¤Ä¤¤¤Æ, ¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯. +¤³¤ÎÏÀʸ¤Ç¤Ï, Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï, ¾åµ­¤ÇÄêµÁ¤·¤¿¼±ÊÌ»Ò +¤òɽ¤ï¤¹. ¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼ +¥¿¹½Â¤)¤ò cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤ï¤¹¤³¤È¤Ë¤¹¤ë. -¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ -mathcap ¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ -1 ¤Ä¤Î CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ý¤Ä¡£ +¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤Îµ­Ë¡¤òƳÆþ¤¹¤ë. ¤³¤Îµ­Ë¡¤Ï CMO expression +¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë. ¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. -¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤ÇÀâÌÀ¤¹¤ë 3 ¤Ä¤ÎÍ×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¤Þ¤º CMO expssion ¤Ï Lisp É÷ɽ¸½¤Î°ì¼ï¤Ç, cmo ¤ò³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤È¤· +¤Æɽ¸½¤¹¤ë. ¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϥ«¥ó¥Þ¤Ç¶èÀÚ¤ë. +Î㤨¤Ð, +\begin{quote} +(17, {\sl int32}, (CMO\_NULL), (2, {\sl int32} $n$)) +\end{quote} +¤Ï CMO expression ¤Ç¤¢¤ë. ¤³¤³¤Ç, ¾®Ê¸»ú¤Î¼ÐÂΤÇɽ¤µ¤ì¤¿``{\sl int32}'' +¤Ï 4¥Ð¥¤¥È¤ÎǤ°Õ¤Î¥Ç¡¼¥¿¤òɽ¤¹µ­¹æ¤Ç¤¢¤ê, ``{\sl int32} $n$'' ¤ÏƱ¤¸¤¯ 4 +¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤¬°Ê²¼¤ÎÀâÌÀ¤Ç $n$ ¤Èɽ¤¹¤³¤È¤ò¼¨¤¹. ¤Þ¤¿¿ô»ú 17, 2 +¤Ê¤É¤Ï 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ÇÀ°¿ôÃͤȤ·¤Æ¤ß¤¿¤È¤­¤ÎÃͤò°ÕÌ£¤¹¤ë. CMO\_NULL ¤Ï +¼±ÊÌ»Ò(¤¹¤Ê¤ï¤Á¿ô»ú 1 ¤ÈÅù²Á)¤Ç¤¢¤ë. ¤³¤Îµ­Ë¡¤«¤é¾åµ­¤Î¥Ç¡¼¥¿¤Ï 20 ¥Ð¥¤ +¥È¤ÎÂ礭¤µ¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë. +¤Ê¤ª, ¥Ç¡¼¥¿¤¬ CMO expression ¤Çɽµ­¤Ç¤­¤Æ¤â, +CMO ¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤. -\[ \begin{tabular}{|c|c|c|} \hline - $A$ & $B$ & $C$ \\ \hline - \end{tabular} \] +¤µ¤Æ, ¤³¤Îµ­Ë¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤ò»ý¤Ä¤ÈÄêµÁ¤¹¤ë. +\begin{quote} +cmo\_int32 := (CMO\_INT32, {\sl int32}) +\end{quote} +ƱÍͤË, cmo\_null, cmo\_string, cmo\_list, cmo\_mathcap ¤Î¥·¥ó¥¿¥Ã +¥¯¥¹¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë. +\begin{quote} +cmo\_null := (CMO\_NULL) \\ +cmo\_string := (CMO\_STRING, {\sl int32} $n$, {\sl string} $s$) \\ +cmo\_list := (CMO\_LIST, {\sl int32} $m$, {\sl cmo} $c_1$, $\ldots$, +{\sl cmo} $c_m$) \\ +cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) +\end{quote} +¤¿¤À¤·, {\sl string}¤ÏŬÅö¤ÊŤµ¤Î¥Ð¥¤¥ÈÎó¤òɽ¤¹. $s$ ¤Î¥Ð¥¤¥ÈĹ¤Ï $n$ +¤È°ìÃפ¹¤ë¤³¤È¤¬Í׵ᤵ¤ì¤ë. -ºÇ½é¤ÎÍ×ÁÇ $A$ ¤ÎÉôʬ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤ª¤ê¡¢ -$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ -$a_2$ ¤Ïʸ»úÎó¤Ç¥·¥¹¥Æ¥à¤Î̾Á°¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +%{\Large °Ê²¼, Åļ¤Î½ñ¤¤¤¿Éôʬ¤Ç¤¢¤ë¤¬, ÌäÂê³°¤Ç¤¢¤ë¤³¤È¤è. \\ +%¤³¤ó¤Ê¤¤¤¤²Ã¸º¤Ê¤³¤È¤Ð¤«¤ê½ñ¤¯¤«¤é, ¿®ÍѤµ¤ì¤Ê¤¤¤ó¤À¤è. +%¡ÖCMO ¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡×¤Ê¤ó¤Æ¤É¤³¤ÇÄêµÁ¤·¤¿¤ó¤À¤è. µ¬Ìó¤Ë¤â¤½¤ó¤ÊÇϼ¯¤Ê +%¸ÀÍդϤʤ¤¤¾. ¤Þ¤¸¤á¤Ë½ñ¤¯µ¤¤¬¤¢¤ë¤Î¤«? +%} +% +%¤³¤ì¤Ï CMO ¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô $a$ ¤òɽ¤¹. +% +%¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤âÄêµÁ¤¹¤ë¤¿¤á¤Ë, +%``{\sl string} $s$'' ¤òʸ»úÎó $s$ , +%``{\sl cmo} $ob$'' ¤ò CMO ¤Î $ob$ ¤È¤¹¤ë. +%¤³¤ì¤òÍѤ¤¤Æ, cmo\_string, cmo\_list ¤òÄêµÁ¤¹¤ë. +% +%{\Large ¤Þ¤¿¤¤¤¤²Ã¸º¤Ê¤³¤È¤ò.... ``ʸ»úÎó'' ¤Î³µÇ°¤¬¤Ï¤Ã¤­¤ê¤·¤Ê¤¤¤Ç¤·¤ç +%¤¦¤¬. } +% +%\begin{quote} +%cmo\_string := (CMO\_STRING, {\sl int32} $len$, {\sl string} $str$) \\ +%cmo\_list := (CMO\_LIST, {\sl int32} $n$, {\sl cmo} $ob_1$, +% {\sl cmo} $ob_2$, $\cdots$,{\sl cmo} $ob_n$) +%\end{quote} +% +%¤³¤ì¤Ï¤½¤ì¤¾¤ìŤµ $len$ ¤Îʸ»úÎó $str$ ¤È, +%$ob_1$, $ob_2$, $\cdots$, $ob_n$ ¤«¤é¤Ê¤ëŤµ $n$ ¤Î¥ê¥¹¥È¤òɽ¤¹. -\[ \begin{tabular}{|c|c|} \hline - $a_1$ & $a_2$ \\ \hline - \end{tabular} \] -2 ÈÖÌܤÎÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ -¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ë¡£ -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ -³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ËÂбþ¤¹¤ë 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +% ¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¿¨¤ì¤Æ¤ª¤¯. +% OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò +% {\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë. +% ¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë +% ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. +% ¤Ê¤ª, ¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ +% (°Ê¸å, ¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò +% »È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. +% ¤Þ¤¿, Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï, +% 2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. -\[ \begin{tabular}{|c|c|c|c|} \hline - $b_1$ & $b_2$ & $\cdots$ & $b_n$ \\ \hline - \end{tabular} \] +% Àè¤Û¤É¤Î, (CMO\_INT32, 123456789) ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç +% ¥Ð¥¤¥ÈÎó¤Ëľ¤¹¤È, +% \begin{center} +% {\tt 00 00 00 02 07 5b cd 15} +% \end{center} +% ¤È¤Ê¤ê, +% (CMO\_STRING, 6, ``OpenXM'') ¤Ï +% \begin{center} +% {\tt 00 00 00 04 00 00 00 06 4f 70 65 6e 58 4d} +% \end{center} +% ¤È¤Ê¤ë. -3 ÈÖÌܤÎÍ×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ -\[ \overbrace{ - \begin{tabular}{|c|c|c|c|} \hline - $c_1$ & $c_2$ & $\cdots$ & $c_n$ \\ \hline - \end{tabular} - }^{C} \] -%$n$ ¤Ï OX\_COMMAND °Ê³°¤Î¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤Î¼ïÎà¤Î¿ô¤ËÅù¤·¤¤¡£ -%Í×ÁÇ¿ô¤Ï 1 ¤Ç¤â¤â¤Á¤í¤ó¹½¤ï¤Ê¤¤¡£ -³Æ $c_i$ ¤â¤Þ¤¿°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -¤É¤Î $c_i$ ¤âºÇ½é¤ÎÍ×ÁǤ¬ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -\[ \overbrace{ - \begin{tabular}{|c|c|c|c|c|} \hline - $c_{i1}$ (32 ¥Ó¥Ã¥È¤ÎÀ°¿ô) & $c_{i2}$ & $c_{i3}$ & - $\cdots$ & $c_{im}$ \\ \hline - \end{tabular} - }^{c_i} \] -¤³¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎÀ°¿ôÃͤϼõ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ -$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë¡£ -¤³¤³¤Ç¤Ï¡¢ºÇ½é¤ÎÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ -¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç¡¢ -¥ê¥¹¥È $c_i$ ¤Ï CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê¡¢ -$m=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë¡£ -$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê¡¢ -$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -³ÆÍ×ÁÇ¤Ï 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ê¡¢ -¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë¡£ -\[ \overbrace{ - \begin{tabular}{|c|c|c|c|c|} \hline - $c_{i21}$ & $c_{i22}$ & $\cdots$ & $c_{i2l}$ \\ \hline - \end{tabular} - }^{c_{i2}} \] +% CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï, Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê, +% Éä¹æÉÕ¤­ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë. +% ¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë. -%¤Ê¤ª¡¢ mathcap ¥Ç¡¼¥¿¤ÎÃæ¤Ç¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë -%32 bit À°¿ô¡¢Ê¸»úÎ󡢥ꥹ¥È¹½Â¤¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ -%mathcap ¥Ç¡¼¥¿¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍƤòÍý²ò¤Ç¤­¤ë¤¿¤á¤Ë¤Ï -%ɬÁ³Åª¤Ë¤³¤ì¤é¤âÍý²ò¤Ç¤­¤ëɬÍפ¬¤¢¤ë -%(¤Ã¤Æ¤³¤È¤Ï CMO ·Á¼°¤Î¤È¤³¤í¤Ç¤³¤ì¤é¤ò -%ÀâÌÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ã¤Æ¤³¤È¤Ç¤¹)¡£ +% \begin{tabular}{|c|c|c|c|c|} \hline +% $f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline +% \end{tabular} -¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦¡£ -%¤Ê¤ª¡¢ $a_1$, $a_2$, $\cdots$, $a_n$ ¤òÍ×ÁÇ¤Ë -%»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ -%ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò -%¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ -̾Á°¤¬ ``ox\_test'' ¡¢¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ -$A$ ¤ÎÉôʬ¤Ï +% ¤³¤³¤Ç, 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·, +% $f$ ¤ÏÉä¹æÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò, +% $b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹æ¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë. +% ¤µ¤é¤Ë, $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. +% ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï +% \[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots +% + b_{n-1} (2^{32})^{n-1} \} \] +% ¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë. +% ¤¿¤À¤·, +% \[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} +% 1 & f>0 \\ +% 0 & f=0 \\ +% -1 & f<0 \\ \end{array} \right. \] +% ¤Ç¤¢¤ë. + +% ¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦. +% $4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î +% ¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼, ¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È, +% \begin{center} +% {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë. ¤Þ¤¿, Ʊ¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È, +% \begin{center} +% {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë. + + +\section{mathcap ¤Ë¤Ä¤¤¤Æ} + +OpenXM µ¬Ìó¤Ç¤Ï, ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© +¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë. ¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã +¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿, ³Æ¥½¥Õ¥È¥¦¥§¥¢ +¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤âÍ­¸ú¤Ç¤¢¤ë. ¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) +¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë. ¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ +¥¿¹½Â¤¤È, ¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. + +¤Ç¤Ï, ¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. + +Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap +¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. +¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì +¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·, mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê +¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦. + +ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿ +Îá SM\_mathcap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. +¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È +(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë +Á÷ÉÕ¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ, À©¸Â¤ò¤«¤±¤ë. + +¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. +mathcap ¤Ï CMO ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç, ¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë \\ \begin{tabular}{|c|c|} \hline -199911250 & "ox\_test" \\ \hline -\end{tabular} -¤È¤Ê¤ë¡£ -¤µ¤é¤Ë¡¢¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬ -Ì¿Îᥳ¡¼¥É 2, 3, 5, 7, 11 ÈÖ¤òÍøÍѲÄǽ -(¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÌ¿Îᥳ¡¼¥É¤Ï¸ºß¤·¤Ê¤¤)¤Ç¤¢¤ì¤Ð¡¢ $B$ ¤ÎÉôʬ¤Ï -\begin{tabular}{|c|c|c|c|c|} \hline -2 & 3 & 5 & 7 & 11 \\ \hline -\end{tabular} -¤È¤Ê¤ê¡¢ -CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡¢Ê¸»úÎó¡¢ mathcap ¡¢¥ê¥¹¥È¹½Â¤¤Î¤ß¤¬ -¼õ¤±¼è¤ì¤ë¤È¤­¤Ë¤Ï¡¢ $C$ ¤ÎÉôʬ¤Ï -\begin{tabular}{|c|} \hline - \\[-5mm] - \begin{tabular}{|c|c|} \hline - & \\[-5mm] - OX\_DATA & - \begin{tabular}{|c|c|c|c|} \hline - CMO\_INT32 & CMO\_STRING & CMO\_MATHCAP & CMO\_LIST \\ \hline - \end{tabular} \\[0.8mm] \hline - \end{tabular} \\[1.4mm] \hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline \end{tabular} \\ -¤È¤Ê¤ë¡£ -CMO\_ZZ ¤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¥µ¡¼¥Ð¤Ï¿ÇÜĹÀ°¿ô¤¬Á÷¤é¤ì¤Æ¤³¤Ê¤¤¤³¤È¤ò´üÂÔ¤·¤Æ -¤¤¤ë¡£ +¤Î¹½Â¤¤ò»ý¤Á¥Ø¥Ã¥À¤ÎÃÍ¤Ï 5 ¤Ç¤¢¤ë(\ref{sec:cmo} Àá¤ò»²¾È¤Î¤³¤È). +¥Ü¥Ç¥£¤Ï cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. -¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤³¤È¤È¤Ï¤Þ¤Ã -¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤ÇÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ +%\begin{quote} +% cmo\_mathcap := (CMO\_MATHCAP,{\sl cmo} obj) +%\end{quote} -{\Huge ¤Ã¤Æ¤Ê¤ó¤Ç¤Ç¤·¤ç¤¦¤«? ¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤òÃΤé¤Ê¤¤¤È¼õ¤±¼è¤ì¤Ê¤¤¤È -»×¤¦¤ó¤Ç¤¹¤¬$\ldots$} +¤µ¤Æ, mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ü¥Ç¥£¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤Î¾ò·ï¤ò +Ëþ¤¿¤¹¤³¤È¤òÍ׵ᤵ¤ì¤ë. +¤Þ¤º, ¤½¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¾¯¤Ê¤¯¤È¤â¥ê¥¹¥ÈŤ¬ 3 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð +¤Ê¤é¤Ê¤¤. +\begin{quote} +(CMO\_LIST, {\sl int32}, {\sl cmo} $A$, {\sl cmo} $B$, {\sl cmo} $C$, $\ldots$) +\end{quote} + +Âè°ìÍ×ÁÇ $A$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê, ¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å, +$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò, +$a_2$, $a_3$, $a_4$ ¤Ïʸ»úÎó¤Ç¤¢¤ê, +¤½¤ì¤¾¤ì¥·¥¹¥Æ¥à¤Î̾Á°, , HOSTTYPE ¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. +\begin{quote} +(CMO\_LIST, {\sl int32}, +{\sl cmo\_int32} $a_1$, {\sl cmo\_string} $a_2$, {\sl cmo\_string} +$a_3$, {\sl cmo\_string} $a_4$, $\ldots$) +\end{quote} + +ÂèÆóÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë. +¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ cmo\_int32 ¤Ç¤¢¤ë. +\ref{sec:oxsm} Àá¤ÇÀâÌÀ¤·¤¿¤¬, +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ {\sl int32} ¤Çɽ¤µ¤ì¤Æ¤¤¤¿¤³¤È¤ËÃí°Õ¤·¤è +¤¦. ³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ò¥Ü¥Ç¥£¤È¤·¤¿ cmo\_int32 ¤È¤Ê¤Ã¤Æ¤¤¤ë. +\begin{quote} + (CMO\_LIST, {\sl int32} $n$, + {\sl cmo\_int32} $b_1$, {\sl cmo\_int32} $b_2$, + $\cdots$, {\sl cmo\_int32} $b_n$) +\end{quote} + +Âè»°Í×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë. +\begin{quote} + (CMO\_LIST, {\sl int32} $m$, \\ + \hspace{10mm} (CMO\_LIST, {\sl int32} $l_1$, {\sl cmo\_int32} $c_{11}$, + {\sl cmo} $c_{12}$, $\cdots$, {\sl cmo} $c_{1l_1}$) \\ + \hspace{10mm} (CMO\_LIST, {\sl int32} $l_2$, {\sl cmo\_int32} $c_{21}$, + {\sl cmo} $c_{22}$, $\cdots$, {\sl cmo} $c_{1l_2}$) \\ + \hspace{10mm} $\vdots$ \\ + \hspace{10mm} (CMO\_LIST, {\sl int32} $l_m$, {\sl cmo\_int32} $c_{m1}$, + {\sl cmo} $c_{m2}$, $\cdots$, {\sl cmo} $c_{1l_m}$)) +\end{quote} +¤É¤Î $c_{i1}$ ¤Ë¤â cmo\_int32 ¤¬Æþ¤Ã¤Æ¤ª¤ê, +OX\_COMMAND °Ê³°¤Î, ¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻Ҥ¬Æþ¤Ã¤Æ¤¤¤ë. +$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë. +¤³¤³¤Ç¤Ï, OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë. +¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç, +$c_{i1}$, $c_{i2}$, $\cdots$, $c_{il_i}$ ¤òÍ×ÁǤȤ¹¤ë cmo\_list ¤Ï +CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê, $l_i=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë. +$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê, +$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê cmo\_list ¤Ë¤Ê¤Ã¤Æ¤¤¤ë. +³ÆÍ×ÁÇ¤Ï cmo\_int32 ¤Ç¤¢¤ê, +¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë. +\begin{quote} + (CMO\_LIST, {\sl int32} $k$, + {\sl cmo\_int32} $c_{i21}$, {\sl cmo\_int32} $c_{i22}$, + $\cdots$, {\sl cmo\_int32} $c_{i2k}$) +\end{quote} + +¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦. +̾Á°¤¬ ``ox\_test'', ¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç, +PC-UNIX ¾å¤ÇÆ°¤¤¤Æ¤¤¤ì¤Ð, +$A$ ¤ÎÉôʬ¤Ï +\begin{quote} +(CMO\_LIST, 4, (CMO\_INT32, $199911250$), (CMO\_STRING, 7, "ox\_test"), + (CMO\_STRING, 9, "199911250"), (CMO\_STRING, 4, "i386")) +\end{quote} +¤È¤Ê¤ë. +%({\Large ½¤Àµ¤ò¤ß¤Æ, ¤¿¤À¤·¤¯Ä¾¤¹¤³¤È}) + +¤µ¤é¤Ë, ¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬ +Ì¿Îá SM\_popCMO, SM\_popString, SM\_mathcap, +SM\_executeStringByLocalParser ¤òÍøÍѲÄǽ +%(¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÌ¿Îᥳ¡¼¥É¤Ï¸ºß¤·¤Ê¤¤) +%{\Large ¤¸¤ã¤¢½ñ¤¯¤Ê} +¤Ç¤¢¤ì¤Ð, $B$ ¤ÎÉôʬ¤Ï +\begin{quote} +(CMO\_LIST, {\sl int32} $5$, + (CMO\_INT32, SM\_popCMO), (CMO\_INT32, SM\_popString), + (CMO\_INT32, SM\_mathcap), + (CMO\_INT32, SM\_executeStringByLocalParser)) +\end{quote} +¤È¤Ê¤ê, +CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô, ʸ»úÎó, mathcap , ¥ê¥¹¥È¹½Â¤¤Î¤ß¤¬ +¼õ¤±¼è¤ì¤ë¤È¤­¤Ë¤Ï, $C$ ¤ÎÉôʬ¤Ï +\begin{quote} + (CMO\_LIST, {\sl int32} $1$, \\ + \ \ (CMO\_LIST, {\sl int32} $2$, (CMO\_INT32, OX\_DATA), \\ + \ \ \ \ (CMO\_LIST, {\sl int32} $4$, + (CMO\_INT32, CMO\_INT32), (CMO\_INT32, CMO\_STRING), + (CMO\_INT32, CMO\_MATHCAP), (CMO\_INT32, CMO\_LIST)))) +\end{quote} +¤È¤Ê¤ë. + +% ¤Ê¤ª, ¤³¤Î mathcap ¤Ç¤Ï, ¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤«¤É¤¦¤« +% ¤Þ¤Ç¤Ïʬ¤«¤é¤Ê¤¤¤Î¤ÇÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë. + \section{¥»¥­¥å¥ê¥Æ¥£Âкö} -OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë¡£¥Í¥Ã¥È¥ï¡¼¥¯ -¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® -»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ +OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë. ¥Í¥Ã¥È¥ï¡¼¥¯ +¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ, OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® +»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë. °Ê²¼, ¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. -{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬¡¢} +{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬, } -¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤­¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤¹¤ë¤¿ -¤á¤Ë¡¢Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·¡¢ -¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë(¤ä¤Ã¤Ñ¤ê°ÕÌ£ÉÔÌÀ¤Ç¤¢¤ë)¡£ +OpenXM ¤Ç¤Ï¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤­¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á, +Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·, +¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë. -¤Þ¤¿¡¢¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤­¤òÁÀ¤Ã¤Æ¤¯¤ë²ÄǽÀ­¤â¤¢¤ë¤Î¤Ç¡¢ -Àܳ¤ò¹Ô¤Ê¤¦»þ¤ËÀܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë(郎·è¤á¤Æ¤¤ -¤ë¤Î¤«¤Ï¤ä¤Ã¤Ñ¤êÉÔÌÀ¤Ç¤¢¤ë¤¬)¡£ -¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À­¤ò¹â¤á¤ë¤¿¤á¤Ë¡¢ -Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤òºîÀ®¤·¡¢ -¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦(郎¥Ñ¥¹¥ï¡¼¥É¤ò·è¤á¤Æ郎ǧ¾Ú¤ò¹Ô¤Ã -¤Æ¤¤¤ë¤Î¤«¤¬ÉÔÌÀ¤À¤±¤É)¡£ -¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ -¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£ +(ɽ¸½¤ò¾¯¤·¤«¤¨¤¿¤À¤±¤Ç¤Ï¤À¤á¤Ç¤·¤ç¤¦. ÆâÍƤ¬¤ï¤«¤é¤Ê¤¤¤ó¤À¤«¤é. ) -%¤Ê¤ª¡¢¾åµ­¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ -%¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£ -%¤Þ¤¿¡¢Æ±°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°­°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë -%¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -%¤Ê¤¼¤Ê¤é¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë -%¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£ +¤·¤«¤·, ¤³¤ì¤À¤±¤Ç¤Ï¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤­¤òÁÀ¤ï¤ì¤ë²ÄǽÀ­¤â¤¢¤ë. +¤½¤³¤ÇÀܳ¤ò¹Ô¤Ê¤¦»þ¤Ë, Àܳ¤òÂÔ¤Ä port ÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë. +¤³¤¦¤¹¤ë¤³¤È¤Ç, ÆÃÄê¤Î port ÈÖ¹æ¤òÁÀ¤Ã¤ÆÀܳ¤ò¹Ô¤Ê¤¦¼ê¸ý¤ò´ö¤é +¤«Ëɤ°¤³¤È¤¬¤Ç¤­¤ë. -¤Ê¤ª¡¢Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï¡¢ -Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ -¤â¤·É¬Íפ¬¤¢¤ì¤Ð¡¢ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½¤¬¤¢¤ë -¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¡£ +¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À­¤ò¹â¤á¤ë¤¿¤á¤Ë, Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼ +¥É¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ºîÀ®¤·, ¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦. +¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç, +¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤Ç¤¢¤ë. +¤Ê¤ª, ¾åµ­¤Î port ÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¤¤ +¤ë. ¤Þ¤¿, Ʊ°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°­°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë¤³ +¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤Ê¤¼¤Ê¤é, ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð, ¤ª¤è¤Ó¥¯¥é¥¤ +¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î port ÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã +¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë. + +¤Ê¤ª, Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï, Æä˰Ź沽¤Ê¤É¤Î½è +ÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤. ¤â¤·É¬Íפ¬¤¢¤ì¤Ð, ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½ +¤¬¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤Ë¤·¤Æ¤¤¤ë. + + \section{¾¤Î¥×¥í¥¸¥§¥¯¥È} -¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£ +¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦. \begin{itemize} -\item OpenMath\\ -OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊý -Ë¡¤òµ¬Äꤷ¤Æ¤¤¤ë¡£³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î¥ª¥Ö¥¸¥§¥¯ -¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤Æ¤âÄê¤á¤é¤ì¤Æ¤¤¤ë¡£É½¸½ÊýË¡¤Ï´ö¤Ä¤«¤ÎÃʳ¬¤ÇÄê¤á¤é¤ì¤Æ -¤¤¤Æ¡¢XML ɽ¸½¤ä binary ɽ¸½¤Ê¤É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¾ÜºÙ¤Ï +\item OpenMath http://www.openmath.org/omsoc/ A.M.Cohen +¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊý +Ë¡¤òµ¬Äꤷ¤Æ¤¤¤ë. +%³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë +%¤Ä¤¤¤Æ¤âÄê¤á¤é¤ì¤Æ¤¤¤ë. +ɽ¸½ÊýË¡¤Ï´ö¤Ä¤«¤ÎÃʳ¬¤ÇÄê¤á¤é¤ì¤Æ¤¤¤Æ, +XML ɽ¸½¤ä¥Ð¥¤¥Ê¥êɽ¸½¤Ê¤É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë. + + \item NetSolve http://www.cs.utk.edu/netsolve/ +¥Í¥Ã¥È¥ï¡¼¥¯¤ò»È¤¤, ·×»»µ¡¤Î»ñ¸»¤ò + + \item MP http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html @@ -488,14 +610,15 @@ http://horse.mcs.kent.edu/~pwang/ \section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} -¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬ -¤¢¤ë¡£¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È -¤¬¤Ç¤­¤ë¡£¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢asir, -sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, -ox\_sm1\_gnuplot, ox\_math ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ OpenMath +¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬¤¢¤ë. +¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È +¤¬¤Ç¤­¤ë. ¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï, asir, +sm1, gnuplot, Mathematica, PHC pack ¤Ê¤É¤¬¤¢¤ê, +¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_sm1\_gnuplot, ox\_math, ox\_sm1\_phc +¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. ¤Þ¤¿, OpenMath µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹ -¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ -¤ì¤Æ¤¤¤ë¡£ +¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê, OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ +¤ì¤Æ¤¤¤ë. \begin{thebibliography}{99} \bibitem{Ohara-Takayama-Noro-1999}