Tuesday, September 15, 2009

Xtext in wind energy


I've visited the Fraunhofer IWES in Bremerhaven this week. Fraunhofer is a famous german research institute and the IWES department focusses on wind energy. In their current research project they make heavy use of Xtext and other Eclipse Modeling technologies.

The project is about specifying and connecting the different components a wind turbine is made of and simulating real time scenarios using such models.
The problem they want to solve is that today's computers are much too slow to compute structural, fluid, or thermo dynamics of detailed models in detailed surroundings in a reasonable time. Also the components are usually tested and simulated in isolation only.
The general approach to face this is to reduce the level of detail in order to speed up computation. This has of course the drawback that the resulting data gets more imprecise. The goal of the research project is to dynamically change the level of detail for the different components during the simulation. This is modeled using a state machine.
For instance if you want to simulate a storm in order to find out at what wind force a blade breaks you have to start with low wind force and increase it constantly. The system would allow to replace a lower detailed blade with a higher detailed one in certain scenarios. The engineer specifies in what circumstances detailed information is interesting and the system can use fast models with low details for the rest of the time. For instance one would want to replace a low-detailed blade with a high-detailed blade when the wind gets so strong that it is likely that the blade breaks.

The other problem they have to solve is that there are many different tools (e.g. Modelica, NASTRAN, ANSYS) used to model and simulate the different components. Each of them have their strengths and weaknesses so the research team needs to find a universal way to reuse and interconnect all of these tools.

To solve these two issues they have developed a DSL used to model the different components. From that description they generate representations for the different tools in different levels of detail. In addition they have developed Xtext implementations of the most interesting languages they use, that is Modelica (an object-oriented, equation based language), NASTRAN, and ANSYS.

I want to mention that the Fraunhofer IWES are looking for smart software engineers. So if you're interested in wind energy and Eclipse Modeling it might be a good fit. I haven't spent much time in Bremerhaven but on a first glance it looked much nicer than I thought.