<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Using Domain-Specific Languages in the Design of HMIs: Experiences and Lessons Learned</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Carsten Bock</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel G o¨rlich</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Detlef Z u¨hlke</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Model-driven useware engineering, user-centered HMI devel-</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Center for, Human-Machine-Interaction, University of Kaiserslautern</institution>
          ,
          <addr-line>P.O. Box 3049, 67653, Kaiserslautern, Germany, +49(631)205-3706</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dr. Ing. h.c. F. Porsche AG</institution>
          ,
          <addr-line>Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>German Research Center for, Artificial Intelligence (DFKI), Center for, Human-Machine-Interaction</institution>
          ,
          <addr-line>P.O. Box 3049, 67653, Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>opment</institution>
          ,
          <addr-line>visual domain-specific language, HMI tool chain</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Usability has become a decisive factor for successful product development and operation of human-machine systems. In order to meet the customers requirements, interdisciplinary development teams have to work together in a systematic and iterative useware engineering process. Furthermore, early integration of users and customers becomes indispensable, which implies the rapid and on-demand creation of demonstrative prototypes even in early phases of the development process. This paper presents the procedure for developing a domain-specific language (DSL) intuitively understandable to all members of the interdisciplinary teams, and the continued reutilization of this DSL in meta-CASE tools and GUI-builders able to generate code fragments and HMI simulation prototypes on the push of a button.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>USEWARE ENGINEERING – INTERDIS</title>
    </sec>
    <sec id="sec-2">
      <title>CIPLINARY AND ITERATIVE</title>
      <p>
        Nowadays manufacturers usually have to face ambitious
