8
An Evolutionary Multiobjective Optimization Approach to Component-Based Software Architecture Design R. Li * , R. Etemaadi * , M.T.M. Emmerich * and M.R.V. Chaudron * * Leiden Institute of Advanced Computer Science (LIACS) Leiden University, 2333 CA, Leiden, The Netherlands Email: {ruili, etemaadi, emmerich, chaudron}@liacs.nl Abstract—The design of software architecture is one of the difficult tasks in the modern component-based software de- velopment which is based on the idea that develop software systems by assembling appropriate off-the-shelf components with a well-defined software architecture. Component-based software development has achieved great success and been extensively applied to a large range of application domains from realtime embedded systems to online web-based applications. In contrast to traditional approaches, it requires software architects to address a large number of non-functional requirements that can be used to quantify the operation of system. Moreover, these quality attributes can be in conflict with each other. In practice, software designers try to come up with a set of different architec- tural designs and then identify good architectures among them. With the increasing scale of architecture, this process becomes time-consuming and error-prone. Consequently architects could easily end up with some suboptimal designs because of large and combinatorial search space. In this paper, we introduce AQOSA (Automated Quality-driven Optimization of Software Architecture) toolkit, which integrates modeling technologies, performance analysis techniques, and advanced evolutionary multiobjective optimization algorithms (i.e. NSGA-II, SPEA2, and SMS-EMOA) to improve non-functional properties of sys- tems in an automated manner. Index Terms—AQOSA, Evolutionary Multiobjective Optimiza- tion, Software Architecture, Component-Based Software Engi- neering, Non-functional Properties I. I NTRODUCTION After several decades of development, modern software systems become more and more large and complicated and therefore very difficult to extend and maintain. For example, real-time embedded systems for modern automobile, which are often built to accomplish specific functionalities, can integrate thousands of software and hardware components. To guarantee requirements such as safety and robustness makes the design very challenging. As a rapidly developing research field of software engi- neering community, component-based software development has received more and more attention in the last few years. It has achieved great success and been extensively used for a large number of engineering and application domains, i.e., em- bedded systems design. Compared to some traditional devel- opment approaches, component-based software development not only increases system reusability but also offers better predictability for the quality attributes of architectures. With them, designers have the opportunity to analyze the quality properties of computer system at a high level and thus can make a proper architectural decision which satisfies the quality attributes at the very early architectural stage of the project. In many cases, these quality properties can be in conflict with each other, that is, improving one quality property can have a negative impact on others. Thus, to construct a system that optimizes all its requirements simultaneously could be difficult if not impossible. For instance, improving system performance often needs more powerful hardware, which could increase the overall production cost in the meantime. One possible is to find (or approximate) the set of Pareto optimal solutions. Then this set of alternative architectures will be the basis for trade-off analysis with respect to conflicting quality requirements. In current practice, this process can be performed on the small-scale system design manually. However, when con- fronted with a larger scale and more complex system the pro- cess can be very time-consuming and error-prone. Under such circumstances, having some of this work automated could be a considerable cost saver. To this end we propose our AQOSA toolkit which has been developed to enable component-based development and automatically improve the non-functional properties of an architectural design, thus allow architects to focus on the higher-level design decisions. More specific, beginning with some initial (provided) architectures, AQOSA toolkit can use optimizer (i.e., evolutionary algorithms) to not only produce several design alternatives, but also apply pareto-front analysis to newly created architectures according to multiple attributes of interests. In this paper these attributes will be the resource utilization, the cost, and the data flow latency. In order to find approximations to Pareto optimal sets, advanced evolutionary multiobjective optimization algorithms (EMOA) have been made available in recent years. These algorithm apply generic operators of variation and thus are applicable to search non-standard combinatorial search spaces taking into account domain specific characteristics of the prob- lem. Selection operators are used to guide the search towards interesting regions of the combinatorial search space. Their design is targeted towards favoring non-dominated solutions, and - as a secondary priority - finding a diverse set of solutions

An Evolutionary Multi-objective Optimization Approach to Computer Go Controller Synthesis

  • Upload
    ums

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

An Evolutionary Multiobjective OptimizationApproach to Component-Based Software

Architecture DesignR. Li∗, R. Etemaadi∗, M.T.M. Emmerich∗ and M.R.V. Chaudron∗

∗Leiden Institute of Advanced Computer Science (LIACS)Leiden University, 2333 CA, Leiden, The NetherlandsEmail: {ruili, etemaadi, emmerich, chaudron}@liacs.nl

