You are on page 1of 8

SoftwareX 15 (2021) 100759

Contents lists available at ScienceDirect

SoftwareX
journal homepage: www.elsevier.com/locate/softx

Original software publication

RCE: An Integration Environment for Engineering and Science


Brigitte Boden, Jan Flink, Niklas Först, Robert Mischke, Kathrin Schaffert,

Alexander Weinert , Annika Wohlan, Andreas Schreiber
Institute for Software Technology, German Aerospace Center (DLR), Linder Höhe, 51147 Köln, Germany

article info a b s t r a c t

Article history: Engineering complex systems such as air- and spacecraft is a multidisciplinary effort that requires
Received 12 August 2019 the collaboration of engineers from a multitude of specializations working in concert. Typically, each
Received in revised form 16 December 2020 engineer uses one or more specialized software tools to analyze some data set and passes, in an ad-hoc
Accepted 29 June 2021
manner, the results on to their colleagues who require these results as input for their respective tools.
Keywords: This process is time-consuming, error-prone, and not replicable.
Multidisciplinary analysis To alleviate this problem, we present RCE (Remote Component Environment), an open-source
Tool integration application developed primarily at DLR, that enables its users to intuitively integrate disciplinary
Workflow execution tools, to define dependencies between them via an easy-to-use graphical interface, and to execute
Collaboration the resulting multidisciplinary engineering workflow. All data produced are stored centrally for
Distributed execution provenance, subsequent analysis, and post-processing. Hence, RCE makes it easy for collaborating
engineers to contribute their individual disciplinary tools to a multidisciplinary design or analysis,
and simplifies the analysis of the workflow’s results.
© 2021 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license
(http://creativecommons.org/licenses/by/4.0/).

Code metadata

Current code version r29900


Permanent link to code/repository used for this code version https://github.com/ElsevierSoftwareX/SOFTX_2019_257
Legal Code License Eclipse Public License (EPL) v1.0
Code versioning system used Git
Software code languages, tools, and services used Java, Eclipse RCP
Compilation requirements, operating environments & dependencies JVM, either Apache Maven or Eclipse
Link to developer documentation/manual https://software.dlr.de/updates/rce/10.x/products/standard/releases/latest/
documentation/windows/developer_guide.pdf
Support email for questions rce@dlr.de

Software metadata

Current software version 10.2.3


Permanent link to executables of this version https://software.dlr.de/updates/rce/10.x/products/standard/releases/10.2.3/
Legal Software License Eclipse Public License (EPL) v1.0
Computing platforms/Operating Systems Microsoft Windows 7, Microsoft Windows 10, Microsoft Server 2016, CentOS 8,
Debian 10, SUSE Linux Enterprise Desktop 12 SP2, Ubuntu 18.04
Installation requirements & dependencies JRE ≥ 1.8u161
Link to user manual https://software.dlr.de/updates/rce/10.x/products/standard/releases/10.2.3/
documentation/windows/user_guide.pdf
Support email for questions rce@dlr.de

1. Motivation and significance

∗ Corresponding author. Designing and evaluating modern systems requires collabo-


E-mail address: alexander.weinert@dlr.de (Alexander Weinert). ration among experts from a wide range of disciplines. Each

https://doi.org/10.1016/j.softx.2021.100759
2352-7110/© 2021 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

of these experts uses highly specialized software tools to pro- the remote users to execute the tool on demand, while the tool
duce or investigate a design artifact such as the shape of a owner retains full control over the implementation files and
workpiece, its aerodynamic properties, or the cost for producing runtime environment of the tool. RCE furthermore enables the
it. Orchestrating the runs of these tools as well as collecting, users to construct and execute automated workflows comprised
distributing, and archiving all intermediate data imposes a signif- of both local tools as well as those published by other users in
icant organizational overhead on the design process. RCE (Remote the same network. For the construction of such workflows, RCE
Component Environment) [1] enables engineers and scientists supplies the user with an intuitive graphical interface. During
to construct automated workflows consisting of numerous such automated workflow execution, RCE requires no further user
software tools, to execute these workflows on a distributed net- input and orchestrates both the distribution of inputs and outputs
work of compute nodes, and to collect all relevant artifacts for between the involved tools and their invocation on the respective
further analysis. machines. Finally, it allows users to monitor the artifacts and con-
As an example, consider a team of engineers working to de- sole output accrued during the execution of the individual tools.
termine whether to construct a novel airplane wing out of steel, All execution data is also automatically persisted, allowing access
aluminum, or carbon. There is also a project leader who coordi- to and analysis of this data both during and after a workflow’s
nates the activities involved in determining the optimal material. execution.
To this end, for each of the three materials, the engineers compute In doing so, RCE facilitates cooperation between engineers and
both the effectiveness of the resulting wing as well as its produc- researchers of widely differing fields, enables them to leverage
tion cost. For the sake of simplicity, we assume the effectiveness their domain expertise to simulate and analyze complex sys-
of a wing shape is determined solely based on the lift it produces. tems. RCE furthermore supports the engineers and researchers
Each of the above materials may induce different constraints in discovering and tracing relationships between the input pa-
on the possible shapes. Hence, the project leader first obtains a rameters of the workflow and its results. It has been used in
description of these constraints from the collaborating material many projects at DLR and users have consistently reported that
scientist. She then passes these constraints on to a team of engi- in addition to enabling larger and more complex workflows, RCE
neers that determine, for each material, an optimal feasible shape has also greatly increased their efficiency.
that produces maximal lift. They do so by iteratively designing Related work. While, to the best of our knowledge, no other soft-
wing shapes and evaluating the lift produced by the respective ware shares the concept and aim of RCE, there exists a number
shape, thus implementing a simple optimization loop. Having de- of tools that have similarities with RCE. Here we highlight some
termined an optimal wing shape for a given material, the project of the most prominent of these tools and their main differences.
leader then forwards the optimal design to another department One software whose aims most align with RCE is ModelCenter
that estimates the production cost. We illustrate the flow of by Phoenix Integration [6]. While ModelCenter is proprietary, RCE
information between the participants involved in the design of is open-source and available free of charge.
the wing in Fig. 1. OpenMDAO [7] is an open-source framework for multidisci-
Each step of such a design process uses one or multiple spe- plinary optimization. While earlier versions of OpenMDAO had
cialized software tools. Without a common software to coordinate some features in common with RCE, starting with version 2
data management, input and output files are typically transmit- the developers focused solely on optimization. Hence, current
ted between these tools using ad hoc methods like email, flash versions of RCE and OpenMDAO have orthogonal feature sets.
drives, or shared network drives. Even within a single design Finally there exist Apache Nifi [8] and Knime [9]. While both
process, both the programming languages used for implementing feature intuitive graphical editors, the main focus of these tools
these tools as well as the environments required for executing lies on the domain of data science. RCE, in contrast, focuses on
them are often heterogeneous. In our example, engineers may the field of multidisciplinary engineering.
compute the shape constraints using Python [2] running on a
Paper structure. In Section 2 we describe the functionalities of RCE
desktop computer, whereas the wing shape may be constructed
from the users’ point of view as well as the underlying architec-
using Matlab [3] on a compute cluster. Finally, the aerodynamic
ture. In Section 3 we present a comprehensive example of the
evaluation may be performed using a simulation implemented in
usage of RCE in a fictitious aviation project. In Section 4 we give
Fortran [4] using a GPU cluster while the estimate of production
several examples of the usage of RCE in research projects at DLR
costs may be implemented in Java [5].
before summarizing our results in Section 5 and giving an outlook
There are several obstacles in executing such a multidisci-
at future work.
plinary design process. Not only do the participants from different
disciplines have to agree on methods for collaborating, possibly 2. Software description
across the boundaries of business units, but also, on a more
technical level, on data formats for data exchange. Moreover, We first describe the use cases supported by RCE in Sec-
they have to manually invoke their respective tools as well as tion 2.1, before we discuss the implementation of the features
subsequently collect, disseminate, and archive the resulting data. enabling these use cases in Section 2.2.
Even if this process is automated at all, this automation usually
consists of custom solutions that are not easily reusable for other 2.1. Software functionalities
processes.
RCE is an open-source software that enables scientists to over- RCE is a general tool for engineers and scientists from a wide
come these recurrent obstacles when executing processes involv- range of disciplines to create and execute distributed workflows
ing multidisciplinary software tools running in diverse runtime as well as evaluate the obtained results. Hence, RCE supports a
environments. While RCE cannot solve the social and disciplinary wide range of use cases.
challenges outlined above, it supports its users by resolving the As a first use case, consider a single engineer who has to
technical issues regarding this process. For the remainder of this orchestrate the execution of multiple tools in her daily work and
work, we refer to the technical component of a multidisciplinary wants to automate this process. To this end, she can integrate
design process as a multidisciplinary workflow. In order to exe- external tools for calculations, simulations, and evaluations us-
cute a workflow, RCE lets the user grant other users in the same ing RCE. RCE provides a graphical wizard that guides the user
network access to selected tools on their local machine, allowing through the tool integration process.
2
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

Fig. 1. Process for designing and evaluating a wing shape. ‘‘Const.’’ and ‘‘Est.’’ abbreviate ‘‘Constraints’’ and ‘‘Estimation’’, respectively.

During integration, the user defines inputs and outputs of the of a tool, it executes the respective tool and again collects its
tool using the native data types of RCE, which comprise typical outputs to pass them to subsequent tools. This is continued until
primitive data types such as Booleans, integers, and floating point no tool has produced any further output data, which is typically
numbers as well as more general ones such as files and directo- the case either because a linear workflow has executed all of its
ries. The user can also define script sections that are executed tools, or because a main evaluation loop has reached a certain end
before and after each tool run (called pre- and post-scripts), criterion (e.g., convergence).
which is typically used for the conversion of input transmitted by Execution via RCE is also possible for tools that are under
RCE into tool-specific layouts and, vice versa, for the conversion of active development. Instead of ‘‘freezing’’ a certain version of soft-
tool-specific output data into more common formats before they ware tools and executing this version every time the workflow is
are handed over to RCE. Finally, the user defines the commands to executed, RCE instead uses the version currently installed on the
execute the underlying tool given the previously defined inputs. machine. Hence, there is no additional overhead in deploying new
We illustrate the integration of a tool into RCE in Fig. 2. In versions of actively developed tools to RCE. Instead, RCE executes
this example, the pre-script takes one parameter that is supplied the tool version that has been most recently deployed. Once such
by RCE and provides a second, hard-coded parameter. The inte- a tool has stabilized, the user may provide both a ‘‘development’’
grated tool is then called with these two parameters and provides version and a ‘‘stable’’ version in parallel. Thus, one set of users
three output values. Out of these output values, the post-script may use the stable version of a tool, while others gain immediate
discards one and passes the other two back to RCE. access to one or more development versions at the same time.
In addition to the user-integrated tools, RCE provides a num- Now consider the use case that the user wants to execute
ber of predefined components which supply basic and often- some parts of the workflow on her local machine, while she
needed functionalities such as controlling the flow of data wants to execute others on a compute cluster or some remote
through the workflow, reading and extracting data from XML
cluster equipped with GPUs. To this end, she can connect her local
files, executing user-supplied Python scripts. RCE furthermore
instance of RCE with one or multiple instances running on remote
provides a number of components that offer mathematical and
machines reachable via a local network or the Internet. She may
statistical methods to evaluate the incoming data. Moreover, RCE
configure the remote instances either via a graphical interface,
supplies components for the construction of design-, evaluation-
if the remote machine offers one, or via the built-in command-
and optimization loops, most prominent among them an integra-
line interface of RCE, which is also reachable directly via an SSH
tion of the well-known and versatile Dakota framework [10] for
connection.
optimization. The user can mix and match both pre-integrated
The engineer may also connect to instances of RCE controlled
components and user-integrated ones to construct complex work-
by other engineers via the same mechanism. Users can publish
flows in the graphical workflow editor of RCE. As an example,
a user may construct a workflow for determining the optimal their tool integrations via the network that was created this
material for the construction of an airplane wing as described in way, allowing remote users to use the locally integrated tools
Section 1. We show such a workflow in Fig. 3. in their workflows. When constructing a workflow, remote and
In that figure, each yellow box represents a component. The local components appear side-by-side in the graphical editor and
components labeled ‘‘Material’’, ‘‘Shape’’, ‘‘Lift’’, ‘‘opt. Shape’’, and are indistinguishable from one another. This allows the user to
‘‘Finance’’ represent tools integrated by the user, while the re- construct the logic of the workflow without having to determine
maining components are built-in into RCE. Thses components are its execution configuration at the same time.
used to read input from the user’s hard drive (top left, upwards For execution of the resulting workflow comprising both local
pointing arrow), to control the main loop of the workflow (top and remote components, the latter ones are not copied to the
center, label ‘‘Control’’), to display the geometry of the final air- machine executing the workflow, but they are instead executed
plane (center right, label ‘‘TiGL’’), and to write the resulting data on the machine on which they are integrated. RCE supplies them
to the user’s hard drive (center far right, downwards pointing with the required input data via the network connection, re-
arrow). trieves their output after termination and transmits that data to
After constructing the workflow, the user can start its execu- the machine coordinating the workflow’s execution.
tion. As a first step, RCE triggers the execution of all tools without In order to simplify the setup of RCE networks for collabora-
inputs. Once a tool has terminated, RCE collects its outputs as tion, RCE instances can also be configured to run as a so-called
defined by its integration and computed by its post-script, and relay. Other RCE instances can then connect to this instance,
passes them on to the tools whose inputs are connected to the which acts as an intermediate, forwarding relevant information
outputs of the terminated tool. RCE then executes the succeeding between all instances as needed. As RCE’s network structure is
tools. Once it has collected all inputs defined by the integration decentralized, any number of relays can be combined, which is
3
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

Fig. 2. A conceptual view of the integration of a tool into RCE.

Fig. 3. The graphical editor of RCE showing the workflow described in Section 1. The font size of the labels has been increased for the sake of readability.

often used to first connect the RCE instances within a working 2.2. Software architecture
group, and to then assemble these groups into larger networks.
If the engineer using RCE has integrated all tools involved in The user base of RCE is mainly comprised of engineers and sci-
her workflow onto remote instances, she may want to shut down entists who are not primarily interested in designing workflows,
her local machine during the execution of the workflow. To this but rather in performing multidisciplinary analyses. Hence, we
end, upon execution of a workflow, the user may designate some provide users with a software package that is (i) easy to deploy
instance to be the workflow controller, which orchestrates the and configure and (ii) features very few external dependencies.
Moreover, such analyses are usually performed on specialized
distribution of data among the involved instances of RCE. This is
hardware that is shared with other users, e.g., a compute cluster.
particularly useful for the execution of long-running workflows,
Hence, the users of RCE may not have complete administrative
as the user may start the workflow on their local machine and
control over the machine they use. Thus, another main driver
designate a server as the workflow controller, allowing them to behind the architectural decisions regarding RCE is the require-
shut down their local machine after the start of the workflow. ment that the resulting software must be able to (iii) run on a
Finally, consider the case that the engineer wants to inspect wide range of machines with (iv) minimal privileges. As RCE is not
the output of individual executions of some particular tool that developed for use in a single domain, but rather as a general tool
has been invoked during the execution of the workflow. To this for the development and execution of workflows, we require a
end, all data, i.e., all inputs to and outputs from all components (v) modular architecture that is amenable to the development of
accrued during a workflow run are collected by the workflow additional modules as required by certain projects. Finally, since
controller and can be monitored both during execution of the users must be able to configure networks of RCE instances, we
workflow and after its completion by all RCE instances connected require an architecture that allows for (vi) easy communication
to the workflow controller. This provides a huge benefit for the between connected instances.
To achieve platform independence, we opted to implement RCE
collaborative analysis of the results of the workflow over the
in Java [5]. As we furthermore rely on the platform-
existing ad-hoc dissemination of such results.
independent Eclipse Rich Client Platform (RCP) [11], we can pro-
In practice, the roles of the RCE instances involved in the exe-
vide executable artifacts for Windows and Linux while only main-
cution of a workflow may not be as clearly separated as in the use taining a single code base. By also distributing RCE as a simple
cases discussed above. A single RCE instance can be configured zip file (besides more specialized installation packages), which
to display a user interface for the construction of workflows, to contains all dependencies of RCE save for the actual Java runtime,
publish integrated tools and act as a workflow controller, and to we achieve the first, second, and third requirement listed above.
merge connected networks, or to do any combination of these As RCE only requires a normal user account without elevated
tasks. privileges, we furthermore achieve the fourth requirement above.
4
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

To achieve the fifth requirement above, RCE has a highly 3. Concrete example
modular structure on the source code level. Every significant
functionality is accessible from other functional units via an ex- Consider again the example of the design of an airplane wing
plicit service interface. This approach ensures a clear separation of from Section 1 and recall that the individual tools implementing
code segments, improves maintainability, and facilitates testing. the steps of the process as illustrated in Fig. 1 may be required
At development time, we define these services via the OSGi to run on different machines. Although these machines may be
Declarative Services standard [12], i.e., by defining the implemen- part of different disjoint networks, we assume that the networks
tations and dependencies of services using Java annotations and themselves are connected via the Internet. Otherwise, no com-
XML files. At runtime, these annotations and files are processed munication is possible. We illustrate such a network setup in
by the Eclipse Equinox OSGi implementation [13], which we Fig. 7.
deploy as part of RCE. Since this implementation is included as In that drawing, the vertices labeled MS, AD, F, and SE denote
part of RCP, using it incurs no additional overhead over that machines under the control of the department for materials sci-
already incurred by using the Eclipse platform. ence, aerodynamics, finance, and structural engineering, respec-
As of version 10.0, RCE has more than 230 service interfaces. tively. Furthermore, the vertex labeled R represents a dedicated
We only present an overview of its major functional groups in relay server in a network location that is reachable from all
Fig. 4. In that figure, dark gray boxes denote the service groups project participants. We denote these isolated networks by dark
implemented as part of RCE, whereas lightly shaded boxes denote gray boxes in Fig. 7, each of which has an interface connecting it
external dependencies. These external dependencies include the to the relay server.
Java runtime itself, but also libraries provided by the Eclipse Rich Each involved project partner starts by defining the integration
Client Platform, as well as other third-party-libraries. In addition of their respective tool, as described in Section 2.1, on their local
to the services shown in Fig. 4, RCE also contains general utilities computer (i.e., on the machines MS1 , AD1 , SE1 , and F1 ). This may
for, among others, authorization, multithreading, logging, testing, happen either using the graphical wizard for tool integration, or
installation of updates, and management of multiple user-defined via manually editing the files defining the tool integration. After
profiles. completing and testing the integration locally, the users move the
For communication between different instances, we also use integration to the compute nodes (i.e., to the machines labeled
service interfaces to define remote procedure calls (RPCs), which MS2 , AD2 , and SE2 ). For simpler tools, in contrast, the users may
help us in achieving the final requirement above. On a source opt to leave both the tool as well as the integration on their
code level, a call to a remote procedure is indistinguishable from local computers. In our example, this is the case for the finance
a call to a local one, thus reducing complexity for software de- department, which does not use a compute node.
velopers. In Fig. 5 we present an example of the deployment Each machine that hosts one or more tools is connected to the
and usage of RCE as well as the communication between the central relay server R, thus making them visible to one another.
individual instances. The users then collaborate in constructing the workflow shown
Due to space limitations we are unable to describe all service in Fig. 3, which formalizes the workflow illustrated in Fig. 1 on
interfaces and their dependencies in detail. Instead, we conclude Page 2. Within this workflow, they can transparently mix tool
this section with an overview over the implementation of a instances that were moved to a compute node with tools that are
typical use case, namely over the construction and execution of a still published from a user’s machine.
workflow via the GUI. We illustrate the services involved and the Having finished the construction of the workflow, the users
communication between them in Fig. 6. may execute it using, e.g., the relay server or one of the compute
In order to create and modify workflows, RCE provides users nodes as the controller for the distributed execution. Using such
with a graphical editor. This editor is implemented in the class a shared server as the workflow controller allows machines not
WorkflowEditor, which extends the abstract class Graphi- included in the actual computation (i.e., the machines MS1 , AD1 ,
calEditorWithFlyoutPalette. The latter class is part of the and SE1 ) to be safely turned off or disconnected from the RCE
Eclipse RCP framework. We furthermore register RCE’s Work- network during the execution of the workflow. This is particularly
flowEditor with the Eclipse framework using the extension useful for machines that are not permanently attached to the
point org.eclipse.ui.editors. This registration instructs same physical network, e.g., work laptops switching between
Eclipse to instantiate a WorkflowEditor if the user wants to edit cable and wireless adaptors.
a workflow file, which are identified via their file ending .wf.
Once the user has finished construction of her workflow, she 4. Impact
executes it using a button in the workflow editor. RCE passes
the constructed workflow to the WorkflowExecutionService. RCE is widely used among many projects at DLR involving
That service initializes all instances involved in the execution of users from the fields of aeronautics and astronautics, as well
the workflow, starts all tools that do not require inputs, collects as traffic and energy. Numerous users have lauded particular
the output data of tools, determines the subsequent tools to features of RCE that are of great use in their projects, such as
execute, and passes the data to the inputs of those tools. In order the capability to create repeatable and reusable workflows, or
to communicate with remote instances of RCE, the WorkflowEx- the ability to seamlessly perform simulations on a distributed
ecutionService uses the CommunicationService. That ser- network [14]. In addition to this reported qualitative increase
vice encapsulates JavaX JMS, which it uses for the actual commu- in efficiency, multiple users rely on the use of RCE in their
nication between instances of RCE. daily work and report successfully executed engineering projects
When a service is instantiated, e.g., because the user opens a which would hardly have been possible without the use of RCE
workflow file using the GUI and the Eclipse framework instanti- in the first place.
ates a WorkflowEditor, OSGi is used to inject the dependencies No quantitative study on the increase in productivity has been
of the WorkflowEditor into the constructed instance. After hav- conducted at the time of writing. The reason for this is twofold:
ing given an overview over both the functionality of the software First, the notion of ‘‘productivity’’ in the context of a research
as well as its internal architecture, we now continue with an or an engineering project is not well-defined. While there ex-
example of how RCE might be used in a typical engineering ist multiple conflicting definitions of this notion, no canonical
project. definition has emerged to the best of our knowledge. Second,
5
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

Fig. 4. A top-level view of the services implemented in RCE.

Fig. 5. A typical setup of RCE instances and the communication between them.

Fig. 6. Excerpt of the services involved in the execution of a workflow via the GUI.

Fig. 7. A network setup of the machines taking part in the process shown in Fig. 1.

6
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

as mentioned above, in addition to streamlining and improving 4.3. PEGASUS


existing engineering processes, RCE often enables such processes
in the first place. Thus, there often does not exist a baseline Apart from its use in the design of complete aircraft, RCE
against which conducting a process with RCE could be compared. was also employed for the design of individual airplane engines
Hence, instead of reporting on quantitative measurements we as part of the project PEGASUS [18]. In this project, a special
give a qualitative overview over projects that used RCE. Recall integration interface was developed that allowed an existing C++
software to connect to RCE instances using the standardized
that a complete overview over all projects that involve RCE is im-
SSH protocol. Leveraging RCE’s existing network capabilities, this
possible due to its nature as freely distributed open-source soft-
allowed that software to execute distributed simulation tools,
ware. Due to this reason, we highlight a number of representative
and also invoke other instances of the C++ software itself. The
projects here.
latter was also done to improve performance by distributing
One of the major application domains of RCE is the domain compute loads across multiple machines, which required system
of aerospace engineering. Boden, Flink, Mischke, et al. [14] give information to do load balancing. To support this, RCE made the
an overview over such projects. Here, we highlight two such performance data that it already collects available over the SSH
projects, namely FrEACs and Digital-X, as well as a number of interface. To simplify usage of these features, all communication
projects in other domains that leveraged the capabilities of RCE. with RCE was encapsulated in a client library providing a C API,
which allows it to be used from a wide range of programming lan-
guages. This library is currently being modernized and is planned
4.1. FrEACs for inclusion in future RCE releases.

The goal of the project FrEACs [15] was to design a product 4.4. TRIAD
development process for aircraft configurations. To this end, the
engineers involved defined engineering services, i.e., disciplinary In addition to its use in numerous aerospace projects, RCE
was furthermore used in the project TRIAD [19] which focused
tools that were required by other participants in the project. Both
on developing a design environment for helicopters. Here, again
the publication as well as the connection of the published engi-
multiple individual disciplinary tools were integrated into a single
neering services were done via RCE. Since, in this development
workflow comprising both low- and high-fidelity analysis and
setting, each engineering service was owned and maintained by optimization of rotorcraft. Since the aim of the project was not
a specialist engineer, the project benefited greatly from the use of to develop a single rotorcraft, but rather to provide a general
RCE, as each service and its executions remained under complete environment with which multiple such craft could be designed,
control of their owners. The resulting data was organized using there was no fixed workflow to be implemented. Instead, the par-
the integrated project explorer of RCE, which allowed for quick ticipating engineers integrated their tools into RCE and published
analysis of the data generated by running the individual services. their tools onto the network.
A major part of the project FrEACs consisted of regularly One of the major work items of this project was the devel-
occurring design camps, in which all project participants gathered opment of the actual workflow. As its structure was not clear at
in a single location to further design and enhance the devel- the beginning of the project, RCE’s intuitive graphical interface
opment process. These design camps not only greatly benefited significantly reduced the workload of the individual engineers.
from RCE’s ability to export the accrued data already during the Moreover, several of the involved tools were proprietary and
execution of the workflow, but also from the easy access to the were restricted to running on the machines of certain develop-
ers. Hence, RCE’s capability of executing tools on the publishing
data from all instances of RCE that are connected to the network.
machine itself proved to be a great benefit to the construction of
This allowed the users to detect and fix errors early in the design
the overall workflow.
phase of the workflow.
4.5. CLAVA
4.2. Digital-X
Finally, while a large number of known users works in
aerospace engineering, RCE is also deployed in the field of astro-
RCE was also used in the DLR project Digital-X [16,17]. While nautics. Prime among these applications is the use of RCE in the
previously, RCE workflows were mainly used in the low-fidelity project CLAVA [20], which has the task of developing the next
pre-design of aircraft, the aim of this project was the develop- generation of launchers. This design process is highly dynamic
ment of a multidisciplinary optimization process that comprised in nature, since the used tools are regularly replaced by newer
both low- and high-fidelity simulations of aircraft. To this end, a versions or other tools entirely. Hence, the involved engineers
number of highly specialized tools running on either Windows or were able to speed up the design process via the use of RCE,
Linux were integrated into a single workflow. These tools were which transparently uses new versions of the tools as soon as
contributed by eight DLR institutes and hosted at six different they are deployed and allows for easy replacement of the used
locations. Hence, the use of RCE in this project showcases the ease tools. Furthermore, another increase in velocity resulted from
the automatic execution of the workflow which was previously
of integrating tools requiring different runtime environments into
executed manually, i.e., via manual execution of the involved
a single workflow.
tools and dissemination of their outputs.
Moreover, although starting the high-fidelity analysis required
Due to space restrictions, we omit detailed descriptions of
the results of the low-fidelity analysis, the individual steps of other projects in which RCE is deployed or currently involved.
the former and the latter analyses were partly independent of These projects involve ones from the domains of logistics and
previous results. Thus, the performance of these individual steps climate research (e.g., TraK or VEU II [21]), energy research (e.g.,
improved markedly over previous implementations of this work- INTEEVER II), or shipbuilding (e.g., HOLISHIP [22]). Moreover,
flow, as RCE automatically executes independent tools in paral- since RCE is freely available as open source software, we do not
lel [17]. have access to a comprehensive list of users.
7
Brigitte Boden, Jan Flink, Niklas Först et al. SoftwareX 15 (2021) 100759

5. Conclusion and future work Brieden, Markus Kunde, Markus Litz, Oliver Seebach, Heinrich
Wendel, and Sascha Zur. Furthermore, we would like to thank all
In this work we have presented RCE (Remote Component other colleagues, students, and users that have contributed to the
Environment), an open-source integration environment for en- development of RCE.
gineers and scientists that aids them in the multidisciplinary
development, analysis, and the optimization of complex systems.
We have given an overview over the main features of RCE and References
argued that due to the richness of this feature set, RCE is able to
[1] Boden B, Flink J, Mischke R, Schaffert K, Weinert A, Wohlan A, Schreiber A.
adapt to numerous usage scenarios. Instead of having to adapt to
RCE. Zenodo; 2019, http://dx.doi.org/10.5281/zenodo.3691675.
a fixed design process prescribed by RCE, engineering teams can [2] Python Contributors. The Python Programming Language. https://www.
use RCE to enhance their existing design processes. Subsequently, python.org.
we have outlined the technical implementation of these features [3] MathWorks, Inc. MATLAB. https://www.mathworks.com/products/matlab.
html.
and we have shown that our choice of frameworks, develop-
[4] Backus J. IBM, ISO. The Fortran Programming Language.
ment methodology, and supporting technologies enables not only [5] Sun Microsystems. The Java Programming Language.
the further maintenance of RCE, but also the development of [6] Phoenix Integration. Model Center. https://www.phoenix-int.com/.
additional features as required by future projects. [7] Gray JS, Hwang JT, Martins JRRA, Moore KT, Naylor BA. OpenMDAO:
Finally, we have given an overview over research and devel- An open-source framework for multidisciplinary design, analysis, and
optimization. Struct Multidiscip Optim 2019;59(4):1075–104. http://dx.doi.
opment projects at DLR that use or have used RCE as part of their
org/10.1007/s00158-019-02211-z.
engineering processes. These projects showcase the versatility [8] Apache Software Foundation, Cloudera, Hortonworks. Apache Nifi. https:
of RCE, as it is not only used in a number of domains, but since it //nifi.apache.org/.
also supports a wide range of scales and scopes of projects. This [9] KNIME AG. KNIME. https://www.knime.com/.
includes both low- and high-fidelity analyses, simulations, and [10] Adams B, Bauman L, Bohnhoff W, Dalbey K, Ebeida M, Eddy J, Eldred M,
Hough P, Hu K, Jakeman J, Stephens J, Swiler L, Vigil D, Wildey T. Dakota,
optimizations, as well as different modes of interaction, ranging a multilevel parallel object-oriented framework for design optimization,
from iterative design work using the graphical interface up to parameter estimation, uncertainty quantification, and sensitivity analysis:
completely automated invocations of RCE via its network inter- Version 6.0 user’s manual. Sandia Technical Report SAND2014-4633, 2014,
faces. In all these projects, users report increased productivity available at https://dakota.sandia.gov/content/manuals.
[11] Eclipse Foundation. Rich Client Platform. https://wiki.eclipse.org/Rich_
through using RCE and that in some cases RCE has enabled their
Client_Platform.
project in the first place. [12] OSGi Alliance. OSGi Compendium Release 7 - Declarative Services Spe-
For future work, we will further improve the usability of RCE cification. https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.
and increase its feature set based on requirements arising from html.
the use in scientific and engineering projects. Prime among these [13] Eclipse Foundation. Eclipse Equinox. https://www.eclipse.org/equinox/.
[14] Boden B, Flink J, Mischke R, Schaffert K, Weinert A, Wohlan A, Ilic C,
future developments is an extension and modularization of the Wunderlich T, Liersch CM, Goertz S, Ciampa PD, Moerland E. Distributed
central code governing the execution of workflows, which forms multidisciplinary optimization and collaborative process development us-
one of the oldest and most monolithic parts of the current code- ing RCE. In: AIAA aviation 2019 forum. American Institute of Aeronautics
base. Further, we are adapting RCE for use in cloud environments and Astronautics; 2019, http://dx.doi.org/10.2514/6.2019-2989.
[15] Moerland E, Pfeiffer T, Böhnke D, Jepsen J, Freund S, Liersch CM, Chioz-
to allow users to optimally leverage shared resources. Moreover,
zotto GP, Klein C, Scherer J, Hasan YJ, Flink J. On the design of a
as there is an increasing need for sharing integrated tools be- strut-braced wing configuration in a collaborative design environment.
tween cooperating organizations, dedicated support for transfer In: 17th AIAA aviation technology, integration, and operations conference.
of sensitive data over insecure communication channels, such American Institute of Aeronautics and Astronautics; 2017, http://dx.doi.
as the Internet, will be added in the near future. To address org/10.2514/6.2017-4397.
[16] Görtz S, Ilic C, Abu-Zurayk M, Liepelt R, Jepsen J, Führer T, Becker R-
the IT security demands of such setups, the network protocol G, Scherer J, Kier T, Siggel M. Collaborative multi-level MDO pro-
for this will be encrypted, authenticated, and restricted to a cess development and application to long-range transport aircraft. In:
minimal and easily audited feature set. Finally, due to the ever- ICAS 2016. 2016, URL https://www.icas.org/ICAS_ARCHIVE/ICAS2016/data/
increasing size of workflows, one of our main goals is to provide papers/2016_0345_paper.pdf.
[17] Goertz S, Ilic C, Jepsen J, Leitner M, Schulze M, Schuster A, Scherer J,
users with improved editing and management features for larger
Becker R, Zur S, Petsch M. Multi-level MDO of a long-range transport
workflows. This includes both the capability to modularize parts aircraft using a distributed analysis framework. In: 18th AIAA/ISSMO
of workflows into sub-workflows, as well as the ability to publish multidisciplinary analysis and optimization conference. AIAA; 2017, http:
complete workflows as virtual tools, which can then be used //dx.doi.org/10.2514/6.2017-4326.
in other workflows just like standard tools. Together, these fea- [18] Reitenbach S, Krumme A, Behrendt T, Schnös M, Schmidt T, Hönig S,
Mischke R, Moerland E. Design and application of a multi-disciplinary
tures will improve the design as well as simplify testing and pre-design process for novel engine concepts. J Eng Gas Turbines Power
maintenance of large-scale workflows. 2018;141(1). http://dx.doi.org/10.1115/1.4040750.
[19] Weiand P, Buchwald M, Schwinn D. Process development for integrated
Declaration of competing interest and distributed rotorcraft design. Aerospace 2019;6(2). http://dx.doi.org/
10.3390/aerospace6020023, URL http://www.mdpi.com/2226-4310/6/2/23.
[20] Fischer PM, Deshmukh M, Koch AD, Mischke R, Gomez AM, Schreiber A,
The authors declare that they have no known competing finan- Gerndt A. Enabling a conceptual data model and workflow integration
cial interests or personal relationships that could have appeared environment for concurrent launch vehicle analysis. In: 69th international
to influence the work reported in this paper. astronautical congress (IAC). 2018, URL https://elib.dlr.de/122158/.
[21] Seum S, Ehrenberger S, Kuhnimhof T, Winkler C. Verkehr und seine
Umweltwirkungen. Int Verk 2019;(2):49–53.
Acknowledgments [22] Papanikolaou A, editor. A holistic approach to ship design. Springer In-
ternational Publishing; 2019, http://dx.doi.org/10.1007/978-3-030-02810-
We gratefully acknowledge the support and contributions of 7.
previous team members Doreen Seider, Arne Bachmann, Tobias

You might also like