<!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>An Interactive Process Meta Model for Runtime User Interface Generation and Adaptation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas Schlegel</string-name>
          <email>Thomas.Schlegel@vis.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Author Keywords Interactive Processes</institution>
          ,
          <addr-line>Process Model, Production Process Control</addr-line>
          ,
          <country>Runtime User Interface Generation</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Stuttgart Universitätsstr.</institution>
          <addr-line>38, Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>9</fpage>
      <lpage>12</lpage>
      <abstract>
        <p>Complex and distributed interactive systems today - in this case mainly in production and supply chain management rely strongly on defined processes but as well on flexible interaction and dynamic adaptation. We describe an interactive process model that allows recognizing and deriving interactions with users on runtime. The model can be dynamically adapted to fit new requirements or offer additional interactions in specific contexts.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Industry has experienced a strong development in the
direction of product customization (flexibility in production
and products) and globalization (flexibility in
organizational structures and local differences), leading to
instable processes and user interfaces with frequent
adaptations and necessary changes. Industrial systems, in
production and supply chain, are developing today from
monolithic systems towards a complex set of interconnected
systems like Service Oriented Architectures (SOA, [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). On
the one hand, these complex industrial systems like
networked production systems or supply networks [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] rely
on defined processes to ensure proper and controlled
execution of business processes in production companies.
On the other hand, build-to-order, Mass Customization [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
and rapid reconfiguration (e.g. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) of the factory require
flexibility and adaptability of processes that go beyond
what is possible today.
      </p>
      <p>
        Therefore, we experience today interaction with a “system
of systems” [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], integrating different users and different
systems in a dynamic Multi-Stakeholder Multi-System
(MS2) System, which adds a new level of complexity and
necessary flexibility to today’s networked industrial
systems and their interaction layer. Interactions with such a
complex system occur at all levels of the processes. Hence,
processes changing dynamically on runtime lead to the
requirement of adapting or generating their adjacent user
interface even during their execution.
      </p>
      <p>To achieve this flexibility in process modeling and
execution, we shortly motivate and present the concepts of
interaction in this field, explain the necessary interactive
process model integrating static and dynamic aspects in one
model and show a first user interface prototype for
executing, controlling, adapting and testing interactive
processes and interacting with the user based on this model.</p>
    </sec>
    <sec id="sec-2">
      <title>INTERACTIVITY IN COMPLEX SYSTEMS</title>
      <p>We studied e.g. the production of dishwashers at BSH,
where variability is expected to be low compared e.g. to
special machines. Even in this company, 1000 variants exist
and changes to the process have to be applied with high
frequency depending on product changes, location and
many other factors, like distributing formerly integrated
interaction tasks of the workers.</p>
      <p>
        Users and even software developers working on such an
MS2 System normally only perceive and access some local
parts of the system – often without a detailed mental model
of the whole system, while the system itself may
additionally be changing and evolving without notification.
Full oversight and control over the processes for one
stakeholder or organization is often not possible, if the
system is spanning across organizational and technological
borders. E.g. an operator in a production cell executes some
steps of a complex production process for producing a car
part that is assembled by other workers in a different
factory of a different company, still participating in the
same overall process. This makes decentralization and
flexible interaction a key issue for these systems.
The need for integrating interaction with processes has been
recognized by the Workflow community, e.g. leading to
additional standards like BPEL4People [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and WS-Human
Task [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which emphasize the importance of the user in
process execution. But even these specifications do not
fully cover dynamically and decentrally changing
interactions in interactive processes. To overcome this
issue, interactions cannot be embedded or occur in
processes as pre-programmed or interaction-based user
interfaces with predefined dialogs and functions anymore.
Flexibility is offered by model-based user interfaces (e.g.
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and especially for workflows [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), which do not rely on
statically predefined functions and dialogs anymore. In an
MS2-System with dynamically changing processes, even
dynamic model-based user interfaces are needed, which
additionally allow changes to the underlying workflows and
interactions by users on runtime and offer automatable
creation of interactions and dialogs based on changing
contexts. Disadvantages of such a flexible system include
that usability tests of model-based and runtime-generated
systems are not fully possible and that the system and
models become complex and partially unpredictable and
make software development more expensive and complex.
Although, for decentralized and runtime-changing
infrastructures there is currently no second option available.
      </p>
    </sec>
    <sec id="sec-3">
      <title>A SEMANTIC PROCESS MODEL</title>
      <p>Model- and context-based generation means that the
underlying process model has to provide the semantics and
abilities for generating user interfaces and also mechanisms
for safely adapting the process model to new needs arising
while the system is already in production state. To achieve a
decentralized execution of interactive processes, the
underlying process model has to provide the semantics and
the dynamics of the processes and the adjacent interactions.</p>
    </sec>
    <sec id="sec-4">
      <title>The Process Flow Model Aspect (horizontal aspects)</title>
      <p>
        Common process models like Event-Driven Process Chains
(EPC) with BPEL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and UML Activity Diagrams [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
focus on the flow aspect of the process. Process steps with
their sequence and dependencies are described in a
graphical or other language-based model. The Process
Flow Model contains these horizontal, dynamic aspects of
processes necessary for correct execution. It also provides
the dependencies between different elements to be able to
create interactions, e.g. dialogs which consider causality of
inputs. Flow relations determine where data, events and
activation have to flow (process definition) or currently
flow (process instance).
      </p>
    </sec>
    <sec id="sec-5">
      <title>The Structural Model Aspect (vertical aspects)</title>
      <p>While the flow aspect shows the sequencing, the Structural
Model defines the vertical, static aspects of a process. Data
type, activity types, event types and many other
classifications also form an integral part of an executable
and self-dependent process model.</p>
      <p>Object-oriented inheritance mechanisms are used to create
specializations of existing types of actions and interactions
in order to provide rich semantics for every component in
the model, like process steps, data or dialog elements.
Aggregation allows for creating complex processes, data
types and semantic groups of interactions, determining their
meaning and integration. The inheritance mechanism allows
creating specializations of complex, aggregated processes
(activities) and their process steps. Figure 1 shows how the
concept works for such a process: Activity A consists of
Activities x, y and z. Activity B is created as a specialized
process (child) of A by inheritance. While x’ and z’ are
created by (sub-)inheritance, i.e. inherited without changes
from A (gray, dashed line), y’ is specialized from y as a full
component (black, continuous line). Through instantiation,
process instances are defined by and created from processes
(types) and then executed decentrally according to the
process specification, e.g. process instance c, which is an
object-oriented instance of Activity C, with its components
being instances of the Activities x’’, y’’ and z’’.</p>
      <p>Activity A
Activity B
Activity C
c: Instance-of
Activity C</p>
      <p>Activity x</p>
      <p>Activity y</p>
      <p>Activity z
sub-inheritance
sub-inheritance
Activity x’</p>
      <p>Activity y’</p>
      <p>Activity z’
sub-inheritance
sub-inheritance
Activity x’’</p>
      <p>Activity y’’</p>
      <p>Activity z’’
Instance-of</p>
      <p>Instance-of</p>
      <p>Instance-of
Instance x’’</p>
      <p>Instance y’’</p>
      <p>
        Activity z’’
To execute interactive steps, dialog elements can be
instantiated from type-compatible interaction element types.
For such explicit interactions [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], the classification can be
used to determine the most specialized interaction element
available for the type of interaction requested. For implicit
interactions [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], it can be used to determine the correct
interaction elements to be used to gather the information
needed from the users for the current process execution.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Integrated Semantic Process Model</title>
      <p>One significant contribution to flexible interactive process
systems is that we provide an integrated process and
interaction concept, which offers the advantages of
objectorientation like runtime behavior, type-safe extension and
generation also for interactive processes.</p>
      <p>Type</p>
      <p>Type
Input Compo- Output
nent</p>
      <p>Input Compo- Output</p>
      <p>nent
Instances</p>
      <p>/
Subtypes</p>
      <p>Instances</p>
      <p>/
Subtypes
To execute interactive processes in a decentralized
environment, the integration of both aspects into one model
framework is vital. This is done using different component
and relation types for static aspects like inheritance /
classification and aggregation than for the dynamic aspects
like flow/activation, input and output. Figure 2 shows how
two components are connected horizontally via their Input
and Output interfaces. Inheritance and aggregation offer a
vertical connection.</p>
      <p>For each complex/aggregated component the data needed or
produced can be determined semantically by identifying the
“interface” of the component. Figure 3 shows how the input
and output of every component (e.g. process step) can be
connected either internally (arrows between components) or
be aggregated as interface for the whole component (right),
showing input necessary and output delivered to the next
component in the process.</p>
    </sec>
    <sec id="sec-7">
      <title>USER INTERFACE CREATION FROM THE MODEL</title>
      <p>
        Once the elements required for execution of the process (or
sub-process) have been identified, for each element it can
be validated if the necessary data is available. If not, or if an
interaction is explicitly foreseen to gather the data from the
user [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], the contained User Information Model (UIM) is
used to determine the type of the element. With this
information, each peer in the system can check the User
Interface Element Model (UIEM) to determine if an
interpretation of the element is available for the defined
context of use. The Dashboard Model is then used to
integrate the elements correctly into the overall dialog set.
      </p>
      <p>In the example in figure 4, we describe a partial view of a
typical shipping process in logistics. It requires the shipping
address and “Applicable Contracts” (insurance etc.) for the
adjacent order and transport. From the UIM, the type can be
derived. While for “Applicable Contracts” there is no
interaction specification available in the UIEM, it is a
specialization of MultiSelectionFromList for which the
UIEM provides an implementation.</p>
      <p>For ShippingAddress, the UIM provides all elements of it
by resolving it from Address. For all partial elements like
LName an implementation is derived from the UIEM. The
semantic group ShippingAddress can be displayed together
with the MultiselectListbox implementation of “Applicable
Contracts”. MultiselectListbox has been determined to be a
valid implementation of MultiSelectionFromList, which in
turn is the (still) most specialized generalization of
“Applicable Contracts” in the UIM.</p>
      <p>To create necessary dialogs for gathering missing
information, the type of a missing element (complex or
simple) is mapped via reference directly to a corresponding
element in the UIM. Each possible realization of an element
is listed in the UIEM and references its source element in
UIM. For a specific context (e.g. WinFormsApp), the
correct renderer in UIM can be identified.</p>
    </sec>
    <sec id="sec-8">
      <title>PROTOTYPE FOR MODELING AND EXECUTION</title>
      <p>
        When interactive processes are executed and adapted in a
decentralized system environment, it is necessary to provide
a modeling and control interface, which is context-oriented.
The challenges of this kind of process models are the size
and the connections of the model. Each process component
has sub-components like input and output and a type
hierarchy above and maybe also below as well as flow
connections to other components at the same level. A
graphical notation like BPMN[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], EPC[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or UML [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
needs a lot of space, has low content editing abilities and
already uses two dimensions without providing the static
(vertical) aspects of the model. Therefore we are using a
dialog based, navigational form of working with the process
model, including execution, editing and generation.
Where possible, elements of the current component can be
edited. Also, additional components can be connected using
all available relation types. New components can be created
directly as input, output or part of the current component in
focus.
      </p>
      <p>Navigation is possible upwards to the type layer and along
the aggregation and inheritance relations, downwards to
the sub-elements via different relation types like
instantiation, inheritance, aggregation and others,
depending on the required aspect, leftwards to the
predecessors of the same and next sub-level along flow
relations of data and activation and rightwards to the
successors of the same and next sub-level along flow
relations of data and activation.</p>
      <p>Additional interfaces e.g. serve for browsing the hierarchy
more easily in a tree-like view. The multi-relational
hierarchy of the components is that of a Directed Acyclic
Graph (DAG) for each relation type used, which requires
aspect-oriented (mainly relation type-oriented) navigation.
The prototype has been implemented in C# using
WinForms as generator target. An implementation for WPF
is currently created in addition. The screenshot also shows
how missing information in the process executed is added
interactively: “Applicable Contract” input is not filled by
the predecessors. Clicking on the button for this data
required to execute “Assembly Part 544001”, a dialog
opens that offers the user to interactively enter the contracts
to be used with this order / process instance.</p>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSION AND OUTLOOK</title>
      <p>This article has presented a concept for an interactive
process model execution and modeling prototype for
distributed process execution and derivation of interaction
elements from the semantic structures in the model.
Further research will be carried out on model extension and
specification to allow for runtime user interface generation
also for complex types and extend the modeling capabilities
in addition to a better integration with existing standards
and concepts in an M2S System. This also includes user
interface generator components and extended process
modeling capabilities.
for</p>
      <p>People</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>D.M.</given-names>
          </string-name>
          <article-title>Build-to-</article-title>
          <string-name>
            <surname>Order</surname>
          </string-name>
          &amp; Mass Customization, Cambria CIM Press (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Erl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Service-Oriented Architecture - Concepts</surname>
          </string-name>
          , Technology, and
          <string-name>
            <surname>Design</surname>
          </string-name>
          . Prentice
          <string-name>
            <surname>Hall</surname>
          </string-name>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Colombo</surname>
            ,
            <given-names>A. W.</given-names>
          </string-name>
          <article-title>Collaborative automation from rigid coupling toward dynamic reconfigurable production systems</article-title>
          ,
          <source>Proc. 16th IFAC World Congress</source>
          <year>2005</year>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>IBM</surname>
          </string-name>
          et al.
          <article-title>WS-BPEL Extension (BPEL4People), Version 1</article-title>
          .0,
          <issue>(</issue>
          <year>June 2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>IBM</surname>
          </string-name>
          et al. Web
          <string-name>
            <surname>Services Human Task (WS-HumanTask</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <source>Version 1.0</source>
          ,
          <issue>(</issue>
          <year>June 2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Jamshidi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>System of systems engineering - New challenges for the 21st century</article-title>
          ,
          <source>IEEE Aerospace and Electronic Systems Magazine</source>
          ,
          <volume>23</volume>
          ,
          <issue>5</issue>
          (
          <year>2008</year>
          ),
          <fpage>4</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Guerrero</given-names>
            <surname>García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Lemaigre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>González</surname>
          </string-name>
          <string-name>
            <surname>Calleros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Vanderdonckt</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Model-Driven Approach to Design User Interfaces for Workflow Information Systems</article-title>
          ,
          <source>Journal of Universal Computer Science</source>
          , vol.
          <volume>14</volume>
          , no.
          <volume>19</volume>
          (
          <year>2008</year>
          ),
          <fpage>3160</fpage>
          -
          <lpage>3173</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Unger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Nautilus Event-driven Process Chains Syntax, Semantics, and their mapping to BPEL, Proc</article-title>
          .
          <source>GI EPK</source>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>OMG</given-names>
            <surname>Business</surname>
          </string-name>
          <string-name>
            <surname>Specification</surname>
          </string-name>
          ,
          <source>OMG dtc/06-02-01</source>
          , (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>OMG</given-names>
            <surname>Unified Modeling</surname>
          </string-name>
          <article-title>Language (UML) Superstructure Version 2.1.1</article-title>
          . formal/07-02-05, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Pinheiro da Silva,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Griffiths</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Paton</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Generating User Interface Code in a Model Based User Interface Development Environment</article-title>
          ,
          <source>Proc. Advanced Visual Interfaces</source>
          <year>2000</year>
          (
          <year>2000</year>
          ),
          <fpage>155</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Schlegel</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          Object
          <article-title>-oriented interactive processes in decentralized production systems</article-title>
          .
          <source>Proc. HCI International</source>
          <year>2009</year>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Schlegel</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kirn</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Interacting with the Supply Swarm Towards an Interactive and Visual Management of Supply Webs</article-title>
          .
          <source>Proc. IEEE INDIN</source>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>