Abstract—The design of software architecture is one of thedifficult tasks in the modern component-based software de-velopment which is based on the idea that develop softwaresystems by assembling appropriate off-the-shelf components witha well-defined software architecture. Component-based softwaredevelopment has achieved great success and been extensivelyapplied to a large range of application domains from realtimeembedded systems to online web-based applications. In contrastto traditional approaches, it requires software architects toaddress a large number of non-functional requirements that canbe used to quantify the operation of system. Moreover, thesequality attributes can be in conflict with each other. In practice,software designers try to come up with a set of different architec-tural designs and then identify good architectures among them.With the increasing scale of architecture, this process becomestime-consuming and error-prone. Consequently architects couldeasily end up with some suboptimal designs because of largeand combinatorial search space. In this paper, we introduceAQOSA (Automated Quality-driven Optimization of SoftwareArchitecture) toolkit, which integrates modeling technologies,performance analysis techniques, and advanced evolutionarymultiobjective optimization algorithms (i.e. NSGA-II, SPEA2,and SMS-EMOA) to improve non-functional properties of sys-tems in an automated manner.

Index Terms—AQOSA, Evolutionary Multiobjective Optimiza-tion, Software Architecture, Component-Based Software Engi-neering, Non-functional Properties

I. INTRODUCTION

After several decades of development, modern softwaresystems become more and more large and complicated andtherefore very difficult to extend and maintain. For example,real-time embedded systems for modern automobile, which areoften built to accomplish specific functionalities, can integratethousands of software and hardware components. To guaranteerequirements such as safety and robustness makes the designvery challenging.

As a rapidly developing research field of software engi-neering community, component-based software developmenthas received more and more attention in the last few years.It has achieved great success and been extensively used for alarge number of engineering and application domains, i.e., em-bedded systems design. Compared to some traditional devel-opment approaches, component-based software developmentnot only increases system reusability but also offers betterpredictability for the quality attributes of architectures. With

them, designers have the opportunity to analyze the qualityproperties of computer system at a high level and thus canmake a proper architectural decision which satisfies the qualityattributes at the very early architectural stage of the project.

In many cases, these quality properties can be in conflictwith each other, that is, improving one quality property canhave a negative impact on others. Thus, to construct a systemthat optimizes all its requirements simultaneously could bedifficult if not impossible. For instance, improving systemperformance often needs more powerful hardware, whichcould increase the overall production cost in the meantime.One possible is to find (or approximate) the set of Paretooptimal solutions. Then this set of alternative architectures willbe the basis for trade-off analysis with respect to conflictingquality requirements.

In current practice, this process can be performed on thesmall-scale system design manually. However, when con-fronted with a larger scale and more complex system the pro-cess can be very time-consuming and error-prone. Under suchcircumstances, having some of this work automated could bea considerable cost saver. To this end we propose our AQOSAtoolkit which has been developed to enable component-baseddevelopment and automatically improve the non-functionalproperties of an architectural design, thus allow architectsto focus on the higher-level design decisions. More specific,beginning with some initial (provided) architectures, AQOSAtoolkit can use optimizer (i.e., evolutionary algorithms) tonot only produce several design alternatives, but also applypareto-front analysis to newly created architectures accordingto multiple attributes of interests. In this paper these attributeswill be the resource utilization, the cost, and the data flowlatency.

In order to find approximations to Pareto optimal sets,advanced evolutionary multiobjective optimization algorithms(EMOA) have been made available in recent years. Thesealgorithm apply generic operators of variation and thus areapplicable to search non-standard combinatorial search spacestaking into account domain specific characteristics of the prob-lem. Selection operators are used to guide the search towardsinteresting regions of the combinatorial search space. Theirdesign is targeted towards favoring non-dominated solutions,and - as a secondary priority - finding a diverse set of solutions

on the Pareto front. Here we will apply advanced EMOA suchas NSGA-II [1], SPEA2 [2], and SMS-EMOA [3] and compareto each other and to a random search which serves as a baselinealgorithm.

The paper is organized as follows. Section II reports relatedwork and discusses in which respect it is different from ours.Section III explains in detail our proposed AQOSA toolkit,especially the overview of working scheme. Evolutionarymultiobjective optimization that will be used in this work isdiscussed in Section IV. Two concrete real-world applications(car radio navigation system and business reporting system) aswell as some experimental results are presented in Section V.Finally, conclusions and future works are given in Section VI.

II. RELATED WORK

Due to the large and discontinuous design search space,it is almost impossible for software architects to find opti-mal architecture designs. Researchers have introduced sev-eral approaches to assist architects to access non-functionalrequirements of a given system and then improve softwarearchitecture automatically. In principle, these approaches canbe categorized into two groups: (1) Metaheuristic-based meth-ods and (2) Rule-based (diagnose detection) methods. In thefollowing some representative methodologies will be reviewed.

