SOM:用于教学和研究虚拟机的极简Smalltalk。
SOM: A minimal Smalltalk for teaching of and research on Virtual Machines

原始链接: http://som-st.github.io/

## SOM (Smalltalk-08 虚拟机) 使用概要 SOM (Smalltalk-08 虚拟机) 是一款拥有悠久历史的虚拟机,起源于2001/2002年的奥胡斯大学,主要用于研究和教育。 最初用于教学面向对象虚拟机概念,并配有相应的 Smalltalk 库,此后衍生出许多变体和应用。 多年来,研究人员利用 SOM 进行诸如 SOMNS (Actor 并发研究)、TruffleMATE (完全反射执行) 和 SOM++ (垃圾回收研究) 等项目。 它曾作为 J9 团队集成 JVM 垃圾回收器的案例研究,并启发了像 Resilient Smalltalk (通过 OOVM) 这样的系统。 特别是达姆施塔特工业大学和兰卡斯特大学,在 2006-2010 年间在虚拟机和语言实现课程中使用 SOM。 持续的开发包括 ActorSOM 和 CSOM 等变体,通常作为学生课程作业。 近期的出版物 (2014-2018) 详细介绍了基于 SOM 平台在记录与重放、并发调试和运行时适应性等方面的进展。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 SOM:一种用于教学和研究虚拟机的极简 Smalltalk (som-st.github.io) 30 分,by tosh 8 小时前 | 隐藏 | 过去 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

A brief and incomplete list of papers and universities where SOM has been used in the past.

Publication

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, PDF.

Publication

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, HTML, PDF.

Publication

Fully Reflective Execution Environments: Virtual Machines for More Flexible Software
G. Chari, D. Garbervetsky, S. Marr, S. Ducasse
IEEE Transactions on Software Engineering, IEEE TSE, 2018, doi: 10.1109/TSE.2018.2812715, PDF.

Publication

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, ACM, 2017, doi: 10.1145/3133841.3133842, HTML, PDF.

Publication

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, Programs and Systems, ICOOOLPS'17. (2017), doi: 10.1145/3098572.3098577, PDF.

Publication

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. Extended Abstract. (2017), PDF.

Victoria University of Wellington logo

In 2017, James Noble started using SOMNS to implement the Grace language. Richard Roberts turned it into a working implementation called Moth.

Facultad de Ciencias Exactas y Naturales - Universidad de Buenos Aires, logo

TruffleMATE, a SOM variant with the Mate Metaobject protocol, which enables fully reflective execution environments.

Publication

Building Efficient and Highly Run-time Adaptable Virtual Machines.
Chari, Guido; Garbervetsky, Diego; and Marr, Stefan.
Proceedings of the 12th Symposium on Dynamic Languages (2016), PDF.

Publication

Cross-Language Compiler Benchmarking: Are We Fast Yet?
Marr, Stefan; Daloze, Benoit; and Mössenböck, Hanspeter.
Proceedings of the 12th Symposium on Dynamic Languages (2016), PDF, HTML.

IBM logo

In 2015, the J9 team announced the plans to open source the platform underlying their JVM implementation. As part of their JavaOne talk “What's in an Object? Java Garbage Collection for the Polygot”, they used SOM++ as a case study to show how their garbage collector can be integrated into an existing VM.

Johannes Kepler University Linz, logo

SOMNS, a Newspeak variant with full support for actor concurrency was developed as a platform for research on the interaction of concurrency models.

Publication

Tracing vs. Partial Evaluation: Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters.
Marr, Stefan; and Ducasse, Stéphane.
Proceedings of the 2015 ACM International Conference on Object Oriented Programming Systems Languages & Applications, ACM, (2015), PDF, HTML.

Publication

Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises.
Marr, Stefan; Seaton, Chris; and Ducasse, Stéphane.
Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, (2015), doi: 10.1145/2737924.2737963, PDF, HTML.

Publication

