Programming Refrigerators with Eclipse Xtext

Session Type: 
Standard [25 minutes]

Schedule info

Presenter: 
Assistant(s): 

Building refrigerators involves two major challenges. First,
refrigerators have to be as energy efficient as possible. To achieve this, in addition to thicker insulation, the algorithm used for cooling the fridge must be optimized for the configuration of the appliance. Second, Bosch-Siemens-Hausgeräte manufactures a wide variety of refrigerators, and the resulting variability in the cooling algorithms has to be managed
efficiently. In this session we describe the development of an Xtext-based textual DSL that addresses both of these challenges. The language supports the description of appliance configuations, as well as the cooling algorithms that run on them. The language is currently being developed at BSH, with direct involvement of the thermodynamicists who are going to use the language subsequently to capture the algorithms they come up with through
experimentation. This case in an interesting example of using Xtext, since it involves several related DSLs, a language with expressions and a type systems, an interpreter for simulating and testing the algorithms, as well as a code generator to map the algorithms to C code that will run in the actual device.