Martens et al. [4] introduced approach which could auto-matically improve software architectures based on trade-offanalysis of performance, reliability, and cost by using a mul-ticriteria genetic algorithm. The Palladio Component Model(PCM), a software component model for business informationsystems, is used for modeling and quality prediction. Morespecific, Layered Queueing Networks (LQN) methods is usedfor performance property prediction and Markov model isadopt for reliability property measurement. After the success-ful application on business reporting system, Martens pointedout some limitations of their approach, especially the limitationon degrees of freedom which are provided to be explored.

ArcheOpterix [5] is another generic framework which op-timize architecture models with evolutionary algorithms. Itworks on the basis of AADL (Architecture Analysis & DesignLanguage) models. Two quality criteria (data transmissionreliability and communication overhead) are defined and theevaluation is based on formal mathematical analysis. Bydesign, it supports only one degree of freedom for exploration,that is allocation of software components. Similar to Marten’sapproach, ArchiOpterix suffers from the limitation on searchfreedom and has chance to be trapped by some suboptimalsolutions.

MOSES [6] is the third methodology for automated feed-back generation for software performance analysis. It aims atsystematically evaluating performance prediction results usingstep-wise refinement. It is built on top of the UML-RT (UMLfor Real-Time) and presents a new implementation based onthe UML2 metamodel. A unique feature of this approach isthat it tries to diagnose the cause of performance problems inthe system model level.

A first application of evolutionary multiobjective optimiza-tion for evolving conceptual software design was reportedin [7]. They showed that the evolutionary approach is promis-ing for exploring the discrete search spaces for such problems.We note that the application domain of that paper is objectoriented software design. Though related, the application do-main in our paper differs to this, as we are concerned withcomponent based software design, including considerations onsoftware and hardware.

Our proposed AQOSA toolkit, which deploys both advancedmodeling technology and evolutionary multiobjective opti-mization algorithms (SMS-EMOA for instance) with speciallydesigned genetic encoding scheme, allows not only morequality attributes analysis but also exploration with moredegrees of freedom such as architecture topology.

III. AQOSA TOOLKIT

The overview of working process of AQOSA toolkit isdepicted in Figure 1. As can be seen, the automated op-timization process starts with some initial input softwarearchitectures, which could be designed by domain experts byusing some advanced model design tools. After that, thesearchitecture models enter into a metaheuristic loop. That is, thetoolkit generates some alternative architecture models throughsome genetic operations such as “mutation” and “operator”.These models are evaluated and corresponding multiple qualitycriteria of interests are obtained afterwards. More specific,processor utilization, data flow latency, and cost metrics areaddressed in this work.

Fig. 1: The detailed working scheme of AQOSA (AutomatedQuality-Driven Optimization of Software Architecture)toolkit.

As indicated earlier, some conflicting quality attributes,such as resource utilization and cost, are often involved insystem performance analysis. Consequently the dominationprinciple could be adopted by evolutionary optimizer for doingtradeoff analysis on quality attributes which are extractedthrough an extractor based on our performance metrics. Somegood architectures are then selected from current available

solutions. Next, we will explain some key components andrelated techniques in detail.

A. Architecture Modeling

For software architecture modeling, as a natural extensionof previous work [8] AQOSA integrates ROBOCOP [9] (Ro-bust Open Component Based Software Architecture for Con-figurable Devices Project) modeling language. Furthermore,AQOSA supports AADL (Architecture Analysis & DesignLanguage) which is now widely recognized industrial standardin modeling embedded and real-time architectures. AADL al-lows the designers to expand model by defining new property-sets in their own specific way. The architect can easily designthe initial architecture in OSATE (Open Source AADL ToolEnvironment) and then import it into AQOSA framework.

B. Evaluation Engine

To use ADeS [10] as the core part of our AQOSA simulationengine, we made some modifications of ADeS in schedulingand added new features for data flow latencies evaluating.More specifically speaking, our evaluation engine first loadsan AADL model and create necessary objects for simulation.After that, it generates system events based on the behaviourannex of the model and follow the events through the modelconnections till end of flows. For complex and concurrentevents, the scheduling module decide which process can takethe processor. In this way, the precision of evaluation for thesystem quality properties is kind of guaranteed.

At present, we implement three quality properties: proces-sor utilization, data flow latency and architecture cost. Bydesign, AQOSA toolkit can be easily extended to supportother quantitative quality criteria of software architectures byintroduce new evaluation plug-ins, i.e. for communication linesloads evaluation, we just needed to add a new listener whichimplements the measurement of the bus load to our simulationengine. Another advantage of AQOSA is that it provides somevery flexible API for the interaction between evaluator andvarious optimization frameworks such as Opt4J1 and JMetal2.

