version 1.56, 1999/12/23 12:57:20 |
version 1.98, 1999/12/26 07:42:22 |
|
|
\documentclass{jarticle} |
\documentclass{jarticle} |
|
|
%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.55 1999/12/23 11:59:22 tam Exp $ |
%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.97 1999/12/26 07:13:26 tam Exp $ |
|
|
\usepackage{jssac} |
\usepackage{jssac} |
\title{¥¿¥¤¤Î¥È¥ë} |
|
\title{ |
|
°ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦¡£ |
|
TCP/IP ¥½¥±¥Ã¥È¤È¤«¡¢TCP/IP ¼ÂÁõ¤È¤«²¿¤Î¤³¤Ã¤Á¤ã¤È»×¤¤¤Þ¤·¤¿¡£ |
|
} |
|
|
|
\author{Á° Àî ¾ ½¨\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
\title{OpenXM ¥×¥í¥¸¥§¥¯¥È¤Î¸½¾õ¤Ë¤Ä¤¤¤Æ} |
\mail{maekawa@math.sci.kobe-u.ac.jp} |
\author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
\and Ìî Ϥ Àµ ¹Ô\affil{ÉÙ»ÎÄ̸¦µæ½ê} |
|
\mail{noro@para.flab.fujitsu.co.jp} |
|
\and ¾® ¸¶ ¸ù Ǥ\affil{¶âÂôÂç³ØÍý³ØÉô} |
|
\mail{ohara@kappa.s.kanazawa-u.ac.jp} |
|
\and ±ü ë ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
|
\mail{okutani@math.sci.kobe-u.ac.jp} |
\mail{okutani@math.sci.kobe-u.ac.jp} |
\and ¹â »³ ¿® µ£\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
\and ¾® ¸¶ ¡¡ ¸ù Ǥ\affil{¶âÂôÂç³ØÍý³ØÉô} |
|
\mail{ohara@kappa.s.kanazawa-u.ac.jp} |
|
\and ¹â »³ ¡¡ ¿® µ£\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
\mail{takayama@math.sci.kobe-u.ac.jp} |
\mail{takayama@math.sci.kobe-u.ac.jp} |
\and ÅÄ Â¼ ¶³ »Î\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
\and ÅÄ Â¼ ¡¡ ¶³ »Î\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
\mail{tamura@math.sci.kobe-u.ac.jp} |
\mail{tamura@math.sci.kobe-u.ac.jp} |
|
\and Ìî Ϥ ¡¡ Àµ ¹Ô\affil{ÉÙ»ÎÄ̸¦µæ½ê} |
|
\mail{noro@para.flab.fujitsu.co.jp} |
|
\and Á° Àî ¡¡ ¾ ½¨\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
|
\mail{maekawa@math.sci.kobe-u.ac.jp} |
} |
} |
\art{} |
\art{} |
|
|
\begin{document} |
\begin{document} |
\maketitle |
\maketitle |
|
|
|
|
\section{OpenXM¤È¤Ï} |
\section{OpenXM¤È¤Ï} |
|
|
OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë¡£ |
OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë. ¿ô³Ø¥×¥í |
¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ |
¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê, ¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø |
¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢ |
¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê, ¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë |
¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë¡£ |
¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë. ¤Ê¤ª, OpenXM ¤È¤Ï Open message eXchange protocol for |
¤Ê¤ª¡¢ OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë¡£ |
Mathematics ¤Îά¤Ç¤¢¤ë. OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê, asir ¤È |
OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê¡¢ |
kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë. |
asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë¡£ |
|
|
|
{\bf\large °Ê²¼¤ÎÀâÌÀ¤¬¤Ê¤¼É¬ÍפʤΤ«¤ÏÁ´Á³Ê¬¤«¤é¤Ê¤¤¤±¤ì¤É¡¢} |
½é´ü¤Î¼ÂÁõ¤Ç¤Ï, Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿. |
½é´ü¤Î¼ÂÁõ¤Ç¤Ï¡¢Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿¡£¤³ |
¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤· |
¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ¡¢ |
¤Æ, Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Î |
¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï, ¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ |
¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï¡¢¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬¡¢ |
¤¤¤¬, »È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë. |
»È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë¡£ |
|
|
|
¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë¡£¾åµ¤Îʸ |
¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë. ¾åµ¤Î |
»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á¡¢OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»ú |
ʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á, OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ |
Îó¤È¤·¤Æ¡¢¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ |
»úÎó¤È¤·¤Æ, ¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Ä |
¤È¤Ê¤Ã¤Æ¤¤¤ë¡£{\large\bf ¤·¤«¤·¡¢¤³¤ó¤ÊºÙ¤«¤¤¤³¤È¤ò¤³¤³¤ÇÀâÌÀ¤·¤Ê¤±¤ì¤Ð |
ǽ¤È¤Ê¤Ã¤Æ¤¤¤ë. |
¤Ê¤é¤Ê¤¤Íýͳ¤¬¤ä¤Ã¤Ñ¤êʬ¤«¤é¤Ê¤¤¤Ê¤¡¡£¹½À®Åª¤Ë¤ª¤«¤·¤¤¤È»×¤¦¤±¤É¤Ê¤¡¡£°Õ |
|
Ì£ÉÔÌÀ¡£} |
|
|
|
OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬¡¢¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP |
OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë¼«Í³ÅÙ¤¬¤¢¤ë¤¬, ¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP |
¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£¤½¤³¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï |
¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤. \footnote{asir ¤Ë¤Ï MPI ¤òÍѤ¤¤¿¼ÂÁõ |
TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¡£ |
¤â¤¢¤ë.} ¤½¤³¤Ç, ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤òÍѤ¤¤¿¼ÂÁõ¤Ë½àµò¤·¤Æ |
|
OpenXM ¤ÎÀâÌÀ¤ò¤¹¤ë. |
|
|
|
|
\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} |
\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} |
|
|
OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë TCP/IP ¼ÂÁõ¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È |
ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë. ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç |
¤Ê¤Ã¤Æ¤ª¤ê¡¢¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦. |
|
|
|
OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê, ¼¡ |
|
¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
|
\begin{center} |
\begin{tabular}{|c|c|} |
\begin{tabular}{|c|c|} |
\hline |
\hline |
¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ |
¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ |
\hline |
\hline |
\end{tabular} |
\end{tabular} |
|
\end{center} |
|
¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸ |
|
¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬, Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤. |
|
|
¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë¡£ |
¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë. |
¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢ |
|
Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤¡£ |
|
|
|
¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¡£ |
|
\begin{enumerate} |
\begin{enumerate} |
\item Á°È¾¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê¡¢ |
\item |
¥¿¥°¤È¸Æ¤Ð¤ì¤ë¡£ |
Á°È¾¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤¹¼±Ê̻ҤǤ¢¤ê, ¥¿¥°¤È¸Æ¤Ð¤ì¤ë. |
\item ¸åȾ¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë¡£ |
\item |
|
¸åȾ¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë. |
\end{enumerate} |
\end{enumerate} |
¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë¡£ |
¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë. |
¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬¡¢ |
|
´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ |
|
¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
|
¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï¡¢¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ |
|
°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
|
|
|
¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ë 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ¤ª¤³¤¦. Ìä |
|
Âê¤Ë¤Ê¤ë¤Î¤ÏÉé¿ô¤Îɽ¸½¤È¥Ð¥¤¥È¥ª¡¼¥À¡¼¤ÎÌäÂê¤Ç¤¢¤ë. ¤Þ¤º, Éé¿ô¤òɽ¤¹É¬ |
|
Íפ¬¤¢¤ë¤È¤¤Ë¤Ï2¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. ¼¡¤Ë¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç |
|
¤¢¤ë¤¬, OpenXM µ¬Ìó¤ÏÊ£¿ô¤Î¥Ð¥¤¥È¥ª¡¼¥À¡¼¤òµöÍƤ¹¤ë. ¤¿¤À¤·°ì¤Ä¤ÎÄÌ¿®Ï© |
|
¤Ç¤Ï¤Ò¤È¤Ä¤Î¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Î¤ß¤¬µö¤µ¤ì, ÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±Áª¤Ð¤ì¤ë. |
|
|
|
¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï, ¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
|
|
\begin{verbatim} |
\begin{verbatim} |
#define OX_COMMAND 513 |
#define OX_COMMAND 513 |
#define OX_DATA 514 |
#define OX_DATA 514 |
Line 93 OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë TCP/IP ¼ÂÁõ¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥ |
|
Line 94 OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë TCP/IP ¼ÂÁõ¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥ |
|
#define OX_DATA_MP 525 |
#define OX_DATA_MP 525 |
\end{verbatim} |
\end{verbatim} |
|
|
¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ |
¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë |
¤³¤ÎÏÀʸ¤Ç¤Ï¡¢OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ |
¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê, ¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î |
ÀâÌÀ¤¹¤ë¡£ |
¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë. ¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ |
|
¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß, ÀâÌÀ¤¹¤ë. |
|
|
´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· |
´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ï, ¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· |
¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î |
¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë. ¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î |
¸ÇͤÎɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤Ë͸ú¤Ç¤¢¤ë¡£¿·¤·¤¤¼±ÊÌ»Ò |
¸ÇͤÎɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤Ë͸ú¤Ç¤¢¤ë. ¿·¤·¤¤¼±ÊÌ»Ò |
¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ |
¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. |
|
|
|
|
\section{OpenXM ¤Î·×»»¥â¥Ç¥ë} |
\section{OpenXM ¤Î·×»»¥â¥Ç¥ë} |
|
|
%{\Huge ¤³¤ÎÀá¤Ç¤Ï·×»»¥â¥Ç¥ë¤ÎÏäò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó} |
OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¤Þ¤¿, OpenXM µ¬ |
|
Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç, ¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ |
|
¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë. |
|
\footnote{¸½ºß, ¼ç¤ËÌîϤ¤¬ OpenXM ¤Î·×»»¥â¥Ç¥ë¤Î³ÈÄ¥¤ò¹Í¤¨¤Æ¤¤¤ë. |
|
¸úΨŪʬ»¶·×»»¤Î¥¢¥ë¥´¥ê¥º¥à¤Î¿¤¯¤Ï¥µ¡¼¥ÐƱ»Î¤ÎÄÌ¿®¤âÍ׵᤹¤ë.} |
|
¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ |
|
¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ |
|
ÆÀ¤é¤ì¤ë. ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë. ¤Ä¤Þ¤ê, |
|
¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬, ¥µ¡¼¥Ð¤«¤é¤Ï¼« |
|
ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤. ¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó |
|
¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá |
|
¤Ç½Ò¤Ù¤ë. |
|
|
OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤Þ¤¿¡¢ OpenXM µ¬ |
¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ |
Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ |
¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá |
¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ |
(OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ |
¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ |
±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦. ¤³¤Î¤È¤, Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è |
ÆÀ¤é¤ì¤ë¡£ |
¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê, ¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ |
|
¤¢¤ë. ¤â¤·, Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë |
|
¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ |
|
¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð |
|
¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ, ¥µ¡¼¥Ð¤«¤é¥¯¥é |
|
¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë. |
|
|
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¡£¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥á¥Ã¥»¡¼ |
¤Þ¤È¤á¤ë¤È, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê, ·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤ |
¥¸¤Ï¡¢¥¿¥°¤¬ OX\_COMMAND ¤Ç¤Ê¤±¤ì¤Ð¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¿¥°¤¬ |
¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë. |
OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢¤³¤Î¥á¥Ã |
|
¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤Ï¤½¤ì¤ËÂбþ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¤³¤È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
¥µ¡¼¥Ð¤Ï¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤é¤Ê¤¤¸Â¤ê¡¢¼«¤é²¿¤«Æ°ºî¤ò¤ª¤³¤Ê¤ï¤Ê¤¤¡£ |
|
|
|
{\large\bf °ÕÌ£ÉÔÌÀ¤Ê½ñ¤Êý¤À¤±¤É¡¢} |
\begin{enumerate} |
|
\item |
|
¤Þ¤º, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë. ¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤¤¿¥ª |
|
¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
|
\item |
|
¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë·×»»¤ÎÌ¿Îá¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¤¢¤é¤«¤¸¤áÄê¤á¤ì¤é¤¿Æ° |
|
ºî¤ò¹Ô¤¦. °ìÉô¤ÎÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë. Î㤨¤Ð |
|
SM\_executeFunction, \\ SM\_executeStringByLocalParser ¤Ê¤É¤ÎÌ¿Îá¤Ï, ¥¹ |
|
¥¿¥Ã¥¯¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é·×»»¤ò¹Ô¤¦. SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString |
|
¤Ï, ¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê¤À¤·, ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤êÊÖ¤¹. |
|
\end{enumerate} |
|
|
¤³¤ì¤ÏËè²ó¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë |
|
¤¿¤Ó¤Ë¡¢¤¤¤Ä¤â¥µ¡¼¥Ð¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÂÔ¤ÄɬÍפ¬¤Ê¤¤¤³¤È¤ò |
|
°ÕÌ£¤¹¤ë¡£¤³¤Î¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¤Î¾õÂÖ¤òµ¤¤Ë¤»¤º¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷ |
|
¤ê¡¢°ìö¥á¥Ã¥»¡¼¥¸¤òÁ÷ÉÕ¤·½ª¤¨¤¿¸å¡¢¥µ¡¼¥Ð¤ØÁ÷¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Î·ë²Ì¤ò¥µ¡¼ |
|
¥Ð¤«¤éÂԤĤ³¤È¤Ê¤·¤Ë¼¡¤ÎÆ°ºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤¤ë¡£ |
|
|
|
\section{OpenXM ¤Î·×»»¤Î¿Ê¹ÔÊýË¡} |
\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} |
|
|
Á°¤ÎÀá¤È½ÅÊ£¤·¤Æ¤¤¤ë¤Î¤Ç¤â¤¦¾¯¤·¤Á¤ã¤ó¤È¹Í¤¨¤ÆÍߤ·¤¤¤Î¤À¤±¤ì¤É¡¢ |
OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë. °Ê²¼, OpenXM |
|
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö. ¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ |
|
¤·¤è¤¦. |
|
|
¥µ¡¼¥Ð¤¬¹Ô¤¦¤Î¤Ï´ðËÜŪ¤Ë¼¡¤Î»öÊÁ¤À¤±¤Ç¤¢¤ë¡£ |
¤Þ¤º, OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê |
¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤È¡¢ |
¤¹¤ë¤¬, OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤà, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï |
¥µ¡¼¥Ð¤Ï¤Þ¤º¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤòÄ´¤Ù¡¢ |
µ¬Äꤷ¤Ê¤¤. ¤Ä¤Þ¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë |
¥¿¥°¤¬ OX\_COMMAND ¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤Ê¤±¤ì¤Ð¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë. ¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë, ³Æ¿ô³Ø¥·¥¹ |
¥¿¥°¤¬ OX\_COMMAND ¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ì¤Ð¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤«¤é |
¥Æ¥à¤¬¸ÇͤΥǡ¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë. ¤³¤ÎÊÑ |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤ò¼è¤ê¤À¤·¡¢ |
´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤. |
¤¢¤é¤«¤¸¤áµ¬Ìó¤ÇÄê¤á¤é¤ì¤¿Æ°ºî¤ò¹Ô¤Ê¤¦¡£ |
¤·¤«¤·, ÊÑ´¹ÊýË¡¤Ï¤¢¤¤¤Þ¤¤¤µ¤¬¤Ê¤¤¤è¤¦¤Ëʸ½ñ²½¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë. |
|
¸å½Ò¤¹¤ë OpenMath ¤Ç¤Ï¤³¤Îʸ¾Ï¤ò phrase dictionary ¤È¸Æ¤ó¤Ç¤¤¤ë. |
|
|
¾å¤ÎÀâÌÀ¤Ç¤ï¤«¤ë¤è¤¦¤Ë¡¢ |
¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. OpenXM ¥¹¥¿¥Ã¥¯ |
¥µ¡¼¥Ð¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î»Ø¼¨¤Ê¤·¤Ë¡¢ |
¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä. OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È |
¼«¤é¥á¥Ã¥»¡¼¥¸¤òÁ÷¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ |
ƱÍͤË, 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç, ¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î |
%(Îã³°? ox\_asir ¤Î mathcap)¡£ |
ɽµ¤Ë¤·¤¿¤¬¤¦. 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_executeFunction 269 |
|
#define SM_beginBlock 270 |
|
#define SM_endBlock 271 |
|
#define SM_shutdown 272 |
|
#define SM_setMathCap 273 |
|
#define SM_executeStringByLocalParserInBatchMode 274 |
|
#define SM_getsp 275 |
|
#define SM_dupErrors 276 |
|
|
%{\Huge °Ê²¼¡¢½ñ¤Ä¾¤·} |
#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 |
\begin{enumerate} |
#define SM_control_ping 1027 |
\item ¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¡£ |
#define SM_control_start_watch_thread 1028 |
¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤¤¿¥á¥Ã¥»¡¼¥¸¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
#define SM_control_stop_watch_thread 1029 |
\item ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤òÁ÷¤ë¤È¡¢ |
#define SM_control_reset_connection 1030 |
¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ |
|
¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
|
\item ºÇ¸å¤Ë¡Ö¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¡×¤ò |
|
¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë |
|
¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ |
|
\end{enumerate} |
|
|
|
|
|
\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤} |
|
|
|
OpenXM µ¬Ìó¤Ç¤Ï¡¢¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ |
|
CMO ·Á¼°(Common Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë¡£ |
|
¤³¤Î CMO ·Á¼°¤ò»È¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤Ë¤Ï¡¢ |
|
¥¿¥°¤ò OX\_DATA ¤Ë¤¹¤ì¤Ð¤è¤¤¡£ |
|
CMO ·Á¼°¤Ë¤ª¤±¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£Éôʬ¤Ë¤Ä¤¤¤Æ°Ê²¼¤ÇÀâÌÀ¤¹¤ë¤¬¡¢ |
|
%OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¼ÂºÝ¤ËºîÀ®¤¹¤ë¾ì¹ç¡¢ |
|
CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤òÍý²ò¤·¤Æ¤ª¤¯¤È¡¢ |
|
CMO ·Á¼°¤Î¾¤Î¥Ç¡¼¥¿¹½Â¤¤À¤±¤Ç¤Ê¤¯¡¢ |
|
OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÍÍ¡¹¤Ê¥Ç¡¼¥¿¹½Â¤¤òÍý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤È»×¤¨¤ë¤Î¤Ç¡¢ |
|
¤³¤³¤Ç¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ |
|
|
|
CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ï¿ÇÜĹÀ°¿ô°Ê³°¤Ë¤â |
|
ʸ»úÎó¤ä¥ê¥¹¥È¹½Â¤¤Ê¤É¤¬¤¢¤ë¡£¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¤«¤Ï |
|
¥Ç¡¼¥¿¤ÎÀèƬ¤Ë¤¢¤ë(¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤȤÏÊ̤ˤ¢¤ë)¥¿¥°¤ò¸«¤ì¤Ð |
|
ȽÊ̤Ǥ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ÎȽÊ̤λÅÊý¤È¤ª¤Ê¤¸¤Ç¤¢¤ë¡£ |
|
¤Ê¤ª¡¢¥¿¥°¤Ï³Æ¥Ç¡¼¥¿Ëè¤Ë 32 bit ¤ÎÀ°¿ô¤Çɽ¤µ¤ì¤Æ¤ª¤ê¡¢ |
|
¿ÇÜĹÀ°¿ô¤Ï 20 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤è¤¯»È¤ï¤ì¤ë¤È»×¤ï¤ì¤ë CMO ·Á¼°¤Î¥¿¥°¤ò¤¢¤²¤Æ¤ª¤¯¡£ |
|
\begin{verbatim} |
|
#define CMO_INT32 2 /* 32 ¥Ó¥Ã¥ÈÀ°¿ô */ |
|
#define CMO_STRING 4 /* ʸ»úÎó */ |
|
#define CMO_MATHCAP 5 /* mathcap(¸å½Ò) */ |
|
#define CMO_LIST 17 /* ¥ê¥¹¥È¹½Â¤ */ |
|
#define CMO_ZZ 20 /* ¿ÇÜĹÀ°¿ô */ |
|
\end{verbatim} |
\end{verbatim} |
|
|
¤³¤³¤Ç TCP/IP ¼ÂÁõ¤Ë¤ª¤±¤ë 32 bit ¤ÎÀ°¿ô¤Î |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë. |
ɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëɬÍפ¬¤¢¤ë¡£ |
·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç, ¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
OpenXM µ¬Ìó¤Î TCP/IP ¼ÂÁõ¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò |
¤¿¤È¤¨¤Ð, Ì¿Îá SM\_executeStringByLocalParser ¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª |
{\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ |
¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô |
¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë |
¤Ê¤¦¤¬, ¹Ô¤Ê¤Ã¤¿·×»»¤Î·ë²Ì¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. |
ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ |
|
(°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò |
|
»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤Ë¤Ï¡¢ |
|
2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
|
|
CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ |
¤Ê¤ª, Ì¿Îá¤Î¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤³¤ê, ·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï, |
Éä¹çÉÕ¤ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ |
¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. |
¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ |
|
|
|
\begin{tabular}{|c|c|c|c|c|} \hline |
\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} |
$f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline |
|
\end{tabular} |
|
|
|
¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ |
OpenXM µ¬Ìó¤Ç¤Ï, ¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common |
$f$ ¤ÏÉä¹çÉÕ¤ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ |
Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë. ¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ |
$b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹ç¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ |
¥¿¤Ï, ¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ |
¤µ¤é¤Ë¡¢ $|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. \] |
|
¤Ç¤¢¤ë¡£ |
|
|
|
¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ |
CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä. |
$4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î |
|
¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ |
|
\begin{center} |
\begin{center} |
{\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} |
\begin{tabular}{|c|c|} |
|
\hline |
|
¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ |
|
\hline |
|
\end{tabular} |
\end{center} |
\end{center} |
¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ |
¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬, |
\begin{center} |
0¤Ç¤â¤è¤¤. |
{\tt 00 00 00 14 ff ff ff ff 00 00 00 01} |
|
\end{center} |
|
¤È¤Ê¤ë¡£ |
|
|
|
|
¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë. ¤¹¤Ê¤ï¤Á, CMO ¤Ç¤Ï¥Ø¥Ã |
|
¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à. ¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦. ¤µ¤Æ, |
|
CMO ¤Ç¤Ï, ¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë. ¤¹¤Ê¤ï¤Á, ¥¿¥°¤Ï¤½¤ì |
|
¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë. ¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï |
|
\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë. ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ |
|
ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
|
|
\section{mathcap ¤Ë¤Ä¤¤¤Æ} |
\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_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 |
|
\end{verbatim} |
|
|
OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò |
¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, |
³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À©¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡£ |
CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ |
¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò |
¥¯¥È¤Ç¤¢¤Ã¤Æ, ¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£ |
|
¤Þ¤¿¡¢³Æ¥½¥Õ¥È¥¦¥§¥¢¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤â͸ú¤Ç¤¢¤ë¡£ |
|
¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥)¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë mathcap ¤È |
|
¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£ |
|
¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤È¡¢ |
|
¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ |
|
|
|
¤Þ¤º¡¢¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ |
¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤ËµË¡¤Ë¤Ä¤¤¤Æ, ¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯. ¤³¤ÎÏÀʸ |
¥¯¥é¥¤¥¢¥ó¥È¦¤Î mathcap ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ |
¤Ç¤Ï, Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï, ¾åµ¤ÇÄêµÁ¤·¤¿¼±Ê̻Ҥòɽ¤¹. |
¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿ mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤ߾夲¤ë¡£ |
¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼¥¿¹½Â¤) ¤ò |
¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤³¤È¤Ë¤è¤ê¡¢ |
cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤¹¤³¤È¤Ë¤¹¤ë. |
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¤ò¼è¤ê½Ð¤·¡¢ |
|
mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ø |
|
Á÷¤é¤Ê¤¤¤è¤¦¤ËÀßÄꤹ¤ë¡£ |
|
¥µ¡¼¥Ð¦¤Î mathcap ¤¬Íߤ·¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£ |
|
¥¯¥é¥¤¥¢¥ó¥È¤¬¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤è¤êÍ׵᤹¤ë¤È¡¢ |
|
¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ð¼«¿È¤Î mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
|
¤µ¤é¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá¤òÁ÷¤ì¤Ð¡¢ |
|
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤Ë¤¢¤ë mathcap ¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ |
|
¤³¤Î¤è¤¦¤Ë¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¦¤Î mathcap ¤ò¼õ¤±¼è¤ë¤ï¤±¤Ç¤¢¤ë¡£ |
|
|
|
¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ |
¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤ÎµË¡¤òƳÆþ¤¹¤ë. ¤³¤ÎµË¡¤Ï CMO expression |
|
¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë. ¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. |
|
|
mathcap ¤Ï°Ê²¼¤Î¤è¤¦¤Ê 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 ¤Ïñ¤Ê¤ëɽ |
|
µË¡¤Ç¤¢¤ë¤³¤È¤ËÆäËÃí°Õ¤·¤Æ¤Û¤·¤¤. |
|
|
\begin{tabular}{|c|c|c|} \hline |
¤µ¤Æ, ¤³¤ÎµË¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤Ç¤¢¤ë¤ÈÄêµÁ¤¹¤ë. |
$A$ & $B$ & $C$ \\ \hline |
\begin{quote} |
\end{tabular} |
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$ ¤ÎÉôʬ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤ª¤ê¡¢ |
\section{mathcap ¤Ë¤Ä¤¤¤Æ} |
$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ |
|
$a_2$ ¤Ïʸ»úÎó¤Ç¥·¥¹¥Æ¥à¤Î̾Á°¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
|
|
\begin{tabular}{|c|c|} \hline |
OpenXM µ¬Ìó¤Ç¤Ï, ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© |
$a_1$ & $a_2$ \\ \hline |
¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë. ¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã |
\end{tabular} |
¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿, ³Æ¥½¥Õ¥È¥¦¥§¥¢ |
|
¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤â͸ú¤Ç¤¢¤ë. ¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) |
|
¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë. ¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ |
|
¥¿¹½Â¤¤È, ¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. |
|
|
2 ÈÖÌܤÎÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ |
¤Þ¤º, ¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. |
|
|
\begin{tabular}{|c|c|c|c|} \hline |
Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap |
$b_1$ & $b_2$ & $\cdots$ & $b_n$ \\ \hline |
¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
\end{tabular} |
¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì |
|
¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·, mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê |
|
¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦. |
|
|
¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ë¡£ |
ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá \\ |
|
SM\_mathcap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
|
¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È |
|
(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë |
|
Á÷ÉÕ¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ, À©¸Â¤ò¤«¤±¤ë. |
|
|
|
¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. |
|
mathcap ¤Ï cmo ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç, ¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë |
|
\begin{quote} |
|
cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) |
|
\end{quote} |
|
¤Î¹½Â¤¤ò¤â¤Ä(\ref{sec:cmo} Àá¤ò»²¾È¤Î¤³¤È). |
|
¥Ü¥Ç¥£¤Ï cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
|
|
¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤ë¡£ |
¤µ¤Æ, 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$ ¤Ï |
|
cmo\_int32 ¤Ç¥Ð¡¼¥¸¥ç¥ó¤òɽ¤¹. $a_2$, $a_3$, $a_4$ ¤Ï cmo\_string ¤Ç¤¢¤ê, |
|
¤½¤ì¤¾¤ì¿ô³Ø¥·¥¹¥Æ¥à¤Î̾Á°, ¥Ð¡¼¥¸¥ç¥ó, HOSTTYPE ¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
\begin{quote} |
\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} |
\end{quote} |
|
|
|
ÂèÆóÍ×ÁÇ $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$, $\ldots$, {\sl cmo\_int32} $b_n$) |
|
\end{quote} |
|
|
{\large\bf ¤³¤ì¤è¤ê°Ê¹ß¤Ï°ÕÌ£ÉÔÌÀ¤Ç»ä¤Ë¤Ï¤è¤¯Ê¬¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢ |
Âè»°Í×ÁÇ $c$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê cmo\_list ¤Ç¤¢¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁ÷¼õ¿®¤òÀ©¸æ |
¤¿¤Ö¤óÆɼԤâʬ¤«¤é¤Ê¤¤¤Ç¤·¤ç¤¦} |
¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë. Á÷¼õ¿®¤ÎÀ©¸æ¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎऴ¤È¤Ë¹Ô¤ï¤ì¤ë. |
|
\begin{quote} |
|
(CMO\_LIST, {\sl int32} $m$, {\sl cmo\_list} $\ell_1$, $\ldots$, |
|
{\sl cmo\_list} $\ell_m$) |
|
\end{quote} |
|
³Æ $\ell_i$ ¤¬À©¸æ¤Î¤¿¤á¤Î¾ðÊó¤òɽ¤¹. ¤É¤Î $\ell_i$ ¤â°ì¤Ä°Ê¾å¤ÎÍ×ÁǤò |
|
»ý¤Ã¤Æ¤ª¤ê, Âè°ìÍ×ÁǤÏɬ¤º cmo\_int32 ¤È¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì |
|
¤ÏÀ©¸æ¤¹¤Ù¤¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤòÆþ¤ì¤ë¤¿¤á¤Ç¤¢¤ë. |
|
|
¤Ê¤ª¡¢ mathcap ¥Ç¡¼¥¿¤ÎÃæ¤Ç¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë |
³Æ $\ell_i$ ¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. ¤³¤³¤Ç¤Ï, OX\_DATA |
32 bit À°¿ô¡¢Ê¸»úÎ󡢥ꥹ¥È¹½Â¤¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ |
¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë. Âè°ìÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç, ¥ê¥¹¥È $\ell_i$ |
mathcap ¥Ç¡¼¥¿¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍƤòÍý²ò¤Ç¤¤ë¤¿¤á¤Ë¤Ï |
¤Ï°Ê²¼¤Î¤è¤¦¤Ê¹½Â¤¤È¤Ê¤Ã¤Æ¤¤¤ë. ³Æ $c_i$ ¤Ï cmo\_int32 ¤Ç¤¢¤ê, ¤½¤Î¥Ü¥Ç¥£ |
ɬÁ³Åª¤Ë¤³¤ì¤é¤âÍý²ò¤Ç¤¤ëɬÍפ¬¤¢¤ë |
¤Ï CMO ¤Î¼±Ê̻ҤǤ¢¤ë. $c_i$ ¤Ç»Ø¼¨¤µ¤ì¤¿ CMO ¤Î¤ß¤¬Á÷¼õ¿®¤¹¤ë¤³¤È¤òµö |
(¤Ã¤Æ¤³¤È¤Ï CMO ·Á¼°¤Î¤È¤³¤í¤Ç¤³¤ì¤é¤ò |
¤µ¤ì¤ë. |
ÀâÌÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ã¤Æ¤³¤È¤Ç¤¹)¡£ |
\begin{quote} |
|
(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} |
|
|
OpenXM ÂбþÈǤΠasir ¥µ¡¼¥Ð¤Ç¤¢¤ë ox\_asir ¤¬ÊÖ¤¹ mathcap ¤ò°Ê²¼¤Ë¼¨¤¹¡£ |
¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦. ̾Á°¤¬ ``ox\_test'', ¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼ |
|
¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç, Linux ¾å¤ÇÆ°¤¤¤Æ¤ª¤ê, ¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥· |
|
¥ó¤¬Ì¿Îá SM\_popCMO, SM\_popString, SM\_mathcap, |
|
SM\_executeStringByLocalParser ¤òÍøÍѲÄǽ¤Ç, ¤«¤Ä ¥ª¥Ö¥¸¥§¥¯¥È¤ò |
|
cmo\_int32, cmo\_string, cmo\_mathcap, cmo\_list ¤Î¤ß¤ËÀ©¸Â¤·¤¿¤¤¤È¤¤Î |
|
mathcap ¤Ï |
|
\begin{quote} |
|
(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} |
|
¤Ë¤Ê¤ë. |
|
|
¤Ê¤ª¡¢ $a_1$, $a_2$, $\cdots$, $a_n$ ¤òÍ×ÁÇ¤Ë |
|
»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ |
|
ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò |
|
¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ |
|
|
|
%¢¼ê¤Çºî¤Ã¤¿¤Î¤Ç´Ö°ã¤¨¤Æ¤¤¤ë²ÄǽÀ¤¢¤ê¡£ |
|
%%¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¡£º¹¤·Âؤ¨¤ÎɬÍפ¢¤ê¡£ |
|
\begin{verbatim} |
|
[ [199901160,"ox_asir"], |
|
[276,275,258,262,263,266,267,268,274 |
|
,269,272,265,264,273,300,270,271], |
|
[ [514,[1,2,3,4,5,2130706433,2130706434 |
|
,17,19,20,21,22,24,25,26,31,27,33,60]], |
|
[2144202544,[0,1]] |
|
] |
|
] |
|
\end{verbatim} |
|
|
|
¤³¤Î mathcap ¥Ç¡¼¥¿¤Î¥ê¥¹¥È¹½Â¤¤ÏÂ礤¯Ê¬¤±¤Æ 3 ¤Ä¤ÎÉôʬ¤Ëʬ¤«¤ì¤ë¡£ |
|
ºÇ½é¤Î {\tt [199901160,"ox\_asir"]} ¤ÎÉôʬ¤Ë¤Ï¥µ¡¼¥Ð¤Î¾ðÊó¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ |
|
%¤³¤ÎºÇ½é¤ÎÍ×ÁǤ¬¤Þ¤¿¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ |
|
ºÇ½é¤ÎÍ×ÁǤϥС¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢¼¡¤ÎÍ×ÁǤϥµ¡¼¥Ð¤Î̾Á°¤òɽ¤·¤Æ¤¤¤ë¡£ |
|
|
|
¼¡¤Î {\tt [276,275,$\cdots$,271]} ¤ÎÉôʬ¤Ï |
|
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Î¤¦¤Á¡¢ÍøÍѲÄǽ¤ÊÌ¿Îá¤Î¼ïÎà¤òɽ¤·¤Æ¤¤¤ë¡£ |
|
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ |
|
¤³¤Î¥ê¥¹¥È¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ËÂбþ¤¹¤ë 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Î¥ê¥¹¥È¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
|
|
ºÇ¸å¤Î {\tt [ [514,[1,2,3,$\cdots$,60]],[2144202544,[0,1]] ]} ¤ÎÉôʬ¤Ï |
|
Íý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î·Á¼°¤òɽ¤·¤Æ¤¤¤ë¡£ |
|
¤³¤ÎÉôʬ¤Ï¤µ¤é¤Ë {\tt [514,[1,2,3,$\cdots$,60]]} ¤È |
|
{\tt [2144202544,[0,1]]} ¤Ë¤ÎÉôʬ¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤¡¢ |
|
¤½¤ì¤¾¤ì¤¬°ì¤Ä¤Î¥Ç¡¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤É¤Î¥Ç¡¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤫤Ϻǽé¤ÎÍ×ÁǤˤ¢¤ëÀ°¿ôÃͤò¤ß¤ì¤Ð |
|
ʬ¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
¤³¤ÎÀ°¿ôÃÍ¤Ï CMO ·Á¼°¤Ç¤Ï 514 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
ºÇ½é¤Î¥Ç¡¼¥¿·Á¼°¤ò¶èÊ̤¹¤ëÀ°¿ôÃͰʸå¤ÎÍ×ÁÇ¤Ï |
|
³Æ¥Ç¡¼¥¿·Á¼°¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ë»È¤ï¤ì¤ë¤«Äê¤Þ¤Ã¤Æ¤¤¤ë¡£ |
|
CMO ·Á¼°¤Ç¤ÏÍý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î¥¿¥°¤¬¥ê¥¹¥È¤ÎÃæ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë¡£ |
|
Á°Àá¤Ç CMO ·Á¼°¤Ç¤Ï¿ÇÜĹÀ°¿ô¤òɽ¤¹¥¿¥°¤¬ 20 ¤Ç¤¢¤ë¤³¤È¤ò½Ò¤Ù¤¿¤¬¡¢ |
|
¤³¤Î¥ê¥¹¥È¤Ë 20 ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ |
|
ox\_asir ¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤ò¼õ¤±¼è¤ì¤ë¤³¤È¤¬¤ï¤«¤ë¡£ |
|
|
|
¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢ |
|
¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤¤ë¤³¤È¤È¤Ï¤Þ¤Ã¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤Ç |
|
Ãí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ |
|
|
|
|
|
\section{¥»¥¥å¥ê¥Æ¥£Âкö} |
\section{¥»¥¥å¥ê¥Æ¥£Âкö} |
|
|
OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ëµ¬Ìó¤Ç¤¢¤ë¡£ |
OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë. ¥Í¥Ã¥È¥ï¡¼¥¯ |
¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢ |
¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ, OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® |
OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£ |
»þ¤Î¥»¥¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë. °Ê²¼, ¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. |
°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ |
|
|
|
{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬¡¢} |
Âè°ì¤Ë OpenXM ¤Ç¤Ï¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á, |
|
¥µ¡¼¥Ð¤ÏÀܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßµ¯Æ°¤·¤Æ¤¤¤ë. ¤·¤«¤·, ¤³¤ì¤À¤±¤Ç¤ÏÀܳ |
|
¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤¤òÁÀ¤ï¤ì¤ë²ÄǽÀ¤â¤¢¤ë. ¤½¤³¤ÇÀܳ¤ò¹Ô¤Ê¤¦»þ¤Ë, Àܳ |
|
¤ò¹Ô¤Ê¤¦¥Ý¡¼¥ÈÈÖ¹æ¤òËè²óÊѤ¨¤Æ¤¤¤ë. ¤³¤¦¤¹¤ë¤³¤È¤Ç, ÆÃÄê¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò |
|
ÁÀ¤Ã¤ÆÀܳ¤ò¹Ô¤Ê¤¦¼ê¸ý¤òËɤ°¤³¤È¤¬¤Ç¤¤ë. |
|
|
¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤¹¤ë¤¿ |
¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À¤ò¹â¤á¤ë¤¿¤á¤Ë, Àܳ»þ¤Ë°ì»þ¥Ñ¥¹¥ï¡¼¥É¤ò¥¯¥é¥¤¥¢¥ó¥È |
¤á¤Ë¡¢Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·¡¢ |
¤¬ºîÀ®¤·, ¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦. ¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍÑ |
¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë(¤ä¤Ã¤Ñ¤ê°ÕÌ£ÉÔÌÀ¤Ç¤¢¤ë)¡£ |
¤µ¤ì¤ì¤Ð̵¸ú¤Ë¤Ê¤ë¤Î¤Ç, ¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ |
|
¤â°ÂÁ´¤Ç¤¢¤ë. |
|
|
¤Þ¤¿¡¢¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤¤òÁÀ¤Ã¤Æ¤¯¤ë²ÄǽÀ¤â¤¢¤ë¤Î¤Ç¡¢ |
¤Ê¤ª, ¥á¥Ã¥»¡¼¥¸¼«ÂΤˤÏÆä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç, ¤½¤Î¤Þ¤Þ |
Àܳ¤ò¹Ô¤Ê¤¦»þ¤ËÀܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë(郎·è¤á¤Æ¤¤ |
¤Ç¤Ï¥Ñ¥±¥Ã¥ÈÅðÄ°¤Ê¤É¤ò¼õ¤±¤ë²ÄǽÀ¤¬¤¢¤ë. ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï, ɬÍפʤé¤Ð |
¤ë¤Î¤«¤Ï¤ä¤Ã¤Ñ¤êÉÔÌÀ¤Ç¤¢¤ë¤¬)¡£ |
ssh ¤òÍøÍѤ·¤ÆÂбþ¤·¤Æ¤¤¤ë. |
¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À¤ò¹â¤á¤ë¤¿¤á¤Ë¡¢ |
|
Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤òºîÀ®¤·¡¢ |
|
¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦(郎¥Ñ¥¹¥ï¡¼¥É¤ò·è¤á¤Æ郎ǧ¾Ú¤ò¹Ô¤Ã |
|
¤Æ¤¤¤ë¤Î¤«¤¬ÉÔÌÀ¤À¤±¤É)¡£ |
|
¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ |
|
¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£ |
|
|
|
%¤Ê¤ª¡¢¾åµ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ |
|
%¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£ |
|
%¤Þ¤¿¡¢Æ±°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë |
|
%¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
|
%¤Ê¤¼¤Ê¤é¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë |
|
%¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£ |
|
|
|
¤Ê¤ª¡¢Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï¡¢ |
\section{OpenXM °Ê³°¤Î¥×¥í¥¸¥§¥¯¥È} |
Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ |
|
¤â¤·É¬Íפ¬¤¢¤ì¤Ð¡¢ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½¤¬¤¢¤ë |
|
¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¡£ |
|
|
|
\section{¾¤Î¥×¥í¥¸¥§¥¯¥È} |
OpenXM °Ê³°¤Ë¤â¿ô¼°½èÍý¥·¥¹¥Æ¥à´Ö¤ÎÄÌ¿®¤òÌܻؤ·¤¿¥×¥í¥¸¥§¥¯¥È¤Ï¸ºß¤¹¤ë. |
|
¤³¤³¤Ç¤Ï¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦. |
|
|
¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£ |
\begin{itemize} |
|
\item ESPRIT OpenMath Project |
|
|
OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò |
http://www.openmath.org/omsoc/ |
¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊýË¡¤ò·èÄꤷ¤Æ¤¤¤ë¡£ |
|
³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î |
|
¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤¤¤Æ¤â½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¡£ |
|
ɽ¸½ÊýË¡¤Ï°ì¤Ä¤À¤±¤Ç¤Ê¤¯¡¢ XML ɽ¸½¤ä binary ɽ¸½¤Ê¤É¤¬ |
|
ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
¾ÜºÙ¤Ï |
|
|
|
http://www.openmath.org/omsoc/index.html A.M.Cohen |
¿ô³ØŪÂоݤΠSGML Ūɽµ¤Îɸ½à²½¤òÌܻؤ·¤¿Â絬ÌÏ¤Ê¥×¥í¥¸¥§¥¯¥È. °Û¤Ê¤ë¼ï |
|
Îà¤Î¿ô¼°½èÍý¥·¥¹¥Æ¥à¤Î´Ö¤Ç¾ðÊó¤ò¸ò´¹¤¹¤ë¤È¤¤Ë, OpenMath ¤ÇÄêµÁ¤µ¤ì¤¿É½ |
|
¸½¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë. ¼ÂºÝ¤Î¾ðÊó¸ò´¹¤Î¼ê³¤¤Ï¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Î |
|
Èϰϳ°¤Ç¤¢¤ë¤¬, ÊÌ¤Î¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ, |
|
Î㤨¤Ð MCP ¤òÍѤ¤¤¿¼ÂÁõ¤¬¤¢¤ê, GAP ¤È Axiom ¤Î´Ö¤ÇÄÌ¿®¤¬¹Ô¤ï |
|
¤ì¤Æ¤¤¤ë. OpenXM ¤Ï OpenMath µ¬Ìó¤Î phrasedictionary ¤ÈƱ¤¸¥¢¥¤¥Ç¥¢¤òÍÑ |
|
¤¤¤Æ¤¤¤ë. |
|
|
|
\item NetSolve |
|
|
°Ê²¼¤Ï½ñ¤¤¤Æ¤ëÅÓÃæ¡£ |
http://www.cs.utk.edu/netsolve/ |
|
|
NetSolve |
NetSolve ¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð·¿¤Îʬ»¶¥·¥¹¥Æ¥à¤Ç¤¢¤ê, ñ¤Ê¤ë·×»»¥·¥¹¥Æ |
|
¥à°Ê¾å¤Î¤â¤Î¤òÌܻؤ·¤Æ¤¤¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤ÏɬÍפ˱þ¤¸¤Æ, ¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð |
|
¤·¤Æ·×»»¤ò¤µ¤»¤ë. NetSolve ¤ÎÆÃħ¤Ï, ¥µ¡¼¥Ð¤Î¸Æ¤Ó½Ð¤·¤Ë Agent ¤È¤¤¤¦¥½ |
|
¥Õ¥È¥¦¥§¥¢¤ò²ðºß¤µ¤»¤ë¤³¤È¤Ç¤¢¤ë. Agent ¤Ï¸Æ¤Ó½Ð¤·Àè¤Ê¤É¤ò·èÄꤹ¤ë¥Ç¡¼ |
|
¥¿¥Ù¡¼¥¹ÅªÌò³ä¤ò²Ì¤¿¤¹. ¤Þ¤¿ Agent ¤Ë¤è¤Ã¤ÆÉé²Ùʬ»¶¤¬²Äǽ¤Ë¤Ê¤ë. ¸½ºß |
|
¤Î NetSolve ¤Ï RPC ¤ò´ðÁäˤ·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë. |
|
|
http://www.cs.utk.edu/netsolve/ |
\item MP |
|
|
|
http://symbolicnet.mcs.kent.edu/SN/areas/protocols/mp.html |
|
|
MP |
²Ê³Øµ»½Ñ·×»»¤ò¹Ô¤Ê¤¦¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¿ô³ØŪ¤Ê¥Ç¡¼¥¿¤ò¸úΨŪ¤Ë¸ò´¹¤µ¤»¤ë¤³ |
|
¤È¤òÌÜŪ¤È¤·¤¿¥×¥í¥È¥³¥ë¤òºîÀ®¤·¤Æ¤¤¤ë. ÌÚ¹½Â¤¤òÍѤ¤¤Æ, ´Êñ¤«¤Ä½ÀÆð¤Ê¤â |
|
¤Î¤òÌܻؤ·¤Æ¤ª¤ê, ¥Ç¡¼¥¿¤Îɽ¸½ÊýË¡¤ä¸ò´¹ÊýË¡¤Ë¤è¤é¤º¤Ë¥½¥Õ¥È¥¦¥§¥¢¤òºî¤ë |
|
¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤Î¤¬ÌÜɸ¤Ç¤¢¤ë. ¸½ºß¤¹¤Ç¤Ë, C ¸À¸ì¤ÇÍøÍѲÄǽ¤Ê¥é |
|
¥¤¥Ö¥é¥ê¤¬Ä󶡤µ¤ì¤Æ¤¤¤ë. |
|
|
http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html |
\item MCP (Mathematical Computation Protocol) |
|
|
|
http://horse.mcs.kent.edu/\~{}pwang/ |
|
|
MCP |
¿ô³ØŪ¤Ê·×»»¤ò¹Ô¤Ê¤¦¤¿¤á¤Î HTTP ¤Ë»÷¤¿¥×¥í¥È¥³¥ë. ¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼ |
|
¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤ª¤ê, ¥Ô¥¢¥Ä¡¼¥Ô¥¢¤Î¥¹¥È¥ê¡¼¥à¥³¥Í¥¯¥·¥ç¥ó¤ò¹Ô¤Ê¤¦. |
|
¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò MP ¤ä MathML ¤ÇÄê¤á¤é¤ì¤¿ÊýË¡¤Çɽ¸½¤¹¤ë¤³¤È¤¬¹Í¤¨ |
|
¤é¤ì¤Æ¤¤¤ë. ¤¹¤Ç¤Ë OpenMath ¤òÍѤ¤¤¿¼ÂÁõ¤¬Â¸ºß¤¹¤ë. |
|
¤³¤Î¾ì¹ç MCP ¤Ë¤è¤Ã¤ÆÁ÷¿®¤µ¤ì¤ë¥Ç¡¼¥¿¤Ï, ËÜʸ¤Ë OpenMath ·Á¼°¤Ç¿ô¼°¤òµ |
|
½Ò¤·¤¿¥Æ¥¥¹¥È¤Ç¤¢¤ë. |
|
|
http://horse.mcs.kent.edu/~pwang/ |
\end{itemize} |
|
|
|
|
\section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} |
\section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} |
|
|
¸½ºß OpenXM µ¬³Ê¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï |
¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬ |
asir, sm1, Mathematica ¤¬¤¢¤ë¡£ |
¤¢¤ë. ¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³ |
¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é |
¤È¤¬¤Ç¤¤ë. ¤Þ¤¿ OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¤Ë¤Ï, asir, sm1, |
OpenXM µ¬³Ê¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£ |
Mathematica, gnuplot, PHC pack ¤Ê¤É¤¬¤¢¤ê, ¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, |
¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢ |
ox\_math, ox\_sm1\_gnuplot, ox\_sm1\_phc ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. |
asir, sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢ |
¤µ¤é¤Ë OpenMath µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö |
¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_math ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ |
¥¸¥§¥¯¥È¤òÁê¸ßÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê, |
¤Þ¤¿¡¢ OpenMath µ¬³Ê¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥Ç¡¼¥¿¤È CMO ·Á¼°¤Î |
OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. |
¥Ç¡¼¥¿¤òÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢ |
|
OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ |
|
|
|
\begin{thebibliography}{99} |
\begin{thebibliography}{99} |
|
\bibitem{Ohara-Takayama-Noro-1999} |
|
¾®¸¶¸ùǤ, ¹â»³¿®µ£, ÌîϤÀµ¹Ô: |
|
{Open asir ÆþÌç}, 1999, ¿ô¼°½èÍý, |
|
Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). |
|
|
\bibitem{OpenXM-1999} |
\bibitem{OpenXM-1999} |
ÌîϤÀµ¹Ô, ¹â»³¿®µ£: |
ÌîϤÀµ¹Ô, ¹â»³¿®µ£: |
{Open XM ¤ÎÀ߷פȼÂÁõ --- Open message eXchange protocol for Mathematics}, |
{Open XM ¤ÎÀ߷פȼÂÁõ |
|
--- Open message eXchange protocol for Mathematics}, |
1999/11/22 |
1999/11/22 |
\bibitem{Ohara-Takayama-Noro-1999} |
|
¾®¸¶¸ùǤ, ¹â»³¿®µ£, ÌîϤÀµ¹Ô: |
|
{Open asir ÆþÌç}, 1999, ¿ô¼°½èÍý, Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). |
|
\end{thebibliography} |
\end{thebibliography} |
|
|
\end{document} |
\end{document} |