
2026/04/07 3:54
**SOM:仮想マシンの教育と研究に用いるミニマルなSmalltalk**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約
Simple Object Machine(SOM)は、2000年代初頭にデンマーク・オーラース大学でデビューして以来、多目的な研究・教育プラットフォームとして機能しています。軽量かつリフレクティブな設計—オブジェクトが実行時に変更可能な一級エンティティとなること—は、SOMNS、TruffleMATE、ActorSOM、Newspeak SOMNS などの多くの派生バージョンに影響を与えてきました。
主要マイルストーンは以下の通りです:
- 2017:James Noble が S O M N S を用いて Grace 言語を実装し、その後 Moth と呼ばれる動作する実装へと発展させたこと。
- TruffleMATE は Mate Metaobject プロトコルを組み込み、完全にリフレクティブな実行環境を提供します。
- 2015:J9 チームは SOM++ を JavaOne トーク(“What’s in an Object? Java Garbage Collection for the Polygot”)のケーススタディとして使用し、自社のガベージコレクタを既存 VM に統合する様子を示しました。
学術的な場(ManLang'18、PX/18、DLS'17、ICOOOLPS'17)は、レコード・アンド・リプレイデバッグ、コレクションライブラリ設計、コンカレンシー非依存デバッグプロトコル、実行時変化のためのメタオブジェクトプロトコル、仮想マシン適応などをテーマにした SOM 研究を際立たせています。実験的な研究では ActorSOM(AmbientTalk に似たイベント・ループ型コンカレンシー)や Newspeak バリアント SOMNS(完全アクタ―並行性サポート)が採用されています。
CSOM/PL 論文(2011)は、SOM を基盤とした仮想マシン製品ラインを提示し、同年の Type Harvesting 研究は動的言語における実践的な型情報抽出を示しています。教育利用としては、TU ダムシュタット(2010 年、大学院コース)、ハッソ・プラトナー研究所ポツダム(2007–2009 年、仮想マシンに関する講座)、英国ランカスター大学(2006 年、学部コース)などが挙げられます。
SOM の影響は組み込みシステム言語へも広がっており、NXTalk(2009、制約環境向け)、Resilient Smalltalk(2005)、その後継 OOVM などがあります。また、オリジナルの SOM 実装は Smalltalk ライブラリ、テストスイート、およびベンチマークを含み、オブジェクト指向仮想マシンの教育に寄与しました。
将来的には、TruffleMATE のようなリフレクティブ実行環境の改良、CSOM/PL に代表される SOM ベースの仮想マシン製品ラインの拡張、および型ハーベスティングやアクタ―並行性といった動的言語機能への深掘りが進むと予測されます。これらの取り組みは、学術研究と産業実務の両方に影響を与え、次世代オブジェクト指向仮想マシンおよびランタイムシステム設計の方向性を形成する可能性があります。
本文
SOMが使用された論文・大学
-
Efficient and Deterministic Record & Replay for Actor Languages
D. Aumayr、S. Marr、C. Béra、E. Gonzalez Boix、H. Mössenböck – Proceedings of the 15th International Conference on Managed Languages and Runtimes (ManLang'18), ACM, 2018。 DOI: 10.1145/3237009.3237015。 -
Few Versatile vs. Many Specialized Collections: How to design a collection library for exploratory programming?
S. Marr、B. Daloze – Proceedings of Programming Experience Workshop (PX/18), 2018。 DOI: 10.1145/3191697.3214334。 -
Fully Reflective Execution Environments: Virtual Machines for More Flexible Software
G. Chari、D. Garbervetsky、S. Marr、S. Ducasse – IEEE Transactions on Software Engineering, 2018。 DOI: 10.1109/TSE.2018.2812715。 -
A Concurrency‑Agnostic Protocol for Multi‑Paradigm Concurrent Debugging Tools
S. Marr、C. Torres Lopez、D. Aumayr、E. Gonzalez Boix、H. Mössenböck – Proceedings of the 13th ACM SIGPLAN International Symposium on Dynamic Languages (DLS'17), 2017。 DOI: 10.1145/3133841.3133842。 -
A Metaobject Protocol for Optimizing Application‑Specific Run‑Time Variability
G. Chari、D. Garbervetsky、S. Marr – Proceedings of the 11th Workshop on Implementation, Compilation, Optimization of Object‑Oriented Languages (ICOOOLPS'17), 2017。 DOI: 10.1145/3098572.3098577。 -
Toward Virtual Machine Adaption Rather than Reimplementation: Adapting SOMNS for Grace
R. Roberts、S. Marr、M. Homer、J. Noble – Workshop on Modern Language Runtimes, Ecosystems, and VMs (MoreVMs'17), 2017。 -
2017年にJames NobleがSOMNSを使ってGrace言語を実装し始めた
Richard RobertsはこれをMothという動作する実装へと発展させました。 -
TruffleMATE、Mateメタオブジェクトプロトコルを備えたSOM変種 – 完全反射型実行環境を可能にします。
-
Building Efficient and Highly Run‑time Adaptable Virtual Machines
G. Chari、D. Garbervetsky、S. Marr – Proceedings of the 12th Symposium on Dynamic Languages (2016)。 -
Cross‑Language Compiler Benchmarking: Are We Fast Yet?
S. Marr、B. Daloze、H. Mössenböck – Proceedings of the 12th Symposium on Dynamic Languages (2016)。 -
2015年にJ9チームがJVM実装の基盤プラットフォームをオープンソース化する計画を発表 – 「What’s in an Object? Java Garbage Collection for the Polygot」というJavaOneトークでSOM++をケーススタディとして紹介。
-
SOMNS、アクタコンカレンシーを完全にサポートしたNewspeak変種 – コンカーリティモデルの研究プラットフォームとして開発。
-
Tracing vs. Partial Evaluation: Comparing Meta‑Compilation Approaches for Self‑Optimizing Interpreters
S. Marr & S. Ducasse – Proceedings of the 2015 ACM International Conference on Object‑Oriented Programming Systems Languages & Applications, 2015。 -
Zero‑Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises
S. Marr、C. Seaton、S. Ducasse – Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2015。 -
Are We There Yet? Simple Language‑Implementation Techniques for the 21st Century
S. Marr、T. Pape、W. De Meuter – IEEE Software 31(5), 2014。 -
ActorSOM、AmbientTalkに似たイベントループ型コンカレンシーモデルを採用したSOM – 複数の実験で使用。
-
SOM++は世代別ガベージコレクタを追加して最適化され、修士論文の一環として拡張された。
-
CSOM/PL: A Virtual Machine Product Line
M. Haupt、S. Marr & R. Hirschfeld – Journal of Object Technology 10(12), 2011。 -
Type Harvesting: A Practical Approach to Obtaining Typing Information in Dynamic Programming Languages
M. Haupt、M. Perscheid & R. Hirschfeld – Proceedings of the 2011 ACM Symposium on Applied Computing, 2011。 -
Virtual Machine Support for Many‑Core Architectures: Decoupling Abstract From Concrete Concurrency Models
S. Marr、M. Haupt、S. Timbermont、B. Adams、T. D’Hondt、P. Costanza & W. De Meuter – Second International Workshop on Programming Languages Approaches to Concurrency and Communication‑centric Software, 2010。 -
The SOM Family: Virtual Machines for Teaching and Research
M. Haupt、R. Hirschfeld、T. Pape、G. Gabrysiak、S. Marr、A. Bergmann、A. Heise、M. Kleine & R. Krahn – Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), 2010。 -
2010年にMichael HauptがSOMを使ってドイツ・ダルムシュタット工科大学で修士課程の授業を担当。
-
NXTalk: Dynamic Object‑oriented Programming in a Constrained Environment
M. Beck、M. Haupt & R. Hirschfeld – Proceedings of the International Workshop on Smalltalk Technologies, 2009。 -
SOMはMichael Haupt(2007–2009)によってポツダムのハッソ・プラットナー研究所でバーチャルマシン講座を担当;CSOMの多くの機能変種(例:Smalltalkイメージ、スレッド、GC)が課題として開発された。
-
2006年にMichael HauptがLancaster大学(UK)でSOMを使って学部授業を担当。
-
Resilient Smalltalk埋め込みプラットフォームの設計・実装・評価 – SOMの構文と精神に関連。
J. R. Andersenら – Computer Languages, Systems & Structures 31(3‑4), 2005。 -
SOMの後継的存在:OOVM → Resilient Smalltalk – K. Verdich LundとJ. Roland Andersenによる修士論文。
-
SOMは元々デンマーク・オールハウス大学(University of Århus)で2001/2002年にJakob Roland Andersen、Kasper Verdich Lund、Lars Bak、Mads Torgersen、Ulrik Pagh Schultzによって実装され;オリジナルSOM Smalltalkライブラリ、テストスイート、ベンチマークを用いてオブジェクト指向VMの教育に利用された。