development tasks when successfully developing useware1.
So as to meet these challenges the expertise of numerous
developers from different disciplines is required just as are
effective and efficient development processes. Furthermore,
early user integration is particularly important to avoid that
1Useware includes all hard- and software components of a
technical system, which are required for its use. The
expression useware has been created to demonstrate the equal
importance of human-machine-systems compared to
hardand software [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>MDDAUI ’06 Genova, Italy
Copyright 2006 ACM 0-89791-88-6/97/05 ...$5.00.
products fail to meet customers’ requirements. Thus
evolutionary development processes are necessary supporting
iterated user integration during product development.</p>
      <p>Our model-driven and user-centered HMI development
process comprises five partially interacting and overlapping
phases (Fig. 1):</p>
      <p>User-centered development process
teup
Ansaislys
t
c
e
jr
o</p>
      <p>P
Front-end</p>
      <p>Analysis</p>
      <p>tool
Back-end</p>
      <p>Structure
definition</p>
      <p>Navigation
structure</p>
      <p>In-process evaluation
System
design</p>
      <p>Content,
layout, behaviour</p>
      <p>Implementation</p>
      <p>Code
Domain-specific
language #1</p>
      <p>Domain-specific
language #2</p>
      <p>Framework/
code generator</p>
      <p>XML
Formalizable export:
data useML</p>
      <p>(use model)
Formalizable/
non-formalizable data
Automated
Manual</p>
      <p>Database
Virtual
prototype
(structure)</p>
      <p>XML
export
(content,
behaviour)</p>
      <p>GUIbuilder
(layout)</p>
      <p>
        Virtual prototype
(content/layout/
behaviour)
Analysis: The analysis of users and their behaviour as well
as the context of use can be carried out with different
methods [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Thereby developers shall get an overall
idea of tasks, user groups and possible working
environments. To ensure an accurate documentation of all
available information, results are stored in a structured
database reflecting user requirements and
environmental conditions.
      </p>
      <p>
        Structure definition: The aim is to derive a
platformindependent use model containing the navigation
structure of the system under development. In order to
get machine-readable information, use models are
described with a markup language, namely useML [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
System design: The purpose of this phase is a mapping
of the use model onto a specific hardware platform.
Besides hardware issues particularly software related
topics such as graphical user interface (GUI)
development deserve special attention. According to the
Seeheim model three categories constitute integral parts
of GUI development: (graphical) layout, content and
behaviour. Thereby, layout relates to the ergonomic
arrangement of dialog objects, content refers to the
definition of information to be displayed. Finally,
behaviour describes the dynamic parts of a GUI with
respect to controls available on a specific system.
Implementation: In this phase the results of the previous
conceptual phases are implemented by merging
hardware and software specifications.
      </p>
      <p>In-process evaluation: In addition to these sequential
phases evaluations are conducted. In a strict HMI
development process iterative successful evaluations are
mandatory for passing project milestones.</p>
      <p>
        Experience with this development process reveals that the
earlier simulations are available, the more effective user
integration will be. But, the demand for early (virtual)
prototypes following from user-centered development approaches
calls on manufacturers to acquire knowledge in the field of
developing interactive systems. Since this is normally not
among manufacturers’ core competences, easy-to-use
frontends and a powerful back-end are necessary for creating
machine-readable specifications [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. By means of code
generators and (meta-)modelling frameworks these specifications
provide manufacturers the opportunity to create executable
simulations at the push of a button. Thus manufacturers are
enabled to use simulations for evaluations in early phases of
product development processes.
2.
      </p>
    </sec>
    <sec id="sec-3">
      <title>TOOL SUPPORT FOR USER</title>
    </sec>
    <sec id="sec-4">
      <title>CENTERED HMI DEVELOPMENT</title>
      <p>
        Even though demand for domain-specific tool support and
its benefits are apparent, the high cost of proprietary
software development and a considerable development risk
hinder the broad acceptance and employment of domain-specific
CASE-tools. Current meta-CASE tools try to bridge this
gap by leveraging meta-modelling for tool creation. This
can enable manufacturers to create specific tool support at
manageable costs. For the development of appropriate tool
support the following requirements are particularly
important [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
High problem orientation: Tool support must be
extremely problem-oriented so that experts from
different domains can read specifications and work with the
specific CASE-tools.
      </p>
      <p>High abstraction level: Non-generic CASE-tools shall
make system specification possible on an appropriate
abstraction level. This should hide implementation
details from developers such as the hard- and software
architecture of a target platform or the operating
system.</p>
      <p>Intuitive notation: The use of graphical tools shall allow
developers to specify a system by means of a familiar
graphical representation.</p>
      <p>Formal specification: Developers shall be enabled to
create formal specifications. These shall allow for the
automated generation of simulations for in-process
evaluation.</p>
      <p>
        Subsequently, the procedure for developing a visual
domainspecific language (DSL) for an automotive driver
information system is described. Since the procedure [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is generic
for all problem domains, the description only refers to the
development of a DSL for the system design phase of the
previously outlined HMI development process.
      </p>
      <p>At the beginning a small team of domain experts
consisting of experienced HMI developers identified the essential
concepts of the problem domain. In this step existing
requirements documents such as specifications and style guides
and particularly the terminology used in daily project work
were analyzed. Thus in the case of driver information
systems single menu screens of the GUI and controls like
rotary knobs and pushbuttons represent main concepts of the
problem domain. These concepts could quickly be
identified by the domain experts since they are frequently used
for product specification. Additionally, the events a system
should react to were included, e.g. turning and pressing a
rotary knob or pressing and holding a pushbutton respectively.
Thereby all properties of every single domain concept
necessary for specifying driver information systems were defined.
Afterwards constraints were added to the metamodel in
order to restrict the degrees of freedom for developers in a
reasonable way. Amongst others, the use of some controls was
limited to special conditions. For instance, constraints were
defined limiting the number of subsequent menu screens
after selecting a menu item to at most one. Additional
constraints prescribe a fixed pushbutton for return actions. In
a final step meaningful pictograms were defined for domain
concepts in the metamodel allowing for intuitive
identification by developers. The specification of textual content (e.g.
menuitems) and behaviour of a user interface for driver
information systems with the DSL is illustrated in Fig. 2.</p>
      <p>Moreover, meaningful pictograms are defined for domain
concepts in the meta-model allowing for intuitive
identification by developers when using the DSL for creating
specifications. The resulting DSL for the system design phase
(Fig. 1, front-end: DSL #2) is shown in Fig. 2.</p>
      <p>
        For these tasks meta-CASE tools such as MetaEdit+ [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
Generic Modelling Environment (GME) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or
Microsoft DSL Tools [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] provide each a graphical user interface
which can subsequently also be used as a modelling
environment and thus as a specification tool for product
development.
      </p>
      <p>Additionally, in the pilot project a simulation framework
was implemented in Java containing a state machine and
base widgets thus covering the static parts of simulations.
Consequently, only the dynamic parts, i.e. textual content
and behaviour, must be linked to the framework to bring
automatically generated simulations to life.</p>
      <p>For transforming the platform independent models
created with the visual DSL into platform specific models, i.e.
source code, a code generator was built. The main
challenge when building a code generator is to define how
information can be extracted from models and how domain
concepts are mapped onto code. Consequently, carrying out
the metamodeling of domain concepts carefully allows for
full code generation of simulation code’s dynamic parts.
Although thereby error-prone manual programming cannot be
completely eliminated in any case at least a significant
reduction is likely to be accomplished. Upon completion of
code generation the compilation of dynamically generated
code is triggered. Finally, by calling functions provided by
a static domain framework executable simulations can be
created without any further activities of developers or
programmers.
3.</p>
    </sec>
    <sec id="sec-5">
      <title>FUTURE WORK</title>
      <p>Although first experiences with the presented
development process and suitable tool-chains were promising,
several issues remain for further refinement. Thus
endeavours have begun to support the pictured HMI development
process with a dedicated tool-chain removing the
restrictions of partially incompatible third-party tools requiring
repeated manual re-entering of data and development of
converters. Instead, all data gathered from the earliest analyses
to the final prototype shall be collected in a project database
that establishes a sound basis for three individual tools
supporting the analysis, structure definition, and system design
phases severally. Split up into several dedicated tools, the
tool-chain will be easier to use both for IT-experts and other
domain experts in interdisciplinary development teams; yet,
the project database ensures that media breaches between
the processes phases are eliminated without losing data.</p>
      <p>Moreover, the development teams’ work shall be
supported by a knowledge base comprising rules, guidelines,
style guides, (e.g. graphical) component libraries, and more.
While in its earlier stages, this knowledge base will only
provide human-readable text documents with indices and
crossreferences, semantically formalizable content shall later
enable software agents and assistants to monitor the
development teams’ work and hint to potential problems, offences
against rules and style guides et cetera.</p>
      <p>While the development of this knowledge base has just
begun, a tool supporting the analysis of users, their tasks,
etc., is already nearing its completion. This tool is able
to export results from analyses into rudimental use models
employing the Useware Markup Language (useML). Already
providing the navigation structure of the HMI system to be
built, down to elementary use objects, together with the
DSL #2 (see Fig. 2), a first simulation prototype can be
rendered automatically based on the layout, content and
basic behaviour, when appropriately defined in the system
design.</p>
      <p>
        Currently, the Java GUI-builder JFormDesigner [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is
used for specifying static GUI components, especially the
overall layout of menu screens (Fig. 3). Mainly, this
includes the pixelwise specification of the position and the
dimension of headers and footers or information and
warning areas. Also colors are specified with this GUI-builder.
In our present tool-chain this graphical work has to be done
twice: first with the GUI-builder in order to use the
specification for creating virtual prototypes with the help of the
framework and the code generator. Second, the (rough)
layout of the menu screens has to be created in the meta-CASE
tool again for building the graphical notation of DSL #2. In
order to avoid this extra work we actually investigate
possibilities for a closer integration of the GUI-builder and the
meta-CASE tool that should allow for automatic
synchronization of both components.
      </p>
      <p>Finally, for a seamless integration of all back-end
components (analysis tool, DSLs, GUI-builder, simulation
framework) an application bus has to be created. This bus shall
supersede the manual data transfer in our current back-end
architecture. Moreover, possibilities for an integration of
third-party tools such as XAML GUI-builders shall be
investigated. Thereby the automatic derivation of the
metamodel of DSL #2 (system design) becomes possible. In
general the automatic synchronization of models will be an
important final step towards full code generation in complex
HMI development processes.</p>
    </sec>
    <sec id="sec-6">
      <title>CONCLUSION</title>
      <p>Challenged by the need for usable HMI systems in classic
and upcoming fields of application, these systems have to be
developed quickly and efficiently by interdisciplinary teams
comprising IT-experts and other domain experts. They are
in need of computer tools supporting their work by adapting
to their project domains’ specific requirements, language,
and thinking. The presented tool-chain supports such a
systematic useware development process based on domain
specific languages and meta-models appropriate to the
respective project. It bridges media breaches in the development
process by using a project database, thereby superseding
the currently error-prone manual transmission of data and
specifications.</p>
      <p>Though much work has still to be done, the fundament for
the tool-chain has been laid and a proof of concept is
currently being conducted. The development of the main parts
of the outlined tool-chain shall be finished by the next two
years, but will be improved subsequently e.g. by formalizing
more knowledge semantically to semi-automate the
development process and let software agents assist human
developers with their work.
5.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Zu¨hlke. Meta-modelling - A Silver Bullet for Model-Driven HMI Development</article-title>
          ? In
          <source>WoMM: 2nd International Workshop on Metamodelling and Ontologies, October</source>
          <volume>12</volume>
          -13, Karlsruhe, Germany,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Zu¨hlke. Model-Driven HMI Development - Can Meta-CASE Tools Relieve the Pain</article-title>
          ? In J. Filipe,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shishkov</surname>
          </string-name>
          , and M. Helfert, editors,
          <source>ICSOFT 2006: 1st International Conference on Software and Data Technologies, September</source>
          <volume>11</volume>
          -14, Setu´bal, Portugal, volume
          <volume>2</volume>
          , pages
          <fpage>312</fpage>
          -
          <lpage>319</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Zu¨hlke. Non-generic tools support for model-driven product development</article-title>
          . atp - Automatisierungstechnische
          <string-name>
            <surname>Praxis</surname>
          </string-name>
          ,
          <volume>48</volume>
          (
          <issue>7</issue>
          ):
          <fpage>42</fpage>
          -
          <lpage>48</lpage>
          ,
          <year>July 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Emerson.</surname>
          </string-name>
          GME-MOF:
          <article-title>The MOF-Based GME Metamodeling Environment</article-title>
          .
          <source>In Model-Integrated Computing Workshop</source>
          ,
          <year>2004</year>
          . Available from: http://www.omg.org/news/meetings/workshops/ MIC 2004 Manual/03-1
          <article-title>Emerson etal</article-title>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Microsoft</surname>
          </string-name>
          .
          <string-name>
            <surname>Domain-Specific Language</surname>
          </string-name>
          Tools [online].
          <source>2006 [cited 15.9</source>
          .
          <year>2006</year>
          ]. Available from: http://msdn.microsoft.com/vstudio/DSLTools/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>K.</given-names>
            <surname>Mukasa</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Reuther</surname>
          </string-name>
          .
          <article-title>The Useware Markup Language useML - Development of user-centered interfaces using XML</article-title>
          .
          <source>In 9th IFAC Symposium on Analysis, Design, and Evaluation of Human-Machine Systems, September 7-9</source>
          , Atlanta,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Smolander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lyytinen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.-P.</given-names>
            <surname>Tahvanainen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Marttiin. MetaEdit</surname>
          </string-name>
          :
          <article-title>A flexible graphical environment for methodology modelling</article-title>
          .
          <source>In CAiSE '91: Proceedings of the 3rd International Conference on Advanced Information Systems Engineering</source>
          , pages
          <fpage>168</fpage>
          -
          <lpage>193</lpage>
          , New York, NY, USA,
          <year>1991</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Tauber</surname>
          </string-name>
          . JFormDesigner documentation [online].
          <source>2005 [cited 29.3</source>
          .
          <year>2006</year>
          ]. Available from: http://www.jformdesigner.com/download/ JFormDesignerDoc-2.0.1.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Zu</surname>
          </string-name>
          <article-title>¨hlke</article-title>
          .
          <source>Useware forum [online]</source>
          .
          <source>2002 [cited 13.6</source>
          .
          <year>2006</year>
          ]. Available from: http://www.useware-forum.de.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Zu</surname>
          </string-name>
          <article-title>¨hlke</article-title>
          . Useware-Engineering fu¨r technische Systeme. Springer, Berlin,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>