1 / 17

Windows 版  OpenXM

Windows 版  OpenXM. 高山信毅 (神戸大学)、2002.3.18 Takayama@openxm.org. OX-RFC-100 http://www.openxm.org Noro, Takayama (1997—2000), Ohara, Okutani,Tamura. データ構造(数、多項式、リスト、文字列) Stackmachine API コントロール&エンジンモデル. [713] print_ox_rfc100_xml_form(x^2); <cmo_recursive_polynomial>

suzy
Download Presentation

Windows 版  OpenXM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows版 OpenXM 高山信毅 (神戸大学)、2002.3.18 Takayama@openxm.org

  2. OX-RFC-100http://www.openxm.orgNoro, Takayama (1997—2000), Ohara, Okutani,Tamura • データ構造(数、多項式、リスト、文字列) • Stackmachine API • コントロール&エンジンモデル

  3. [713] print_ox_rfc100_xml_form(x^2); <cmo_recursive_polynomial> <cmo_list><cmo_int32 for="length">1 </cmo_int32> <cmo_string>"x"</cmo_string> </cmo_list> <cmo_polynomial_in_one_variable><cmo_int32 for="number of terms">1</cmo_int32> <cmo_int32 for="variable name">0</cmo_int32> <cmo_int32 for="exponent">2</cmo_int32> <cmo_zz>1</cmo_zz> </cmo_polynomial_in_one_variable> </cmo_recursive_polynomial>

  4. [718] ox_rpc(fctr,x^2-1); 0 [719] ox_pop_cmo(0); error([12,executeFunction : invalid function name]) [720] ox_rpc(0,"fctr",x^2-1); 0 [721] ox_pop_cmo(0); [[1,1],[x-1,1],[x+1,1]] [722]

  5. ox client

  6. control client Engine

  7. Interrupt control client Engine

  8. OX-RFC100Control&Engineモデルの実装 • Thread, event driven (Omproxy.java 田村(2000)、 asirgui 野呂(1998?))  unix用ソースコードの大幅な書き換えが必要、保守が大変 • Unix signal Windowsでは使えない  cygwin (cygwin1.dll) の利用、 unix のソースコードの変更が最小限ですみ保守が容易

  9. Setjmp Longjmp #if defined(__CYGWIN__) #define SETJMP(b) sigsetjmp(b,~0) #else #define SETJMP(b) setjmp(b) #endif Siglongjmp Setjmp,longjmp

  10. system Sh を起動できない Fork & exec system

  11. プログラムの起動 • Xterm が使えない  startで代用 • パス名の混乱 (\OpenXM\bin\ox, /OpenXM/bin/ox, c:/OpenXM/bin/ox, /cygdrive/c/OpenXM/bin/ox) • cygwin 環境での起動とWindows環境での起動での動作の違い • 環境変数の扱い • Cppがない  oxpp

  12. /asirconnectr { [(getenv) (OSTYPE)] extension tag 0 eq { asirconnectr_win }{ [(getenv) (OSTYPE)] extension (cygwin) eq { asirconnectr_cygwin }{ asirconnectr_win }ifelse } ifelse } def

  13. 成果と課題 • Asir-contrib の多くのコマンドがWindowsでも動作するようになった(雑用) • WebAsir の実験(まだ遊び) • 起動をきれいに行うためには broker-like な仕組みが必要であることがよくわかった。(OX-RFC101(小原)、Javaでの起動(田村)  発展版が必要)

  14. control IE ox_asir engine HTTPサーバby kan/sm1

  15. Asir-Contrib(2002,1.2.1) • Sm1, gnuplot, phc, tigers, om,math,dsolv (2000, 1.1.1) • Base • Print (xdvi, tex,xml,…) • Matrix (okutani lib) • Poly, …

  16. Document generation system • Weave,tangle(Knuth, 1980’s), javadoc (1990’s) • Gentexi (特に新しいアイディアなし  雑用) • /*&usagebegin: base_cancel(S) • It simplifies {S} by canceling the common factors of • denominators and numerators. • example: base_cancel([(x-1)/(x^2-1), (x-1)/(x^3-1)]); • end: */

  17. 参考ソースコード • OpenXM/src/asir-contrib • OpenXM/misc/packages/Windows • OpenXM/src/kan96xx/lib/*win* • OpenXM/src/kan96xx/lib/httpd.sm1 • #defined(__CYGWIN__)OpenXM_contrib2/asir2000, OpenXM/src/kan96xx/Kan • 参考記事:Cygwin、藤枝和宏(unixマガジン、2000、11月号よりの連載

More Related