ABSTRACT
This paper introduces the SOM (Simple Object Machine) family of virtual machine (VM) implementations, a collection of VMs for the same Smalltalk dialect addressing students at different levels of expertise. Starting from a Java-based implementation, several ports of the VM to different programming languages have been developed and put to successful use in teaching at both undergraduate and graduate levels since 2006. Moreover, the VMs have been used in various research projects. The paper documents the rationale behind each of the SOM VMs and results that have been achieved in teaching and research.
- B. Alpern et al. The Jalapeno Virtual Machine. IBM Systems Journal, 39(1):211--238, February 2000. Google ScholarDigital Library
- B. Alpern et al. The Jikes Virtual Machine Research Project: Building an Open-Source Research Community. IBM Systems Journal, 44(2):399--418, 2005. Google ScholarDigital Library
- M. Beck, M. Haupt, and R. Hirschfeld. NXTalk. Dynamic Object-Oriented Programming in a Constrained Environment. In Proc. IWST. ACM, 2010. To appear. Google ScholarDigital Library
- J. R. Bell. Threaded code. CACM, 16(6), 1973. Google ScholarDigital Library
- J. Bloch. Effective Java: A Programming Language Guide. Addison-Wesley Longman, 2nd revised edition, 2008.Google Scholar
- P. Clements and L. Northrop. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002.Google ScholarDigital Library
- A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983. Google ScholarDigital Library
- P. P. Gómez-Martín, M. A. Gómez-Martín, and P. A. González-Calero. Javy: Virtual Environment for Case-Based Teaching of Java Virtual Machine. In Proc. KES, 2003.Google ScholarCross Ref
- M. Haupt, B. Adams, S. Timbermont, C. Gibbs, Y. Coady, and R. Hirschfeld. Disentangling Virtual Machine Architecture. IET Software, 3(3):201--218, 2009.Google Scholar
- C. Hewitt, P. Bishop, and R. Steiger. A universal modular actor formalism for artificial intelligence. In Proc. IJCAI, San Francisco, CA, USA, 1973. Google ScholarDigital Library
- J. E. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan-Kaufmann, 2005. Google ScholarDigital Library
- R. Jones and R. Lins. Garbage Collection. Algorithms for Automatic Dynamic Memory Management. Wiley, 1996. Google ScholarDigital Library
- S. Marr, M. Haupt, S. Timbermont, B. Adams, T. D'Hondt, P. Costanza, and W. De Meuter. Virtual machine support for many-core architectures: Decoupling abstract from concrete concurrency models. In Proc. PLACES, volume 17 of EPTCS, 2010.Google Scholar
- N. Nisan and S. Schocken. The Elements of Computing Systems. Building a Modern Computer from First Principles. MIT Press, 2005. Google ScholarDigital Library
- R. E. Park. Software size measurement: A framework for counting source statements. Technical Report CMU/SEI-92-TR-20, ESC-TR-92-20, Software Engineering Institute, Carnegie Mellon University, September 1992.Google ScholarCross Ref
- A. Rigo and S. Pedroni. Pypy's approach to virtual machine construction. In Proc. OOPSLA'06. ACM, 2006. Google ScholarDigital Library
- T. Rowledge. A Tour of the Squeak Object Engine. In M. Guzdial and K. Rose, editors, Squeak: Open Personal Computing and Multimedia. Prentice Hall, 2001.Google Scholar
- H. Schippers, T. Van Cutsem, S. Marr, M. Haupt, and R. Hirschfeld. Towards an actor-based concurrent machine model. In Proc. ICOOOLPS. ACM, 2009. Google ScholarDigital Library
Index Terms
- The SOM family: virtual machines for teaching and research
Recommendations
Enabling Instantaneous Relocation of Virtual Machines with a Lightweight VMM Extension
CCGRID '10: Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid ComputingWe are developing an efficient resource management system with aggressive virtual machine (VM) relocation among physical nodes in a data center. Existing live migration technology, however, requires a long time to change the execution host of a VM, it ...
Transparently bridging semantic gap in CPU management for virtualized environments
Consolidated environments are progressively accommodating diverse and unpredictable workloads in conjunction with virtual desktop infrastructure and cloud computing. Unpredictable workloads, however, aggravate the semantic gap between the virtual ...
Traffic-sensitive live migration of virtual machines
CCGRID '15: Proceedings of the 15th IEEE/ACM International Symposium on Cluster, Cloud, and Grid ComputingIn this paper we address the problem of network contention between the migration traffic and the Virtual Machine (VM) application traffic for the live migration of co-located Virtual Machines. When VMs are migrated with pre-copy, they run at the source ...
Comments