=Paper= {{Paper |id=Vol-242/paper-10 |storemode=property |title=Process Support in eHome Systems: Empowering Providers to Handle a Future Mass Market |pdfUrl=https://ceur-ws.org/Vol-242/paper10.pdf |volume=Vol-242 |authors=Ibrahim Armac,Michael Kirchhof |dblpUrl=https://dblp.org/rec/conf/caise/ArmacK06 }} ==Process Support in eHome Systems: Empowering Providers to Handle a Future Mass Market== https://ceur-ws.org/Vol-242/paper10.pdf
UMICS'06                                                                                      999

     Process Support in eHome Systems: Empowering
        Providers to Handle a Future Mass Market

                          Ibrahim Armac and Michael Kirchhof

           Department of Computer Science III, Aachen University of Technology,
                          Ahornstr. 55, 52074 Aachen, Germany,
             {armac|kirchhof}@i3.informatik.rwth-aachen.de



       Abstract. This paper focuses on the sales and distribution phase in eHome sys-
       tems. The huge market potential for affordable solutions leads to a multiplicity
       in terms of millions of installations in parallel. This situation can not be han-
       dled manually. So, tool support for the business process in this phase is crucial.
       We discuss the prerequisites of the intended tool support, starting with the overall
       eHome process which describes the complete life cycle of eHome services. Then,
       we will further analyze the sales and distribution phase and formalize the encap-
       sulated business process. This process specification is executed by an established
       workflow management system. Summarizing, we present a solution based on au-
       tomated configuration and deployment techniques, which enables the efficient
       advertising, migration, and retirement of components in the particularly specific
       domain of eHome systems.


1   Introduction
In this paper we will take a look at the inside of connected homes, which build up
complex IT systems. The building blocks of such systems are electronic devices, net-
works, and services, which empower the user to interact with his environment. Objects
in the environment can be the room itself, the building, other persons, and information
from outside. Talking about services, we mean any piece of software, which is executed
in a networked environment, making usage and administration of pervasive appliances
easier.
    The structure of eHome systems is illustrated in Figure 1: The connected home on
the right-hand side of the drawing is equipped with a residential gateway, a hardware
device, which provides access to connecting infrastructure (e.g., X.10, EHS, Lon, Jini)
and acts as the runtime environment for the service gateway. The service gateway man-
ages and runs certain software components. These services realize eHome Services,
which are these visible to the users. In our work, we focus on the domains of Security,
Consumption, and Infotainment. The services in these domains are based on certain
equipment, as some examples are shown in the figure: an alarm system depends on
cameras, motion detectors, and lamps or sirens. Monitoring and optimization of energy
consumption can be realized by the use of ammeters, photo sensors, thermometers, the
heating systems and so on. Elements of the infotainment domain can be incorporated
for audio-based and video-based interaction. The internal and external communication
can be handled equivalently using an an IP-based platform as communication backbone.
1000                                                          Ubiquitous Mobile Information and Collaboration Systems

                                                                                                                  Info
                                                                                                                         tain
                                                                                                                                me
                                                                                                                                     nt




                                                                                                                                          Consumption
                 Digital Content




                                        Provider
                                                                                            Photo Sensor                  Heater




                                                   (remote)
                                                                     Ammeter
                  Applications                                               Open
                                                                                    Close




                                                                                                           Rollerblind
                                                                      Open-Closed- Thermo-                                Lamp
                    Services                                            Sensor      meter



                                                                                                       USB Camera




                                                                                                                                          Security
                                                                                               Siren
                                                                       Camera                                               Lamp

                                                                                                       X10

                                  es
                                                                         Motion Detector                       Motion Detector
                               ic
                             ev
                                                                Multi-User                       Service Gateway (SW)
                                  e)
                        D
                                  ot
                      e
                             em



                                                                                            Residential Gateway (HW)
                    ac
                            l/r
                       ca
                  rf
                     (l o
                te
               In




                                                     IP-based Service Platform
                                                         Distributed IP-based Service Platform



                                       Fig. 1. Structure of eHome Systems



Beside direct interaction with devices in the house, interaction with the eHome system
based on personal computers, PDAs, and mobile phones is realized. Service providers
are connected to the systems via the IP-based platform to provide digital content, ap-
plications, and services. This stands in contrast to many other solutions: Though they
provide network access, the supported functionality is most often restricted to remote
controlling single devices.
    One application of these technologies is a modular alarm system which consists
of multiple cameras, multiple sensors, an outbound connection for alarm messages
(e.g., email facility, SMS), and some power switches. All components are integrated
and coordinated by the residential gateway. The procedure is the following: when some
of the sensors, for example motion detectors, detect something worth mentioning, a
predefined subset of available switches are activated and selected cameras should take
pictures of the location and store them. The house-owner is informed about what is cur-
rently happening in his house in order to take adequate measures based on the kind of
the event and the pictures obtained from within his house. Possible actions would be to
call the police in emergency cases or to discard the event, in situations where the cat
raised the alarm accidentally. The provider conserves evidence, which is crucial in the
case of the local recording device is stolen, too. The system is extensible by additional
functionality. For example, the alarm system setup can be tweaked by the user in terms
of which rooms should be monitored. Or, the way to alarm the owner should be made
flexible.
    Current situation is, that there is no solution for the distribution und deployment
of eHome services in such a way, that one provider is able to handle thousands of
installations in parallel. The proposed solution in current systems, if even discussed, is
that an expert representative of the provider gathers the required data and installs the
UMICS'06                                                                               1001

system and services manually on the customer’s site. This task is time-consuming and
expensive. Thus, it prevents affordable eHome solutions.
    In this paper, we will discuss how the infrastructure and the developed tool support
for the development process can be combined to reduce the efforts to deploy eHome
services in a mass market. We will describe the roles and their tasks with respect to a
clear competence-driven separation of concerns and discuss the process specification
which can be executed by a workflow management system. This automation reduces
the efforts on the provider’s side and leverages the contentment of the customer.
    At Department of Computer Science III at Aachen University of Technology, tools
for supporting development processes have been built for software engineering, me-
chanical engineering, chemical engineering, process control, telecommunication sys-
tems, and authoring support. This fundament is used for the research of process support
in eHome systems. The support is based on ongoing research of processes and infras-
tructures in the domain of eHome systems at our department (eHome-Group).
    The paper is structured as follows: First, we will describe the organizational per-
spective on eHome systems, namely the eHome process in Section 2. The last phase of
this process – the sales and distribution phase – is then discussed in detail in Section 3.
Here, the identified activities of the business process will be formally specified using
a workflow language. This specification is based on tools supporting the immanent de-
velopment process in the distribution phase and can be automated and monitored. After
a discussion of related work in Section 4, we conclude of paper with a summary and an
outlook to future work in Section 5.


2   eHome Process

For successful eHome solutions, the multiplicity is a key factor. Today, eHome solutions
are products made on specific request and, thus, according to specific requirements.
But, the in-materiality of software imposes no reproduction costs if used several times.
The cost driver is the customizing and deployment in specific eHomes. If this can be
changed, affordable low-cost eHome solutions can be achieved.
    Our approach settles on the idea of a clear separation of product-specific tasks, tools,
and data on the one hand and eHome-specific tasks, tools, and data on the other hand.
Figure 2 depicts the eHome process containing these both parts. At the beginning, a
new product (an eHome service) is being developed. This should be done under the
premise of (re-)usability in different contexts. While this is impossible in general, it
is possible in the domain of eHome systems and is supported by our layered software
architecture PowerArchitecture [1]. After the development of the product, the business
process starts consisting of sales and distribution activities. The three building blocks
are (1) Configuration & Deployment, (2) Execution & Billing, and (3) Uninstallation.
The backward-oriented loop represents maintenance tasks during runtime of the long-
running eHome installation. These blocks will be detailed in the following.
    In the first step (1: Configuration & Deployment), the acquisition of data and the
matching between environment and software components is being executed. The re-
sults of this computation is a formalized description of the components to be installed
on their initial settings. This specification is then automatically deployed in the cus-
1002                                 Ubiquitous Mobile Information and Collaboration Systems

                       eHome Process (product-specific)

                                        Service Development


                             Business Process
                             (eHome-specific)
                                          Configuration &
                                           Deployment
                                                            Maintenance

                                         Execution & Billing



                                           Uninstallation




                      Fig. 2. The Coarse-Grained eHome Process



tomer’s eHome [2,3]. In the second step (2: Execution & Billing), the customer uses
the installed eHome services. We encourage the idea of a service subscription with re-
current subscription fees, instead of a single selling activity. The subscription reflects
the relationship between provider and customer in an appropriate way and enables on-
going support during whole life time of the eHome. The third step (3: Uninstallation)
is triggered by the cancellation of the subscription. This part of the process has be to
dealt with, too. This is caused by the long running eHome systems, which have to be
in consistent state, whether new services are installed or existing ones are removed.
Due to interdependencies between eHome services, this is a difficult task. To tackle this
problem, we again utilize the configuration and deployment mechanism which has been
used in the first step.
    The business process is being executed in close collaboration between provider and
customer. Here, data about the current situation of the customer’s home, his wishes, and
requirements come into play. Thus, this part of the eHome process is eHome-specific.
Due to the multiplicity of eHomes installations, the cost driver is the eHome-specific
part of the eHome process. So, the sales and distribution phase has to be considered
carefully to reduce manual efforts and on-site expert service. The tasks and documents
in this phase are depicted in Figure 3. This first task in this phase is executed by a sales
person, who adds the annotated products to the product range. The customer can query
the provider’s product range to figure out products and functionalities he would like.
The preselection of products is supported by gathered data about existing devices, other
equipment, and structural data of the customer’s home. For this gathering, the customer
is supported by an interactive tool called eHomeConfigurator [2]. By the use of the con-
figuration technique, the customer is provided with a customized offer which reflects the
intended functionality and the current situation in the customer’s home. This offer can
contain additional equipment required by the selected products or can be restricted to
the specified home environment. The process of gathering information and computation
of customized offers can be repeated arbitrarily often with no negative impact because
the computation task is completely automated. Once the offer fulfills the customer’s
wish, the product selection and the gathered data are refined again by the configuration
UMICS'06                                                                                                                                                                                                                                                    1003

                                                                                                                                                                                  Sales and Distribution
                                                                                                                                                                                          Phase




                                                                                                                                                                                     Sales Person                                         Customer




                                                                                                                                                                                          Annotated Product



                                                                                                                                                                                           Registration and
                                                                                                                                                                                             Annotation
                                                                                                                                                                                                                                 Wish for Functionality


                                                                                                                                                                                                                           Inquiry

                                                                                                                                                                                                                                 Gathering of Devices,
                                                                                                                                                                                                                                   Equipment, and
                                                                                                                                                                                            Product Range                        Structural Conditions

                                                                                                                                                                                                                  Preselection
                                                                                                                                                                           ss
                                                                                                                                                                       3G-Proce




                                                                                                                                                                                                                                    Customized Offer
                                                                                                                                                                                                                                with Respect to specified
                                                                                                                                                                                                                                 Environment in eHome
                                                                                                                                                                              m
                                                                                                                                                                  Cut-out fro




                                                                                                                                                                                         Product Selection +
                                                                                                                                                                                        Specification of eHome


                                                                                                                                                                                            Configuration


                                                                                                                                                                                       Configured Selection of
                                                                                                                                                                                            Components


                                                                                                                                                                                         Calculation of Price
        Design                     Produktion                                                   Vertrieb




          Designer                   Designer
                                        Entwickler
                                                                      Hardware
                                                                                          Vertriebsmitarbeiter                                   Kunde                                 Concrete Offer based on
                                                                       Entwurf                                                                                                          eHome Specification
                               Analyse &             Produkt-Design
                                                      (Außensicht)                              Bereitgestelltes Produkt
                             Anforderungs-
                               definition
                                              Software
                                                                                                    Katalogisieren/

                                                                                                                                                                                                              If Offer is accepted:
                                                Entwurf/Modellierung
                                                                                                       Werbung
        Produkt-Idee                                                   Entwickler
                                                                                                                                         Funktionalitäts-Wunsch
                                                  Produkt-Modell


                                                                                                                                                                                                                  Deployment
                                                        als
                                                Software-Architektur                                                              Anfrage

                                                                            Veröffentlichung/
                                                                                Freigabe          Angebotsübersicht


                                                                                                                           Vorauswahl

                                                                                                                                                                                                                                 Operative Installation
                                                      Realisierung


                                                                                                                                         Vorliegendes Angebot


                                                                                                Software                                                                                                                         including new Product
                                                                                                    Produktauswahl          Entwickler


                                                        Produkt                                  Anforderungsanalyse
                                                                                                  Preis-Berechnung

                                                                        Überarbeitetes


                                                                                                                                                                                                                                      Service Usage
                                                                           Produkt                Konkretes Angebot
                                                                                                      basierend auf
                                                                                                   Integrations- und
                                                                                                    Installationsplan


                                                                                                                 Bei Annahme des Angebots:
                                                                                                                   manuelle Integration &
                                                                                                                     manuelle Installation
                                                                     Rückgriff
                                                                                                                                    Betriebsbereite Installation
                                                                                                                                        mit neuem Produkt


                                                                                                                                                Nutzung
                                                                                                                                                                                                Billing          Subscription         Used Product
                                                                                                                                           Genutztes Produkt


         kreativ                           strukturiert kreativ                                                       strukturiert
                               Für jedes Produkt                                                                  Für jedes eHome

                                                                                                                                                                                                          If Subscription is cancelled:
 Legende:
 Transitionen    Aktivität     Rückgriff                                                                                                                                                                        Re-Configuration


                                                                                                                                                                                       Re-Configured Selection
                                                                                                                                                                                           of Components


                                                                                                                                                                                                                  Deployment

                                                                                                                                                                                                                                  Operative Installation
                                                                                                                                                                                                                                  w/o excluded Product




                                                                                                            Fig. 3. Sales and Distribution Phase of the eHome Process


technique resulting in a configured selection of components and their initial settings.
Based on this, the accurate price can be calculated. If this concrete offer ist accepted,
the specified set of components is automatically deployed in the customer’s home. The
operative installation including the new product is then used within a service subscrip-
tion, allowing ongoing interaction between provider and customer for integration of
remote digital contents, services, and maintenance. If the subscription is canceled, the
configuration technique is again used to compute a set of components and their settings
without the unsubscribed service which represents a still operative eHome installation.
The resulting specification is again automatically deployed in the customer’s home.
    The described business process has some similarities to classical software devel-
opment processes. The analogies can be seen (1) between specification of the eHome
and requirements analysis in established development processes, (2) between configu-
ration of components and the manual integration and linking of components, and (3)
between automated deployment and the manual migration of component sets and their
1004                               Ubiquitous Mobile Information and Collaboration Systems

settings. By the introduction of the techniques for configuration and deployment, the
once required eHome-specific development process has been eliminated. The tasks in
the sales and distribution phase cover the complete life cycle of an operative eHome
service. Especially, the retirement of services is taken into account due to the require-
ment of eHome systems being in consistent states at all times. This requirement reflects
the principle of the least astonishment. In the literature, this phase has not yet being
discussed in depth, maybe because of the difficulties of removing highly inter-related
components of a long-running system. To tackle this problem, we utilize the configura-
tion technique and the abstraction layers from PowerArchitecture [1].


3     Business Process

As aforementioned, the cost driver in the business process is the customizing and de-
ployment of eHome services in specific eHomes. However, up to now there is no for-
malization of this process and, as a result, no suitable tool support for the execution and
monitoring is available although the tools developed in the eHome Group for configu-
ration and deployment allow for automated execution of subtasks. In this section, we
will address different issues to enable the automated execution of the business process
on the provider’s side.


3.1    Structure of the Business Process

Following the previous section, the business process is embedded into the eHome pro-
cess. The main roles included into the business process are the provider offering eHome
services and the customer subscribing for these services. Figure 4 shows the structure
of the process including the identified activities, the transitions between them, and the
mentioned roles. Furthermore, the process is divided into 5 phases, indicated by the dark
text fields. These phases are specification and configuration, deployment, execution and
billing, uninstallation, and updates and upgrades and will be described in detail in the
following. In general, the process is not sequential debited and represents the phases an
eHome service undergoes in a suitable way. Furthermore, it is informative and it has an
repetitive character, that is, it can be instantiated for each customer and service without
modification. The possible dynamics due to different customer concerns are intercepted
in the different activities and do not affect the general process structure.
     The business process begins when the customer initiates the process execution
(activity StartConfigurator) by using the eHomeConfigurator [4]. The specifi-
cation and configuration phase is inspired by the working area model [5]. Actually,
this phase combines the activities of the general tasks of specification of customer de-
mands, specification of the eHome, and configuration of the services which are logical
closed. The eHomeConfigurator supports the user by executing the corresponding ac-
tivities in an arbitrary order without restrictions concerning an execution sequence. It
provides a graphical user interface which the customer can use to specify the struc-
ture of his eHome and formalize his demands (activities ServiceSelection and
EnvironmentSpecification). The structure of an eHome contains for example
the rooms and the available devices whereas the customer demands indicate the services
1005



           Customer




                                                                          Environment-                                                            Upgrades
                                                                          Specification
                                                                                                                                                                                             Uninstallation
                                 Start-        Service-                                                     Service-                                                                 Service-         Alternative-
                      Start                                                                                                   Deployment                               Execution
                              Configurator     Selection                                                  Configuration                                                            Cancellation        Selection
                                             FunctionClass            Specification &                       Service-                           Error-                                       Dependency-          Component-   EndOf-
                                               Definition              Configuration                      Specification                    Investigation
                                                                                                                                                           Execution &                      Computation           Removal     Contact
                                                                                                                                                                                                                                        End
                                                                                                                                                             Billing
           Provider




                                                                                                                          Deployment
                                                             Interface-                     Device-                                          Service-
                       Input transition                      Definition                   Specification                                      Clearing
                                                                                                                                                             Billing
                       has a condition
                       Output transition                                                                                                     Updates
                                                                          Component-
                                                                          Specification
                       doesn't have a condition
                                                                                     Fig. 4. The Formal Structure of the Business Process
UMICS'06
1006                               Ubiquitous Mobile Information and Collaboration Systems

the customer wants to subscribe and the scope of their functionality. Furthermore, the
customer can configure the selected services (activity ServiceConfiguration),
that is, which devices should be used and which constraints have to be taken into ac-
count etc., and will be notified about conflicts, missing data, and possible causes.
     The provider uses the eHomeConfigurator to maintain generic information like the
specification of provided services, supported devices, functionalities they offer and so
on (activities FunctionClassDefinition, InterfaceDefinition, Com-
ponentSpecification, DeviceSpecification, and ServiceSpecifi-
cation). The provider can also execute the same activities as the customer to test new
services in different environments, on the one hand, and to give remote support to the
customer if needed, on the other hand. The customer, however, does not have access to
the provider-specific activities. There exists an one-to-one mapping between the tabs in
the eHomeConfigurator and the activities in the process. So, the way the ”‘next”’ activ-
ity is chosen in this phase is determined by the task the user choses to execute next via
the eHomeConfigurator.
     The inspiration by the working area model addresses the issue of flexibility: Both
customer and provider can proceed in any order. They can interrupt an activity, start
another one and later resume the first one. The data will remain consistent because all
activities are performing on the same data model. The structure of the specification and
configuration phase builds up a complete graph, which reflects the flexibility of the the
provided approach. For example, the customer can first begin to specify his eHome and
then check which services he can subscribe for offhand. Nevertheless, he can also first
select all services he wishes and then check which devices have to be bought for the
installation of these services.
     After the desired services have been configured successfully, the deployment of
the services can be started by the Deployer (activity Deployment), a tool which au-
tomatically installs and instantiates the services belonging to the previously generated
configuration. If errors occur during the deployment, the provider investigates these and
triggers adequate steps for their correction (activity ErrorInvestigation) while
the user is not confronted with this unpleasant task. Usually, the errors are due to incon-
sistent specification of the eHome environment. For example, the customer may have
specified some devices incorrectly. This is why the transition from the activity Error-
Investigation leads to EnvironmentSpecification. Note that this activity
can also be executed by the provider as mentioned. The rare case of errors in the data
maintained by the provider is not shown here for clarity purposes.
     Successful deployed services need first to be cleared by the provider, for example
after the first receipt of payment (activity ServiceClearing). Now the customer
can use the subscribed services and the provider can bill the subscription fees (activities
Execution and Billing). The activity Execution implicitly contains also the
process of the customer interaction with the services, which is different for each service
and need not to be specified here.
     Like every software system, also eHome systems need to be he maintained. We
distinguish two classes of maintenance activities, namely updates and upgrades. Both
cause feedback flows in the process. However, they differ in their scope. An update
is usually the replacement of components without side effects (e.g., bugfixing or opti-
UMICS'06                                                                               1007

mizing). Thus, a redeployment of the corresponding components suffices. In contrast
to updates, the scope of upgrades is wider because of cutback or extensions of service
functionality. Hence, an upgrade causes reconfiguration and possibly changes on the
eHome specification. While in Figure 4 updates are represented by the transition from
the activity Billing to Deployment, upgrades are represented by the transition
from Billing to EnvironmentSpecification.
     Last but not least, the uninstallion deals with the removal of services whose sub-
scription is canceled. Since eHome services are component-based, there may exist de-
pendencies between different services. Therefrom, the removal of a service can result
in inconsistent states of still running services. Hence, first and foremost the existing de-
pendencies must be analyzed and the customer must be informed if such inconsistencies
occur. In this case, the cancellation could be denied, alternative components could be
integrated by reconfiguration, or the functionality of running services may be flattened.
Otherwise, the corresponding service can easily be uninstalled.
     In Figure 4, the dependencies of the canceled services (ServiceCancella-
tion) are computed (DependencyComputation) using again the configuration in-
frastructure. Depending on the results of this computation, different alternatives are pro-
vided to the customer. The customer can then choose one of the alternatives (Alter-
nativeSelection): The transition from AlternativeSelection to Execu-
tion means that the canceled service(s) are not removed contrary to the customer’s
primary intent. The transition from ComponentRemoval to ComponentSpeci-
fication stands for the replacement of removed components by others to avoid in-
consistent states. The remaining outgoing transitions from ComponentRemoval to
Execution and Billing denote that there might be still other services in use while
some components have been removed. If the customer cancels all subscriptions, the
business connection between the provider and the customer ends (EndOfContact).
     In the literature (e.g., [6]), workflow patterns which often are used as building
blocks for process modeling are described. Our process contains the basic patterns Se-
quence, Parallel Split, Exclusive Choice, Simple Merge, Multi Choice, and Arbitrary
Cycles. The Sequence pattern is found between the StartConfigurator and the
ServiceSelection activities. An example for the Parallel Split pattern is given
by the parallel execution of the activities Execution and Billing. The Exclusive
Choice pattern is used for the successors of the activity Deployment: Either the de-
ployment is successful and the services can be cleared or the occurring errors must be
investigated. The Simple Merge pattern is intensively used in our process. One example
is that only one of the incoming transitions of the activity Execution can be active at
one time. Therefore, they need not to be synchronized. The two outgoing transitions of
the activity AlternativeSelection build an example for the Multi Choice pat-
tern: Both of the transitions might be activated if only a part of the canceled services
are going to be removed. However, at least one of the transitions has to be activated (re-
move canceled services or not). Last but not least, there are examples of the Arbitrary
Cycles pattern in the process, which is represented by the different loops (e.g., between
ComponentRemoval and Execution).
     The business process in the eHome domain has a repetitive character so that it fits
for requests of all eHome customers. Concerning this fact, it is reasonable to use es-
1008                              Ubiquitous Mobile Information and Collaboration Systems

tablished workflow management systems to execute and monitor different instances
of the process. A precondition therefore is that the process must be modeled in a for-
mal notation. The Workflow Management Coalition (WfMC) provides the XML Process
Definition Language (XPDL) [7] as a standard for workflow process modeling. Work-
flow processes defined in XPDL can be imported, executed and monitored by different
free available or commercial workflow management systems (e.g. Shark). Furthermore,
there exist editors that allow for graphical modeling of workflow processes and export
them to or import from XPDL (e.g. JaWE). Due to this, we decided to use JaWE for
modelling our business process to provide the basis for its execution and monitoring by
Shark. Figure 4 shows an overview of our process modeled by JaWE.
    Summarizing, we specified a flexible business process for eHome systems cover-
ing the interactions of providers and customers in the sales and distribution as well as
subscription phase of eHome services. The tool integration, which will be described in
more detail in the following, is realized in a way such that the user is well supported in
specifying his demands and his environment in a graphical way. The flexibility achieved
by the combination of the specification and configuration phases was inspired by the
ideas of the introduced working area model.


3.2    Tool Integration

The formalization of the business process now opens up the possibility to automati-
cally execute the business process for eHome services. The automation is based on tool
support for the development tasks in sales and distribution, namely specification, con-
figuration and deployment. These tools and their application will be described in the
following.
     Figure 5 shows the involved tools and their application in the sales and distribution
phase. Both the provider and the customer use the eHomeConfigurator [4] in the speci-
fication and configuration phase. The eHomeConfigurator is an interactive tool with a
graphical user interface, that handles the tasks of gathering information for the specifi-
cation of the service’s environment, the automated computation of a valid configuration
(i.e., a self-contained set of components and their initial settings to ensure operative
condition after deployment), and the deployment (i.e., the transfer of the components,
their settings, and finally their migration into the runtime environment). The computed
results are stored as the deployment document. With these steps, the phases of the work-
ing area model are finished. This document is fed into the Deployer whose purpose is
the fully automated instantiation of the components in a concrete home. The result is
an operative eHome installation. In the succeeding phase of Execution and Billing, the
customer benefits from the subscribed eHome services, thus, from the realized function-
ality. The last phase of Uninstallation is entered if the subscription is canceled for any
reason. Within this phase, the tools for configuration and deployment, i.e. the eHome-
Configurator and the Deployer , are again used to compute a valid setup and deploy
then the necessary modifications. All the actions to be taken are represented as one in-
stance of the process specification. There is one such a process instance for each eHome
service in each eHome. So, the set of process instances reflect not only the currently
subscribed eHome services, but also the predecessor and successor steps in the sales
UMICS'06                                                                                                          1009



                                                Internet




                                                                                          Shark Workflow Engine
                                  eHome-            eHome-
                                Configurator      Configurator




                                                                       Process Instance
                       Costumer                             Provider



                                                   CoObRA
                                               Object-Repository
                                 Deployer




                                      Execution &
                                        Billing
                      control

                      data

                                      Uninstallation



                   Fig. 5. Integrated Tools for the Business Process


and distribution phase. For the instantiation and the control of the process, the work-
flow management system Shark is used. Shark is an open source workflow management
system, which conforms to the workflow reference model of the WfMC [8] and fully
supports XPDL. The ability to be triggered from the outside as well as to trigger actions
in the outside adds up to Shark being a fully appropriate management system for the
business process in eHome systems.
    The eHomeConfigurator supports the different roles in the specification and con-
figuration phase, but not the spatial separation. Enabling the provider and the customer
working concurrently on the same data is necessary for the realisation of our idea behind
the described process. For this purpose, we integrated a versioned object repository,
namely Concurrent Object Replication frAmework (CoObRA) [9]. Using CoObRA, it
is possible that the provider and the customer can work simultaneously on the same
eHome-specific data. In case the customer has difficulties in carrying out specific tasks
with the eHomeConfigurator, the provider can access the corresponding data an give im-
mediately remote support also using an instance of the eHomeConfigurator. As a result,
the need for cost-intensive on-site service can be reduced.


3.3   Execution and Monitoring of Process Instances

The formalization of the business process using XPDL has the advantage that, for each
customer, process instances can be executed and monitored by established workflow
management systems like Shark. As a result, the provider is able to manage the large
number of customer relations by using such a system. In this section, we will describe
how Shark can be used to keep track of the different process instances.
    Figure 6 gives a snapshot of Shark’s Administrator Application. In this snapshot,
the process monitor is activated which is used to monitor the states of different pro-
cess instances. For each eHome customer and eHome service, an instance of the busi-
ness process is started when the customer initiates the configuration of a service by the
1010                               Ubiquitous Mobile Information and Collaboration Systems




            Fig. 6. Execution and Monitoring of Business Process Instances


eHomeConfigurator. Therefore, we extended the eHomeConfigurator so that it can com-
municate with Shark in an appropriate way for creating and controlling different process
instances. These instances persist until the services are uninstalled due to the cancella-
tion of the concerning subscription. As a result, the provider can anytime monitor the
status of the customer activities and the subscribed services by this customer.
    In Figure 6, three process instances are shown as active on the top left side, from
which the one with the number 2601 is selected for more detailed information. In the
middle of the figure, the process structure is displayed where the currently active states
are displayed light-colored. In this example, the customer currently selects desired ser-
vices depicted by the activity ServiceSelection.
    Down left in the figure, examples of process variables are displayed which can be
used for different purposes like billing. The value of the SelectedService variable
represents the eHome service for which the current process instance (2601) is started,
namely our Security Service. Furthermore, the ServiceInstallTime shows that
the Security Service is not installed yet. However, the customer already selected the
Security Service for configuration purposes as denoted by the ServiceStartTime
variable. The values of these variables are set by the eHomeConfigurator extended for
these purposes as aforementioned.
    All process instances have different states they can go into. The corresponding in-
formation about the states can be found at the left hand side above the variables in
Figure 6. In this example, the process instance 2601 is in the state open.running,
which means that the customer is actively interested in the security service. It might be
that the customer later deselects the security service and focuses on others. In this case,
UMICS'06                                                                               1011

the state of the corresponding instance would be changed by the eHomeConfigurator to
open.not running.suspended. Later on, it can be activated again. If the cus-
tomer finally decides not to install the service, the corresponding process instance will
be deleted.


4   Related Work

In the field of process support, several approaches have been developed. We will show,
that the approaches heavily depend on the kind of the underlying process and the han-
dled artifacts. We will start with a comparison of our business process to processes in
other domains, namely complex non-repetitive development processes and strong repet-
itive processes. In the end of this section, we will argue why we have chosen XPDL for
the formalization of our business process.
    A sophisticated tool supporting complex development processes is the AHEAD sys-
tem [10]. It focuses on development processes in software engineering and mechanical
engineering. The AHEAD system deals – in contrast to most of the other approaches to
management of development processes – with products, activities, and resources. It has
been shown, that these processes have a highly dynamic character and to a lesser extent
a repetitive nature. The process underlies a strong variability and numerous feedback
flows. The AHEAD system provides the required flexibility in such development pro-
cesses by enabling flexible switching between planning, analyzing, executing, and mon-
itoring tasks. There is no strict separation between specification and execution phase,
which is necessary for development processes, which cannot be completely specified in
advance. This stands in contrast to the discussed requirements for the efficient handling
of the business process in eHome systems. The huge number of eHome installations in
parallel dictates a more foreseeable process definition. By the integration of the tools,
this goal has been reached. So, the immanent development process in the business pro-
cess has now been freed from the strong dynamic aspects. Thus, the tool support offered
by the AHEAD system and alike is far beyond the required support in eHome systems.
Also, the handling of such flexible and powerful tools is a time-consuming task, which
stands in no positive relation to the achieved benefits.
    The opposite type of processes can be found at insurance companies. Today, the
concluding of insurance agreements follow a strict predefined process. Initial assess-
ments trigger the further handling as contracts within regular bounds and exceptional
contracts of high-risk. Depending on the assessment, the contract is guided through
diverse steps, which are equal for all contracts of the same type. This stands in clear
contrast to development processes. Because of this repetitive nature, insurance compa-
nies very often deploy workflow management systems to instantiate these processes,
which then automatically assign tasks and process-related documents to resources and
can be monitored. Our business process is similar in terms of the repetitive nature, but
differs in the active players and the information of interest for the provider. While in the
above described processes the workflow management system’s main task is to assign
tasks and documents to resources internal in a company, in eHome systems the impor-
tant actions to be taken are the triggering of succeeding tasks and the monitoring of
process instances in which also the customer is involved.
1012                              Ubiquitous Mobile Information and Collaboration Systems

    The assessment of tools for workflow process support is mostly based on techni-
cal details like underlying database systems, competitiveness of the vendor, or market-
ing strategy. We prefer a problem-oriented assessment based on the language elements
of available standards and the functionality of tools supporting them. For the assess-
ment on the control flow level, workflow patterns have been discussed as an appropriate
means [6,11]. For the selection of the appropriate approach for process specification,
not solely the pure number of supported patterns should be deciding. It is more impor-
tant that all of the needed patterns are supported. The available tool support and means
for data flow and resource modeling has to be taken into account as well. By analyz-
ing our specified business process and different workflow specification languages, it
came out that XPDL fulfills our requirements for the specification because it supports
all of the required workflow patterns directly (see Section 3.1). In addition, XPDL of-
fers constructs for the data flow and resource modeling. Furthermore, there are several
workflow management tools which support the exchange format XPDL of which we
selected the workflow engine Shark and the XPDL editor JaWE to have a complete
workflow management system.


5   Summary and Outlook

Today eHome solutions are products made on specific request and thus, according to
specific requirements. Considering the large number of eHome customer relationships
to be managed in a future mass market, it is to expensive to manually consider each cus-
tomer’s specific demands. Rather, it is reasonable to develop an eHome service once and
distribute it by an automated business process. Talking about automation, the activities
for which the provider is responsible for have been automated. In contrast, the customer
interacts with the provided tool to specify his requirements, his wishes, and the struc-
ture of his environment to avoid misunderstandings. Thus, the services are configured
for different eHome environments by suitable tool support, followed by the automated
deployment of the services. This constitutes a competence-oriented procedure.
    To benefit from the advantages of a workflow management system, we formalized
the process using a suitable workflow process definition language. As a result, the pro-
cess can be instantiated arbitrarily often by a workflow management system, which
allows the provider to monitor and easily manage the different states of his customer
relationships. Furthermore, we integrated the tools which support both the customer and
the provider by carrying out tasks in the specification, configuration, and deployment
phases. These tools have also been extended to interact with the workflow management
system. Thus, a glueless and flexible execution of the process has been achieved.
    Summarizing, the automation of the business process by reducing the use of ex-
perts to deploy eHome services for specific customers results in cost reduction and,
consequently, smooths the way for a future eHome mass market.
    There are several areas for further elaboration, which will be sketched in the follow-
ing. In this paper, we described the business process for eHome systems as a repetitive
one. This process applies for all kinds of customers, because the dynamics of different
customer behaviors are encapsulated inside the corresponding activities. In future, the
process could be refined to handle different stereotypes of customers, e.g., laypersons,
UMICS'06                                                                                    1013

computer-skilled ones, and so on. These different stereotypes might influence the struc-
ture of the process because each of them would need different kinds of provider support.
Furthermore, we assumed a single-provider situation. The effects of the collaboration
of different providers in the form of a virtual enterprise and their influences on the struc-
ture of the process are of interest. In analogy, we considered the customer to subscribe
to services for only one environment. It has to be researched whether the process has
to be modified if the customer wants to use the subscribed services in different envi-
ronments. This question is particularly important in virtual eHome environments. As
mentioned above, the business process also has some characteristics of a development
process, especially in the phases of configuration and uninstallation. This leads to future
work on the interdependencies between the development and the business process.


References
 1. Kirchhof, M., Linz, S.: Component-based Development of Web-enabled eHome Services.
    Personal and Ubiquitous Computing Journal 9 (2005) 323–332
 2. Kirchhof, M., Norbisrath, U., Skrzypczyk, C.: Towards Automatic Deployment in eHome
    Systems: Description Language and Tool Support. In Meersman, R., Tari, Z., eds.: On the
    Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE: OTM Confeder-
    ated International Conferences, Proceedings, Part I. Number 3290 in LNCS, Springer (2004)
    460–476
 3. Kirchhof, M., Norbisrath, U.: Configuration and Deployment in eHome-Systems. In Regen-
    tova, E., ed.: Proceedings of International Conference on Information Systems: New Gener-
    ations (ISNG 2004), PHASE (2004) 23–28
 4. Norbisrath, U., Salumaa, P., Schultchen, E., Kraft, B.: Fujaba based tool development for
    eHome systems. In: Proceedings of the International Workshop on Graph-Based Tools (Gra-
    BaTs 2004). Volume 127 of Electronic Notes in Theoretical Computer Science., Elsevier
    (2005) 89–99
 5. Nagl, M., ed.: Building Tightly Integrated Software Development Environments: The IPSEN
    Approach. Number 1170 in LNCS. Springer (1996)
 6. van der Aalst, W., ter Hofstede, A., Kiepuszewski, B., Barros, A.P.: Workflow Patterns.
    Distributed and Parallel Databases 14 (2003) 5–51
 7. WfMC: Workflow Process Definition Interface – XML Process Definition Language. Speci-
    fication, Workflow Management Coalition (2002)
 8. Hollingsworth, D.: The Workflow Reference Model (WfMC-TC-1003). Specification, Work-
    flow Management Coalition (WfMC) (1995)
 9. Schneider, C.: CASE Tool Unterstützung für die Delta-basierte Replikation und Version-
    ierung komplexer Objektstrukturen. Master’s thesis, Technische Universität Braunschweig
    (2003)
10. Jäger, D., Schleicher, A., Westfechtel, B.: AHEAD: A Graph-Based System for Model-
    ing and Managing Development Processes. In Nagl, M., Schürr, A., Münch, M., eds.:
    Applications of Graph Transformations with Industrial Relevance. Proceedings of Interna-
    tional Workshop, AGTIVE’99. Number 1779 in LNCS, Kerkrade, The Netherlands, Springer
    (2000) 325–339
11. Staab, S., van der Aalst, W., Benjamins, V.R., Sheth, A., Miller, J.A., Bussler, C., Maedche,
    A., Fensel, D., Gannon, D.: Web services: Been there, done that? IEEE Intelligent Systems
    18 (2003) 72–85
1014   Ubiquitous Mobile Information and Collaboration Systems