Are We There Yet? Simple Language-Implementation Techniques for the 21st Century.
Marr, Stefan; Pape, Tobias; and De Meuter, Wolfgang.
IEEE Software 31, no. 5 (2014): 60-67, doi: 10.1109/MS.2014.98, PDF, HTML.

Software Languages Lab, Vrije Universiteit Brussel, logo

The SOM variants were used for a number of experiments such as ActorSOM, a SOM with a event-loop concurrency model similar to AmbientTalk.

Heinrich Heine Universität Düsseldorf, logo

SOM++ was optimized and extended with a generational garbage collector as part of a master's thesis.

Publication

CSOM/PL: A Virtual Machine Product Line.
Haupt, Michael; Marr, Stefan and Hirschfeld, Robert.
Journal of Object Technology 10, no. 12 (2011): 1-30, doi: 10.5381/jot.2011.10.1.a12, PDF.

Publication

Type Harvesting: A Practical Approach to Obtaining Typing Information in Dynamic Programming Languages.
Haupt, Michael; Perscheid, Michael and Hirschfeld, Robert.
Proceedings of the 2011 ACM Symposium on Applied Computing, 2011, doi: 10.1145/1982185.1982464, URL.

Publication

Virtual Machine Support for Many-Core Architectures: Decoupling Abstract From Concrete Concurrency Models.
Marr, Stefan; Haupt, Michael; Timbermont, Stijn; Adams, Bram; D'Hondt, Theo; Costanza, Pascal and De Meuter, Wolfgang.
Second International Workshop on Programming Languages Approaches to Concurrency and Communication-cEntric Software, York, UK, 2010, doi: 10.4204/EPTCS.17.6, URL.

Publication

The SOM Family: Virtual Machines for Teaching and Research.
Haupt, Michael; Hirschfeld, Robert; Pape, Tobias; Gabrysiak, Gregor; Marr, Stefan; Bergmann, Arne; Heise, Arvid; Kleine, Matthias and Krahn, Robert. Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), 2010, doi: 10.1145/1822090.1822098, PDF.

Technische Universität Darmstadt, logo

In 2010, SOM was used by Michael Haupt to teach one graduate course at Technische Universität Darmstadt (Germany).

Publication

NXTalk: Dynamic Object-oriented Programming in a Constrained Environment.
Beck, Martin; Haupt, Michael and Hirschfeld, Robert. Proceedings of the International Workshop on Smalltalk Technologies, 2009, doi: 10.1145/1735935.1735942, PDF.

Hasso Plattner Institute, logo

SOM was used by Michael Haupt between 2007–2009 to teach a course on Virtual Machines at the Hasso Plattner Institute in Potsdam. Many of the feature variants of CSOM for instance support for Smalltalk images, threads, and garbage collection have been developed as part of course work. (more)

Lancaster University logo

In 2006, SOM was used by Michael Haupt to teach one undergraduate course at Lancaster University (UK).

Publication

Related to SOM, at least in syntax and spirit:
Design, implementation, and evaluation of the Resilient Smalltalk embedded platform.
Andersen, Jakob R.; Bak, Lars; Grarup, Steffen; Lund, Kasper V.; Eskildsen, Toke; Hansen, Klaus Marius and Torgersen, Mads.
Computer Languages, Systems & Structures 31, no. 3–4 (2005): 127–141, doi: 10.1016/j.cl.2005.02.003, PDF.

Aarhus University (logo)

A kind of successor of SOM: OOVM, which went on to become Resilient Smalltalk
Revolutionizing Embedded Software
Master's Thesis by Kasper Verdich Lund and Jakob Roland Andersen

Aarhus University (logo)

SOM was originally implemented at the University of Århus in Denmark by Jakob Roland Andersen, Kasper Verdich Lund, Lars Bak, Mads Torgersen, and Ulrik Pagh Schultz in 2001/2002. It was used for teaching object-oriented VMs and came with the original version of the SOM Smalltalk libraries, test suites, and benchmarks.

联系我们 contact @ memedata.com