IV. EVOLUTIONARY OPTIMIZER

Evolutionary multiobjective optimization (EMO) [11] de-rives from single objective evolutionary optimization (EO)algorithms and is recognized as a fast growing fields ofresearch. It is relatively simple to implement and wide-spreadapplicable. In this work, three representative elitist multiob-jective optimization algorithms (NSGA-II [1], SPEA2 [2], andSMS-EMOA [3]) from literatures are chosen and applied totwo architectural design tasks for real-world applications: (1)The car radio navigation (CRN) system. (2) The businessreporting system (BRS).

1Opt4J: http://opt4j.sourceforge.net2JMetal: http://jmetal.sourceforge.net

A. Search problem formulation

From a multiobjective optimization perspective, architecturedesign problem can be generalized as following optimizationtask (see Equation 1 below):

min fm(x), m = 1, 2, . . . ,M (1)s.t. gj(x) & 0 j = 1, 2, . . . , N

Here, x is a solution and can be of any domain. In the givencontext, x could be a valid architecture from system designdomain which is a discrete, combinatorial search space. Foreach solution x, there exists m = 3 objectives. These are f1 :Processor utilization, f2 : Cost, and f3 : Data flow latency.The conditions based on gj , j = 1, 2, . . . , N represent anumber of constraints which any feasible solution must satisfy.The aim is not only provide one optimal solution but rather toprovide a broad variety of interesting, that is non-dominated,solutions representing trade-offs in the objective space. Recall,that the efficient set is the set of all non-dominated solutionswith respect to the dominance relation

x ≺ x′ (in words: x dominates x’) (2)⇔ ∀i ∈ {1, ...,M} : fi ≤ fi(x′) (3)

and ∃j ∈ {1, ...,M} : fi(x) < fi(x′) (4)

(5)

Formally, the efficient set Xe is given by

Xe = {x ∈ XF | 6 ∃x′ ∈ XF : x′ ≺ x} (6)

where XF is the set of points from the search domain thatsatisfies all constraints. Now, with the term Pareto front wedenote the image of the efficient set under (f1, ..., fM ) in theobjective space RM :

PF = {(f1(x), ..., fM (x))|x ∈ Xe} (7)

As the efficient set excludes exactly all dominated solutions,which are not of interest, it represents a set of all possiblesolutions, given no more preferences than in the originalproblem statement are given. From this set a compromisesolution can be obtained, for instance by inspection, and itcan serve as a basis of trade-off analysis.

Using this terminology, because of the conflict betweendifferent objectives (i.e. f1, f2 and f3), the ideal goal ofmultiobjective optimization is to find not only a set of solutionsthe objective function vectors of which lie on the Pareto frontbut also solutions which are diverse enough to represent theentire range of the Pareto front [11].

B. Multiobjective Optimization Algorithms

This section outlines basic principles of the EMOA whichwe used to optimize software architectures in this work.

1) NSGA-II: The NSGA-II (non-dominated sorting basedmulti-objective evolutionary algorithm) has been proposed byDeb [1] is one the most widely used EMO technique inliterature. Therefore we will also employ it in this study. Itis a (µ+ λ) Evolutionary Algorithm. The NSGA-II selectionis composed of two phases. At first, a non-dominated sorting isapplied to obtain a preliminary ranking on the set of decisionvectors. Next, the solutions which share the same rank in thispreliminary ranking are sorted among each others by means ofthe crowding distance criterion. The secondary ranking willreward the selection of diverse subsets from sets of mutuallynon-dominated solutions. (for details we refer [1]).

2) SPEA2: The SPEA2 (an improved version strengthpareto evolutionary algorithm) has been suggested by Zitzlerand Thiele [2] and, next to NSGA-II, is also widely usedin applied multiobjective optimization. In SPEA, solutionsare ranked based on a fitness function for each individual.It is computed by means of the number of solutions thatare dominated and the number of solutions it dominates in apopulation. In addition, equivalent solutions are ranked basedon diversity. Compared to its predecessor (SPEA), SPEA2incorporates a more fine-grained fitness assignment strategy,a density estimation technique, and an enhanced archive trun-cation method (for details we refer [2]).

3) SMS-EMOA: The SMS-EMOA (S-metric selection evo-lutionary multiobjective algorithm) is proposed by Emmerich,Beume and Naujoks [12]. It is a representative of the class ofhypervolume-based EMOA, which recently gained importancein the EMOA field, as they perform very well on the standardbenchmarks and have monotonicity properties that make themamenable to theoretical convergence analysis [3].

