Hi, I'm Gabi Zodik and I'm a Manager of Software and Services at IBM Research in Haifa, Israel.
My passion is systems. Systems such as planes, cars, or air traffic control are becoming more and more complex. Although they now provide us with functionality, efficiency, and productivity never before imagined, they are also introducing new engineering challenges. This is especially true in the design and development of engineering systems where the integration of different disciplines — software, hardware – is required.
For example, 10 years ago cars had one or two processors, whereas today a single car may have more than 100 processors running anything from Bluetooth connectivity to proximity sensors. We are developing new methods and tools to help designers cope with the complexity of making all of these things work together, by automating and streamlining the design and development phases.
Streamlining design for systems and software
One of two system complexity problems we're tackling is system design. Even the best engineers need to spend days or weeks testing possible design options to find the best ones. Looking at the car again, when designing a car, an engineer has to choose which kind of exhaust system is best, while taking into account engine performance, exhaust pressure, temperature, vibrations, and more.
Our new design space exploration tool helps ease this challenge by automatically exploring different design options, while taking into account the different parameters and constraints involved. The system engineers get a reduced collection of the optimal and practical solutions to choose from based on their experience – all in minutes.
Although optimization solutions of this type are already used to solve work shift scheduling, transportation or finance problems, this is the first time they're being used in the world of systems engineering to automate the design process. IBM expects the market opportunity for embedded systems to reach billions of dollars per year.
A fusion of development and operations efforts
We also developed a tool, called Weaver, that eases the hand-off between application developers and system administrators. A developer may not know how the software will be used, the hardware it will run or, or the operating environment. And an administrator may not have the expertise to debug the software or maintain it. As a result, deployment can mean serious overhead cost associated with testing, planning the deployment, finding workarounds for issues, and encountering bugs for the first time.
Weaver brings together two formerly separate processes. This new approach combines software development with a programming and modeling environment to develop the infrastructure on which the software will be deployed. Created in parallel to the software itself, this environment defines all the deployment platform characteristics such as IO, memory requirements, disk size, and anything else needed for the operating environment or virtual environment. By doing all of this in parallel, everything from diagnostics to testing the deployment process becomes much more efficient.
In short, we're creating more automation and more efficiency in the design and development of complex systems.
If you've registered for Innovate 2012, these trends are just a few of the topics being presented at the Imagine track at Innovate 2012, June 3-7 in Orlando, Florida. If you have any questions about these topics, leave a comment for me here.
For more information about this track, contact email@example.com.