No Cover Image

Journal article 27 views 20 downloads

Software sustainability: Research and practice from a software architecture viewpoint / Colin C. Venters; Rafael Capilla; Stefanie Betz; Birgit Penzenstadler; Tom Crick; Steve Crouch; Elisa Yumi Nakagawa; Christoph Becker; Carlos Carrillo

Journal of Systems and Software, Volume: 138, Pages: 174 - 188

Swansea University Author: Crick, Tom

Abstract

ContextModern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the...

Full description

Published in: Journal of Systems and Software
ISSN: 01641212
Published: Elsevier 2018
Online Access: Check full text

URI: https://cronfa.swan.ac.uk/Record/cronfa43519
Tags: Add Tag
No Tags, Be the first to tag this record!
first_indexed 2018-08-18T19:41:51Z
last_indexed 2018-10-23T19:14:46Z
id cronfa43519
recordtype SURis
fullrecord <?xml version="1.0"?><rfc1807><datestamp>2018-10-23T16:59:35Z</datestamp><bib-version>v2</bib-version><id>43519</id><entry>2018-08-18</entry><title>Software sustainability: Research and practice from a software architecture viewpoint</title><alternativeTitle></alternativeTitle><author>Tom Crick</author><firstname>Tom</firstname><surname>Crick</surname><active>true</active><ORCID>0000-0001-5196-9389</ORCID><ethesisStudent>false</ethesisStudent><sid>200c66ef0fc55391f736f6e926fb4b99</sid><email>9971fd6d74987b78a0d7fce128f8c721</email><emailaddr>z93Ri4T5hwMLTfh+6XG11n2HZhUyFASdV1DFdgIIhKs=</emailaddr><date>2018-08-18</date><deptcode>EDUC</deptcode><abstract>ContextModern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability &#x2013; the capacity to endure in changing environments &#x2013; is a critical concern for software architecture research and practice.ProblemAccidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change.MethodThis article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures.ContributionThe principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges.</abstract><type>Journal article</type><journal>Journal of Systems and Software</journal><volume>138</volume><journalNumber/><paginationStart>174</paginationStart><paginationEnd>188</paginationEnd><publisher>Elsevier</publisher><placeOfPublication/><isbnPrint/><isbnElectronic/><issnPrint>01641212</issnPrint><issnElectronic/><keywords>Software architecture, Software sustainability, Longevity, Evolution</keywords><publishedDay>0</publishedDay><publishedMonth>4</publishedMonth><publishedYear>2018</publishedYear><publishedDate>2018-04-01</publishedDate><doi>10.1016/j.jss.2017.12.026</doi><url>https://www.sciencedirect.com/science/article/pii/S0164121217303072</url><notes></notes><college>College of Arts and Humanities</college><department>School of Education</department><CollegeCode>CAAH</CollegeCode><DepartmentCode>EDUC</DepartmentCode><institution/><researchGroup>None</researchGroup><supervisor/><sponsorsfunders/><grantnumber/><degreelevel/><degreename>None</degreename><lastEdited>2018-10-23T16:59:35Z</lastEdited><Created>2018-08-18T15:19:55Z</Created><path><level id="1">College of Science</level><level id="2">Computer Science</level></path><authors><author><firstname>Colin C.</firstname><surname>Venters</surname><orcid/><order>1</order></author><author><firstname>Rafael</firstname><surname>Capilla</surname><orcid/><order>2</order></author><author><firstname>Stefanie</firstname><surname>Betz</surname><orcid/><order>3</order></author><author><firstname>Birgit</firstname><surname>Penzenstadler</surname><orcid/><order>4</order></author><author><firstname>Tom</firstname><surname>Crick</surname><orcid/><order>5</order></author><author><firstname>Steve</firstname><surname>Crouch</surname><orcid/><order>6</order></author><author><firstname>Elisa Yumi</firstname><surname>Nakagawa</surname><orcid/><order>7</order></author><author><firstname>Christoph</firstname><surname>Becker</surname><orcid/><order>8</order></author><author><firstname>Carlos</firstname><surname>Carrillo</surname><orcid/><order>9</order></author></authors><documents><document><filename>0043519-11092018221841.pdf</filename><originalFilename>JSSOverviewonArchitectureSustainability-submitted.pdf</originalFilename><uploaded>2018-09-11T22:18:41Z</uploaded><type>Output</type><contentLength>688984</contentLength><contentType>application/pdf</contentType><version>AM</version><cronfaStatus>true</cronfaStatus><action>Updated Copyright</action><actionDate>23/10/2018</actionDate><embargoDate>2018-12-20T00:00:00</embargoDate><documentNotes/><copyrightCorrect>true</copyrightCorrect><language>eng</language></document></documents></rfc1807>
spelling 2018-10-23T16:59:35Z v2 43519 2018-08-18 Software sustainability: Research and practice from a software architecture viewpoint Tom Crick Tom Crick true 0000-0001-5196-9389 false 200c66ef0fc55391f736f6e926fb4b99 9971fd6d74987b78a0d7fce128f8c721 z93Ri4T5hwMLTfh+6XG11n2HZhUyFASdV1DFdgIIhKs= 2018-08-18 EDUC ContextModern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability – the capacity to endure in changing environments – is a critical concern for software architecture research and practice.ProblemAccidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change.MethodThis article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures.ContributionThe principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges. Journal article Journal of Systems and Software 138 174 188 Elsevier 01641212 Software architecture, Software sustainability, Longevity, Evolution 0 4 2018 2018-04-01 10.1016/j.jss.2017.12.026 https://www.sciencedirect.com/science/article/pii/S0164121217303072 College of Arts and Humanities School of Education CAAH EDUC None None 2018-10-23T16:59:35Z 2018-08-18T15:19:55Z College of Science Computer Science Colin C. Venters 1 Rafael Capilla 2 Stefanie Betz 3 Birgit Penzenstadler 4 Tom Crick 5 Steve Crouch 6 Elisa Yumi Nakagawa 7 Christoph Becker 8 Carlos Carrillo 9 0043519-11092018221841.pdf JSSOverviewonArchitectureSustainability-submitted.pdf 2018-09-11T22:18:41Z Output 688984 application/pdf AM true Updated Copyright 23/10/2018 2018-12-20T00:00:00 true eng
title Software sustainability: Research and practice from a software architecture viewpoint
spellingShingle Software sustainability: Research and practice from a software architecture viewpoint
Crick, Tom
title_short Software sustainability: Research and practice from a software architecture viewpoint
title_full Software sustainability: Research and practice from a software architecture viewpoint
title_fullStr Software sustainability: Research and practice from a software architecture viewpoint
title_full_unstemmed Software sustainability: Research and practice from a software architecture viewpoint
title_sort Software sustainability: Research and practice from a software architecture viewpoint
author_id_str_mv 200c66ef0fc55391f736f6e926fb4b99
author_id_fullname_str_mv 200c66ef0fc55391f736f6e926fb4b99_***_Crick, Tom
author Crick, Tom
author2 Colin C. Venters
Rafael Capilla
Stefanie Betz
Birgit Penzenstadler
Tom Crick
Steve Crouch
Elisa Yumi Nakagawa
Christoph Becker
Carlos Carrillo
format Journal article
container_title Journal of Systems and Software
container_volume 138
container_start_page 174
publishDate 2018
institution Swansea University
issn 01641212
doi_str_mv 10.1016/j.jss.2017.12.026
publisher Elsevier
college_str College of Science
hierarchytype
hierarchy_top_id collegeofscience
hierarchy_top_title College of Science
hierarchy_parent_id collegeofscience
hierarchy_parent_title College of Science
department_str Computer Science{{{_:::_}}}College of Science{{{_:::_}}}Computer Science
url https://www.sciencedirect.com/science/article/pii/S0164121217303072
document_store_str 1
active_str 1
description ContextModern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability – the capacity to endure in changing environments – is a critical concern for software architecture research and practice.ProblemAccidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change.MethodThis article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures.ContributionThe principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges.
published_date 2018-04-01T12:12:24Z
_version_ 1634049189789827072
score 10.810247