Loading…

Multi-objective exploration of architectural designs by composition of model transformations

Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how i...

Full description

Saved in:
Bibliographic Details
Published in:Software and systems modeling 2019-02, Vol.18 (1), p.107-127
Main Authors: Rahmoun, Smail, Mehiaoui-Hamitou, Asma, Borde, Etienne, Pautet, Laurent, Soubiran, Elie
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3
cites cdi_FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3
container_end_page 127
container_issue 1
container_start_page 107
container_title Software and systems modeling
container_volume 18
creator Rahmoun, Smail
Mehiaoui-Hamitou, Asma
Borde, Etienne
Pautet, Laurent
Soubiran, Elie
description Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how it positively improves (possibly conflicting) EFPs. In practice, they apply well-known solutions such as design patterns manually. This is time-consuming, error-prone, and possibly sub-optimal. Well-established approaches automate the search of the design space for an optimal solution. They are based model-driven engineering techniques that formalized design decisions as model transformations and architectural elements as components. Using multi-objective optimizations techniques, they explore the design space by randomly selecting a set of components and applying to them variation operators that include a fixed set of predefined design decisions. In this work, we claim that the design space exploration requires to reason on both architectural components as well as model transformations. More specifically, we focus on possible instantiations of model transformations materialized as the application of model transformation alternatives on a set of architectural components. This approach was prototyped in RAMSES, a model transformation and code generation framework. Experimental results show the capability of our approach (i) to combine evolutionary algorithms and model transformation techniques to explore efficiently a set of architectural alternatives with conflicting EFPs, (ii) to instantiate, and select transformation instances that generate architectures satisfying stringent structural constraints, and (iii) to explore design spaces by chaining more than one transformation. In particular, we evaluated our approach on EFPs, architectures, and design alternatives inspired from the railway industry by chaining model transformations dedicated to implement safety design patterns and software components allocation on a multi-processor hardware platform.
doi_str_mv 10.1007/s10270-017-0580-2
format article
fullrecord <record><control><sourceid>proquest_hal_p</sourceid><recordid>TN_cdi_hal_primary_oai_HAL_hal_02292455v1</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2185171337</sourcerecordid><originalsourceid>FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3</originalsourceid><addsrcrecordid>eNp1kEFLwzAUx4MoOOY-gLeCJw_V99ImaY5jqBMmXvQmhLRNt4y2qUk39NvbWZ0nTy-8_P5_Hj9CLhFuEEDcBgQqIAYUMbAMYnpCJshRxpiI9PT45vyczEKwOUBKpUw5n5C3p13d29jlW1P0dm8i89HVzuveujZyVaR9sbH98Lfzuo5KE-y6DVH-GRWu6Vywv1zjSlNHvddtqJxvvvPhgpxVug5m9jOn5PX-7mWxjFfPD4-L-SouEgZ9nLISSwQOKaukzLjJdMFKypFlskpFkqMwWmRQgoSSyrREBlwbAKgyLXWeTMn12LvRteq8bbT_VE5btZyv1GEHlEqaMrbHgb0a2c67950Jvdq6nW-H8xTFjKHAJBEDhSNVeBeCN9WxFkEdnKvRuRqcq4NzRYcMHTNhYNu18X_N_4e-AFHgg8M</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2185171337</pqid></control><display><type>article</type><title>Multi-objective exploration of architectural designs by composition of model transformations</title><source>Springer Nature</source><creator>Rahmoun, Smail ; Mehiaoui-Hamitou, Asma ; Borde, Etienne ; Pautet, Laurent ; Soubiran, Elie</creator><creatorcontrib>Rahmoun, Smail ; Mehiaoui-Hamitou, Asma ; Borde, Etienne ; Pautet, Laurent ; Soubiran, Elie</creatorcontrib><description>Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how it positively improves (possibly conflicting) EFPs. In practice, they apply well-known solutions such as design patterns manually. This is time-consuming, error-prone, and possibly sub-optimal. Well-established approaches automate the search of the design space for an optimal solution. They are based model-driven engineering techniques that formalized design decisions as model transformations and architectural elements as components. Using multi-objective optimizations techniques, they explore the design space by randomly selecting a set of components and applying to them variation operators that include a fixed set of predefined design decisions. In this work, we claim that the design space exploration requires to reason on both architectural components as well as model transformations. More specifically, we focus on possible instantiations of model transformations materialized as the application of model transformation alternatives on a set of architectural components. This approach was prototyped in RAMSES, a model transformation and code generation framework. Experimental results show the capability of our approach (i) to combine evolutionary algorithms and model transformation techniques to explore efficiently a set of architectural alternatives with conflicting EFPs, (ii) to instantiate, and select transformation instances that generate architectures satisfying stringent structural constraints, and (iii) to explore design spaces by chaining more than one transformation. In particular, we evaluated our approach on EFPs, architectures, and design alternatives inspired from the railway industry by chaining model transformations dedicated to implement safety design patterns and software components allocation on a multi-processor hardware platform.</description><identifier>ISSN: 1619-1366</identifier><identifier>EISSN: 1619-1374</identifier><identifier>DOI: 10.1007/s10270-017-0580-2</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Architectural elements ; Chaining ; Compilers ; Computer Aided Engineering ; Computer Science ; Data Structures and Algorithms ; Decisions ; Design ; Design engineering ; Design optimization ; Embedded Systems ; Evolutionary algorithms ; Information Systems Applications (incl.Internet) ; Interpreters ; IT in Business ; Microprocessors ; Modeling and Simulation ; Multiple objective analysis ; Programming Languages ; Programming Techniques ; Software ; Software Engineering ; Software Engineering/Programming and Operating Systems ; Theme Section Paper ; Transformations</subject><ispartof>Software and systems modeling, 2019-02, Vol.18 (1), p.107-127</ispartof><rights>Springer-Verlag Berlin Heidelberg 2017</rights><rights>Software &amp; Systems Modeling is a copyright of Springer, (2017). All Rights Reserved.</rights><rights>Distributed under a Creative Commons Attribution 4.0 International License</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3</citedby><cites>FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3</cites><orcidid>0000-0003-0888-187X</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>230,314,776,780,881,27901,27902</link.rule.ids><backlink>$$Uhttps://telecom-paris.hal.science/hal-02292455$$DView record in HAL$$Hfree_for_read</backlink></links><search><creatorcontrib>Rahmoun, Smail</creatorcontrib><creatorcontrib>Mehiaoui-Hamitou, Asma</creatorcontrib><creatorcontrib>Borde, Etienne</creatorcontrib><creatorcontrib>Pautet, Laurent</creatorcontrib><creatorcontrib>Soubiran, Elie</creatorcontrib><title>Multi-objective exploration of architectural designs by composition of model transformations</title><title>Software and systems modeling</title><addtitle>Softw Syst Model</addtitle><description>Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how it positively improves (possibly conflicting) EFPs. In practice, they apply well-known solutions such as design patterns manually. This is time-consuming, error-prone, and possibly sub-optimal. Well-established approaches automate the search of the design space for an optimal solution. They are based model-driven engineering techniques that formalized design decisions as model transformations and architectural elements as components. Using multi-objective optimizations techniques, they explore the design space by randomly selecting a set of components and applying to them variation operators that include a fixed set of predefined design decisions. In this work, we claim that the design space exploration requires to reason on both architectural components as well as model transformations. More specifically, we focus on possible instantiations of model transformations materialized as the application of model transformation alternatives on a set of architectural components. This approach was prototyped in RAMSES, a model transformation and code generation framework. Experimental results show the capability of our approach (i) to combine evolutionary algorithms and model transformation techniques to explore efficiently a set of architectural alternatives with conflicting EFPs, (ii) to instantiate, and select transformation instances that generate architectures satisfying stringent structural constraints, and (iii) to explore design spaces by chaining more than one transformation. In particular, we evaluated our approach on EFPs, architectures, and design alternatives inspired from the railway industry by chaining model transformations dedicated to implement safety design patterns and software components allocation on a multi-processor hardware platform.</description><subject>Architectural elements</subject><subject>Chaining</subject><subject>Compilers</subject><subject>Computer Aided Engineering</subject><subject>Computer Science</subject><subject>Data Structures and Algorithms</subject><subject>Decisions</subject><subject>Design</subject><subject>Design engineering</subject><subject>Design optimization</subject><subject>Embedded Systems</subject><subject>Evolutionary algorithms</subject><subject>Information Systems Applications (incl.Internet)</subject><subject>Interpreters</subject><subject>IT in Business</subject><subject>Microprocessors</subject><subject>Modeling and Simulation</subject><subject>Multiple objective analysis</subject><subject>Programming Languages</subject><subject>Programming Techniques</subject><subject>Software</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Theme Section Paper</subject><subject>Transformations</subject><issn>1619-1366</issn><issn>1619-1374</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><recordid>eNp1kEFLwzAUx4MoOOY-gLeCJw_V99ImaY5jqBMmXvQmhLRNt4y2qUk39NvbWZ0nTy-8_P5_Hj9CLhFuEEDcBgQqIAYUMbAMYnpCJshRxpiI9PT45vyczEKwOUBKpUw5n5C3p13d29jlW1P0dm8i89HVzuveujZyVaR9sbH98Lfzuo5KE-y6DVH-GRWu6Vywv1zjSlNHvddtqJxvvvPhgpxVug5m9jOn5PX-7mWxjFfPD4-L-SouEgZ9nLISSwQOKaukzLjJdMFKypFlskpFkqMwWmRQgoSSyrREBlwbAKgyLXWeTMn12LvRteq8bbT_VE5btZyv1GEHlEqaMrbHgb0a2c67950Jvdq6nW-H8xTFjKHAJBEDhSNVeBeCN9WxFkEdnKvRuRqcq4NzRYcMHTNhYNu18X_N_4e-AFHgg8M</recordid><startdate>20190201</startdate><enddate>20190201</enddate><creator>Rahmoun, Smail</creator><creator>Mehiaoui-Hamitou, Asma</creator><creator>Borde, Etienne</creator><creator>Pautet, Laurent</creator><creator>Soubiran, Elie</creator><general>Springer Berlin Heidelberg</general><general>Springer Nature B.V</general><general>Springer Verlag</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8AO</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope><scope>1XC</scope><orcidid>https://orcid.org/0000-0003-0888-187X</orcidid></search><sort><creationdate>20190201</creationdate><title>Multi-objective exploration of architectural designs by composition of model transformations</title><author>Rahmoun, Smail ; Mehiaoui-Hamitou, Asma ; Borde, Etienne ; Pautet, Laurent ; Soubiran, Elie</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>Architectural elements</topic><topic>Chaining</topic><topic>Compilers</topic><topic>Computer Aided Engineering</topic><topic>Computer Science</topic><topic>Data Structures and Algorithms</topic><topic>Decisions</topic><topic>Design</topic><topic>Design engineering</topic><topic>Design optimization</topic><topic>Embedded Systems</topic><topic>Evolutionary algorithms</topic><topic>Information Systems Applications (incl.Internet)</topic><topic>Interpreters</topic><topic>IT in Business</topic><topic>Microprocessors</topic><topic>Modeling and Simulation</topic><topic>Multiple objective analysis</topic><topic>Programming Languages</topic><topic>Programming Techniques</topic><topic>Software</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Theme Section Paper</topic><topic>Transformations</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Rahmoun, Smail</creatorcontrib><creatorcontrib>Mehiaoui-Hamitou, Asma</creatorcontrib><creatorcontrib>Borde, Etienne</creatorcontrib><creatorcontrib>Pautet, Laurent</creatorcontrib><creatorcontrib>Soubiran, Elie</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest Pharma Collection</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>ProQuest advanced technologies &amp; aerospace journals</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>ProQuest Central Basic</collection><collection>Hyper Article en Ligne (HAL)</collection><jtitle>Software and systems modeling</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Rahmoun, Smail</au><au>Mehiaoui-Hamitou, Asma</au><au>Borde, Etienne</au><au>Pautet, Laurent</au><au>Soubiran, Elie</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Multi-objective exploration of architectural designs by composition of model transformations</atitle><jtitle>Software and systems modeling</jtitle><stitle>Softw Syst Model</stitle><date>2019-02-01</date><risdate>2019</risdate><volume>18</volume><issue>1</issue><spage>107</spage><epage>127</epage><pages>107-127</pages><issn>1619-1366</issn><eissn>1619-1374</eissn><abstract>Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how it positively improves (possibly conflicting) EFPs. In practice, they apply well-known solutions such as design patterns manually. This is time-consuming, error-prone, and possibly sub-optimal. Well-established approaches automate the search of the design space for an optimal solution. They are based model-driven engineering techniques that formalized design decisions as model transformations and architectural elements as components. Using multi-objective optimizations techniques, they explore the design space by randomly selecting a set of components and applying to them variation operators that include a fixed set of predefined design decisions. In this work, we claim that the design space exploration requires to reason on both architectural components as well as model transformations. More specifically, we focus on possible instantiations of model transformations materialized as the application of model transformation alternatives on a set of architectural components. This approach was prototyped in RAMSES, a model transformation and code generation framework. Experimental results show the capability of our approach (i) to combine evolutionary algorithms and model transformation techniques to explore efficiently a set of architectural alternatives with conflicting EFPs, (ii) to instantiate, and select transformation instances that generate architectures satisfying stringent structural constraints, and (iii) to explore design spaces by chaining more than one transformation. In particular, we evaluated our approach on EFPs, architectures, and design alternatives inspired from the railway industry by chaining model transformations dedicated to implement safety design patterns and software components allocation on a multi-processor hardware platform.</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s10270-017-0580-2</doi><tpages>21</tpages><orcidid>https://orcid.org/0000-0003-0888-187X</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 1619-1366
ispartof Software and systems modeling, 2019-02, Vol.18 (1), p.107-127
issn 1619-1366
1619-1374
language eng
recordid cdi_hal_primary_oai_HAL_hal_02292455v1
source Springer Nature
subjects Architectural elements
Chaining
Compilers
Computer Aided Engineering
Computer Science
Data Structures and Algorithms
Decisions
Design
Design engineering
Design optimization
Embedded Systems
Evolutionary algorithms
Information Systems Applications (incl.Internet)
Interpreters
IT in Business
Microprocessors
Modeling and Simulation
Multiple objective analysis
Programming Languages
Programming Techniques
Software
Software Engineering
Software Engineering/Programming and Operating Systems
Theme Section Paper
Transformations
title Multi-objective exploration of architectural designs by composition of model transformations
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-01T01%3A48%3A32IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_hal_p&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Multi-objective%20exploration%20of%20architectural%20designs%20by%20composition%20of%20model%20transformations&rft.jtitle=Software%20and%20systems%20modeling&rft.au=Rahmoun,%20Smail&rft.date=2019-02-01&rft.volume=18&rft.issue=1&rft.spage=107&rft.epage=127&rft.pages=107-127&rft.issn=1619-1366&rft.eissn=1619-1374&rft_id=info:doi/10.1007/s10270-017-0580-2&rft_dat=%3Cproquest_hal_p%3E2185171337%3C/proquest_hal_p%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c350t-45d1d106045f9986e8ac5d261589f473b17ea780d090d294d1506ae000f8a9ab3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2185171337&rft_id=info:pmid/&rfr_iscdi=true