<!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>Automated Derivation of Configurations for the Integration of Software(+) Engineering Environments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefan Biffl</string-name>
          <email>stefan.biffl@tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Mordinyi</string-name>
          <email>richard.mordinyi@tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Moser</string-name>
          <email>thomas.moser@tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Christian Doppler Laboratory “Software Engineering Integration for Flexible Automation Systems” Vienna University of Technology Vienna</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <fpage>6</fpage>
      <lpage>13</lpage>
      <abstract>
        <p>-Today's systems integration technologies enable the integration of (software+) engineering environments to support engineering processes across domain and tool boundaries. These engineering processes heavily rely on manual configuration of integration frameworks, resulting in costly, time-consuming, and error-prone human work. In this paper, we introduce an extended model-driven approach for the automated derivation of integration technology configurations for supporting engineering processes. This allows both an efficient and effective derivation of initial configurations, as well as easy adaptations of existing configurations in case of changed engineering processes. Based on a standard software engineering process, we show the feasibility of the proposed approach and discuss the advantages and limitations for software(+) engineering.</p>
      </abstract>
      <kwd-group>
        <kwd>engineering domains</kwd>
        <kwd>systems integration</kwd>
        <kwd>modeldriven approach</kwd>
        <kwd>automated configuration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION</p>
      <p>
        Typical large-scale engineering projects, like power plants
or car manufactures, involve the cooperation of a wide range of
engineering systems and tools that use different technical
platforms and heterogeneous data models (e.g., mechanical,
electrical, and software engineering [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). This kind of
cooperation is called “(software+) engineering projects”, since
software engineering provides additional values to
softwareintensive systems and also depends on the seamless
collaboration with other engineering fields. Today’s system
integration technologies are suitable to bridge most of the
technical and semantic gaps between these (software+)
engineering systems and tools. However, error-prone and
timeconsuming human work (e.g., manually copying information
from one to another tool) is needed to handle integration
concerns at the interfaces of different engineering disciplines.
An example for reducing the needed human work, and thus for
the integration of heterogeneous engineering disciplines, is the
Engineering Service Bus (EngSB) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which is a
processoriented framework for both technical and semantic integration
of heterogeneous software tools.
      </p>
      <p>
        The configuration of such system integration technologies
is time-consuming and a complex manual task that can only be
done by designated integration experts (IE) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Complexity
arises from the integration of a high number of distributed and
heterogeneous engineering tools (e.g., different accessibility
methods for each tool), different tool data formats (e.g., open
standards vs. proprietary data formats), and the need for
on/offline capabilities (e.g., high availability of server-based
tools vs. limited availability of end-user tools). The manual
configuration of the used integration technology with respect to
these complexity issues is often inefficient and incorrect. In
order to reduce manual configuration efforts and defects, as
well as to increase the efficiency of integration, automated
derivation of configurations can be used. There exist methods
for the automated derivation of configuration based on the
Model-Driven Architecture (MDA) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] paradigm, such as the
Model-Driven System Configuration (MDSC) approach [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
The MDSC approach explicitly models a) the semantics of
integrated engineering tools’ requirements and capabilities
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]; and b) the connectors and data transformations between
heterogeneous engineering tools [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], to simplify systems
integration. Based on these semantic models, the MDSC
approach is capable of automatically deriving integration
technology configurations.
      </p>
      <p>
        In this paper, we describe an extended version of the