The hypervolume measure (S-metric) [13] is a frequentlyapplied quality measure for comparing the quality of Paretofront approximations achieved by EMOA. As opposed to otherindicators it does not require a-priori knowledge of the Pareto

Fig. 2: Hypervolume contributions: 2D (top) and 3D (bottom)

front.The hypervolume indicator (or: hypervolume) of a popu-

lation is defined as the volume of the dominated subspace,bounded by a reference point r:

Hyp(S) =

Vol{y ∈ RM |y is dominated by some y ∈ P and y ≺ r}

Hypervolume-based EMOA, such as SMS-EMOA, computethe hypervolume increments in order to assign fitness toindividuals. SMS-EMOA, features a selection operator basedon the hypervolume measurement which combines the conceptof non-dominating sorting as a primary ranking criterion tothat of hypervolume contributions of points as a secondaryranking criterion.

Algorithm 1 SMS-EMOA (µ+ 1)

1: P0 ← init()2: t← 03: repeat4: qt+1 ← generate(Pt)5: Pt+1 ← Reduce(Pt ∪ {qt+1})6: t← t+ 17: until termination condition fulfiled

The basic algorithm is described in Algorithm 1. It startswith an initial µ individuals. In each iteration a new individualis generated and inserted into the population, and, to keepthe population size constant, a individual is discarded. Thediscarded individual is taken from the worst ranked partitionafter non-dominated sorting of the population. In case theworst rank is shared by multiple individuals, the individual thathas the lowest contribution to the hypervolume is discarded.In other words, the subset of the partition remains in thepopulation, which has the highest hypervolume indicator.

In detail, given a set X of mutually non-dominated solu-tions, the contribution to the hypervolume is defined as:

∆S(x) = S(X)− S(X \ {x})

As an example, 2-D and 3-D hypervolume contributions arevisualized in Figure 2.

In 2-D the computation of hypervolume contributions isstraightforward and can be achieved in O(n log n) runningtime [12]. In 3-D an efficient algorithm for computing contri-butions, with the same time complexity, is given by Emmerichand Fonseca [14].

C. Generic degree of freedom to exploration

With a specifically for this problem designed genotyperepresentation, the following degrees of freedom to explorationare implemented: (1) System hardware topology (hypergraph),i.e. processor/bus can be added or removed from the system,(2) Allocation of service instances, (3) Replacement betweendifferent hardwares, i.e. one component can be replaced byits counterparts from available hardware repository. In thefollowing, the car radio navigation system will be used as

a concrete example to explain adopt genotype and supportedarchitectures. Figure 3 illustrates how the genotype is used todescribe possible architecture topologies as well as mappingof services. Figure 4 shows three system topologies which aresupported and valid for car radio navigation (CRN) architec-ture design (i.e. case study in Section V).

Fig. 3: Genotype vector for possible software architecturesrepresentation.

Fig. 4: Possible topologies supported by genotype representa-tion: Single processor node (left), Two processor nodes withsingle bus (middle), and Three processor nodes with singlebus (right).

V. CASES STUDY AND EXPERIMENTAL RESULTS

To validate our proposed AQOSA toolkit, especially threeup-to-date elitist evolutionary multiobjective optimization al-gorithms, we applied it to two benchmark applications fromreal-world: (1) The car radio navigation (CRN) system [15]and (2) The business reporting system [4]. The major challengeis to determine a set of optimal architectures with respect toquality attributes such as the processor utilization, the cost,and the data flow latency. Technically speaking, we investigatehow to distribute these aforementioned functionalities over theavailable resources to meet some global requirements. Forboth cases studies, three state-of-the-art evolutionary multiob-jective optimization algorithms3, Nondominated Sorting Ge-netic Algorithm (NSGA-II) and Strength Pareto Evolutionary

3Implemented in Opt4J.

Fig. 5: Overview of the CRN system functionality.

Approach 2 (SPEA2), and S-metric selection EMOA (SMS-EMOA) are used. Random search is also used to comparewith these three algorithms. Next, we will explain these tworeal-world applications in detail.

A. Car Radio Navigation System

The CRN system is constructed according the thecomponent-based paradigm. An overview of the softwarearchitecture is depicted in Figure 5. As can be seen, the CRNsystem contains three major functional blocks:• The Man-Machine Interface (MMI), that takes care of

all interactions with the end-user, such as handling keyinputs and graphical display output.

• The Navigation functionality (NAV) is responsible fordestination entry, route planning and turn-by-turn routeguidance giving the driver visual advices. The navigationfunctionality relies on the availability of map databaseand positioning information.

