<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Search Space Reduction for E/E-Architecture Partitioning</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Andreas</forename><surname>Ettner</surname></persName>
							<email>andreas.ettner@de.bosch.com</email>
							<affiliation key="aff0">
								<orgName type="department">Corporate Reasearch</orgName>
								<orgName type="institution">Robert Bosch GmbH</orgName>
								<address>
									<addrLine>Robert-Bosch-Campus 1</addrLine>
									<postCode>71272</postCode>
									<settlement>Renningen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Search Space Reduction for E/E-Architecture Partitioning</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">ADCA5D554D70139047D47427FC134635</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:14+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>E/E-Architecture Partitioning</term>
					<term>Design Space Reduction</term>
					<term>Evolutionary Algorithm</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>As the design of electrical/electronic (E/E)-architectures is becoming more complex, multi-objective optimization algorithms such as evolutionary algorithms (EAs) have been proposed for generating resource optimized architectures. In this paper we extend existing approaches by excluding infeasible solutions from the search space and thereby enhance the quality and runtime behavior of the optimization.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Due to the introduction of new safety and comfort functions related to advanced driver assistance, highly automated driving, and car-to-x connectivity, the number and interconnections of functions in vehicles has been growing over the last decades and is going to grow further over the next years. As a result, distributed vehicle system architectures consisting of heterogeneous computing resources become more complex and power consuming. Thereby, also the complexity of the allocation task problem is growing, which is defined as assigning functions to Electronic Control Units (ECUs) while fulfilling various design constraints, such as safety requirements and resource restrictions (see Figure <ref type="figure" target="#fig_0">1</ref>).</p><p>In recent years, several optimization methods with the aim of supporting engineers in power and resource aware design of E/E-architectures have been proposed. While Walla <ref type="bibr" target="#b5">[6]</ref> presented a mixed-integer linear programming (MILP) approach to optimize function partitioning with respect to energy efficiency, EAs have proven useful for concurrent optimization of multiple objectives, such as performance, cost, and reliability <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b2">[3]</ref>, <ref type="bibr" target="#b3">[4]</ref>. However, when increasing the number of design constraints, EAs might fail in producing feasible solutions and in converging toward a global maximum. Common approaches to overcome this problem have been compared by Moser <ref type="bibr" target="#b4">[5]</ref> and the results showed that repairing infeasible solutions is superior to penalizing and constrain-dominance methods. Yet, the search space still contains all infeasible solutions for each of which the repair function would be invoked. In order to overcome this drawback and to decrease the amount of infeasible solutions, we present an approach to reduce the search space in advance of the optimization run. Thereby, we enhance the quality and runtime behavior of the optimization.  The allocation of vehicle functions to the ECUs is represented by a mapping vector m indicating for each function f i the corresponding ECU identifier e j . By default, each function can be allocated to each ECU, such that the set of all possible ECUs for f i is M = {e 1 , ..., e J } and the number of possible solutions is</p><formula xml:id="formula_0">S = |E| |F | .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Objective Functions and Constraints</head><p>In our approach, we optimize three objective functions: network communication, safety, and the collection of functions with certain properties on a minimum number of ECUs. As the search space reduction is independent of the objective functions, we will concentrate on the constraints in the following:</p><p>-Location constraints either define a set of ECUs C I,i -where function f i will be mapped to one element of this set -or exclude a set of ECUs C E,i .</p><p>-Colocation constraints either forbid two functions to be allocated to the same ECU (C ban : e(f i ) = e(f j )) or force two functions to reside on the same ECU (C f orce : e(f i ) = e(f j )). -Some functions demand certain components or functional requirements reqf, which have to be provided by the corresponding ECU (req e ). Therefore, function f i can only be allocated to one ECU of the set C req,i = {e|req e ≥ req f }. -Some resources, such as the memory and computing units, are shared among all functions allocated to the ECU. Therefore, r e,j ≥ r f,i with (e(f i ) = e j ) has to hold for each ECU.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Genetic Algorithm</head><p>For the optimization, we use the NSGA-II algorithm presented by Deb <ref type="bibr" target="#b1">[2]</ref>. Its structure is shown in Figure <ref type="figure" target="#fig_2">2</ref>. During initialization, a population of solutions is generated by assigning one element of set M to each of the functions resulting in one mapping vector for each solution. Afterwards, the population iteratively improves by creating new solutions, evaluating these solutions with regard to the constraints and the objective functions (see Fig. <ref type="figure" target="#fig_3">3</ref>), and finally selecting the best solutions for the next generations based on Pareto-optimality. New solutions are generated by variation operators such as mutation, which assigns an element of set M to a random number of functions. Thereby, a huge amount of solutions violating the constraints defined in chapter 2.2 might be generated that would have to be either repaired or discarded. As an approach to reduce this number, we reduce the sets M i for each function f i in advance of the optimization by analyzing the design constraints and use those sets during initialization and mutation to generate new individuals. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Search Space Reduction (SSR)</head><p>Figure <ref type="figure" target="#fig_4">4</ref> presents the SSR for each function. In a first step, the sets Mi are initialized with either the ECUs defined in C I,i (1a) or, in case C I,i is not defined, with all ECUs from M (1b). Afterwards, M i is reduced by C E,i (2), by the ECUs that do not fulfil the constraints on functional requirements (3), and by the ECUs that do not provide sufficient resources for function f i (4). Step (5) ensures that the sets M i and M j of two functions to be forced together contain the same ECU elements. Finally, if functions to be banned from f i are already allocated to a certain ECU, this ECU is removed from M i (6).    <ref type="table" target="#tab_2">3</ref>, the search space could be pruned to about 1 % of its original size. This has also an impact on the number of generations for finding the optimal solutions. With a population size of 10, we commonly find the five Pareto-points after 15 generations, whereas an EA with repair mechanism needs 150 generation and an EA without repair function and mapping sets more than 5000 generations. For a larger use case with 32 functions, 10 ECUs, location constraints on 28 functions, and a population size of 50, Figure <ref type="figure" target="#fig_6">5</ref> shows the mean hypervolume values over 25 optimization runs. Whereas the standalone NSGA-II finds first feasible solutions after 60 generations and then slowly increases, the NSGA-II with SSR converges after 140 generations. </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Function Allocation</figDesc><graphic coords="2,186.64,116.83,242.08,206.54" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1</head><label>1</label><figDesc>Figure 1 exemplary shows the two input models to the optimization. The function model consists of a set F of functions with inter-dependencies being represented by directed edges. The architecture is modelled by a set E of ECUs connected by bus structures. Properties describe the available resources on the ECUs and the resource demands as well as functional requirements of the functions. For example, the computing requirements for each function are represented by r f and the available computing resources for each ECU by r e , respectively.The allocation of vehicle functions to the ECUs is represented by a mapping vector m indicating for each function f i the corresponding ECU identifier e j . By default, each function can be allocated to each ECU, such that the set of all possible ECUs for f i is M = {e 1 , ..., e J } and the number of possible solutions is S = |E| |F | .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Structure of Evolutionary Algorithm</figDesc><graphic coords="3,186.64,408.61,242.07,124.21" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Evaluation of individuals</figDesc><graphic coords="4,195.29,116.83,224.78,110.48" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Reduction sequence</figDesc><graphic coords="4,203.93,412.47,207.51,56.56" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Furthermore, let C I, 2 =</head><label>2</label><figDesc>{e 1 , e 2 , e 3 }, C E,5 = {e 1 }, and consider f orce(f 5 , f 6 ) and ban(f 1 , f 2 ). Applying SSR to the optimization problem results in M 1 = {e 1 }, M 2 = {e 2 , e 3 }, M 3 = {e 1 , e 2 , e 3 }, M 4 = {e 1 , e 2 , e 3 }, M 5 = {e 2 , e 3 , e 4 } and M 6 = {e 2 , e 3 , e 4 }. As shown in Table</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. Hypervolume with SSR (black) and without (blue)</figDesc><graphic coords="5,229.87,375.74,155.61,64.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 and</head><label>1</label><figDesc>Table 2 exemplary show the property values for the optimization problem presented in Figure 1.</figDesc><table><row><cell></cell><cell cols="6">f1 f2 f3 f4 f5 f6</cell></row><row><cell>r f</cell><cell>6</cell><cell>2</cell><cell>3</cell><cell>1</cell><cell>2</cell><cell>3</cell></row><row><cell cols="2">f req f 8</cell><cell>0</cell><cell>4</cell><cell>4</cell><cell>2</cell><cell>1</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 .</head><label>1</label><figDesc>Function requirements</figDesc><table><row><cell></cell><cell cols="5">e1 e2 e3 e4 e5</cell></row><row><cell>re</cell><cell cols="2">10 10</cell><cell>5</cell><cell cols="2">10 10</cell></row><row><cell cols="2">f reqe 8</cell><cell>4</cell><cell>8</cell><cell>2</cell><cell>1</cell></row><row><cell cols="6">Table 2. ECU properties</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 3 .</head><label>3</label><figDesc>Size of search space after each reduction step</figDesc><table /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">System-level synthesis using evolutionary algorithms</title>
		<author>
			<persName><forename type="first">Tobias</forename><surname>Blickle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jrgen</forename><surname>Teich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lothar</forename><surname>Thiele</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Design Automation for Embedded Systems</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="23" to="58" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A fast and elitist multiobjective genetic algorithm: NSGA-II</title>
		<author>
			<persName><forename type="first">Kalyanmoy</forename><surname>Deb</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Evolutionary Computation</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="182" to="197" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
	<note>IEEE Transactions on</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Optimisation of the allocation of functions in vehicle networks</title>
		<author>
			<persName><forename type="first">Bernd</forename><surname>Hardung</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Shaker</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Evolutionary exploration of e/e-architectures in automotive design</title>
		<author>
			<persName><forename type="first">Ralph</forename><surname>Moritz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tamara</forename><surname>Ulrich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lothar</forename><surname>Thiele</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Operations Research Proceedings 2011</title>
				<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="361" to="366" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The automotive deployment problem: A practical application for constrained multiobjective evolutionary optimisation</title>
		<author>
			<persName><forename type="first">Irene</forename><surname>Moser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sanaz</forename><surname>Mostaghim</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Evolutionary Computation</title>
				<imprint>
			<publisher>CEC</publisher>
			<date type="published" when="2010">2010. 2010</date>
		</imprint>
	</monogr>
	<note>IEEE Congress on. IEEE</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">An automotive specific MILP model targeting power-aware function partitioning</title>
		<author>
			<persName><forename type="first">Gregor</forename><surname>Walla</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIV), 2014 International Conference on</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
