Squawk virtual machine
Encyclopedia
Squawk is a Java micro edition virtual machine for embedded system and small devices. Most virtual machines for the Java platform are written in low level native languages such as C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

/C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 and assembler
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

; what makes Squawk different is that Squawk's core is mostly written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

. (This is called a meta-circular interpreter
Meta-circular evaluator
A meta-circular evaluator is a special case of a self-interpreter in which the existing facilities of the parent interpreter are directly applied to the source code being interpreted, without any need for additional implementation...

.) A Java implementation provides ease of portability, and a seamless integration of virtual machine and application resources such as objects, threads, and operating-system interfaces.

The Squawk Virtual Machine figure can be simplified as:
  • Write as much of the VM in Java as possible
  • Targeting small, resource constrained devices
  • Enable Java for micro-embedded development

The research project was inspired by Squeak
Squeak
The Squeak programming language is a Smalltalk implementation. It is object-oriented, class-based and reflective.It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers...

. Squawk has a Java ME
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...

 heritage and features a small memory footprint. It was developed to be simple with minimal external dependencies. Its simplicity made it portable and easy to debug and maintain. Squawk also provides an isolated mechanism by which an application is represented as an object. In Squawk, one or more applications can run in the single JVM. Conceptually, each application is completely isolated from all other applications.

See also

  • Sun SPOT
    Sun SPOT
    Sun SPOT is a wireless sensor network mote developed by Sun Microsystems. The device is built upon the IEEE 802.15.4 standard...

  • JikesRVM
    JikesRVM
    Jikes RVM is a mature open source virtual machine that runs Java programs. Unlike most other JVMs it is written in Java, a style of implementation termed meta-circular.-History:...

    , another JVM written mostly in Java
  • Rubinius
    Rubinius
    Rubinius is an alternative Ruby programming language implementation created by Evan Phoenix. Based loosely on the Smalltalk-80 Blue Book design, Rubinius seeks to"provide a rich, high-performance environment for running Ruby code."-Goals:...

    , a VM for Ruby written in Ruby
  • List of Java virtual machines

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK