I am going to make a bold statement: Go virtual to create reality. Seems crazy enough?
According to Wikipedia, reality means "the state of things as they actually exist.” The concept of existence can be elusive, because to exist, something doesn’t need to be real; it just needs to have its own relevance. Often we humans use simplified terms to explain complex concepts or situations and we describe phenomena in mathematical equations. We do it all the time in many domains such as philosophy, physics, nuclear, and chemistry, and it works.
A developer of an embedded device will naturally carry on the development using real equipment, from host to hardware. Being close to the real thing can create a safe and secure feeling. The board is not working properly, the cable has a loose connection, I spend hours setting up a switch correctly, but it makes me feel like I am working on something real, and when it works (a miracle!) it is time to go back home and hope for tomorrow. On top of that, I am sure we all agree that there is no need to write more about the complexity of developing embedded devices.
What is more intriguing is to consider what the industry, from suppliers to OEMs, has done to crack down on the problem. From my perspective, if a lot has been done to provide better separate hardware and software solutions, there is still a divide–and-conquer attitude where hardware and software are developed in silo, with loose integration between the two entities that creates a big-bang back-end mega-challenge integration (and always too late). Eventually from the OEM side, it still ends up being ad hoc, with a lot of tactical thinking to solve issues as they arrive. My favorite one being to offshore part of the development in cheaper countries and hope that by bringing more people to the bench the problems will go away. Guess what? It doesn’t work. Best case is a stop-gap.
What would you think if you could define, develop, and deploy your electronic system using virtualized system development, where you can have a virtual representation of the target at a high-level of abstraction, enabling system architecture exploration, firmware and OS development, debug, test, and monitor, all integrated into an extremely fast, functional simulator that lets you run unmodified and arbitrary software? This is what thousands of users of Simics have experienced since 2004 with great success at companies like Cisco, Ericsson, Freescale Semiconductor, GE Avionics, Huawei, Honeywell, IBM, Lockheed Martin, Nortel, and Northrop Grumman.
Simics is now a Wind River embedded software product, after the closing of the acquisition of Virtutech by Intel, announced February 5, 2010. And Wind River is going to offer Simics to a broader audience, enabling a much larger market.
Welcome to a virtual world, and create reality.