• The Radio functionality (RAD) is responsible for tunerand volume control as well as handling of traffic messagechannel information services.

Experimental Setup: For experiments, the following param-eter settings are adopted for CRN design problems: initialpopulation size (α): 100, parent population size (µ): 50,

Fig. 6: Resulting Pareto front approximations of archive pop-ulation after 100 generations of one typical run of SMS forCRN . Colors are used to distinguish between different foundarchitecture topologies.

Fig. 7: Plot between two objectives of archive population (non-dominant solutions): Cost vs. Processor utilization (left) andCost vs. Data flow latency (right).

number of offspring (λ): 50, archive size (with populationtype): 100, number of generation: 100, crossover rate is set to0.95, constant mutation probability is 0.01. For SMS-EMOA,(50 + 1) strategy is used according to the design principle.For each algorithm we run AQOSA 15 times with differentrandom seeds (≈1.5 hours per run).

Experimental Results: The resulting archive of optimalsolutions can be visualized in the 3-D Pareto front with respectto f1: processor utilization, f2: cost, and f3: data flow latencyin Figure 6. An interesting finding is that the resulting Paretofront consists of three segmentation (with a gap in between).This could be the result of discontinuities in the search spacecaused by structural transitions. By identifying (using differentcolors for different topologies) and mapping each individualfrom the archive back to the corresponding design architecture,solutions from same segmentation share the same architecturaltopology (i.e. Figure 4). This discovery is consistent withour understanding of CRN system, for instance, solutionswith topology-3 (blue circles) normally have lower processorutilization and higher cost for the hardware. On the contrary,solutions with topology-1 (red circles) have higher processorutilization and lower cost.

The 2-D plot of two quality attributes (cost vs. processorutilization and cost vs. data flow latency) is presented inFigure 7. In this way, the software architect can make tradeoffdecision much easier. For instance, the left plot shows the pro-cessor utilization over the cost per candidate architecture whilethe right one indicates the data flow latency over the cost4.Furthermore, the box-plots of the hypervolume indicator [13]for ref. point (1, 1, 1)T of archive population for NSGA-II,SPEA2, SMS-EMOA, and random search over 15 runs arepresented in Figure 8. It gets clear that all algorithms andrandom search show comparable performance to each other.This is maybe because that the CRN design problem is stillrelatively simple and given enough evaluation time exhaustive

4There is no obvious conflict between the processor utilization and the dataflow latency, so the corresponding plot is excluded here.

Fig. 8: The box-plots of the hypervolume indicator for NSGA-II, SPEA2, SMS-EMOA, and random search on CRN designproblem over 15 runs.

Fig. 9: Overview of the BRS functionality.

search can perform well. It needs to be investigated, though,why the evolutionary multiobjective optimization algorithmsnot always obtained the solution with maximal hypervolume.Note that the differences of the results in hypervolume aremarginal and overlooking a single solution might already havea visible effect in the scaled box-plot.

B. Business Report System

The original business reporting system (BRS) was describedin [4]. To meet our specific requirements, we made somemodifications regarding modeling to gather quality attributessuch as CPU utilization, cost, and data flow latency in ourexperiments. From a component-based software developmentpoint of view, BRS is a 4-tier system consisting of 8 softwarecomponents. The WebServer component handles user requestsfor generating reports or viewing the plain data logged bythe system. It delegates the requests to a Dispatcher compo-nent, which in turn distributes the requests to four replicatedReportingServers. The replication helps balancing the loadin the system, because the processing load for generatingreports from the database contents is considered significant.The ReportingServers access two replicated Databases for thebusiness data. Figure 9 depicts the overview of reporting sys-tem. Like the reference model, our case study also analyses ausage scenario, where 50 users access the system concurrently.Each user requests a report from the system and then looks atthe results for 10 seconds before issuing the next request.

Experimental Setup: For the BRS design problem, wechoose settings as follows: initial population size is 100,parent population size is 100, number of offspring is 100, forSMS-EMOA (100 + 1), archive size is 100, the number ofgenerations is 500, for random search the archive type is setto unbounded, other settings like crossover rate and mutationprobability are same as CRN. Similar to CRN experiments,we run AQOSA 15 runs (≈ 3 hours per run) for each of thealgorithm (including random search).

Experimental Results: The resulting archive of optimalsolutions is visualized in the 3-D Pareto front with respect toprocessor utilization, cost, and data flow latency in Figure 10.

