Automotive User Interfaces and Interactive Vehicular Applications
Automotive User Interfaces and Interactive Vehicular Applications
Automotive User Interfaces and Interactive Vehicular Applications
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The HMISL language<br />
for modeling HMI product lines<br />
Simon Gerlach<br />
Volkswagen AG<br />
HMI/Cluster, Switches<br />
PO Box 1148<br />
D-38436 Wolfsburg, Germany<br />
simon.gerlach@volkswagen.de<br />
• Domain specific language for model-driven development of <strong>Automotive</strong> HMI Software<br />
• Designed for being combined with different GUI modeling tools available on the market<br />
• Allows to model behavior logic modules reusable for creating different product variants<br />
• Code of product variant is generated based on module selection <strong>and</strong> parameterization<br />
interface gui myGui {<br />
animation fadeSeekToManulMode;<br />
...<br />
scene seekScreen {<br />
interaction manualTuning;<br />
property string stationName;<br />
...<br />
}<br />
scene manualTuningScreen {<br />
property integer tunedFrequency;<br />
...<br />
}<br />
popup temperatureWarning priority 10 {<br />
...<br />
}<br />
}<br />
module radio uses myGui {<br />
public event manualTuning;<br />
public variant integer defaultFrequency;<br />
...<br />
statemachine main start seekMode {<br />
state seekMode {<br />
on enter show seekScreen;<br />
on manualTuning {<br />
if (defaultFrequency != -1)<br />
set tunedFrequency to defaultFrequency;<br />
goto manualMode;<br />
}<br />
...<br />
}<br />
state manualMode {<br />
on enter show manualTuningScreen;<br />
...<br />
}<br />
}<br />
}<br />
Depending on Supplier/OEM<br />
• GUI design is created externally<br />
• GUI interface defines “remote-controlled” elements in<br />
GUI <strong>and</strong> interaction events<br />
• GUI interface independent of actual GUI layout<br />
• Description of HMI behavior<br />
• Reactive programming paradigm: combines scripting<br />
language <strong>and</strong> high-level constructs (e.g. events, state<br />
machines, data binding…)<br />
• Elements of GUI interface are accessible<br />
• Placeholders for variant specific values<br />
• Maps supplier/OEM specific interface technology to<br />
generic concepts like events <strong>and</strong> variables<br />
• Specification of base function <strong>and</strong> call sequences