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