## Announcing Wolfram *SystemModeler*

### May 23, 2012

Today I’m excited to be able to announce that our company is moving into yet another new area: large-scale system modeling. Last year, I wrote about our plans to initiate a new generation of large-scale system modeling. Now we are taking a major step in that direction with the release of Wolfram *SystemModeler*.

*SystemModeler* is a very general environment that handles modeling of systems with mechanical, electrical, thermal, chemical, biological, and other components, as well as combinations of different types of components. It’s based—like *Mathematica*—on the very general idea of representing everything in symbolic form.

In *SystemModeler*, a system is built from a hierarchy of connected components—often assembled interactively using *SystemModeler*‘s drag-and-drop interface. Internally, what *SystemModeler* does is to derive from its symbolic system description a large collection of differential-algebraic and other equations and event specifications—which it then solves using powerful built-in hybrid symbolic-numeric methods. The result of this is a fully computable representation of the system—that mirrors what an actual physical version of the system would do, but allows instant visualization, simulation, analysis, or whatever.

Here’s an example of *SystemModeler* in action—with a 2,685-equation dynamic model of an airplane being used to analyze the control loop for continuous descent landings:

There’s a long and tangled history of products that do various kinds of system modeling. The exciting thing about *SystemModeler* is that from its very foundations, it takes a new approach that dramatically unifies and generalizes what’s possible. In the past, products tended either to be specific to a particular application domain (like electric circuits or hydraulics), or were based on rigid low-level component models such as procedural blocks.

What *SystemModeler* does is to use a fully symbolic representation of everything, which immediately allows both arbitrary domains to be covered, and much more flexible models for components to be used. In the past, little could have been done with such a general representation. But the major breakthrough is that by using a new generation of hybrid symbolic-numeric methods, *SystemModeler* is capable of successfully solving for the behavior of even very large-scale such systems.

When one starts *SystemModeler*, there’s immediately a library of thousands of standard components—sensors, actuators, gears, resistors, joints, heaters, and so on. And one of the key features of *SystemModeler* is that it uses the new standard Modelica language for system specifications—so one can immediately make use of model libraries from component manufacturers and others.

*SystemModeler* is set up to automate many kinds of system modeling work. Once one’s got a system specified, *SystemModeler* can simulate any aspect of the behavior of the system, producing visualizations and 3D animations. It can also synthesize a report in the form of an interactive website—or generate a computable model of the system as a standalone executable.

These capabilities alone would make *SystemModeler* an extremely useful and important new product, for a whole range of industries from aerospace to automotive, marine, consumer, manufacturing, and beyond.

But there’s more. Remember that we have *Mathematica* too. And *SystemModeler* integrates directly with *Mathematica*—bringing in our whole 25-year *Mathematica* technology stack.

This makes possible many spectacular things. Just like *Mathematica* can operate on data or images or programs, so now it can also operate on computable models from *SystemModeler*. This means that it takes just a line or two of *Mathematica* code to do a parameter sweep, or a sensitivity analysis, or a sophisticated optimization on a model from *SystemModeler*.

And one gets all of the interface features of *Mathematica*—being able to do visualizations, instantly introduce interactive controls, or produce computable CDF documents as reports.

But even more than this, one gets to use all of the algorithms and analysis capabilities of *Mathematica*. So it becomes straightforward to take a model, and do statistical analysis on it, build a control system for it, or export results in any of the formats *Mathematica* supports.

When one builds models, it’s often important to bring in real-world data, say material properties or real-time weather or cost information. And through its direct link to Wolfram|Alpha—as well as its custom data import capabilities—*Mathematica* can supply these to *SystemModeler*.

To me, it’s very satisfying seeing all these parts of our technology portfolio working together. And this is just the beginning. As I discussed in my post last year, it’s going to be possible to integrate system modeling not only with *Mathematica*, but also at a deep level with Wolfram|Alpha and such things as our mobile apps.

But today, it’s exciting to me to launch Wolfram *SystemModeler* as a major new direction for our company. *Mathematica* allows us to represent a vast range of formal and algorithmic systems; *SystemModeler* extends our reach to large-scale practical engineering and other systems. We already know some of the important things that this will make possible. But I’m sure there will be many wonderful surprises to come in the years ahead, as we gradually realize just what the power of symbolic systems modeling really is.

*(See the Wolfram SystemModeler website for more information—or check out our new courses about system modeling.)*