ããããããã¯ãŠãµã®ã®ç©Žãžã®æ ã®å§ãŸãã«éããŸããã
SOMã«é¢ããããã¥ã¡ã³ãã¯ãããŸãããã¬ãã¥ãŒããããŸããããã®ãããªããã¥ã¡ã³ããšããŠãScott H. DanforthãšIra R. FormanïŒIraã¯ããã©ã€äººã®ç·æ§åïŒãå·çãã4ã€ã®èšäºãæããŸãã
www.edm2.com/index.php/Scott_H._Danforth
- SOMã§ã®ãªãªãŒã¹ãšãªãªãŒã¹ã®ãã€ããªäºææ§Ira R. FormanãMichael H. ConnerãScott H. DanforthãLarry K. Raperã«ããèšäºïŒIBMã®System Object ModelïŒïŒ1995ïŒ
- SOMã®ã¡ã¿ã¯ã©ã¹ããã°ã©ãã³ã°ã«é¢ããèå¯-Ira R. FormanãScott H. DanforthïŒ1994ïŒ
- SOMã®ã¡ã¿ã¯ã©ã¹å¶çŽã®ç¶æ¿ïŒIra R. FormanãScott H. Danforthã1994幎ïŒ
- SOMã§ã®ã¡ã¿ã¯ã©ã¹ã®å/åŸã®æ§æïŒIra R. FormanãScott H. DanforthãHari MadduriïŒ1994ïŒ
æãçŸå³ããç¬éïŒ
RRBCïŒ
ã³ã³ãã€ã«ãããã©ã€ãã©ãªã«å¯Ÿãããã®ãšã³ãžãã¢ãªã³ã°åéã®ç®æšã¯ã次ã®ããã«è¿°ã¹ãããšãã§ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®å€æŽã®ã¿ãåã³ã³ãã€ã«ãå¿ èŠãšããŸã
ããã¯ãã¯ã©ã¹ã©ã€ãã©ãªã®é²åãã¢ããªã±ãŒã·ã§ã³ãœãŒã¹ã®å€æŽãå¿ èŠãšããªãå Žåãã¢ããªã±ãŒã·ã§ã³ã¯åã³ã³ãã€ã«ãå¿ èŠãšããªãããšãæå³ããŸãã
æ¬æã§ããå°ããéåžžã®æç¶ãåãªã³ã«ãŒãæäŸããå¯èœæ§ãåæããŸããããã¯ã©ãã«ã§ãããããããè¶ ããŠãŸã è¡ã£ãŠããŸãããã€ãŸãã蚱容ãããå€æããªã¹ããããŠããŸãã
ãã®åŸãå¶ç¶ã«ãããã®ãªã¹ãã¯ãç¶æ¿ã䌎ãã¯ã©ã¹ã®ããã«ãå€æã®å¥ã®ãªã¹ãã«ç¶ããŸãã ãã©ã€ããŒããªããžã§ã¯ãå€æ°ãè¿œå ã§ããŸããã¯ã©ã¹éå±€ã¯å€æŽã§ããŸãã ãœãŒã¹ã³ãŒããå€æŽããå¿ èŠã®ãªããã®ã¯ãåã³ã³ãã€ã«ããå¿ èŠã¯ãããŸããã ããã¯ãIBM Object Technology GroupïŒãªãŒã¹ãã£ã³ïŒã§åœŒããè¡ã£ãŠããçš®é¡ã®ä»äºã§ãã
æåŸã«ãRRBCã«ã¯ãSOMãšä»ã®éžæè¢ïŒDelta / C ++ãOBI-ç§ã¯ãããããç¥ããªãããç¥ãã®ã¯é¢çœãã£ãïŒãšæ¯èŒããè¡šãå«ãŸããŠããŸãã ãã®è¡šã§ã¯ãç§ã¯æ¬åœã«
ããŒãhã«åæããªã
Objective-Cã©ã³ã¿ã€ã ãObjective-Cãšã¯å¥ã«æ€èšããç¥å
ã€ã³ã¹ã¿ã³ã¹ã®æ£ç¢ºãªãµã€ãºãç¥ããªããã€ã³ãã£ã³ã°ãéããŠã®ã¿åå«ãå®è£
ãããšä»®å®ãããšããããã¯ãã®å€ãåçã«èªèãããã¹ãŠã®ãªãã»ãããåèšç®ããŸããããã¯1ã€ã®ããšã§ãã ããããåé¡ã¯Objective-Cã«ãããŸãããã®èŠ³ç¹ããã¯ãObjective-Cã©ã³ã¿ã€ã ã®ææªã®æ¶è²»è
ã§ããç¶æ¿ã¡ã«ããºã ã¯ãAPIã®å
¬é以éãç¥å
å
ã®ãªãã»ããã®åçµãæ³å®ããŠããããã§ãã
èè ãCLOSã«ç²ŸéããŠããããšã ãã§ãªããåãã§ããŸãïŒ åäžãšã³ããªããŒãã«ïŒã¡ã¿ã¯ã©ã¹å¶çŽãäžæ¹ã«ç§»è¡ïŒã§ã¯ãCLOSã¯SOMã«å£ããŸãã ãã®åé¡ïŒã¡ã¿ã¯ã©ã¹ã®éäºææ§ïŒã«ã€ããŠã¯ãããšãã°ãSOMã®ã¡ã¿ã¯ã©ã¹ããã°ã©ãã³ã°ã®ãªãã¬ã¯ã·ã§ã³ã§è©³ãã説æãããŠããŸãã äžçªäžã®è¡ã¯ãåå«ã®ã¡ã¿ã¯ã©ã¹ã芪ã®ã¡ã¿ã¯ã©ã¹ã®åå«ã«ãªãããšãæåŸ ãããŠãããããã§ãªããã°ãã¡ã¿ã¯ã©ã¹ã®éäºææ§ã§ãã æ瀺çãªã¡ã¿ã¯ã©ã¹ã䜿çšãããšããããå¯èœã«ãªããŸãã ã¯ã©ã¹éå±€ã®å€åæ§ãèæ ®ããSOMã®ã¢ãããŒãå¿ããªãããšãèãããšãCLOSã§éããããšã¯SOMã§éããããªãããšãæããã«ãªããŸãã
SOM 2.0ã¯ããã®åé¡ã«å¯Ÿããç¬èªã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããŠããŸããã¯ã©ã¹IDLã§æå®ãããã¡ã¿ã¯ã©ã¹ã¯ããã®ã¯ã©ã¹ã®ã¡ã¿ã¯ã©ã¹ãæ£ç¢ºã«ç€ºããã®ã§ã¯ãªããå¶éäºé ã«ãããŸããã ã¯ã©ã¹ã¡ã¿ã¯ã©ã¹ã¯ãå芪ã®ã¡ã¿ã¯ã©ã¹ã®åå«ã§ãããšãšãã«ãã¯ã©ã¹å®£èšã§æå®ãããã¡ã¿ã¯ã©ã¹ã®åå«ã§ãªããã°ãªããŸããã ãããã®ã¡ã¿ã¯ã©ã¹ã®ããããããã¹ãŠã®èŠä»¶ãæºãããŠããå Žåããããæ¡çšãããŸãã ãã以å€ã®å ŽåãSOMã©ã³ã¿ã€ã ã¯ãæå°éã®ã¡ã¿ã¯ã©ã¹ãååŸããããã«ãå¿ èŠãªãã¹ãŠã®ã¡ã¿ã¯ã©ã¹ã暪æããããšã決å®ããŸãã
åæã«ããã®ããã¥ã¡ã³ãã§ã¯ããããã®ã¡ã¿ã¯ã©ã¹ã«ã€ããŠèª¬æããŸãã ã¡ã¿ã¯ã©ã¹ãæé»çã§ããDelphiãšJavaã®äŸãããäžåºŠèª¬æããŸãã
ãã®ãããDelphiããã³Javaã«ã¯ããªããžã§ã¯ãã®ã¡ãœããã«å ããŠãã¯ã©ã¹ã¡ãœããããããŸãã Delphiã«ã¯ä»®æ³ã³ã³ã¹ãã©ã¯ã¿ããããŸãã Delphiã«é¢ããŠã¯ãTObjectã®ã¯ã©ã¹ãšããŠå®£èšãããç¹å®ã®TClassããããŸãã ã¯ã©ã¹ã¡ãœãããŸãã¯ä»®æ³ã³ã³ã¹ãã©ã¯ã¿ãDelphiã¯ã©ã¹ã«è¿œå ããããã³ã«ãSOMã§ã¯ããããã®ã¡ãœãããè¿œå ããŠã¡ã¿ã¯ã©ã¹ãç¶æ¿ããããšã«äŒŒãŠããŸãã Delphiããã³Javaã§ã¯ãã¡ã¿ã¯ã©ã¹ã¯æé»çã§ããããããã®ç¶æ¿ãã§ãŒã³ã¯ã¯ã©ã¹ç¶æ¿ãã§ãŒã³ãã»ãšãã©åæ ããŠããŸãã æ°ããã¯ã©ã¹ã¡ãœãããè¿œå ãããŠããªãå Žåããã®å Žåã芪ã¡ã¿ã¯ã©ã¹ã¯å€æŽãããªããšèŠãªãããŸãã TClassããã³Delphiã®ä»ã®...ã¯ã©ã¹ã¯ãéåžžã®ãªããžã§ã¯ããšã¯ç°ãªãåäœãããŸãã ããšãã°ãTObjectã«ã¯TObject.DispatchããããŸãããTClassåã®å€æ°ã®å Žåããã®ãããªã¡ãœãããåŒã³åºãæ¹æ³ã¯ãããŸããã ãŸããTObjectãªããžã§ã¯ãã®ãã®ä»ã®ã¡ãœããã¯ãTClassåã®å€æ°ã§åŒã³åºãããšã¯ã§ããŸããã TClassã¯TObjectã®åŸç¶ã§ã¯ãªããä»ã®ç¹ã§ããããŸãã Javaã§ã¯ãå°ãç°ãªããŸããjava.lang.Classããããjava.lang.Objectã®ç¶æ¿è ã§ããããããæå³ãããã¹ãŠã®ãã®ããããŸãã ãã ããã¯ã©ã¹ã«ã¡ãœãããããããã®ã¯ã©ã¹ã®åå«ãè¡šãjava.lang.Classã®ã€ã³ã¹ã¿ã³ã¹ã®æã«æž¡ã£ãå Žåããã®ã€ã³ã¹ã¿ã³ã¹ã§ã¡ãœãããåŒã³åºãããšã¯ã§ããŸããã ãªããžã§ã¯ããšããŠã®ã¯ã©ã¹ã«ã¯ãã¯ã©ã¹ãæã€ã¡ãœãããšåããã®ã¯ãããŸããâåçŽã«ã
ããŠãDelphiãšJavaã®ä»çµã¿ãæžããåŸãã¡ã¿ã¯ã©ã¹ãšã¯äœããæ確ã«ããå¿ èŠããããŸããSOMã§ã¯ããªããžã§ã¯ãã¯ã©ã¹ã¯å®å šãªãªããžã§ã¯ãã§ããããã®ã¡ãœããã¯å®å šãªãªããžã§ã¯ãã¡ãœããã§ãããããã®ã€ã³ã¹ã¿ã³ã¹ã§ã ãããŠããªããžã§ã¯ãã¯ãã®ãããªã¡ãœãããæã€ããšãã§ããªãããããã®ã¯ã©ã¹ã§å®£èšããå¿ èŠããããŸã
ãªããžã§ã¯ãã ã¯ã©ã¹ã®ã¯ã©ã¹ã¯ã¡ã¿ã¯ã©ã¹ã§ãã ã¡ã¿ã¯ã©ã¹èªäœã¯éåžžããã®ã¯ã©ã¹ãšããŠSOMClassãæã£ãŠããŸãããæ¬æ Œçãªãªããžã§ã¯ããšããŠããä»ã®ã¯ã©ã¹ãæã€ããšãã§ããŸãã å¿ èŠã«å¿ããŠãSOMã©ã³ã¿ã€ã ã«ã¡ã¿ã¡ã¿ã¯ã©ã¹ãã¯ãã¹ãããã
å®éã«ã¯ãç¶æ¿ã«ã¯æ°ãã次å ãäžããããŸã
ç¶æ¿ããµããŒããããã®ãããªãã€ã³COMã次ã«ç€ºããŸãã
ãªããžã§ã¯ãã·ã¹ãã ã®ã¬ãã¥ãŒãæžããŸããã ãSOMã¯ãã®æ©èœã«ç §ãããŠèŒããŠããŸãã
ãããŠä»ã2ã€ã®ãã¥ãŒã¹ïŒ
è¯ãïŒ SOMã¯Windows NTã«ã移æ€ãããŠããŸãã ä»ã®ã¿ãŒã²ããã¯äœ¿çšããã®ã«åé¡ããããŸãã AIX for PowerPCã OS / 2ã¯ããã¹ãŠã®PCãšãã¥ã¬ãŒã¿ãŒã«ãšã£ãŠå³ãããã®ã§ã¯ãªã ããéãããããŸããã
SOMããŒãžã§ã³3.0ã¯ã1996幎ã®2æã®ããŒã¿çãš12æã®ãªãªãŒã¹ã®åœ¢ã§ç¡æã§æäŸãããŠããŸããããããããã¯æãã€ããªãã£ãæ©èœãäžéšåé€ãããŸããã ããšãã°ãDirect-To-SOMã§ã¯ã.hã.idlããäœæããã®ã§ã¯ãªãã.hãã.idlãäœæããããšãèš±å¯ãããŸããã å€æŽãããC ++ã³ã³ãã€ã©ã§èšè¿°ããŠããŸããçµæã®ã³ãŒãã¯SOMã䜿çšããŠãããããã«ããæè»ã«ãªããŸãã Delta / C ++ãšã¯ç°ãªããä»ã®C ++ã³ã³ãã€ã©ããã³ä»ã®ããã°ã©ãã³ã°èšèªã®ã³ã³ãã€ã©ã¯ãèªåçã«ã©ã€ãã©ãªã®æœåšçãªæ¶è²»è ã«ãªããŸãã
æªãïŒ WinNTçšã®SOMobjects 3.0 Developer's Toolkitãã©ãã«ãèŠã€ãããŸããã 1997幎ãŸãã¯1998幎ã«äœããèµ·ãã£ãã®ã§ãIBMããã®æ¹åã§ã®éçºããããã°è¯ãã£ãã®ã§ããããããã©ãããã§ãé ã ããSOMãåé€ããå¿ èŠããããŸããã FTPã§ã¯ãããã¥ã¡ã³ãã®ã¿ãèŠã€ãããŸãããããã¡ã€ã«èªäœã¯èŠã€ãããŸããã§ããã Hobbesã¢ãŒã«ã€ãã®ãããã§OS / 2ã®ããŒãžã§ã³ãä¿åãããæ®ãã¯ãã€ãã€ã§ãã VisualAge C ++ 4.0ãã€ã³ã¹ããŒã«ããŸãããããã³ãã«ãããŠãããšæããŸããã ããããããã§ã¯ãããŸããã
æ°ã¶æåãç§ã¯éçºã«åå ããWindowsçšã®ããŒãžã§ã³ãå«ããããã䜿çšãã人ã ãšé£çµ¡ãåãå§ããŸããã 圌ããçããŠãããŠããããã§ããããªãã¯ãŸã 誰ããèŠã€ããããšãã§ããŸããã圌ãã¯ãããã®ãã¡ã€ã«ãæã£ãŠããŸããã ç¹ã«ç§ã殺ããšã
ãã®ä»äºã«å€ãã®ãšãã«ã®ãŒãšåµé åã泚ãã§ãã人ã«çããŠãã ãã
ããã«ã¡ã¯ãã€ãŽã¡ã³ã
ç§ã¯SOMã®ãªãªãŒã¹1ããã³2ã®ããŒãããã°ã©ããŒã§ãããïŒäžè¬çãªå¯çšæ§ã¡ãã£ã¢ãšããŠäœ¿çšãããæ¬çªç°å¢ã«éããããã£ã¹ã¯ã«çœ²åããŸããïŒã3.0æãŸã§ã«éè·ããŸãããåºãŠããŠããã®æç¹ã§ããŒã ãšé£çµ¡ãåã£ãŠããŸããã§ããã
çŸæç¹ã§ã¯ããã€ããªãæã£ãŠãã人ã¯èª°ãç¥ããŸããã IBMãSOMãããŸãã«ã貧匱ã«è²©å£²ããŠããã®ã¯æ®å¿µã§ãããã°ããã®éãç§ãã¡ã¯äžçãå€ãããšæã£ãŠããŸããã
ãã¿ãŸãããç§ã¯ããªããå©ããããšãã§ããŸããã
ã¢ã³ãã£
ãŸã ãã¡ã€ã«ãæã£ãŠããå¯èœæ§ã®ããã¢ã€ãã¢ã¯ãäžæçã«äœ¿ãæããããŸãã ç§ãç¥ãéããç©çåªäœã§ã¯SOM 3.0ã¯åå¥ã«é åžãããŸããã§ããã CD-ROMã«ã¯ãOS / 2ãWinNTãããã³AIXã®ããŒãžã§ã³ãå¿ èŠã§ãã ãã¡ã€ã«åsom30os2.zipïŒã€ã³ã¿ãŒãããã«ä¿åãããŠãããã¹ãŠã®ãã®ïŒããå€æãããšããã®ããŒãžã§ã³ã¯CD-ROMã«ãããŸãã ã€ã³ã¿ãŒããããµã€ãºã®ãã¡ã€ã«ã«ã¯ãsom30ox1.zipãsom30ox2.zipãsom30ox3.zipãšããå¥ã®ååãä»ããŠããŸããã
次ã¯ïŒ
ãŸããSOMã«ããçšåºŠé¢å¿ãããããããŸã ãã¡ã€ã«ãæ¬ èœããŠããå¯èœæ§ããããŸãã ç§ã®æèŠã§ã¯ãLinuxãšMac OS Xã®ããŒãžã§ã³ã®å¿ èŠæ§ãèæ ®ããŠãããããã¯äŸç¶ãšããŠé¢é£ããŠããŸããã¯ã€ã³å ã®å®è¡ãæ€åºããOSããŒãžã§ã³wxWidgetsãŸãã¯QtãããŠã³ããŒãããŠäœ¿çšã§ããPE COFF圢åŒã®å®è¡å¯èœãã¡ã€ã«ã®ã¢ã€ãã¢ã奜ãã§ããããªãã®ã«ãŒããå¿ããŠãã ããã SOMãœãŒã¹ã³ãŒãããªããŠã䜿çšã§ããŸããSOMãšSOMã䜿çšããã³ãŒãã䜿çšãããšãäºææ§ã®ãã代æ¿åãäœæã§ããŸãã Linux wxWidgetsã¯ãWindowsäžã§ã³ã³ãã€ã«ããããã°ã©ã ããç°¡åã«äœ¿çšããããšã¯ã§ããŸããã ããã¯ã¬ã€ã€ãŒã䟿å©ãªå Žæã§ãããSOMã¯ãªãã§ããïŒ
第äºã«ãSOMèªèèªäœã¯ãéçºè ã®æ±ºå®ã«åœ±é¿ãäžããå¿ã®ãããªãã¯ã¹ã§ãã GObjectãéçºãã人ã ã¯ããã®ãããªãããªãã¯ã¹ãé ã®äžã«æãããSOMã®GObjectã¯æé·ããŸããã§ããã
UPD èŠã€ãã£ããã¡ã€ã«ïŒ som30nt.zip ïŒ
ãã®ãã¡ã€ã«ãæäŸãã人ç©ã¯ãAIXã§SOM 3.0ãæ¢ããŠãããSOMã®ãªãŒãã³ãªä»£æ¿åã§ããsomFreeãéçºããŠããŸãã IRIXã®tardistã解åã§ããŸããã§ããããªãŒãã³ãœãŒã¹ãã¹ãã£ã³ã°ã«é 眮ããããã«äŸé ŒããŸããã
VisualAge C ++ 4.0 for Win32ãã€ã³ã¹ããŒã«ããå Žåãææ°ã®Windowsã§PATHãååŸã§ããããšã«æ³šæããŠãã ããã ç°å¢å€æ°ãããã¯ã¢ããããå¿ èŠããããŸãã
UPD2 ã SourceForgeã®somFree ã ãããŸã§ã®ãšãããPOSIXã·ã¹ãã ã®ã¿ã
ãããŸã§ã®éãç§ã¯VAC ++ 4.0ã§IBM SOMãåŠçãã Borland C ++ 5.5 Freeã䜿çšããŠåç©ãæ§ç¯ããã³å®è¡ããããšããã§ããŸããã
çæçã«ã¯ãIBM SOMãšBorland C ++ 5.5 Freeã®çµ±åãã£ã¹ããªãã¥ãŒã·ã§ã³ãã¬ã€ã¢ãŠãããŸãããã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãããã«ãã¹ãŠã®äŸãåéããŠç¢ºèªãããžã£ãŒããªã¹ãã®å®£äŒèšäºããã§ã¯ãªããå人çã«è³ªåã®åçãåŸãããšãã§ããŸãã å®è¡å¯èœãã¡ã€ã«ã¯èšèãããéåŒã§ãã