Similar to CRN, the resulting Pareto front approximation ispartitioned into several segments (7 in this typical run). Thiscould, as in the previous example, be the result of disconti-nuities in the search space caused by structural transitions.Solutions from same segmentation share the same numberof processor nodes. The colors used for different topologiessupport this. Compared with the architecture design presentedin [4], a well-balanced solution as well as the correspondingarchitecture is illustrated in Figure 14.

For comparison, we also present 3-D plot of random searchin Figure 12. As can be seen, there are fewer segmentations(5 in this typical run) found. The reason could be that BRSdesign problem is more complex than CRN and there are muchmore supported topologies to be explored.

We also present both the 2-D plot of two quality attributes(cost vs. processor utilization and cost vs. data flow latency)in Figure 11 and the box-plots of the hypervolume indicatorfor ref. point (1, 1, 1)T of archive population for NSGA-II,SPEA2, SMS-EMOA, and random search over 15 runs arepresented in Figure 13. From the box-plot (Figure 13), wecan clearly see that SMS-EMOA shows better performancecompared the other algorithms. Random search (even withunbounded archive size) shows by far the worst performance.

Fig. 10: Resulting Pareto front approximations of archivepopulation after 500 generations of one typical run of SMSfor business reporting system. Colors are used to distinguishbetween different found architecture topologies.

Fig. 11: Plot between two objectives of archive population:Cost vs. Processor utilization (left) and Cost vs. Data flowlatency (right).

Fig. 12: Resulting Pareto front approximations of archivepopulation after 50000 evaluations of one typical run ofrandom for BRS. Colors are used to distinguish betweendifferent found architecture topologies.

Fig. 13: The box-plots of the hypervolume indicator forNSGA-II, SPEA2, SMS-EMOA, and random search on CRNdesign problem over 15 runs (right).

VI. CONCLUSIONS AND OUTLOOK

In this work, we presented so-called AQOSA (AutomatedQuality-driven Optimization of Software Architecture) toolkitand applied it to a small-scale and a large-scale real-worldapplications: (1) The car radio navigation (CRN) system and(2) The business reporting system (BRS). It turns out thatAQOSA can help software architects to reduce the work-load for modeling. In addition, it can automatically improvequality attributes of designed model by using multiobjectiveoptimization algorithms. Different multiobjective optimizationalgorithms were evaluated in this paper for their performancein the AQOSA approach. As opposed to previous work,different advanced EMO algorithms were compared to eachother. Besides, this paper also presents a more detailed post-optimization analysis. The focus has been on state-of-the-art evolutionary multiobjective algorithms, NSGA-II, SPEA2,and SMS-EMOA, that were augmented with search operatorsconsidering structural characteristics of the search space. Allalgorithms were used or implemented (in case of SMSEMOA)

within the Opt4J Java library5.The empirical results show, that while for small-scall design

problems, such as CRN, random search on the problem spe-cific results is sufficient to obtain good results, for large scaleproblem BRS evolutionary multiobjective algorithms show asignificantly better performance than random search. Amongdifferent techniques SMS-EMOA, can be recommended forgenerating a evenly spaced solutions set with a relatively smallpopulation of points. Also SPEA2 performs very well forlarge scale design problems. Both algorithms find good Paretofront approximations with a high reliability. One interestingfinding is the structure of the trade-off surface. While thetrade-off between cost and utilization leads to a continuoustrade-off curve, the trade-off curve between latencies andcost is segmented. A deeper understanding of this topologicaldilemma would be desirable.

For future research several questions are of interest:1) Besides aforementioned attributes (the resource utiliza-

tion, the cost, and the data flow latency) which westudied in this work, other non-functional qualities suchas power consumption, safety, and reliability will beintegrated in the future version of AQOSA toolkit. Thiswill turn the problem into a many objective optimizationproblem (see [16]).

2) Knowledge-based crossover and mutation operators mayfurther improve the search performance. In this way,AQOSA would be able to predict some architectural bot-tlenecks and generate genotypessmartly. This researchwill require a more detailed analysis of the searchlandscape characteristics.

3) More challenging application from industry (e.g., real-time embedded system design for automobile industry)will be modeled and tested by using our AQOSA toolkit.

ACKNOWLEDGMENT

This work has been supported by the Dutch national projectOMECA (Optimization of Modular Embedded Computer-vision Architectures) and European project SCALOPES (anARTEMIS project on SCalable LOw Power Embedded plat-formS).

REFERENCES

[1] K. Deb, S. Agrawal, A. Pratap, and T. Meyarivan, “A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization:Nsga-ii,” in Parallel Problem Solving from Nature PPSN VI, ser. LNCS,2000, vol. 1917, pp. 849–858.

