Adaptive middleware in go - a software architecture-based approach

Abstract Adaptive middleware is essential for developing distributed systems in several applications domains. The design and implementation of this kind of middleware, however, it is still a challenge due to general adaptation issues, such as When to adapt? Where to include the adaptation code? What...

Full description

Bibliographic Details
Main Authors: Nelson Rosa, David Cavalcanti, Gláucia Campos, André Silva
Format: Article
Language:English
Published: Brazilian Computing Society (SBC) 2020-05-01
Series:Journal of Internet Services and Applications
Subjects:
Online Access:http://link.springer.com/article/10.1186/s13174-020-00124-5
_version_ 1818755867896446976
author Nelson Rosa
David Cavalcanti
Gláucia Campos
André Silva
author_facet Nelson Rosa
David Cavalcanti
Gláucia Campos
André Silva
author_sort Nelson Rosa
collection DOAJ
description Abstract Adaptive middleware is essential for developing distributed systems in several applications domains. The design and implementation of this kind of middleware, however, it is still a challenge due to general adaptation issues, such as When to adapt? Where to include the adaptation code? What to adapt?, and How to guarantee safe adaptations?. Current solutions commonly face these challenges at the implementation level and do not focus on the safety aspects of the adaptation. This paper proposes a holistic solution implemented in Go programming language for developing adaptive middleware centred on the adoption of software architecture principles combined with lightweight use of formalisms. Software architecture concepts work as an enabling approach for structuring and adapting the middleware. Meanwhile, the formalisation helps in providing some guarantees before and during the middleware execution. The proposed solution is evaluated by implementing an adaptive middleware and comparing its performance against existing middleware systems. As shown in the experimental evaluation, the proposed solution enables us to design and implement safe adaptive middleware systems without compromising their performance.
first_indexed 2024-12-18T05:45:58Z
format Article
id doaj.art-27361507eab14cb6ac045a5b626d77cc
institution Directory Open Access Journal
issn 1867-4828
1869-0238
language English
last_indexed 2024-12-18T05:45:58Z
publishDate 2020-05-01
publisher Brazilian Computing Society (SBC)
record_format Article
series Journal of Internet Services and Applications
spelling doaj.art-27361507eab14cb6ac045a5b626d77cc2022-12-21T21:19:02ZengBrazilian Computing Society (SBC)Journal of Internet Services and Applications1867-48281869-02382020-05-0111112310.1186/s13174-020-00124-5Adaptive middleware in go - a software architecture-based approachNelson Rosa0David Cavalcanti1Gláucia Campos2André Silva3Universidade Federal de PernambucoUniversidade Federal de PernambucoUniversidade Federal de PernambucoUniversidade Federal de PernambucoAbstract Adaptive middleware is essential for developing distributed systems in several applications domains. The design and implementation of this kind of middleware, however, it is still a challenge due to general adaptation issues, such as When to adapt? Where to include the adaptation code? What to adapt?, and How to guarantee safe adaptations?. Current solutions commonly face these challenges at the implementation level and do not focus on the safety aspects of the adaptation. This paper proposes a holistic solution implemented in Go programming language for developing adaptive middleware centred on the adoption of software architecture principles combined with lightweight use of formalisms. Software architecture concepts work as an enabling approach for structuring and adapting the middleware. Meanwhile, the formalisation helps in providing some guarantees before and during the middleware execution. The proposed solution is evaluated by implementing an adaptive middleware and comparing its performance against existing middleware systems. As shown in the experimental evaluation, the proposed solution enables us to design and implement safe adaptive middleware systems without compromising their performance.http://link.springer.com/article/10.1186/s13174-020-00124-5Adaptive middlewareSoftware architectureGoLightweight formalisation
spellingShingle Nelson Rosa
David Cavalcanti
Gláucia Campos
André Silva
Adaptive middleware in go - a software architecture-based approach
Journal of Internet Services and Applications
Adaptive middleware
Software architecture
Go
Lightweight formalisation
title Adaptive middleware in go - a software architecture-based approach
title_full Adaptive middleware in go - a software architecture-based approach
title_fullStr Adaptive middleware in go - a software architecture-based approach
title_full_unstemmed Adaptive middleware in go - a software architecture-based approach
title_short Adaptive middleware in go - a software architecture-based approach
title_sort adaptive middleware in go a software architecture based approach
topic Adaptive middleware
Software architecture
Go
Lightweight formalisation
url http://link.springer.com/article/10.1186/s13174-020-00124-5
work_keys_str_mv AT nelsonrosa adaptivemiddlewareingoasoftwarearchitecturebasedapproach
AT davidcavalcanti adaptivemiddlewareingoasoftwarearchitecturebasedapproach
AT glauciacampos adaptivemiddlewareingoasoftwarearchitecturebasedapproach
AT andresilva adaptivemiddlewareingoasoftwarearchitecturebasedapproach