An enabling framework for customization and adaptation of middleware of things
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Universidade Federal de Pernambuco
|
| Programa de Pós-Graduação: |
Programa de Pos Graduacao em Ciencia da Computacao
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Brasil
|
| Palavras-chave em Português: | |
| Link de acesso: | https://repositorio.ufpe.br/handle/123456789/62037 |
Resumo: | The Internet of Things (IoT) enables the development of applications using smart devices called things. The increasing processing, storage and communication capacities of devices boosted the growth of distributed IoT applications. IoT Middleware systems have become essential for developing these applications by facing distribution, device heterogeneity and application interoperability. However, IoT environments are highly dynamic and susceptible to changes, introducing uncertainties, such as changing user requirements (e.g., evolving applications), changing environmental conditions (e.g., network delays) and varying resource availability, e.g., battery levels. These uncertainties can lead to failures or compromise application func- tioning. Self-adaptive middleware systems have been responsible for dealing with uncertainties by dynamically adapting their behavior/structure and applications built atop them without system shutdowns. Managing uncertainties at various layers, each requiring a distinct adap- tive action, making it challenging to manage them simultaneously. This thesis introduces Middleware Extendify (MEx), a solution for building and executing IoT self-adaptive middle- ware systems. MEx simplifies the implementation of middleware and provides an execution environment for supporting a range of adaptation mechanisms, ensuring that the middleware meets the evolving demands of applications and copes with changes at runtime. Additionally, this thesis presents AquaMOM, an adaptive IoT system designed for monitoring water con- sumption in semi-arid regions, where frequent changes in water availability and usage patterns justify the need for an adaptive approach. It also includes a low-cost IoT device prototype equipped with water and energy monitoring sensors. Built using MEx, AquaMOM lever- ages MEx’s capabilities to manage uncertainties, respond to dynamic changes, and meet application demands. The evaluation of MEx encompasses different adaptive middleware im- plementations to measure its adaptation mechanisms’ impact while comparing its performance with a widely adopted MQTT-based middleware. Results indicate that adaptation comes with acceptable performance costs while providing significant benefits, such as fine-tuning middle- ware functionalities or enhancing application alignment, e.g., adaptation increases publishing time from 4.24 ms to 6.27 ms, while extending battery lifetime from 1.4 to 6.6 days. These findings show MEx’s potential to enhance IoT middleware, making systems more adaptable and efficient in real scenarios. |
| id |
UFPE_44c9d72e97d6fdaa673441de4d7cba4b |
|---|---|
| oai_identifier_str |
oai:repositorio.ufpe.br:123456789/62037 |
| network_acronym_str |
UFPE |
| network_name_str |
Repositório Institucional da UFPE |
| repository_id_str |
|
| spelling |
CAVALCANTI, David Júnio Motahttp://lattes.cnpq.br/8585426872891843http://lattes.cnpq.br/4220236737158909ROSA, Nelson SoutoHUGHES, Daniel2025-03-27T22:57:48Z2025-03-27T22:57:48Z2024-12-16CAVALCANTI, David Júnio Mota. An enabling framework for customization and adaptation of middleware of things. 2024. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024.https://repositorio.ufpe.br/handle/123456789/62037The Internet of Things (IoT) enables the development of applications using smart devices called things. The increasing processing, storage and communication capacities of devices boosted the growth of distributed IoT applications. IoT Middleware systems have become essential for developing these applications by facing distribution, device heterogeneity and application interoperability. However, IoT environments are highly dynamic and susceptible to changes, introducing uncertainties, such as changing user requirements (e.g., evolving applications), changing environmental conditions (e.g., network delays) and varying resource availability, e.g., battery levels. These uncertainties can lead to failures or compromise application func- tioning. Self-adaptive middleware systems have been responsible for dealing with uncertainties by dynamically adapting their behavior/structure and applications built atop them without system shutdowns. Managing uncertainties at various layers, each requiring a distinct adap- tive action, making it challenging to manage them simultaneously. This thesis introduces Middleware Extendify (MEx), a solution for building and executing IoT self-adaptive middle- ware systems. MEx simplifies the implementation of middleware and provides an execution environment for supporting a range of adaptation mechanisms, ensuring that the middleware meets the evolving demands of applications and copes with changes at runtime. Additionally, this thesis presents AquaMOM, an adaptive IoT system designed for monitoring water con- sumption in semi-arid regions, where frequent changes in water availability and usage patterns justify the need for an adaptive approach. It also includes a low-cost IoT device prototype equipped with water and energy monitoring sensors. Built using MEx, AquaMOM lever- ages MEx’s capabilities to manage uncertainties, respond to dynamic changes, and meet application demands. The evaluation of MEx encompasses different adaptive middleware im- plementations to measure its adaptation mechanisms’ impact while comparing its performance with a widely adopted MQTT-based middleware. Results indicate that adaptation comes with acceptable performance costs while providing significant benefits, such as fine-tuning middle- ware functionalities or enhancing application alignment, e.g., adaptation increases publishing time from 4.24 ms to 6.27 ms, while extending battery lifetime from 1.4 to 6.6 days. These findings show MEx’s potential to enhance IoT middleware, making systems more adaptable and efficient in real scenarios.The Internet of Things (IoT) enables the development of applications using smart devices called things. The increasing processing, storage and communication capacities of devices boosted the growth of distributed IoT applications. IoT Middleware systems have become essential for developing these applications by facing distribution, device heterogeneity and application interoperability. However, IoT environments are highly dynamic and susceptible to changes, introducing uncertainties, such as changing user requirements (e.g., evolving applications), changing environmental conditions (e.g., network delays) and varying resource availability, e.g., battery levels. These uncertainties can lead to failures or compromise application func- tioning. Self-adaptive middleware systems have been responsible for dealing with uncertainties by dynamically adapting their behavior/structure and applications built atop them without system shutdowns. Managing uncertainties at various layers, each requiring a distinct adap- tive action, making it challenging to manage them simultaneously. This thesis introduces Middleware Extendify (MEx), a solution for building and executing IoT self-adaptive middle- ware systems. MEx simplifies the implementation of middleware and provides an execution environment for supporting a range of adaptation mechanisms, ensuring that the middleware meets the evolving demands of applications and copes with changes at runtime. Additionally, this thesis presents AquaMOM, an adaptive IoT system designed for monitoring water con- sumption in semi-arid regions, where frequent changes in water availability and usage patterns justify the need for an adaptive approach. It also includes a low-cost IoT device prototype equipped with water and energy monitoring sensors. Built using MEx, AquaMOM lever- ages MEx’s capabilities to manage uncertainties, respond to dynamic changes, and meet application demands. The evaluation of MEx encompasses different adaptive middleware im- plementations to measure its adaptation mechanisms’ impact while comparing its performance with a widely adopted MQTT-based middleware. Results indicate that adaptation comes with acceptable performance costs while providing significant benefits, such as fine-tuning middle- ware functionalities or enhancing application alignment, e.g., adaptation increases publishing time from 4.24 ms to 6.27 ms, while extending battery lifetime from 1.4 to 6.6 days. These findings show MEx’s potential to enhance IoT middleware, making systems more adaptable and efficient in real scenarios.engUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessInternet of ThingsAdaptive MiddlewareSoftware ArchitectureUncertaintiesEnergy SavingSmart Water ManagementAn enabling framework for customization and adaptation of middleware of thingsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisdoutoradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPELICENSElicense.txtlicense.txttext/plain; charset=utf-82362https://repositorio.ufpe.br/bitstream/123456789/62037/3/license.txt5e89a1613ddc8510c6576f4b23a78973MD53TEXTTESE David Júnio Mota Cavalcanti.pdf.txtTESE David Júnio Mota Cavalcanti.pdf.txtExtracted texttext/plain308190https://repositorio.ufpe.br/bitstream/123456789/62037/4/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf.txt872d68fb81677dd52ac5d6addd605c00MD54THUMBNAILTESE David Júnio Mota Cavalcanti.pdf.jpgTESE David Júnio Mota Cavalcanti.pdf.jpgGenerated Thumbnailimage/jpeg1224https://repositorio.ufpe.br/bitstream/123456789/62037/5/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf.jpg525571e696bf97a1d86e10382a288ae4MD55ORIGINALTESE David Júnio Mota Cavalcanti.pdfTESE David Júnio Mota Cavalcanti.pdfapplication/pdf7864957https://repositorio.ufpe.br/bitstream/123456789/62037/1/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf1e1781f529f7f3789a41371aa6e2d048MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/62037/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52123456789/620372025-03-28 02:29:22.728oai:repositorio.ufpe.br:123456789/62037VGVybW8gZGUgRGVww7NzaXRvIExlZ2FsIGUgQXV0b3JpemHDp8OjbyBwYXJhIFB1YmxpY2l6YcOnw6NvIGRlIERvY3VtZW50b3Mgbm8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRQoKCkRlY2xhcm8gZXN0YXIgY2llbnRlIGRlIHF1ZSBlc3RlIFRlcm1vIGRlIERlcMOzc2l0byBMZWdhbCBlIEF1dG9yaXphw6fDo28gdGVtIG8gb2JqZXRpdm8gZGUgZGl2dWxnYcOnw6NvIGRvcyBkb2N1bWVudG9zIGRlcG9zaXRhZG9zIG5vIFJlcG9zaXTDs3JpbyBEaWdpdGFsIGRhIFVGUEUgZSBkZWNsYXJvIHF1ZToKCkkgLSBvcyBkYWRvcyBwcmVlbmNoaWRvcyBubyBmb3JtdWzDoXJpbyBkZSBkZXDDs3NpdG8gc8OjbyB2ZXJkYWRlaXJvcyBlIGF1dMOqbnRpY29zOwoKSUkgLSAgbyBjb250ZcO6ZG8gZGlzcG9uaWJpbGl6YWRvIMOpIGRlIHJlc3BvbnNhYmlsaWRhZGUgZGUgc3VhIGF1dG9yaWE7CgpJSUkgLSBvIGNvbnRlw7pkbyDDqSBvcmlnaW5hbCwgZSBzZSBvIHRyYWJhbGhvIGUvb3UgcGFsYXZyYXMgZGUgb3V0cmFzIHBlc3NvYXMgZm9yYW0gdXRpbGl6YWRvcywgZXN0YXMgZm9yYW0gZGV2aWRhbWVudGUgcmVjb25oZWNpZGFzOwoKSVYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIG9icmEgY29sZXRpdmEgKG1haXMgZGUgdW0gYXV0b3IpOiB0b2RvcyBvcyBhdXRvcmVzIGVzdMOjbyBjaWVudGVzIGRvIGRlcMOzc2l0byBlIGRlIGFjb3JkbyBjb20gZXN0ZSB0ZXJtbzsKClYgLSBxdWFuZG8gdHJhdGFyLXNlIGRlIFRyYWJhbGhvIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28sIERpc3NlcnRhw6fDo28gb3UgVGVzZTogbyBhcnF1aXZvIGRlcG9zaXRhZG8gY29ycmVzcG9uZGUgw6AgdmVyc8OjbyBmaW5hbCBkbyB0cmFiYWxobzsKClZJIC0gcXVhbmRvIHRyYXRhci1zZSBkZSBUcmFiYWxobyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvLCBEaXNzZXJ0YcOnw6NvIG91IFRlc2U6IGVzdG91IGNpZW50ZSBkZSBxdWUgYSBhbHRlcmHDp8OjbyBkYSBtb2RhbGlkYWRlIGRlIGFjZXNzbyBhbyBkb2N1bWVudG8gYXDDs3MgbyBkZXDDs3NpdG8gZSBhbnRlcyBkZSBmaW5kYXIgbyBwZXLDrW9kbyBkZSBlbWJhcmdvLCBxdWFuZG8gZm9yIGVzY29saGlkbyBhY2Vzc28gcmVzdHJpdG8sIHNlcsOhIHBlcm1pdGlkYSBtZWRpYW50ZSBzb2xpY2l0YcOnw6NvIGRvIChhKSBhdXRvciAoYSkgYW8gU2lzdGVtYSBJbnRlZ3JhZG8gZGUgQmlibGlvdGVjYXMgZGEgVUZQRSAoU0lCL1VGUEUpLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gQWJlcnRvOgoKTmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRlIGF1dG9yIHF1ZSByZWNhZW0gc29icmUgZXN0ZSBkb2N1bWVudG8sIGZ1bmRhbWVudGFkbyBuYSBMZWkgZGUgRGlyZWl0byBBdXRvcmFsIG5vIDkuNjEwLCBkZSAxOSBkZSBmZXZlcmVpcm8gZGUgMTk5OCwgYXJ0LiAyOSwgaW5jaXNvIElJSSwgYXV0b3Jpem8gYSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIGEgZGlzcG9uaWJpbGl6YXIgZ3JhdHVpdGFtZW50ZSwgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkIChhcXVpc2nDp8OjbykgYXRyYXbDqXMgZG8gc2l0ZSBkbyBSZXBvc2l0w7NyaW8gRGlnaXRhbCBkYSBVRlBFIG5vIGVuZGVyZcOnbyBodHRwOi8vd3d3LnJlcG9zaXRvcmlvLnVmcGUuYnIsIGEgcGFydGlyIGRhIGRhdGEgZGUgZGVww7NzaXRvLgoKIApQYXJhIHRyYWJhbGhvcyBlbSBBY2Vzc28gUmVzdHJpdG86CgpOYSBxdWFsaWRhZGUgZGUgdGl0dWxhciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGUgYXV0b3IgcXVlIHJlY2FlbSBzb2JyZSBlc3RlIGRvY3VtZW50bywgZnVuZGFtZW50YWRvIG5hIExlaSBkZSBEaXJlaXRvIEF1dG9yYWwgbm8gOS42MTAgZGUgMTkgZGUgZmV2ZXJlaXJvIGRlIDE5OTgsIGFydC4gMjksIGluY2lzbyBJSUksIGF1dG9yaXpvIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgUGVybmFtYnVjbyBhIGRpc3BvbmliaWxpemFyIGdyYXR1aXRhbWVudGUsIHNlbSByZXNzYXJjaW1lbnRvIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgcGFyYSBmaW5zIGRlIGxlaXR1cmEsIGltcHJlc3PDo28gZS9vdSBkb3dubG9hZCAoYXF1aXNpw6fDo28pIGF0cmF2w6lzIGRvIHNpdGUgZG8gUmVwb3NpdMOzcmlvIERpZ2l0YWwgZGEgVUZQRSBubyBlbmRlcmXDp28gaHR0cDovL3d3dy5yZXBvc2l0b3Jpby51ZnBlLmJyLCBxdWFuZG8gZmluZGFyIG8gcGVyw61vZG8gZGUgZW1iYXJnbyBjb25kaXplbnRlIGFvIHRpcG8gZGUgZG9jdW1lbnRvLCBjb25mb3JtZSBpbmRpY2FkbyBubyBjYW1wbyBEYXRhIGRlIEVtYmFyZ28uCg==Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212025-03-28T05:29:22Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
| dc.title.pt_BR.fl_str_mv |
An enabling framework for customization and adaptation of middleware of things |
| title |
An enabling framework for customization and adaptation of middleware of things |
| spellingShingle |
An enabling framework for customization and adaptation of middleware of things CAVALCANTI, David Júnio Mota Internet of Things Adaptive Middleware Software Architecture Uncertainties Energy Saving Smart Water Management |
| title_short |
An enabling framework for customization and adaptation of middleware of things |
| title_full |
An enabling framework for customization and adaptation of middleware of things |
| title_fullStr |
An enabling framework for customization and adaptation of middleware of things |
| title_full_unstemmed |
An enabling framework for customization and adaptation of middleware of things |
| title_sort |
An enabling framework for customization and adaptation of middleware of things |
| author |
CAVALCANTI, David Júnio Mota |
| author_facet |
CAVALCANTI, David Júnio Mota |
| author_role |
author |
| dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/8585426872891843 |
| dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/4220236737158909 |
| dc.contributor.author.fl_str_mv |
CAVALCANTI, David Júnio Mota |
| dc.contributor.advisor1.fl_str_mv |
ROSA, Nelson Souto |
| dc.contributor.advisor-co1.fl_str_mv |
HUGHES, Daniel |
| contributor_str_mv |
ROSA, Nelson Souto HUGHES, Daniel |
| dc.subject.por.fl_str_mv |
Internet of Things Adaptive Middleware Software Architecture Uncertainties Energy Saving Smart Water Management |
| topic |
Internet of Things Adaptive Middleware Software Architecture Uncertainties Energy Saving Smart Water Management |
| description |
The Internet of Things (IoT) enables the development of applications using smart devices called things. The increasing processing, storage and communication capacities of devices boosted the growth of distributed IoT applications. IoT Middleware systems have become essential for developing these applications by facing distribution, device heterogeneity and application interoperability. However, IoT environments are highly dynamic and susceptible to changes, introducing uncertainties, such as changing user requirements (e.g., evolving applications), changing environmental conditions (e.g., network delays) and varying resource availability, e.g., battery levels. These uncertainties can lead to failures or compromise application func- tioning. Self-adaptive middleware systems have been responsible for dealing with uncertainties by dynamically adapting their behavior/structure and applications built atop them without system shutdowns. Managing uncertainties at various layers, each requiring a distinct adap- tive action, making it challenging to manage them simultaneously. This thesis introduces Middleware Extendify (MEx), a solution for building and executing IoT self-adaptive middle- ware systems. MEx simplifies the implementation of middleware and provides an execution environment for supporting a range of adaptation mechanisms, ensuring that the middleware meets the evolving demands of applications and copes with changes at runtime. Additionally, this thesis presents AquaMOM, an adaptive IoT system designed for monitoring water con- sumption in semi-arid regions, where frequent changes in water availability and usage patterns justify the need for an adaptive approach. It also includes a low-cost IoT device prototype equipped with water and energy monitoring sensors. Built using MEx, AquaMOM lever- ages MEx’s capabilities to manage uncertainties, respond to dynamic changes, and meet application demands. The evaluation of MEx encompasses different adaptive middleware im- plementations to measure its adaptation mechanisms’ impact while comparing its performance with a widely adopted MQTT-based middleware. Results indicate that adaptation comes with acceptable performance costs while providing significant benefits, such as fine-tuning middle- ware functionalities or enhancing application alignment, e.g., adaptation increases publishing time from 4.24 ms to 6.27 ms, while extending battery lifetime from 1.4 to 6.6 days. These findings show MEx’s potential to enhance IoT middleware, making systems more adaptable and efficient in real scenarios. |
| publishDate |
2024 |
| dc.date.issued.fl_str_mv |
2024-12-16 |
| dc.date.accessioned.fl_str_mv |
2025-03-27T22:57:48Z |
| dc.date.available.fl_str_mv |
2025-03-27T22:57:48Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| status_str |
publishedVersion |
| dc.identifier.citation.fl_str_mv |
CAVALCANTI, David Júnio Mota. An enabling framework for customization and adaptation of middleware of things. 2024. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024. |
| dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/62037 |
| identifier_str_mv |
CAVALCANTI, David Júnio Mota. An enabling framework for customization and adaptation of middleware of things. 2024. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024. |
| url |
https://repositorio.ufpe.br/handle/123456789/62037 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
| dc.publisher.program.fl_str_mv |
Programa de Pos Graduacao em Ciencia da Computacao |
| dc.publisher.initials.fl_str_mv |
UFPE |
| dc.publisher.country.fl_str_mv |
Brasil |
| publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
| instname_str |
Universidade Federal de Pernambuco (UFPE) |
| instacron_str |
UFPE |
| institution |
UFPE |
| reponame_str |
Repositório Institucional da UFPE |
| collection |
Repositório Institucional da UFPE |
| bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/62037/3/license.txt https://repositorio.ufpe.br/bitstream/123456789/62037/4/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf.txt https://repositorio.ufpe.br/bitstream/123456789/62037/5/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf.jpg https://repositorio.ufpe.br/bitstream/123456789/62037/1/TESE%20David%20J%c3%banio%20Mota%20Cavalcanti.pdf https://repositorio.ufpe.br/bitstream/123456789/62037/2/license_rdf |
| bitstream.checksum.fl_str_mv |
5e89a1613ddc8510c6576f4b23a78973 872d68fb81677dd52ac5d6addd605c00 525571e696bf97a1d86e10382a288ae4 1e1781f529f7f3789a41371aa6e2d048 e39d27027a6cc9cb039ad269a5db8e34 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
| repository.mail.fl_str_mv |
attena@ufpe.br |
| _version_ |
1862741669645910016 |