[2] E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2: Improving the StrengthPareto Evolutionary Algorithm for Multiobjective Optimization,” Tech.Rep., 2002.

[3] N. Beume, B. Naujoks, and M. Emmerich, “SMS-EMOA: Multiobjec-tive selection based on dominated hypervolume,” European Journal ofOperational Research, vol. 181, no. 3, pp. 1653–1669, 2007.

[4] A. Martens, H. Koziolek, S. Becker, and R. Reussner, “Automaticallyimprove software architecture models for performance, reliability, andcost using evolutionary algorithms,” in Proceedings of the first jointWOSP/SIPEW international conference on Performance engineering,ser. WOSP/SIPEW ’10. ACM, 2010, pp. 105–116.

5Source code is available on request by the authors

Fig. 14: A well-balanced compromise solution (a valid archi-tecture design) for BRS regarding all objectives.

[5] A. Aleti, S. Bjornander, L. Grunske, and I. Meedeniya, “Archeopterix:An extendable tool for architecture optimization of aadl models,” vol. 0.Los Alamitos, CA, USA: IEEE Computer Society, 2009, pp. 61–71.

[6] V. Cortellessa, P. Pierini, R. Spalazzese, and A. Vianale, “Moses: Mod-eling software and platform architecture in uml 2 for simulation-basedperformance analysis,” in Quality of Software Architectures. Modelsand Architectures, ser. LNCS, S. e. a. Becker, Ed. Springer Berlin/ Heidelberg, 2008, vol. 5281, pp. 86–102.

[7] C. L. Simons and I. C. Parmee, “Single and multi-objective geneticoperators in object-oriented conceptual software design,” in Geneticand Evolutionary Computation Conference, GECCO 2006, Proceedings,Seattle, Washington, USA, July 8-12, 2006. ACM, 2006, pp. 1957–1958.

[8] R. Li, M. R. Chaudron, and R. C. Ladan, “Towards automated soft-ware architectures design using model transformations and evolutionaryalgorithms,” in GECCO (Companion). ACM, 2010, pp. 2097–2098.

[9] E. Bondarev, M. R. Chaudron, and P. de With, “A process for re-solving performance trade-offs in component-based architectures,” inComponent-Based Software Engineering, ser. LNCS, vol. 4063, 2006,pp. 254–269.

[10] R. S. Jean-Francois Tilman, Amelie Schyn, “Simulation of systemarchitectures with aadl,” in Proceedings of 4th International Congresson Embedded Real-Time Systems, ERTS 2008., 2008.

[11] K. Deb, “Multiobjective optimization,” J. e. a. Branke, Ed. Springer-Verlag, 2008, ch. Introduction to Evolutionary Multiobjective Optimiza-tion, pp. 59–96.

[12] M. Emmerich, N. Beume, and B. Naujoks, “An emo algorithm us-ing the hypervolume measure as selection criterion,” in EvolutionaryMulti-Criterion Optimization, ser. Lecture Notes in Computer Science,C. Coello Coello, A. Hernandez Aguirre, and E. Zitzler, Eds., vol. 3410.Springer Berlin / Heidelberg, 2005, pp. 62–76.

[13] E. Zitzler, L. Thiele, M. Laumanns, C. Fonseca, and V. da Fonseca,“Performance assessment of multiobjective optimizers: an analysis andreview,” IEEE Trans. on Evolutionary Computation, vol. 7, no. 2, pp.117–132, April 2003.

[14] M. T. M. Emmerich and C. M. Fonseca, “Computing hypervolumecontributions in low dimensions: Asymptotically optimal algorithm andcomplexity results,” in Evolutionary Multi-Criterion Optimization - 6thInternational Conference, EMO 2011, Ouro Preto, Brazil, April 5-8,2011. Proceedings, ser. Lecture Notes in Computer Science, R. H. C.Takahashi, et al. Kalyanmoy Deb, E. F. Wanner, and S. Greco, Eds.,vol. 6576. Springer, 2011, pp. 121–135.

[15] E. Wandeler, L. Thiele, M. Verhoef, and P. Lieverse, “System architec-ture evaluation using modular performance analysis: a case study,” Int JSoftw Tools Technol Transfer (STTT), vol. 8, no. 6, pp. 649–667, 2006.

[16] T. Wagner, N. Beume, and B. Naujoks, “Pareto-, aggregation-, andindicator-based methods in many-objective optimization,” in Evolution-ary Multi-Criterion Optimization, 4th International Conference, EMO2007, Matsushima, Japan, March 5-8, 2007, Proceedings, ser. LectureNotes in Computer Science, S. O. et al., Ed., vol. 4403. Springer, 2007,pp. 742–756.