Editors note: This blog entry is authored by Gabi Zodik, Department Group Manager of Software and Services at IBM Research – Haifa.
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.
IBM expects the market opportunity for embedded systems to reach billions of dollars per year.
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.
Attending Innovate 2012? Join us for Research Day on June 3
These sessions will include talks such as "Smarter System Engineering: How System Analytics is Changing the Role of the Systems Engineer," and "Weaver: Advanced DevOps Platform"
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. These trends are just a few of the topics being presented at the Research sessions for INNOVATE 2012 on June 3 – 7 in Orlando, Florida.
Labels: complex systems, design space exploration, development lifecycle, Gabi Zodik, IBM research haifa, Innovate 2012, rational, Research Day, systems engineering