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...
Main Authors: | , , , |
---|---|
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 |