All of the Niagara software is written in Java, which means that it is platform independent. Prior to Java, most software was written and compiled for a particular machine or operating system. If that software needs to run on some other processor, the program has to be compiled again. Java, on the other hand, compiles once. NiagaraAX software runs on embedded JACE controllers using the QNX operating system and the IBM J9 Java Virtual Machine (JVM), and runs on Microsoft Windows desktop operating system platforms, as well as Linux and Solaris using the HotSpot JVM.
It is possible to compile code once and run it on any platform due to a layer of software that exists between the machine and the software called the Java virtual machine (JVM). The Niagara framework uses the Java VM as a common runtime environment across various operating systems and hardware platforms. The core framework scales from small embedded controllers to high end servers. The framework runtime is targeted for J2ME compliant VMs. The user interface toolkit and graphical programming tools are targeted for J2SE 1.4 VMs.
There are a number of different virtual machines for different platforms on which the NRE is running, but the NRE itself, and all of its modules, are the same regardless of platform. The VM is responsible for defining how the software works with a given set of hardware-how it talks to a LonWorks adapter, how it talks to the communications port, how it interacts with the operating system, among other tasks.
Copyright © 2000-2016 Tridium Inc. All rights reserved.