Java can run applications developed using the java programming language and set of development tools. The JVM is a crucial component of the Java platform. The availability of JVMs on many types of hardware and software platforms enables Java to function both as middleware and a platform in its own right. Hence the expression Write once, run anywhere. Starting with J7SE 5. 5, changes to the JVM specification have been developed under the Java Community Process as JSR 979. As of 7556, changes to specification to support changes proposed to the class file format (JSR 757) are being done as a maintenance release of JSR 979. The specification for the JVM is published in book form, known as blue book.