Does Java make sense in the embedded world?
One of he main advantages of Java is that "Java is very accessible in terms of its flexibility and ease of programming." says Roger Mite, a senior research director at Sun Labs. "There are a lot of people who are Java programmers who are not embedded systems programmers". "Sun pushes Java for sensor networks".
Something we applied and expanded on in the project I'm involved with at my place of work.
The (fairly large-scale) project is a control framework for large tools with lots of robotics, digital and analog devices and controllers. The goal for us was not just to make it easy to integrate sensors and other hardware into this framework -- that too. We also had to consider how to scale for future developments. Outside of hardware, some of the major factors that affect success and cost of your project are...
The concept of the Java VM is a similar enabling feature, since that now brings the condensed realtime knowledge of the vendor of your realtime VM into the team. This has the potential to take care of the lower level stuff; the stuff that noone really wants to bother with and that keeps some old bearded, gruffy individual in employment, typically only person that can fix the foundation.
Of course another reason for Java is the easy acessibility of external high quality components. Just the ability to integrate the Apache XML parser (instead of being held ransom by you RTOS vendor or some 3rd party company in the caribean) means accessibility to new technology as the embedded and controls world has never seen before.
Something we applied and expanded on in the project I'm involved with at my place of work.
The (fairly large-scale) project is a control framework for large tools with lots of robotics, digital and analog devices and controllers. The goal for us was not just to make it easy to integrate sensors and other hardware into this framework -- that too. We also had to consider how to scale for future developments. Outside of hardware, some of the major factors that affect success and cost of your project are...
- Access to people that share your vision and are willing to create the product
- Access to knowledge in domains that you need but where you don't want to compete with
- Access to standard, off-the-shelf components that are typically commodities
The concept of the Java VM is a similar enabling feature, since that now brings the condensed realtime knowledge of the vendor of your realtime VM into the team. This has the potential to take care of the lower level stuff; the stuff that noone really wants to bother with and that keeps some old bearded, gruffy individual in employment, typically only person that can fix the foundation.
Of course another reason for Java is the easy acessibility of external high quality components. Just the ability to integrate the Apache XML parser (instead of being held ransom by you RTOS vendor or some 3rd party company in the caribean) means accessibility to new technology as the embedded and controls world has never seen before.