aJile silicon products provide an ideal Java platform for the fast growing M2M (Machine to Machine) applications. Modern enterprises rely upon M2M deployments for critical and cost-effective operations in everything from industrial and logistics automation, to energy management, security control and total facilities management. M2M deployments require millions of edge controllers in factories, transportation hubs, hospitals and facilities to acquire, monitor and analyze data, automatically control functions, and transmit data and status to central databases. The ubiquity of broadband and wireless networks enable a new generation of Internet edge devices that allow operators and service providers to deliver, control, manage and update services “over the internet” on demand.
Two of the dominant Java middle platforms targeting M2M applications are supported by aJile silicon products:
- OSGi (http://www.osgi.org/About/HomePage): The OSGi (Open Services Gateway initiative) Alliance is a worldwide consortium of technology innovators that advances a proven and mature process to create open specifications that enable the modular assembly of software built with Java technology. The OSGi framework is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that does not exist in standalone Java/VM environments. Applications or components (coming in the form of bundles for deployment) can be remotely installed, started, stopped, updated and uninstalled without requiring a reboot; management of Java packages/classes is specified in great detail. Life cycle management is done via APIs which allow for remote downloading of management policies. The service registry allows bundles to detect the addition of new services, or the removal of services, and adapt accordingly. aJile SOC together with the OSGi frame work forms a cost effective OSGi SOC as discussed in the following article in Embedded Computing Design Magazine:
OSGi platform provides Internet-connected secure and real-time services in embedded devices
- Sedona (http://www.sedonadev.org/): Sedona is a software framework designed by Tridium, a division of Honeywell, to make it easy to build smart, networked embedded devices. Some of the Sedona highlights:
- Sedona Language: This is a general purpose component oriented programming language very similar to Java or C#. The Sedona language is used to write your own custom functionality.
- Sedona Virtual Machine: The Sedona virtual machine is a small interpreter written in ANSI C and designed for portability. It allows code written in the Sedona programming language to be written once, but run on any Sedona device. The VM itself is designed to be highly portable to new microprocessors and operating systems.
- Java Support: The Sedona compiler also generates standard Java bytecode, which allows you to run all your Sedona code on the Java VM too.
- Small Devices: Sedona is targeted to be run in very small embedded devices - Sedona applications can be run in under 100KB of memory!
- Component Oriented Programming: Sedona enables a style of programming where prebuilt components are assembled into applications. Components can act as services or be explicitly linked together to create data and control flow. This model is especially suited to graphical programming tools.
- Networking: Several protocols are bundled with Sedona to provision, program, and communicate with Sedona-enabled devices over various network topologies. You can remotely add, remove, and modify the components in your application in real-time. You can even upgrade the firmware itself over the network. All Sedona networking is designed to work over any IP network including 6LoWPAN.
- Open Source Ecosystem: The core Sedona technology is licensed under a flexible academic styled license. This makes it easy for manufacturers to Sedona enable their devices. Tools and applications written in Sedona are guaranteed portable to any Sedona device.
aJile developed the JNIB-102 (Java Network Interface Box, based on aJ-102) as a Java platform to support OSGi and Sedona for the following targeted M2M applications:
- Wireless remote control, sensing, and telemetry for health care, utility metering, home/building automation, traffic monitoring, industrial process control, and smart grid
- RFID systems for asset tracking, inventory control, and logistics operations
- Wireless sensor networks (e.g. ZigBee) and fleet management location tracking systems (e.g. GPS)
- Point Of Sales terminals
- Security and Surveillance Systems
For details and purchase of JNIB-102, go to JNIB-102.