MDSC approach applied to the integration of heterogeneous
tools originating from (software+) engineering disciplines. In
contrast to the traditional MDSC approach, the extended
MDSC (eMDSC) approach uses semantically modeled
requirements of pre-defined engineering processes to a) select a
set of suitable engineering tools providing the required
capabilities; and b) to derivate configurations for the
integration technology accordingly. The eMDSC approach
consists of two major steps: in the first step, requirements of
engineering processes are matched against capabilities of
socalled tool domains [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which abstract tools providing similar
functionality. The outcome of this matching is an ordered set of
tool domains required for the execution of a specific
engineering process. In the second step, for each of these
required tool domains a so-called tool instance, i.e., the actual
engineering tool, is selected. Again, the engineering process
requirements regarding a specific engineering domain are
matched against the capabilities of a certain tool instance in
order to identify suitable engineering tools for an engineering
process step.
      </p>
      <p>
        We evaluate the proposed eMDSC approach using a
wellknown software engineering process, the Continuous
Integration &amp; Test (CI&amp;T) process [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The results of the
evaluation show that the proposed approach is efficient and
effective, regarding both the effort needed for setting up the
integration environment as well as the number of error sources.
Furthermore, tool domains enable easy adaptations of existing
integration solutions by allowing the efficient exchange of
similar tools without affecting the existing engineering process.
      </p>
      <p>The remainder of this paper is structured as the following:
Section II reports related work regarding common technical
and semantic integration approaches as well as the MDSC.
Section III presents research issues concerning the integration
in (software+) engineering domains, while section IV describes
an industrial use case. Section V explains the eMDSC approach
applied for (software+) engineering domains. Section VI
presents evaluation results and section VII discusses them.
Finally, section VIII concludes the paper and presents future
work.</p>
      <p>II.</p>
      <p>RELATED WORK</p>
      <p>This section summarizes related work on system integration
technologies for technical and semantic integration as well as
for software and systems integration in automation systems
engineering, and on model-driven system configuration.</p>
    </sec>
    <sec id="sec-2">
      <title>A. System Integration Technologies</title>
      <p>
        Current developers of software systems use a wide range of
tools from software vendors, open source communities, and
inhouse developers. Getting these tools to work together to
support a development process in an engineering environment
remains challenging as there is a wide variety of standards
these tools follow [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Any integration approach has to
address the levels of technical heterogeneity, i.e., how to
connect systems that use different platforms, protocols, etc., so
they can exchange messages [
        <xref ref-type="bibr" rid="ref12 ref7">7, 12</xref>
        ]; and semantic
heterogeneity, i.e., how to translate the content of the messages
between systems that use different local terminologies for
common concepts in their domain of discourse, so these
systems can understand each other and conduct a meaningful
conversation [
        <xref ref-type="bibr" rid="ref1 ref11 ref17">1, 11, 17</xref>
        ].
      </p>
      <p>
        Basics of technical integration. Technical integration
follows message-based patterns [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to connect a series of
technically heterogeneous and distributed systems. The
communication between these systems is in many cases
eventbased and sometimes request/response-based.
Messageoriented middleware (MoM) and an “Enterprise Service Bus”
(ESB) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] provide the infrastructure for physically and
logically connecting technically heterogeneous systems with
technical integration features such as message processing (like
routing, filtering and enriching messages) and a service registry
(a directory of currently available services, their names,
interface and behavior descriptions, and location to bind and
invoke) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and thus are the foundation for engineering process
services on domain level. To efficiently embed these
infrastructure tools an engineering project with
resourceconstrained, mobile, and low-cost environments, there are
several lightweight open source ESB and related middleware
products available [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>
        Basics of semantic integration. Semantic integration is
defined as the solving of problems resulting from the intent to
share data across disparate and semantically heterogeneous
data [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. These problems include the matching of ontologies
or schemas, the detection of duplicate entries, the reconciliation
of inconsistencies, and the modeling of complex relations in
different data sources [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. One of the most important and most
actively studied problems in semantic integration is
establishing semantic correspondences (also called mappings)
between vocabularies of different data sources [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The
application of ontologies as semantic web technologies for
managing knowledge in specific domains is desirable. Moser et
al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] introduced the Engineering Knowledge Base (EKB)
framework as a semantic web technology approach for
addressing challenges originating from data heterogeneity that
can be applied for a range of domains, e.g., in the production
automation domain [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and also Software Engineering.
      </p>
      <sec id="sec-2-1">
        <title>Software and Systems integration in Automation</title>
        <p>
          Systems Engineering. Integration of engineering systems is a
challenge as (particularly in the automation industry) typically
a broad range of engineering tools from different vendors are
used to solve specific problems [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. Tools within one vendor
are sometimes integrated to exchange data, but hardly between
vendors. APIs and exchange formats often do not follow
established (open) standards. Therefore the AutomationML 1
project provides a standardized XML data exchange basis for
data integration between multi-vendor automation systems
engineering tools as foundation systematic information
exchange between engineering models. The Medeia 2 project
develops an automation component model concept as
foundation for knowledge exchange between semantically
heterogeneous domain-specific engineering models [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The
results of these projects become essential for engineering teams
that have a technically well-integrated environment but need to
reconcile different semantic approaches in the engineering
team.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Engineering Service Bus (EngSB) platform. Biffl and</title>
        <p>
          Schatten proposed a platform called Engineering Service Bus
(EngSB) which integrates not only different tools and systems
but also different steps in the software development lifecycle
[
          <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
          ]. Figure 1 shows an overview of the EngSB platform. The
1 http://www.automationml.org
2 http://www.medeia.eu
successful development of modern software-based systems,
such as industrial automation systems, depends on the
cooperation of several engineering disciplines, e.g.,
mechanical, electrical and software engineering, so-called
(software+) engineering environments. The EngSB addresses
requirements such as the capability to integrate a mix of
usercentered tools and backend systems, mobile work stations that
may go offline, and flexible and efficient configuration of new
project environments and SE processes.
        </p>
        <p>
          Tool Domain concept. The EngSB platform introduces the
concept of tool types that provide interfaces for solving a
common problem, independent of the specific tool instance
used. This seems possible since different tools, developed to
solve the same problem have, more or less, similar interfaces.
For example, the source code management (SCM) tools
Subversion and CVS both provide similar functionality, which
allows describing these tools as instances of the SCM tool
domain. Figure 2 illustrates the SCM tool domain and other
possible domains in the context of the EngSB. We call the
concept of tool types is in this work “tool domains” [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. This
concept allows the EngSB to interact with a tool domain
without knowing which specific tool instances are actually
present. Note that tool domains do not implement tool
instances but provide the abstract description of events and
services, which have to be provided by concrete connectors of
tool instances to the EngSB.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>B. Model-driven System Configuration</title>
      <p>
        The major goal of the Model Driven Architecture (MDA)
approach is the separation of system functionality specification
and implementation [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The advantages [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] of the MDA
framework are (1) automated generation of results improving
productivity, development duration, and cost; (2) focusing on
the creation of conceptual models rather than on logical and
technical details. In contrast to the MDA approach, the
Modeldriven System Configuration (MDSC) [
        <xref ref-type="bibr" rid="ref16 ref5">5, 16</xref>
        ] automatically
derives integration technology configurations from business
requirements rather than implementation code. Based on
requirement and capability models which represent documents,
integration expert knowledge and estimation/measurements of
the integration network capabilities [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a logical solution
model which represents the set of suitable integration partners
(i.e. business services) is derived automatically [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Based on
described network capability models and the derived
integration partners the logical solution model is transformed
into a technical solution model that represents the specific
integration configuration for the underlying integration
network technologies. The configuration specifies routing
tables for efficient communication, backup routes for a
faulttolerant behavior, transformation instructions to enable data
exchange between heterogeneous business services, and
installation instructions for the deployment of middleware
technologies to cope with heterogeneous network technologies.
      </p>
      <p>In contrast to MDSC, the eMDSC approach focuses on
specifying the proper communication sequence between tool
instances based on a description of an engineering process. The
configuration therefore focuses on the efficient integration of
tool instances rather than on configuring the integration
platform regarding efficient routing and effective
faulttolerance.</p>
      <p>III.</p>
      <sec id="sec-3-1">
        <title>RESEARCH ISSUES</title>
        <p>Typical (software+) engineering processes involve a set of
heterogeneous engineering domains and tools, which need to
be integrated to allow seamless cooperation and engineering
process support across domain- and tool-boundaries. However,
the configuration of IT technologies suitable for addressing
these integration challenges often requires manual and
therefore time-consuming and error-prone configuration tasks.</p>
        <p>In this paper, we propose an extended model-driven
approach for the automated derivation of integration
technology configurations based on explicit semantic models
of engineering process requirements and engineering tool
capabilities. Based on these semantic models, the proposed
approach is capable of efficiently and effectively deriving
integration technology configurations. In order to investigate
the feasibility and applicability of the proposed extended
model-driven approach, we derive the following research
issues:</p>
        <p>RI-1: Efficient derivation of integration technology
configurations. Investigate to what extent an automated
derivation of integration technology configurations is
achievable without the need for manual intervention. Discuss
the required additional effort needed before executing the
automated derivation, such as the effort for modeling
engineering process requirements and engineering tool
capabilities. Evaluate the effort needed for the adaptation of
existing integration technology configurations in case of
changed engineering processes, such as the exchange of
existing and the deployment of new engineering tools.</p>
        <p>RI-2: Effective management of defects in the process of
configuring integration technologies. Discuss the advantages
and limitations of the proposed extended model-driven
approach regarding the handling of defects in the process of
configuring integration technologies. To what extent can the
proposed approach transform the explicit engineering process
requirement models into correct and valid integration technology
configurations without significant sources of defects like
manual interaction; better quality measurement and feedback
on intermediate models during configuration derivation?
We discuss the extended model-driven approach based on a
standard software engineering process. We show the feasibility
of the proposed approach and discuss the advantages and
limitations in the context of software(+) engineering. For
empirical evaluation we determine the integration effort needed
for each configuration process step to compare the steps in the
proposed extended model-driven approach with both the
traditional model-driven approach as well as the manual
approach.</p>
        <p>IV.</p>
        <p>USE CASE</p>
        <p>This section describes the use case of the standard
Continuous Integration and Test (CI&amp;T) process. We selected
the CI&amp;T process approach because of the involvement of a set
of various tools (build, automated tests, and deployment) as a
representative best-practice approach from the agile software
engineering. Nevertheless, this use case seems appropriate for
illustrating the proposed eMDSC approach.</p>
        <p>Build System</p>
        <p>Send Report
start
check in build-start
build-failed
end
teststart
deploy-start</p>
        <p>buildsuccessful
Run Tests</p>
        <p>testsuccessfull</p>
        <p>Deploy
deploy-successfull</p>
        <p>test-failed
deploy-failed</p>
        <p>Task
Activity
Legend</p>
        <p>Start Intermediate End</p>
        <p>Event</p>
        <p>Error</p>
        <p>Sequence Flow
Connection</p>
        <p>The expected SE process model for the CI&amp;T use case is
represented in Figure 3 using Business Process Modeling
Notation (BPMN)3 notation. The model consists of a set of
activities for the CI&amp;T process implementation: building the
system, running tests, deploy activities, and finally reporting
test and deployment results. The CI&amp;T use case shows a key
feature of an iterative software development process: if parts of
a system or engineering model get changed, the system has to
be rebuilt and tested in order to identify defects early and to
provide fast feedback on the implementation progress to the
project manager and the owners of the changed system parts. In
modern SE environments this part is done by Continuous
Integration (CI) servers like Continuum4 or Hudson5 . For a</p>
      </sec>
      <sec id="sec-3-2">
        <title>3 http://www.bpmn.org 4 http://continuum.apache.org 5 http://hudson-ci.org</title>
        <p>
          typical Java project a Maven6 or Ant7 script will guide the CI
process [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>Testcase
Test RTS
logi.CAD</p>
        <p>Test
Connector</p>
        <p>Python
Testframework</p>
        <p>Test
Adapter
1</p>
        <p>7
3</p>
        <p>9
2
8
ge isng
sa s
seM rceoP 5</p>
        <p>XMPP
10
10
SMTP
SMTP
6
6
4</p>
        <p>Chat
Server
Mail
Server
Issue
Tracker
Issue
Adapter
Logger</p>
        <p>XML-RPC</p>
        <p>As shown in Figure 4, a typical execution of the CI&amp;T
Process may be performed as follows. (1) an updated version
of a software component is put into the archive using a client
tool such as logi.CAD8. This leads to (2) the execution of the
testing process, i.e., a service call to the test adapter. This test
adapter then executes the test, e.g., using the shown Python test
framework. After the tests are finished, the test results are put
back into the Engineering Service Bus (EngSB) (3). If the tests
resulted in one or more errors, for each of these errors an issue
(e.g., an email or a ticket) is generated (4) using the issue
adapter of the EngSB. The EngSB is then notified (5) about
each of these newly created issues and (6) notifies all interested
roles/persons, e.g., by using a chat server. After the errors of
the originally checked-in component have been resolved, the
component is checked-in again (7), again the tests are executed
(8) and the, now error-free, test results are put back into the
EngSB (9). Finally, all interested roles are notified (10) about
the successful updated of the software component.</p>
      </sec>
      <sec id="sec-3-3">
        <title>AUTOMATED DERIVATION OF CONFIGURATIONS</title>
        <p>The automated derivation of configuration for the
integration of tools across engineering boundaries is described
in Figure 5. The process of configuration derivation consists of
4 main processing components and 4 QA steps described in the
following.</p>
      </sec>
      <sec id="sec-3-4">
        <title>6 http://maven.apache.org</title>
        <p>7 http://ant.apache.org
8 http://www.logicals.com</p>
        <p>
          Step 1. In the first processing step engineering tool experts
from each engineering domain independently model the
capabilities of used tool instances (e.g., issue tracker) within
their domain as well as tool domain requirements and
capabilities. Furthermore, engineering process experts model
the requirements of the engineering process requiring the
integration of several engineering disciplines. A way of
modeling capabilities and requirements based on ontologies is
described in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The result of this step is semantically
described models.
        </p>
        <p>
          Step 2. In the second processing step first QA steps are
deployed to check models automatically for correctness and
syntax validity [
          <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
          ]. The QA step may make use of reasoning
capabilities provided by e.g., protégé to assure certain model
constraints (e.g., security properties). In case of errors models
described in step 1 need to be refined.
        </p>
        <p>
          Step 3. In the third processing step a matching between
modeled engineering process requirements and modeled tool
domain capabilities is performed. The approach of matching
capabilities and requirements using ontologies is described in
[
          <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
          ]. The result of this step is a possible set of integration
partners where engineering process requirements are matched
by several tool domain capabilities. In such case engineering
process experts need to perform a manual selection of suitable
tool domains based on characteristics of the derived tool
domains which were not explicitly used in the matching
process or cannot be explicitly modeled, like the confidence of
the experts into the tool instances within the tool domain. The
outcome of this processing step, i.e. Logical Solution Model, is
an engineering process with well defined and explicitly
referred tool domains capable of satisfying the process’
requirements.
        </p>
        <p>Step 4. The following QA step is capable of simulating
engineering processes using selected tool domains by means of
pre-defined test scenarios. The simulation shows whether the
engineering process is capable of working as originally
intended. In this step tool domains emulate tool instance
functionality as defined in the test scenario. In case of errors or
an invalid engineering process either the selection process has
to be restarted and new tool domains found, or tool domain
capabilities and engineering process models have to be
redefined in more detail.</p>
        <p>
          Step 5. Once proper tool domains have been found and
tested for the given engineering process, appropriate
engineering tool instances need to be derived by matching tool
domain requirements and tool instance capabilities [
          <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
          ].
The process of matching capabilities and requirements is the
same as in step 3. The result is a set of tool instances matching
tool domain requirements. Tool domain requirements represent
the capabilities the tool domain promises the engineering
process. In case there are several tool instances matching the
specified requirements a further selection of suitable tool
instances has to be performed. Criteria for final selection may
base on non-functional requirements which may also be
optional. The result of this processing step, i.e. Technical
Solution Model, is a set of tool instances each matching the
requirements of the tool domain they belong to.
        </p>
        <p>Step 6. The derived tool-instances are tested based on test
scenarios pre-defined in tool domains. Such scenarios check
proper functionalities of engineering tools and therefore
consistency between real tool capabilities and tool capability
models. In case of inconsistencies either bugs in the
engineering tool have to be fixed or the model updated
accordingly. In the latter case the process of configuration
derivation has to be restarted since initial conditions have
changed.</p>
        <p>
          Step 7. In the next processing step the technical solution
model, representing selected tool instances and tool domains, is
transformed into real configuration parameters. The generated
configuration is useable by the underlying integration
technology and represents the original engineering process.
The described process creates configuration solution for the
proposed EngSB. A more general approach taking into account
technology specific aspects is explained in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
        <p>Step 8. Finally, in the last QA processing step the generated
configuration solution is evaluated by means of consistency
and syntax checks.</p>
        <p>VI.</p>
      </sec>
      <sec id="sec-3-5">
        <title>EVALUATION</title>
        <p>The evaluation of the E-MDSC approach was conducted by
means of a standard software engineering process regarding a
set of evaluation criteria. We compare the proposed E-MDSC
with both the traditional MDSC as well as with a primarily
manual way of configuration. We derived the used evaluation
criteria together with experts from our industry partner in the
field of automation systems engineering. The evaluation is
based on two scenarios. The first scenario determines the
results based on an integration project from the scratch. The
second scenario assumes that an initial integration project has
been accomplished providing a first integration solution, but
due to changing business requirements some system
adaptations have to be performed, like the need to exchange of
a tool instance. Table 1 summarizes the initial results of our
evaluation with respect to the derived criteria.</p>
        <p>Configuration Knowledge. The results of the evaluation
show that the main difference between the two MDSC variants
and a manual configuration approach is the type of sources
used for the derivation of the configuration. On the one hand
side, human-readable documents or other implicit knowledge is
used by experts to manually generate the configuration. On the
other hand side, this knowledge is externalized in
machineunderstandable models which enable and act as input for an
automated derivation of configuration parameters.</p>
        <p>Initial Effort. The initial effort (i.e., an integration scenario
starting from the scratch) needed for the manual derivation of
configurations is lower than in case of automated derivation.
The reason for this is that in case of MDSC, documented
knowledge still needs to be transferred into explicit and
machine-understandable format (e.g., ontologies), while in case
of manual derivation this step is done implicitly by experts.
Furthermore, the eMDSC variant requires slightly more effort
than the traditional MDSC variant, since tool domains need to
be described additionally.</p>
        <p>Adaptation Effort. In case of adaptation, the MDSC
variants have proven to be more efficient than the manual
approach, since once the knowledge has been externalized, it
can be reused with little extra effort, while for the manual
approach this knowledge exists implicitly only. In addition,
both MDSC variants report errors or missing information
immediately due to in-time consistency and completeness
checks based on ontology reasoning. In case of manual
derivation, documents may be changed with the risk that other
related documents are not updated accordingly, resulting in
inconsistent and therefore erroneous knowledge. The eMDSC
variant requires less adaption than the traditional MDSC
variant, since there is an additional separation between tool
instances and tool domains. The tool domain concept of the
eMDSC allows more efficient modeling of new or updated
engineering tool instances by providing templates for the core
functionalities of each used tool domain. Additionally, the
separation into engineering processes, tool domains and tool
instances allows experts to entirely focus on specific parts of
the model, rather than taking into account the entire model
(e.g., in case of new or updated tool instances, the process of
selecting the appropriate instance is limited to the tool domain
the tool instanced belong to).
Configuration knowledge is similar to traditional MDSC
externalized in a machine-readable
ontology by integration experts</p>
        <sec id="sec-3-5-1">
          <title>Manual</title>
          <p>Configuration knowledge has to be
derived from human-readable
documents or implicitly known by
integration experts
medium
high
high
high
medium
low</p>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>Low - Manual checks of documents and models needed</title>
      </sec>
      <sec id="sec-3-7">
        <title>Medium - Automated ontology reasoning allows quickly locating inconsistent knowledge in the model</title>
      </sec>
      <sec id="sec-3-8">
        <title>High and distributed</title>
      </sec>
      <sec id="sec-3-9">
        <title>Medium and centralized</title>
      </sec>
      <sec id="sec-3-10">
        <title>Low - Exhaustive communication</title>
        <p>of engineering tool experts needed
to clarify configuration
Medium - Semantic models of
engineering process requirements
and engineering tool capabilities
with ontology-based reasoning
allows the automated derivation of
configuration
slightly higher
low
medium - duration is longer due
to additional abstraction (tool
domains need also to be modeled)</p>
      </sec>
      <sec id="sec-3-11">
        <title>High – additionally to MDSC tool domains allow tool domainspecific integration tests of tool instances</title>
      </sec>
      <sec id="sec-3-12">
        <title>Low and centralized</title>
      </sec>
      <sec id="sec-3-13">
        <title>High – additionally to MDSC,</title>
        <p>already modeled engineering
processes can be efficiently
reused because of their explicit
modeling in the eMDSC approach</p>
        <sec id="sec-3-13-1">
          <title>Configuration knowledge</title>
        </sec>
        <sec id="sec-3-13-2">
          <title>Initial effort Adaptation effort Duration</title>
          <p>Duration. The duration of the manual approach is higher
due to error-prone mainly manual process steps resulting in
additional efforts to discuss error sources and possible
solutions. In case of describing systems, parallel processing is
possible in both approaches. However, the MDSC processing
steps are running mainly automated, while the manual
approach is still human-driven resulting in time consuming and
error-prone processing steps. Therefore, the duration depends
strongly on the automation support. The eMDSC variant
requires a slightly longer duration, since the tool domains need
to be described before the actual tool instances can be modeled.</p>
          <p>QA Efficiency. Since the manual approach focuses on
manual validity checks, it is therefore more time consuming
and error-prone. This also results in the fact that missing
information is often detected probably only in later process
steps. The MDSC variants use ontology-based reasoning. This
allows performing consistency and completeness checks
intime automatically, resulting in a lower failure rate and in-time
notification of experts about missing/incorrect information.
Furthermore, based on tool domains the eMDSC variant is
capable of additionally executing integration tests to check
whether all published functionalities of tool domains are
correctly supported by tool instances. The tool domain
abstraction allows experts to define tests on the engineering
process level, rather than on the engineering tool instance level.
This allows testing the engineering process even before tool
instances have been modeled.</p>
          <p>Model Complexity. The complexity of the manual
approach is high because the process requires the cooperation
of experts from the different engineering disciplines, as well as
because of heterogeneous and distributed knowledge sources
(e.g., documents) which have to be kept consistent all the time.
The traditional MDSC variant is less complex because the
knowledge is kept centralized in an explicit format. Each
expert is responsible for maintaining the model of his/her
engineering tool instances without the need for cooperation
with other experts. However, the links between the different
engineering disciplines (i.e., the link between tool instances
belonging to different engineering disciplines) have to be
modeled and kept consistent by designated engineering process
experts. The complexity of the eMDSC variant is even lower
because of the distinction between tool domains and tool
instances. This even allows experts of the individual
engineering disciplines to separately model either engineering
processes, tool domains and tool instances without requiring
knowledge of the entire engineering discipline.</p>
          <p>Level of Automation Support. Besides supporting the
engineering tool experts while modeling engineering tool
instances with consistency and completeness checks, the
traditional MDSC variant automatically suggests an
engineering process to be verified by the engineering process
expert. In contrast the manual approach requires exhaustive
communication of engineering tool experts and manual update
of knowledge sources to derive a valid configuration. The
proposed eMDSC variant has a higher level of automation
support, since it enables the reuse of already modeled
engineering processes, resulting in the appropriate tool
domains to be selected automatically for the new (or adapted)
engineering process.</p>
        </sec>
      </sec>
      <sec id="sec-3-14">
        <title>VII. DISCUSSION This section discusses the proposed eMDSC approach, as well as the initial results of the evaluation with regard to the defined research issues.</title>
        <p>Efficient derivation of integration technology
configurations. The explicit and machine-understandable
knowledge of the eMDSC approach, as well as the explicit
distinction between engineering process, engineering tool
domain and engineering tool instance allows a derivation of
integration technology configurations with a high level of
automation. This results in an efficient configuration of
integration solutions for engineering processes across various
engineering disciplines. The level of automation and modeling
methodology enables effective modeling (i.e., modeling of
either engineering processes, engineering tool domains or
engineering tool instances) and supports the reuse of particular
parts of engineering processes for new automation systems
engineering projects with minimal adaptation effort. Although
the process of deriving configurations from the described
models is more complex than in the traditional MDSC variant,
the cognitive complexity of modeling is lower for the particular
experts because of the explicit distinction between engineering
processes, engineering tool domains and engineering tool
instances.</p>
        <sec id="sec-3-14-1">
          <title>Effective management of defects in the process of</title>
          <p>configuring integration technologies. In contrast to the
manual approach and the traditional MDSC variant, the
eMDSC variant provides a higher level of QA support for the
process of integration technology configuration derivation.
This higher level of support results from the explicit and
machine-understandable modeling of knowledge sources and
the distinction between engineering processes, engineering tool
domains and engineering tool instances. These two aspects
allow automated consistency and completeness checks for all
types of used models (i.e., engineering process requirements,
tool domain requirements and capabilities, tool instance
capabilities, logical solution model, and technical solution
model). Furthermore, the tool domain concept enable experts
predefining tests on an engineering process level, even before
suitable engineering tool instances have been modeled or
identified. Manual intervention is still necessary, however
limited to the selection of engineering tool domains and
engineering tool instances out of a set of suitable candidates.
Nevertheless, this manual intervention does not introduce
additional sources of defects, since only valid candidates can
be chosen.</p>
          <p>The evaluation scenarios supported the feasibility of the
eMDSC approach and provided promising initial results.
However, practical issues such as effort and defect rates for
setting up and using eMDSC within larger-scale need to be
explored in settings with industrial experts.</p>
        </sec>
      </sec>
      <sec id="sec-3-15">
        <title>VIII. CONCLUSION AND FURTHER WORK</title>
        <p>(Software+) engineering, such as the engineering of power
plants, typically involves the cooperation of a set of both
technically and semantically heterogeneous engineering tools.
The configuration of technologies enabling the integration of
these engineering tools originating from various engineering
disciplines is usually a manual and therefore time-consuming
and error-prone task.</p>
        <p>In this paper, we introduced the so-called eMDSC
(extended Model-Driven Systems Configuration) approach for
the automate derivation of integration technology
configurations based on explicit and machine-understandable
models of engineering process requirements, engineering tool
domain requirements and capabilities, as well as engineering
tool instance capabilities. The eMDSC is based on the
ModeDriven Architecture (MDA) paradigm and therefore enables an
efficient, less complex, and less error-prone configuration
derivation process.</p>
        <p>We evaluated the proposed eMDSC approach by using a
well-known software engineering process, the Continuous
Integration &amp; Test (CI&amp;T) process. Major results of the
evaluation were a) that the proposed approach has proven to be
efficient and effective, regarding both the effort needed for
setting up the integration environment as well as the number of
error sources; and b) that tool domains enable easy adaptations
of existing integration solutions by allowing the efficient
exchange of similar tools without affecting the existing
engineering process.</p>
        <p>Future work will include investigation of the eMDSC
approach in large-scale industry projects regarding practical
issues such as effort and defect rates. In addition, the usability
of the eMDSC approach will be evaluated in settings with
industrial experts.</p>
      </sec>
      <sec id="sec-3-16">
        <title>ACKNOWLEDGMENT This work has been supported by the Christian Doppler Forschungsgesellschaft and the BMWFJ, Austria. REFERENCES</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Aldred</surname>
          </string-name>
          , W. van der Aalst, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , “
          <article-title>Understanding the Challenges in Getting Together: The Semantics of Decoupling in Middleware</article-title>
          ,” BPM Center, Eindhoven, The Netherlands,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Alonso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Kuno</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Machiraju</surname>
          </string-name>
          , Web services: concepts,
          <source>architectures and applications</source>
          , Springer Verlag,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Moser</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Wahyudin</surname>
          </string-name>
          , “
          <article-title>Ontologysupported quality assurance for component-based systems configuration</article-title>
          ,
          <source>” Proceedings of the 6th international Workshop on Software Quality, ACM</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>59</fpage>
          --
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Schatten</surname>
          </string-name>
          , “
          <article-title>A Model-Driven Architecture Approach Using Explicit Stakeholder Quality Requirement Models for Building Dependable Information Systems</article-title>
          ,” Software Quality,
          <year>2007</year>
          .
          <source>WoSQ'07: ICSE Workshops</source>
          <year>2007</year>
          . Fifth International Workshop on,
          <year>2007</year>
          , pp.
          <fpage>6</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Schatten</surname>
          </string-name>
          , “
          <article-title>A Platform for Service-Oriented Integration of Software Engineering Environments,”</article-title>
          <source>Eight Conference on New Trends in Software Methodologies, Tools and Techniques (SoMeT 09)</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schatten</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Zoitl</surname>
          </string-name>
          , “
          <article-title>Integration of Heterogeneous Engineering Environments for the Automation Systems Lifecycle,”</article-title>
          <string-name>
            <given-names>Proc. IEEE</given-names>
            <surname>Industrial Informatics (IndIn) Conference</surname>
          </string-name>
          ,
          <year>2009</year>
          , pp.
          <fpage>576</fpage>
          -
          <lpage>581</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Chappell</surname>
          </string-name>
          , Enterprise Service Bus,
          <string-name>
            <given-names>O</given-names>
            <surname>'Reilly Media</surname>
          </string-name>
          , Inc.,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Doan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.F.</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.Y.</given-names>
            <surname>Halevy</surname>
          </string-name>
          , “
          <article-title>Introduction to the special issue on semantic integration,” SIGMOD Rec.</article-title>
          , vol.
          <volume>33</volume>
          , no.
          <issue>4</issue>
          ,
          <issue>2004</issue>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Duvall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Matyas</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Glover</surname>
          </string-name>
          , Continuous Integration:
          <article-title>Improving Software Quality</article-title>
          and
          <string-name>
            <given-names>Reducing</given-names>
            <surname>Risk</surname>
          </string-name>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Halevy</surname>
          </string-name>
          , “
          <article-title>Why your data won't mix</article-title>
          ,
          <source>” Queue</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>8</issue>
          ,
          <issue>2005</issue>
          , pp.
          <fpage>50</fpage>
          -
          <lpage>58</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Hohpe</surname>
          </string-name>
          , “Conversation Patterns,
          <source>” Dagstuhl Workshop Report</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Hohpe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Woolf</surname>
          </string-name>
          , Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, AddisonWesley Longman Publishing Co., Inc.,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13] IEEE, “
          <article-title>IEEE Recommended Practice for CASE Tool Interconnection: Characterization of Interconnections,”</article-title>
          <source>IEEE Standard 1175</source>
          .
          <fpage>2</fpage>
          -
          <lpage>2006</lpage>
          ,
          <year>2007</year>
          , pp.
          <fpage>c1</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Medeia-Consortium</surname>
          </string-name>
          , “
          <source>Requirements Analysis and Technology Review,” Medeia</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.J.</given-names>
            <surname>Mellor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Scott</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Weise</surname>
          </string-name>
          ,
          <article-title>MDA distilled: principles of model-driven architecture</article-title>
          ,
          <source>Addison-Wesley Professional</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Moser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kühn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Mikula</surname>
          </string-name>
          , “
          <article-title>Foundations for a Model-Driven Integration of Business Services in a Safety-Critical Application Domain</article-title>
          ,
          <source>” 35th Euromicro Conference on Software Engineering and Advanced Applications</source>
          , IEEE,
          <year>2009</year>
          , pp.
          <fpage>267</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Moser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mikula</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          , “
          <article-title>Making Expert Knowledge Explicit to Facilitate Tool Support for Integrating Complex Information Systems in the ATM Domain,”</article-title>
          <source>Intl. Conf. on Complex, Intelligent and Software Intensive Systems (CISIS</source>
          <year>2009</year>
          ), IEEE,
          <year>2009</year>
          , pp.
          <fpage>90</fpage>
          -
          <lpage>97</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>T.</given-names>
            <surname>Moser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.D.</given-names>
            <surname>Sunindyo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Biffl</surname>
          </string-name>
          , “
          <article-title>Semantic Service Matchmaking in the ATM Domain Considering Infrastructure Capability Constraints,” 21st International Conference on Software Engineering and Knowledge Engineering (SEKE</article-title>
          <year>2009</year>
          ),
          <year>2009</year>
          , pp.
          <fpage>222</fpage>
          -
          <lpage>227</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Moser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schimper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mordinyi</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Anjomshoaa</surname>
          </string-name>
          , “SAMOA - A
          <string-name>
            <surname>Semi-Automated Ontology Alignment</surname>
          </string-name>
          <article-title>Method for Systems Integration in Safety-Critical Environments</article-title>
          ,” Complex,
          <source>Intelligent and Software Intensive Systems</source>
          ,
          <year>2009</year>
          . CISIS '09. International Conference on,
          <year>2009</year>
          , pp.
          <fpage>724</fpage>
          -
          <lpage>729</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>N.F.</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.H.</given-names>
            <surname>Doan</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.Y.</given-names>
            <surname>Halevy</surname>
          </string-name>
          , “Semantic Integration,”
          <source>AI Magazine</source>
          , vol.
          <volume>26</volume>
          , no.
          <issue>1</issue>
          ,
          <issue>2005</issue>
          , pp.
          <fpage>7</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>T.</given-names>
            <surname>Rademakers</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Dirksen</surname>
          </string-name>
          , “
          <article-title>Open-source ESBs in action</article-title>
          ,” Manning Publications,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>R.M. Rangan</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          <string-name>
            <surname>Rohde</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Peak</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Chadha</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Bliznakov</surname>
          </string-name>
          , “
          <article-title>Streamlining Product Lifecycle Processes: A Survey of Product Lifecycle Management Implementations</article-title>
          , Directions, and Challenges,
          <source>” Journal of Computing and Information Science in Engineering</source>
          , vol.
          <volume>5</volume>
          ,
          <issue>2005</issue>
          , pp.
          <fpage>227</fpage>
          -
          <lpage>237</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>