=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.92 retrieving revision 1.122 diff -u -p -r1.92 -r1.122 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/25 17:05:28 1.92 +++ OpenXM/doc/Attic/genkou19991125.tex 2000/01/07 09:07:53 1.122 @@ -1,17 +1,10 @@ \documentclass{jarticle} -%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.91 1999/12/25 15:57:31 tam Exp $ +%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.121 2000/01/07 08:24:52 tam Exp $ \usepackage{jssac} -\title{OpenXM ¤Î¸½¾õ¤Ë¤Ä¤¤¤Æ -1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦. \\ -2. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì. \\ -3. Åļ¤¬Í·¤ó¤Ç¤Ð¤«¤ê¤Ç¤ª¤ì¤Ð¤«¤ê»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ï¤É¤¦¹Í¤¨¤Æ¤âÉÔ¸øÊ¿¤À. -¤Ê¤ó¤Ç»Å»ö¤ò¤·¤Ê¤¤¤Î¤«, ¤¤¤¤²Ã¸º»Å»ö¤ò¤·¤í, Åļ. \\ -3.5 ¤½¤¦¤¤¤¦¤´ÈӤȤ«¤Ä¤Þ¤é¤Ê¤¤Ï两ã¤Ê¤¯¤Æ, commit ¤Î¾ðÊó¤ò¤ß¤ì¤ÐÅļ¤¬ -Ç¡²¿¤Ë»Å»ö¤ò¤·¤Æ¤¤¤Ê¤¤¤Î¤«¤è¤¯¤ï¤«¤ë¤è. \\ -} +\title{OpenXM ¥×¥í¥¸¥§¥¯¥È¤Î¸½¾õ¤Ë¤Ä¤¤¤Æ} \author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} \mail{okutani@math.sci.kobe-u.ac.jp} \and ¾® ¸¶ ¡¡ ¸ù Ǥ\affil{¶âÂôÂç³ØÍý³ØÉô} @@ -30,14 +23,13 @@ \begin{document} \maketitle - \section{OpenXM¤È¤Ï} OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë. ¿ô³Ø¥×¥í ¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê, ¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø ¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê, ¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë ¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë. ¤Ê¤ª, OpenXM ¤È¤Ï Open message eXchange protocol for -Mathematics ¤Îά¤Ç¤¢¤ë. OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê, asir ¤È +Mathematics ¤Îά¤Ç¤¢¤ë. OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê, asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë. ½é´ü¤Î¼ÂÁõ¤Ç¤Ï, Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿. @@ -51,34 +43,35 @@ kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë. »úÎó¤È¤·¤Æ, ¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Ä ǽ¤È¤Ê¤Ã¤Æ¤¤¤ë. -OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬, ¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP -¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤. \footnote{asir ¤Ë¤Ï MPI ¤òÍѤ¤¤¿¼ÂÁõ -¤â¤¢¤ë.} ¤½¤³¤Ç, ¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ -¤ë. +OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë¼«Í³ÅÙ¤¬¤¢¤ë¤¬, ¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤ +¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤. +\footnote{¤¿¤À¤· asir ¤Ë¤Ï MPI ¤òÍѤ¤¤¿¼ÂÁõ¤â¤¢¤ë.} +¤½¤³¤Ç, ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤òÍѤ¤¤¿¼ÂÁõ¤Ë½àµò¤·¤ÆOpenXM ¤ÎÀâÌÀ¤ò¤¹¤ë. -\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} +\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤}\label{sec:messages} + ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë. ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç ¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦. OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê, ¼¡ ¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë. - +\begin{center} \begin{tabular}{|c|c|} \hline -¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline \end{tabular} - +\end{center} ¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸ ¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬, Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤. ¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë. \begin{enumerate} \item -Á°È¾¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê, ¥¿¥°¤È¸Æ¤Ð¤ì¤ë. +Á°È¾¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤¹¼±Ê̻ҤǤ¢¤ê, ¥¿¥°¤È¸Æ¤Ð¤ì¤ë. \item -¸åȾ¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë. +¸åȾ¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë. \end{enumerate} ¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë. @@ -86,18 +79,18 @@ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ Âê¤Ë¤Ê¤ë¤Î¤ÏÉé¿ô¤Îɽ¸½¤È¥Ð¥¤¥È¥ª¡¼¥À¡¼¤ÎÌäÂê¤Ç¤¢¤ë. ¤Þ¤º, Éé¿ô¤òɽ¤¹É¬ Íפ¬¤¢¤ë¤È¤­¤Ë¤Ï2¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. ¼¡¤Ë¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç ¤¢¤ë¤¬, OpenXM µ¬Ìó¤ÏÊ£¿ô¤Î¥Ð¥¤¥È¥ª¡¼¥À¡¼¤òµöÍƤ¹¤ë. ¤¿¤À¤·°ì¤Ä¤ÎÄÌ¿®Ï© -¤Ç¤Ï¤Ò¤È¤Ä¤Î¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Î¤ß¤¬µö¤µ¤ì, ÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±Áª¤Ð¤ì¤ë. +¤Ç¤Ï¤Ò¤È¤Ä¤Î¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Î¤ß¤¬µö¤µ¤ì, ÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±Áª¤Ð¤ì¤ë. ¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï, ¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. \begin{verbatim} -#define OX_COMMAND 513 -#define OX_DATA 514 -#define OX_SYNC_BALL 515 -#define OX_DATA_WITH_LENGTH 521 -#define OX_DATA_OPENMATH_XML 523 -#define OX_DATA_OPENMATH_BINARY 524 -#define OX_DATA_MP 525 +#define OX_COMMAND 513 +#define OX_DATA 514 +#define OX_SYNC_BALL 515 +#define OX_DATA_WITH_LENGTH 521 +#define OX_DATA_OPENMATH_XML 523 +#define OX_DATA_OPENMATH_BINARY 524 +#define OX_DATA_MP 525 \end{verbatim} ¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë @@ -106,33 +99,35 @@ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß, ÀâÌÀ¤¹¤ë. ´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï, ¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· -¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë. ¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î -¸ÇÍ­¤Îɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­¸ú¤Ç¤¢¤ë. ¿·¤·¤¤¼±ÊÌ»Ò -¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. +¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë. ¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢ +¤Î¸ÇÍ­¤Îɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­¸ú¤Ç¤¢¤ë. ¿·¤·¤¤¼± +Ê̻ҤÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. \section{OpenXM ¤Î·×»»¥â¥Ç¥ë} -OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¤Þ¤¿, OpenXM µ¬ +OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¤Þ¤¿, OpenXM µ¬ Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç, ¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ -¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ -¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ -ÆÀ¤é¤ì¤ë. ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë. ¤Ä¤Þ¤ê, -¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬, ¥µ¡¼¥Ð¤«¤é¤Ï¼« -ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤. ¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó -¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá -¤Ç½Ò¤Ù¤ë. +¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë. +\footnote{¸½ºß, ¼ç¤ËÌîϤ¤¬ OpenXM ¤Î·×»»¥â¥Ç¥ë¤Î³ÈÄ¥¤ò¹Í¤¨¤Æ¤¤¤ë. ¸úΨ +Ū¤Êʬ»¶·×»»¤Î¥¢¥ë¥´¥ê¥º¥à¤Î¿¤¯¤Ï¥µ¡¼¥ÐƱ»Î¤ÎÄÌ¿®¤âÍ׵᤹¤ë¤«¤é¤Ç¤¢¤ë.} +¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼ +¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤ë. ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê +¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë. ¤Ä¤Þ¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸ +¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬, ¥µ¡¼¥Ð¤«¤é¤Ï¼«È¯Åª¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³ +¤È¤Ï¤Ê¤¤. ¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë. ¥¹¥¿¥Ã +¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá¤Ç½Ò¤Ù¤ë. ¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ -¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá +¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá (OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ -±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦. ¤³¤Î¤È¤­, Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è -¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê, ¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ -¤¢¤ë. ¤â¤·, Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë -¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ -¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð -¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ, ¥µ¡¼¥Ð¤«¤é¥¯¥é -¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë. +±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦. ¤³¤Î¤È¤­, Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò +¼è¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê, ¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È +¤¬¤¢¤ë. ¤â¤·, Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì +¹ç¤Ë¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó +¥È¤¬ÆÀ¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò +¥µ¡¼¥Ð¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ, ¥µ¡¼¥Ð +¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë. ¤Þ¤È¤á¤ë¤È, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê, ·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤ ¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë. @@ -143,42 +138,45 @@ OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. \item ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë·×»»¤ÎÌ¿Îá¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¤¢¤é¤«¤¸¤áÄê¤á¤ì¤é¤¿Æ° -ºî¤ò¹Ô¤¦. °ìÉô¤ÎÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë. Î㤨¤Ð +ºî¤ò¹Ô¤¦. °ìÉô¤ÎÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë. Î㤨¤Ð SM\_executeFunction, \\ SM\_executeStringByLocalParser ¤Ê¤É¤ÎÌ¿Îá¤Ï, ¥¹ -¥¿¥Ã¥¯¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é·×»»¤ò¹Ô¤¦. SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString +¥¿¥Ã¥¯¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é·×»»¤ò¹Ô¤¦. SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString ¤Ï, ¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê¤À¤·, ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤êÊÖ¤¹. \end{enumerate} \section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} -OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë. °Ê²¼, OpenXM -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö. ¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ +OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë. °Ê²¼, OpenXM +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö. ¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ ¤·¤è¤¦. ¤Þ¤º, OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê ¤¹¤ë¤¬, OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤà, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï -µ¬Äꤷ¤Ê¤¤. ¤Ä¤Þ¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë -¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë. ¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë, ³Æ¿ô³Ø¥·¥¹ -¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë. ¤³¤ÎÊÑ -´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤. +µ¬Äꤷ¤Ê¤¤. ¤Ä¤Þ¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤ +¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë. ¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë, ³Æ¿ô³Ø +¥·¥¹¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë. +¤³¤ÎÊÑ´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤. ¤â¤Á¤í¤ó, ×ó°ÕŪ¤ËÊÑ´¹¤·¤Æ¤è¤¤¤ï¤± +¤Ç¤Ï¤Ê¤¯, ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤ËÊÑ´¹ÊýË¡¤ò¤¢¤é¤«¤¸¤áÄê¤á¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë. +¤³¤Î¤è¤¦¤Ê¶¦Ä̤Υǡ¼¥¿·Á¼°¤È³Æ¥·¥¹¥Æ¥à¤Ç¤Î¸ÇÍ­¤Î¥Ç¡¼¥¿·Á¼°¤È¤ÎÊÑ´¹¤ÎÌäÂê +¤Ï OpenXM ¤Ë¸Â¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¤. OpenMath (\ref{sec:other} Àá¤ò»²¾È¤Î¤³ +¤È) ¤Ç¤Ï¤³¤ÎÊÑ´¹¤ò¹Ô¤¦¥½¥Õ¥È¥¦¥§¥¢¤ò Phrasebook ¤È¸Æ¤ó¤Ç¤¤¤ë. -¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. OpenXM ¥¹¥¿¥Ã¥¯ -¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä. OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È -ƱÍͤË, 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç, ¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î -ɽµ­¤Ë¤·¤¿¤¬¤¦. OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ -¤È¤Ï¤Ê¤¤. ¸½ºß¤Î¤È¤³¤í, OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. +¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. OpenXM ¥¹¥¿¥Ã¥¯ +¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï 4 ¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä. OpenXM µ¬Ìó¤Î¾¤Îµ¬ +Äê¤ÈƱÍͤË, 4 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç, ¤³¤ÎÏÀʸ¤Ç¤â +¤½¤Îɽµ­¤Ë¤·¤¿¤¬¤¦. OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì +¤ë¤³¤È¤Ï¤Ê¤¤. ¸½ºß¤Î¤È¤³¤í, OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. \begin{verbatim} #define SM_popSerializedLocalObject 258 #define SM_popCMO 262 #define SM_popString 263 - #define SM_mathcap 264 #define SM_pops 265 #define SM_setName 266 #define SM_evalName 267 -#define SM_executeStringByLocalParser 268 +#define SM_executeStringByLocalParser 268 #define SM_executeFunction 269 #define SM_beginBlock 270 #define SM_endBlock 271 @@ -187,10 +185,8 @@ OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤ #define SM_executeStringByLocalParserInBatchMode 274 #define SM_getsp 275 #define SM_dupErrors 276 - #define SM_DUMMY_sendcmo 280 #define SM_sync_ball 281 - #define SM_control_kill 1024 #define SM_control_to_debug_mode 1025 #define SM_control_exit_debug_mode 1026 @@ -200,8 +196,8 @@ OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤ #define SM_control_reset_connection 1030 \end{verbatim} -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë. -·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç, ¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë. +·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç, ¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ¤¿¤È¤¨¤Ð, Ì¿Îá SM\_executeStringByLocalParser ¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª ¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô ¤Ê¤¦¤¬, ¹Ô¤Ê¤Ã¤¿·×»»¤Î·ë²Ì¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. @@ -212,91 +208,86 @@ OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤ \section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} OpenXM µ¬Ìó¤Ç¤Ï, ¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common -Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë. ¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ +Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë. ¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ ¥¿¤Ï, ¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ ¤Æ¤¤¤ë. CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä. - -\begin{tabular}{|c|c|} \hline -¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline +\begin{center} +\begin{tabular}{|c|c|} +\hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ +\hline \end{tabular} - -¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬, +\end{center} +¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬, 0¤Ç¤â¤è¤¤. -¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë. ¤¹¤Ê¤ï¤Á, CMO ¤Ç¤Ï¥Ø¥Ã -¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à. ¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦. ¤µ¤Æ, -CMO ¤Ç¤Ï, ¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë. ¤¹¤Ê¤ï¤Á, ¥¿¥°¤Ï¤½¤ì -¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë. ¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï -\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë. ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ -ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. +¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë. ¤¹¤Ê¤ï¤Á, CMO ¤Ç¤Ï +¥Ø¥Ã¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à. ¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦. +¤µ¤Æ, CMO ¤Ç¤Ï, ¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë. ¤¹¤Ê¤ï¤Á, ¥¿ +¥°¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë. ¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ +¹½Â¤¤Ï\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë. ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î +CMO ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. \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 - -#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 - -#define CMO_INT32COEFF 30 -#define CMO_DISTRIBUTED_POLYNOMIAL 31 -#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 -#define CMO_RATIONAL 34 - +#define CMO_ERROR2 0x7f000002 +#define CMO_NULL 1 +#define CMO_INT32 2 +#define CMO_DATUM 3 +#define CMO_STRING 4 +#define CMO_MATHCAP 5 +#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 +#define CMO_INT32COEFF 30 +#define CMO_DISTRIBUTED_POLYNOMIAL 31 +#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 +#define CMO_RATIONAL 34 #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 - -#define CMO_INDETERMINATE 60 -#define CMO_TREE 61 -#define CMO_LAMBDA 62 +#define CMO_BIGFLOAT 50 +#define CMO_IEEE_DOUBLE_FLOAT 51 +#define CMO_INDETERMINATE 60 +#define CMO_TREE 61 +#define CMO_LAMBDA 62 \end{verbatim} ¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ ¥¯¥È¤Ç¤¢¤Ã¤Æ, ¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. -¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤Ëµ­Ë¡¤Ë¤Ä¤¤¤Æ, ¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯. -¤³¤ÎÏÀʸ¤Ç¤Ï, Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï, ¾åµ­¤ÇÄêµÁ¤·¤¿¼±ÊÌ»Ò -¤òɽ¤ï¤¹. ¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼ -¥¿¹½Â¤)¤ò cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤ï¤¹¤³¤È¤Ë¤¹¤ë. +¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤Ëµ­Ë¡¤Ë¤Ä¤¤¤Æ, ¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯. ¤³¤ÎÏÀʸ +¤Ç¤Ï, Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï, ¾åµ­¤ÇÄêµÁ¤·¤¿¼±Ê̻Ҥòɽ¤¹. +¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼¥¿¹½Â¤) ¤ò +cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤¹¤³¤È¤Ë¤¹¤ë. -¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤Îµ­Ë¡¤òƳÆþ¤¹¤ë. ¤³¤Îµ­Ë¡¤Ï CMO expression -¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë. ¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. +¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤Îµ­Ë¡¤òƳÆþ¤¹¤ë. ¤³¤Îµ­Ë¡¤Ï CMO expression +¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë. ¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. -¤Þ¤º CMO expssion ¤Ï Lisp É÷ɽ¸½¤Î°ì¼ï¤Ç, cmo ¤ò³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤È¤· -¤Æɽ¸½¤¹¤ë. ¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϥ«¥ó¥Þ¤Ç¶èÀÚ¤ë. -Î㤨¤Ð, +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 expression ¤Ç¤¢¤ë. ¤³¤³¤Ç, ¾®Ê¸»ú¤Î¼ÐÂΤÇɽ¤µ¤ì¤¿``{\sl int32}'' +¤Ï 4 ¥Ð¥¤¥È¤ÎǤ°Õ¤Î¥Ç¡¼¥¿¤òɽ¤¹µ­¹æ¤Ç¤¢¤ê, ``{\sl int32} $n$'' ¤ÏƱ¤¸¤¯ +4 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤¬°Ê²¼¤ÎÀâÌÀ¤Ç $n$ ¤Èɽ¤¹¤³¤È¤ò¼¨¤¹. ¤Þ¤¿¿ô»ú 17, +2 ¤Ê¤É¤Ï 4 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ÇÀ°¿ôÃͤȤ·¤Æ¤ß¤¿¤È¤­¤ÎÃͤò°ÕÌ£¤¹¤ë. CMO\_NULL +¤Ï¼±ÊÌ»Ò(¤¹¤Ê¤ï¤Á¿ô»ú 1 ¤ÈÅù²Á)¤Ç¤¢¤ë. ¤³¤Îµ­Ë¡¤«¤é¾åµ­¤Î¥Ç¡¼¥¿¤Ï 20 ¥Ð +¥¤¥È¤ÎÂ礭¤µ¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë. ¤Ê¤ª, CMO expression ¤Ïñ¤Ê¤ëɽ +µ­Ë¡¤Ç¤¢¤ë¤³¤È¤ËÆäËÃí°Õ¤·¤Æ¤Û¤·¤¤. ¤µ¤Æ, ¤³¤Îµ­Ë¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤Ç¤¢¤ë¤ÈÄêµÁ¤¹¤ë. \begin{quote} @@ -311,31 +302,31 @@ cmo\_list := (CMO\_LIST, {\sl int32} $m$, {\sl cmo} $c {\sl cmo} $c_m$) \\ cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) \end{quote} -¤¿¤À¤·, {\sl string}¤ÏŬÅö¤ÊŤµ¤Î¥Ð¥¤¥ÈÎó¤òɽ¤¹. $s$ ¤Î¥Ð¥¤¥ÈĹ¤Ï $n$ +¤¿¤À¤·, {\sl string}¤ÏŬÅö¤ÊŤµ¤Î¥Ð¥¤¥ÈÎó¤òɽ¤¹. $s$ ¤Î¥Ð¥¤¥ÈĹ¤Ï $n$ ¤È°ìÃפ¹¤ë¤³¤È¤¬Í׵ᤵ¤ì¤ë. \section{mathcap ¤Ë¤Ä¤¤¤Æ} OpenXM µ¬Ìó¤Ç¤Ï, ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© -¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë. ¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã -¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿, ³Æ¥½¥Õ¥È¥¦¥§¥¢ -¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤âÍ­¸ú¤Ç¤¢¤ë. ¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) -¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë. ¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ -¥¿¹½Â¤¤È, ¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. +¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë. ¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î +¥á¥Ã¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿, ³Æ¥½¥Õ¥È +¥¦¥§¥¢¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤âÍ­¸ú¤Ç¤¢¤ë. ¤³¤ÎÀ©¸Â(¤¢¤ë¤¤ +¤Ï³ÈÄ¥) ¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë. ¤³¤ÎÀá¤Ç¤Ï +mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤È, ¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. -¤Ç¤Ï, ¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. +¤Þ¤º, ¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. -Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap -¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. +Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap +¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì ¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·, mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê ¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦. -ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá \\ -SM\_mathcap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. -¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È -(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë -Á÷ÉÕ¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ, À©¸Â¤ò¤«¤±¤ë. +ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¤Þ¤º, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼ +¥Ð¤ËÌ¿Îá SM\_mathcap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤Ë +ÀѤà. ¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§ +¥¯¥È(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó +¥È¤ËÁ÷ÉÕ¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ, À©¸Â¤ò¤«¤±¤ë. ¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. mathcap ¤Ï cmo ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç, ¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë @@ -352,82 +343,73 @@ cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) (CMO\_LIST, {\sl int32}, {\sl cmo} $a$, {\sl cmo} $b$, {\sl cmo} $c$, $\ldots$) \end{quote} -Âè°ìÍ×ÁÇ $a$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê, ¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å, $a_1$ ¤Ï -cmo\_int32 ¤Ç¥Ð¡¼¥¸¥ç¥ó¤òɽ¤¹, $a_2$, $a_3$, $a_4$ ¤Ï cmo\_string ¤Ç¤¢¤ê, -¤½¤ì¤¾¤ì¥·¥¹¥Æ¥à¤Î̾Á°, ¥Ð¡¼¥¸¥ç¥ó, HOSTTYPE ¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. +Âè°ìÍ×ÁÇ $a$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê, ¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å, $a_1$ ¤Ï +cmo\_int32 ¤Ç¥Ð¡¼¥¸¥ç¥ó¤òɽ¤¹. $a_2$, $a_3$, $a_4$ ¤Ï cmo\_string ¤Ç¤¢ +¤ê, ¤½¤ì¤¾¤ì¿ô³Ø¥·¥¹¥Æ¥à¤Î̾Á°, ¥Ð¡¼¥¸¥ç¥ó, 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$, $\ldots$, $b_n$ ¤Ï¤¹¤Ù¤Æ cmo\_int32 ¤Ç¤¢¤ë. -\ref{sec:oxsm} Àá¤ÇÀâÌÀ¤·¤¿¤¬, -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ {\sl int32} ¤Çɽ¤µ¤ì¤Æ¤¤¤¿¤³¤È¤ËÃí°Õ¤·¤è -¤¦. ³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ò¥Ü¥Ç¥£¤È¤·¤¿ cmo\_int32 ¤È¤Ê¤Ã¤Æ¤¤¤ë. +ÂèÆóÍ×ÁÇ $b$ ¤â cmo\_list ¤Ç¤¢¤ê, OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë +ÍѤ¤¤é¤ì¤ë. ³Æ $b_i$ ¤Ï cmo\_int32 ¤Ç¤¢¤ê, ¥Ü¥Ç¥£¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá +¥³¡¼¥É¤Ç¤¢¤ë. \ref{sec:oxsm} Àá¤ÇÀâÌÀ¤·¤¿¤¬, ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹ +¤Ù¤Æ {\sl int32} ¤Çɽ¤µ¤ì¤Æ¤¤¤¿¤³¤È¤ËÃí°Õ¤·¤è¤¦. \begin{quote} (CMO\_LIST, {\sl int32} $n$, - {\sl cmo\_int32} $b_1$, {\sl cmo\_int32} $b_2$, - $\ldots$, {\sl cmo\_int32} $b_n$) +{\sl cmo\_int32} $b_1$, $\ldots$, {\sl cmo\_int32} $b_n$) \end{quote} -Âè»°Í×ÁÇ $c$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë. +Âè»°Í×ÁÇ $c$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê cmo\_list ¤Ç¤¢¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁ÷¼õ¿®¤òÀ©¸æ +¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë. Á÷¼õ¿®¤ÎÀ©¸æ¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎऴ¤È¤Ë¹Ô¤ï¤ì¤ë. \begin{quote} -(CMO\_LIST, {\sl int32} $m$, \\ - \hspace{10mm} (CMO\_LIST, {\sl int32} $l_1$, {\sl cmo\_int32} $c_{11}$, - {\sl cmo} $c_{12}$, $\ldots$, {\sl cmo} $c_{1l_1}$), \\ - \hspace{10mm} (CMO\_LIST, {\sl int32} $l_2$, {\sl cmo\_int32} $c_{21}$, - {\sl cmo} $c_{22}$, $\ldots$, {\sl cmo} $c_{1l_2}$), \\ - \hspace{10mm} $\ldots$ \\ - \hspace{10mm} (CMO\_LIST, {\sl int32} $l_m$, {\sl cmo\_int32} $c_{m1}$, - {\sl cmo} $c_{m2}$, $\ldots$, {\sl cmo} $c_{1l_m}$)) +(CMO\_LIST, {\sl int32} $m$, {\sl cmo\_list} $\ell_1$, $\ldots$, +{\sl cmo\_list} $\ell_m$) \end{quote} -{\Large °Ê²¼¡¢Á´Á³ÀâÌÀ¤¬Ê¬¤«¤ê¤Þ¤»¤ó¡£} -¤É¤Î $c_{i1}$ ¤Ë¤â cmo\_int32 ¤¬Æþ¤Ã¤Æ¤ª¤ê, -OX\_COMMAND °Ê³°¤Î, ¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻Ҥ¬Æþ¤Ã¤Æ¤¤¤ë. -$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë. -¤³¤³¤Ç¤Ï, OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë. -¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç, -$c_{i1}$, $c_{i2}$, $\ldots$, $c_{il_i}$ ¤òÍ×ÁǤȤ¹¤ë cmo\_list ¤Ï -CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê, $l_i=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë. -$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê, -$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê cmo\_list ¤Ë¤Ê¤Ã¤Æ¤¤¤ë. -³ÆÍ×ÁÇ¤Ï cmo\_int32 ¤Ç¤¢¤ê, -¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë. +³Æ $\ell_i$ ¤¬À©¸æ¤Î¤¿¤á¤Î¾ðÊó¤òɽ¤¹. ¤É¤Î $\ell_i$ ¤â°ì¤Ä°Ê¾å¤ÎÍ×ÁǤò +»ý¤Ã¤Æ¤ª¤ê, Âè°ìÍ×ÁǤÏɬ¤º cmo\_int32 ¤È¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì +¤ÏÀ©¸æ¤¹¤Ù¤­¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤòÆþ¤ì¤ë¤¿¤á¤Ç¤¢¤ë. + +³Æ $\ell_i$ ¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. ¤³¤³¤Ç¤Ï, OX\_DATA +¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë. Âè°ìÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç, ¥ê¥¹¥È $\ell_i$ +¤Ï°Ê²¼¤Î¤è¤¦¤Ê¹½Â¤¤È¤Ê¤Ã¤Æ¤¤¤ë. ³Æ $c_i$ ¤Ï cmo\_int32 ¤Ç¤¢¤ê, ¤½¤Î¥Ü¥Ç¥£ +¤Ï CMO ¤Î¼±Ê̻ҤǤ¢¤ë. $c_i$ ¤Ç»Ø¼¨¤µ¤ì¤¿ CMO ¤Î¤ß¤¬Á÷¼õ¿®¤¹¤ë¤³¤È¤òµö +¤µ¤ì¤ë. \begin{quote} - (CMO\_LIST, {\sl int32} $k$, - {\sl cmo\_int32} $c_{i21}$, {\sl cmo\_int32} $c_{i22}$, - $\ldots$, {\sl cmo\_int32} $c_{i2k}$) +(CMO\_LIST, 2, (CMO\_INT32, OX\_DATA), \\ +\ \ (CMO\_LIST, {\sl int32} $k$, {\sl cmo\_int32} $c_1$, +$\ldots$, {\sl cmo\_int32} $c_k$)) \end{quote} ¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦. ̾Á°¤¬ ``ox\_test'', ¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼ -¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç, PC-UNIX ¾å¤ÇÆ°¤¤¤Æ¤ª¤ê, -¤µ¤é¤Ë, ¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬Ì¿Îá SM\_popCMO, SM\_popString, -SM\_mathcap, SM\_executeStringByLocalParser ¤òÍøÍѲÄǽ, -¤«¤Ä, cmo\_int32, cmo\_string, cmo\_mathcap, cmo\_list ¤Î¤ß¤ËÀ©¸Â¤·¤¿¤¤ -¤È¤­¤Î mathcap ¤Ï +¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç, Linux ¾å¤ÇÆ°¤¤¤Æ¤ª¤ê, ¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥· +¥ó¤¬Ì¿Îá SM\_popCMO, SM\_popString, SM\_mathcap, +SM\_executeStringByLocalParser ¤òÍøÍѲÄǽ¤Ç, ¤«¤Ä ¥ª¥Ö¥¸¥§¥¯¥È¤ò +cmo\_int32, cmo\_string, cmo\_mathcap, cmo\_list ¤Î¤ß¤ËÀ©¸Â¤·¤¿¤¤¤È¤­¤Î +mathcap ¤Ï \begin{quote} -(CMO\_LIST, 3, \\ -\ \ (CMO\_LIST, 4, (CMO\_INT32, $199911250$), (CMO\_STRING, 7, "ox\_test"), \\ -\ \ \ \ (CMO\_STRING, 9, "199911250"), (CMO\_STRING, 4, "i386")) \\ -\ \ (CMO\_LIST, $5$, (CMO\_INT32, SM\_popCMO), \\ -\ \ \ \ (CMO\_INT32, SM\_popString), (CMO\_INT32, SM\_mathcap), \\ -\ \ \ \ (CMO\_INT32, SM\_executeStringByLocalParser)) \\ -\ \ (CMO\_LIST, $1$, \\ -\ \ \ \ (CMO\_LIST, $2$, (CMO\_INT32, OX\_DATA), \\ -\ \ \ \ \ \ (CMO\_LIST, $4$, (CMO\_INT32, CMO\_INT32), \\ -\ \ \ \ \ \ \ \ (CMO\_INT32, CMO\_STRING), (CMO\_INT32, CMO\_MATHCAP), \\ -\ \ \ \ \ \ \ \ (CMO\_INT32, CMO\_LIST))))) +(CMO\_MATHCAP, (CMO\_LIST, 3, \\ +$\quad$ (CMO\_LIST, 4, (CMO\_INT32, $199911250$), (CMO\_STRING, 7, ``ox\_test''), \\ +$\qquad$ (CMO\_STRING, 9, ``199911250''), (CMO\_STRING, 4, ``i386'')) \\ +$\quad$ (CMO\_LIST, $5$, (CMO\_INT32, SM\_popCMO), \\ +$\qquad$ (CMO\_INT32, SM\_popString), (CMO\_INT32, SM\_mathcap), \\ +$\qquad$ (CMO\_INT32, SM\_executeStringByLocalParser)) \\ +$\quad$ (CMO\_LIST, $1$, (CMO\_LIST, $2$, (CMO\_INT32, OX\_DATA), \\ +$\qquad$ (CMO\_LIST, $4$, (CMO\_INT32, CMO\_INT32), \\ +$\qquad\quad$ (CMO\_INT32, CMO\_STRING), (CMO\_INT32, CMO\_MATHCAP), \\ +$\qquad\quad$ (CMO\_INT32, CMO\_LIST)))))) \end{quote} ¤Ë¤Ê¤ë. \section{¥»¥­¥å¥ê¥Æ¥£Âкö} -OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë. ¥Í¥Ã¥È¥ï¡¼¥¯ -¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ, OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® -»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë. °Ê²¼, ¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. +OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë. ¤·¤¿¤¬¤Ã¤Æ +¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ, OpenXM µ¬ +Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë. °Ê²¼, ¤³¤Î¤³¤È¤Ë¤Ä¤¤ +¤ÆÀâÌÀ¤·¤è¤¦. Âè°ì¤Ë OpenXM ¤Ç¤Ï¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤­¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á, ¥µ¡¼¥Ð¤ÏÀܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßµ¯Æ°¤·¤Æ¤¤¤ë. ¤·¤«¤·, ¤³¤ì¤À¤±¤Ç¤ÏÀܳ @@ -441,27 +423,32 @@ OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤ ¤â°ÂÁ´¤Ç¤¢¤ë. ¤Ê¤ª, ¥á¥Ã¥»¡¼¥¸¼«ÂΤˤÏÆä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç, ¤½¤Î¤Þ¤Þ -¤Ç¤Ï¥Ñ¥±¥Ã¥ÈÅðÄ°¤Ê¤É¤ò¼õ¤±¤ë²ÄǽÀ­¤¬¤¢¤ë. ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï, ɬÍפʤé¤Ð +¤Ç¤Ï¥Ñ¥±¥Ã¥ÈÅðÄ°¤Ê¤É¤ò¼õ¤±¤ë²ÄǽÀ­¤¬¤¢¤ë. ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï, ɬÍפʤé¤Ð ssh ¤òÍøÍѤ·¤ÆÂбþ¤·¤Æ¤¤¤ë. -\section{¾¤Î¥×¥í¥¸¥§¥¯¥È} +\section{OpenXM °Ê³°¤Î¥×¥í¥¸¥§¥¯¥È}\label{sec:other} -¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦. +OpenXM °Ê³°¤Ë¤â¿ô¼°½èÍý¥·¥¹¥Æ¥à´Ö¤ÎÄÌ¿®¤ä¿ô³Ø¥Ç¡¼¥¿¤Î¶¦ÄÌɽ¸½¤òÌܻؤ·¤¿ +¥×¥í¥¸¥§¥¯¥È¤Ï¸ºß¤¹¤ë. ¤³¤³¤Ç¤Ï¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦. \begin{itemize} \item ESPRIT OpenMath Project -http://www.openmath.org/omsoc/ +http://www.nag.co.uk/projects/openmath/omsoc/ -¿ô³ØŪÂоݤΠSGML Ūɽµ­¤Îɸ½à²½¤òÌܻؤ·¤¿Â絬ÌÏ¤Ê¥×¥í¥¸¥§¥¯¥È. °Û¤Ê¤ë¼ï -Îà¤Î¿ô¼°½èÍý¥·¥¹¥Æ¥à¤Î´Ö¤Ç¾ðÊó¤ò¸ò´¹¤¹¤ë¤È¤­¤Ë, OpenMath ¤ÇÄêµÁ¤µ¤ì¤¿É½ -¸½¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë. ¼ÂºÝ¤Î¾ðÊó¸ò´¹¤Î¼ê³¤­¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¤â¤Î¤¬¹Í -¤¨¤é¤ì¤ë¤¬, Î㤨¤Ð MCP (Mathematical Computation Protocol) ¤Ê¤ë¼ê³¤­¤¬ -¹Í°Æ¤µ¤ì¤Æ¤¤¤ë. MCP ¤Ë¤è¤Ã¤ÆÁ÷¿®¤µ¤ì¤ë¥Ç¡¼¥¿¤Ï, ËÜʸ¤Ë OpenMath ·Á¼°¤Ç -¿ô¼°¤òµ­½Ò¤·¤¿¥Æ¥­¥¹¥È¤Ç, ¤¤¤µ¤µ¤«¥á¥¤¥ë¤Ë»÷¤Æ¤¤¤Ê¤¯¤â¤Ê¤¤. ¼ÂºÝ¤Ë¤³¤Î -ÊýË¡¤Ç GAP ¤È Axiom ¤Î´Ö¤ÇÄÌ¿®¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë. +¿ô³ØŪÂоݤΠSGML Ūɽµ­¤Îɸ½à²½¤òÌܻؤ·¤¿Â絬ÌÏ¤Ê¥×¥í¥¸¥§¥¯¥È. ¤³¤Î¥× +¥í¥¸¥§¥¯¥È¤Ç¤Ï¿ô³Ø¥Ç¡¼¥¿¤ò¿ô³ØŪ°ÕÌ£¤òÊݤ俤ޤޤÇÇ¡²¿¤Ëɽ¸½¤¹¤Ù¤­¤«¤È¤¤ +¤¦ÌäÂê¤òÄɵᤷ¤Æ¤¤¤ë. ¤·¤¿¤¬¤Ã¤Æ´û¸¤Îɽ¸½, Î㤨¤Ð \TeX ¤Ë¤è¤ë¿ô¼°¤Îɽ +¸½¤È OpenMath ¤Ë¤è¤ë¿ô¼°¤Îɽ¸½¤È¤Ç¤Ï, ËܼÁŪ¤Ë°ÕÌ£¤¬°Û¤Ê¤ë. OpenMath ¤Ç +ÄêµÁ¤µ¤ì¤¿É½¸½¤Ï, °Û¤Ê¤ë¼ïÎà¤Î¿ô¼°½èÍý¥·¥¹¥Æ¥à¤Î´Ö¤Ç¾ðÊó¤ò¸ò´¹¤¹¤ë¤È¤­¤Ë +ÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë. ¤·¤«¤·¤Ê¤¬¤é, ¿ô³Ø¥·¥¹¥Æ¥àƱ»Î¤ÎÄÌ¿®, Î㤨¤Ð¤¢¤ë +¿ô³Ø¥·¥¹¥Æ¥à¤«¤éÊ̤οô³Ø¥·¥¹¥Æ¥à¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤µ¤»¤ëÊýË¡¤Ê¤É¤Ï, ¤³¤Î¥× +¥í¥¸¥§¥¯¥È¤ÎÂоݳ°¤Ç¤¢¤ë. OpenXM ¤Ë¤ª¤±¤ë¶¦Ḁ̈ǡ¼¥¿·Á¼°¤È¿ô³Ø¥·¥¹¥Æ¥à¸Ç +Í­¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤ÎÊÑ´¹¤Ï OpenMath µ¬Ìó¤Î Phrasebook ¤ÈƱ¤¸¥¢¥¤¥Ç¥¢¤òÍÑ +¤¤¤Æ¤¤¤ë. + \item NetSolve http://www.cs.utk.edu/netsolve/ @@ -473,55 +460,96 @@ NetSolve ¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð·¿¤Îʬ»¶¥·¥¹¥Æ¥à¤Ç¤¢¤ê, ¥¿¥Ù¡¼¥¹ÅªÌò³ä¤ò²Ì¤¿¤¹. ¤Þ¤¿ Agent ¤Ë¤è¤Ã¤ÆÉé²Ùʬ»¶¤¬²Äǽ¤Ë¤Ê¤ë. ¸½ºß ¤Î NetSolve ¤Ï RPC ¤ò´ðÁäˤ·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë. -\item MP -http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html +\item MP (Multi Project) -²Ê³Øµ»½Ñ·×»»¤ò¹Ô¤Ê¤¦¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¿ô³ØŪ¤Ê¥Ç¡¼¥¿¤ò¸úΨŪ¤Ë¸ò´¹ -¤µ¤»¤ë¤³¤È¤òÌÜŪ¤È¤·¤¿¥×¥í¥È¥³¥ë¤òºîÀ®¤·¤Æ¤¤¤ë. ÌÚ¹½Â¤¤òÍѤ¤¤Æ -´Êñ, ¤«¤Ä½ÀÆð¤Ê¤â¤Î¤òÌܻؤ·¤Æ¤ª¤ê, ¥Ç¡¼¥¿¤Îɽ¸½ÊýË¡¤ä¸ò´¹ÊýË¡¤Ë -Éé¤ï¤º¤Ë¥½¥Õ¥È¥¦¥§¥¢¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤è¤¦¤È¤·¤Æ¤¤¤ë. -¸½ºß¤¹¤Ç¤Ë, C ¸À¸ì¤ÇÍøÍѲÄǽ¤Ê¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë. +http://symbolicnet.mcs.kent.edu/SN/areas/protocols/mp.html -\item MCP +¿ô³ØŪ¤Ê¥Ç¡¼¥¿¤Î¶¦ÄÌɽ¸½¤òÄ󶡤¹¤ë¥×¥í¥¸¥§¥¯¥È. MP ¤Î¼ç¤Ê´Ø¿´¤Ï, ¤³¤Î +¶¦ÄÌɽ¸½¤ÎºÇŬ²½¤Ç¤¢¤ë. ¿ô³Ø¥·¥¹¥Æ¥à´Ö¤Ç, Ì¿Îá¤òÁ÷¿®¤·¤¿¤ê¥Ç¡¼¥¿¤ò¼õ +¤±ÅϤ¹»ÅÁȤß(control integration)¤Ï, ¤³¤Î¥×¥í¥¸¥§¥¯¥È¤ÎÂоݳ°¤Ç¤¢¤ë. +MP ¤Ï´û¸¤Î control integration ¤ËÂФ·¤ÆÊ䴰ŪÌò³ä¤ò²Ì¤¿¤¹. +MP ¤Ç¤Ï¿ô¼°¤ò¹½Ê¸Ìڤΰì¼ï(annotated syntax tree)¤Èª¤¨¤ë. annotated +syntax tree ¤Ë¤Ï¿ô³ØŪ¤Ê°ÕÌ£¤òÊݤ俤ޤÞɽ¸½¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦ÆÃħ¤¬¤¢¤ë +(¤³¤ÎÅÀ¤Ï OpenMath ¤È»÷¤Æ¤¤¤ë). MP ¤¬Ä󶡤¹¤ë¶¦ÄÌɽ¸½¤È¤Ï, ¤³¤Î¹½Ê¸ÌڤΠ+¥Ð¥¤¥Ê¥ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°, ¤Ä¤Þ¤ê¥Ð¥¤¥ÈÎó¤Ç¤Îɽ¸½¤Î¤³¤È¤Ç¤¢¤ë. MP ¤ÎÄêµÁ +¤¹¤ëɽ¸½¤Ç¤Ï¥Ð¥¤¥ÈÎó¤ÎŤµ¤¬ºÇŬ²½¤µ¤ì¤Æ¤¤¤ë. ¤Þ¤¿, ¥Ð¥¤¥È¥ª¡¼¥À¡¼¤ÎÁª +Âò¤â²Äǽ¤Ç¤¢¤ë(\ref{sec:messages} ÀỲ¾È¤Î¤³¤È). + +¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï C ¸À¸ì¤ª¤è¤Ó GNU Common Lisp ¤Ç¼ÂÁõ¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë. +C ¸À¸ì¤Ë¤è¤ë¼ÂÁõ(MP-C ¥é¥¤¥Ö¥é¥ê)¤Ï¾åµ­¤Î¥¦¥§¥Ö¥Ú¡¼¥¸¤«¤é¼ýÆÀ²Äǽ¤Ç¤¢¤ë. +¤³¤Î¥é¥¤¥Ö¥é¥ê¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤Ê¤¦¤Ë¤Ï, ¤Ê¤ó¤é¤«¤Î control integration +¤¬É¬ÍפǤ¢¤ë. control integration ¤È¤·¤Æ¤Ï, ¥½¥±¥Ã¥È, MPI, PVM ¤Ê¤É¤¬Íø +ÍѤǤ­¤ë. + + +\item MCP (Mathematical Computation Protocol) + http://horse.mcs.kent.edu/\~{}pwang/ -¿ô³ØŪ¤Ê·×»»¤ò¹Ô¤Ê¤¦¤¿¤á¤Î HTTP ¥¹¥¿¥¤¥ë¤Î¥×¥í¥È¥³¥ë. -¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤ª¤ê, -¥Ô¥¢¥Ä¡¼¥Ô¥¢¤Î¥¹¥È¥ê¡¼¥à¥³¥Í¥¯¥·¥ç¥ó¤ò¹Ô¤Ê¤¦. -RPC ¤è¤ê¤â, telnet ¤Ç¥µ¡¼¥Ð¤Ë¥í¥°¥¤¥ó¤·¤Æ·×»»¤ò¹Ô¤Ê¤¦´¶³Ð¤Ë¶á¤¤. -¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò MP ¤ä MathML ¤ÇÄê¤á¤é¤ì¤¿ÊýË¡¤Ç -ɽ¸½¤¹¤ë¤³¤È¤¬¹Í¤¨¤é¤ì¤Æ¤¤¤ë. -¤¹¤Ç¤Ë OpenMath ¤òÍѤ¤¤¿¼ÂÁõ¤¬Â¸ºß¤¹¤ë. +¿ô³ØŪ¤Ê¥Ç¡¼¥¿¤äÌ¿Îá¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤¿¤á¤Î +HTTP ¤Ë»÷¤¿¥×¥í¥È¥³¥ë. +MCP ¤Ï control integration ¤Ç¤¢¤ê, +¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð·¿¤ÎÄÌ¿®¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë. +MCP ¤Î¥á¥Ã¥»¡¼¥¸¤Ï¥Ø¥Ã¥À¤È¥Ü¥Ç¥£¤«¤é¹½À®¤µ¤ì¤Æ¤¤¤ë. +¥Ø¥Ã¥À¤Ï¥Æ¥­¥¹¥È¤Ç¤¢¤ê, ºÇ½é¤Ë¸½¤ì¤ë¶õ¹Ô¤Ç¥Ø¥Ã¥À¤È¥Ü¥Ç¥£¤Ï +¶èÀÚ¤é¤ì¤Æ¤¤¤ë. +¿ô¼°¤Ï¥Ü¥Ç¥£¤Ëµ­½Ò¤µ¤ì¤ÆÁ÷¤é¤ì¤ë. +¿ô¼°¤Îɽ¸½ÊýË¡¤È¤·¤Æ¤Ï MP ¤ä OpenMath ¤ÇÄê¤á¤é¤ì¤¿¤â¤Î¤ò +»ÈÍѤ¹¤ë¤³¤È¤¬¹Í¤¨¤é¤ì¤Æ¤¤¤ë. +¼ÂºÝ, ¿ô¼°¤Îɽ¸½¤Ë OpenMath µ¬Ìó¤Î XML ɽ¸½¤òÍѤ¤¤¿¼ÂÁõ¤¬¤¢¤ê, +GAP ¤È Axiom ¤Î´Ö¤ÇÄÌ¿®¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤ë. +¤³¤Î¾ì¹ç, MCP ¤Ë¤è¤Ã¤ÆÁ÷¿®¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ï +¥Ü¥Ç¥£¤Ë OpenMath ·Á¼°¤Ç¿ô¼°¤òµ­½Ò¤·¤¿¥Æ¥­¥¹¥È¤Ç¤¢¤ë. \end{itemize} \section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} -¸½ºß 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 ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ -¤ì¤Æ¤¤¤ë. +¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬ +¤¢¤ë. ¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³ +¤È¤¬¤Ç¤­¤ë. ¤Þ¤¿ OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Ë¤Ï, asir, sm1, +Mathematica, gnuplot, PHC pack ¤Ê¤É¤¬¤¢¤ê, ¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, +ox\_math, ox\_sm1\_gnuplot, ox\_sm1\_phc ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. +¤µ¤é¤Ë OpenMath µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö +¥¸¥§¥¯¥È¤òÁê¸ßÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê, +OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. \begin{thebibliography}{99} +\bibitem{OpenMath1.0} +O. Caprotti, A. M. Cohen: The OpenMath Standard, Version 1.0, February 1999. +(http://www.nag.co.uk/projects/OpenMath/omstd/partI.ps.gz) + +\bibitem{NetSolve1.2b} +H. Casanova, J. Dongarra, A. Karainov, J. Wasniewski: +Users' Guide to NetSolve, version 1.2.beta, October 27 1998. +(http://www.cs.utk.edu/netsolve/download/ug.ps) + +\bibitem{MP} +S. Gray, N. Kajler, P. S. Wang: +Design and Implementation of MP, +a Protocol for Efficient Exchange of Mathematical Expressions, +{\it Journal of Symbolic Computation}, {\bf 11}, 1996, 1--25. +(ftp://ftp.mcs.kent.edu/dist/MP/mp-jsc-96.ps.gz) + \bibitem{Ohara-Takayama-Noro-1999} -¾®¸¶¸ùǤ, ¹â»³¿®µ£, ÌîϤÀµ¹Ô: - {Open asir ÆþÌç}, 1999, ¿ô¼°½èÍý, - Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). +¾®¸¶ ¸ùǤ, ¹â»³ ¿®µ£, ÌîϤ Àµ¹Ô: Open asir ÆþÌç, +{\it ¿ô¼°½èÍý}, {\bf Vol 7}(No 2), 1999, 2--17. +(ISBN 4-87243-086-7, SEG ½ÐÈÇ, Tokyo). \bibitem{OpenXM-1999} -ÌîϤÀµ¹Ô, ¹â»³¿®µ£: - {Open XM ¤ÎÀ߷פȼÂÁõ - --- Open message eXchange protocol for Mathematics}, - 1999/11/22 +ÌîϤ Àµ¹Ô, ¹â»³ ¿®µ£: {Open XM ¤ÎÀ߷פȼÂÁõ --- Open message eXchange protocol for Mathematics}, December 31 1999. +(http://www.math.sci.kobe-u.ac.jp/openxxx/openxxx.tex) + +\bibitem{ISSAC99} +P. S. Wang: +Design and Protocol for Internet Accessible Mathematical Computation, +{\it Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation}, 1999, 291--298. +(ISBN 1-58113-073-2, ACM, New York 1999. Order No. 505990). + \end{thebibliography} \end{document}