Validation of Data Invariants in the OutSystems Platform

Detalhes bibliográficos
Autor(a) principal: Silva, Michael Simões
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/10362/113610
Resumo: Software systems collect information from multiple sources, both internal and exter nal. Therefore, it is indispensable that the data should be validated according to data invariants, in all untrusted frontiers of a system. Developers need to define the validation logic for each of those constraints and to write the actual validation code. To safeguard data integrity throughout the entire system, the developers also need to ensure validation in different layers. This obligation can easily head to a problem since it usually leads to duplication of the validation code and contributes to more complex and less structured software architecture, which consequently leads to systems harder to maintain. The OutSystems platform enables visual development of enterprise Web and Mobile applications, providing an abstraction layer that allows developers to handle the inherent complexity of application development more easily. Still, developers need to write the code responsible for validating data explicitly. We propose an invariant propagation mechanism capable of propagating data con straints across the various layers of a system, that materialises into the automatic gen eration of validation code that properly ensures the data integrity in the entire system. Given a set of data constraints, or invariants, defined in the data layer that constrain entities’ attributes, our mechanism propagates and manipulates their specification. The propagation is done using a path-sensitive data flow analysis technique, specified in Dat alog and that uses a Prolog engine as the resolution engine. This solution ensures that the developer only needs to define the data invariants and their logic once in the entire application, and also ensures that it will generate validations whenever necessary. Thus, we remove the programmer’s obligation of writing and maintaining validation code, plus ensuring data integrity and providing faster error feedback to users. We evaluated our results in a prototype of the OutSystems platform.
id RCAP_1545deffa8f4386bc784c9eae15be1ce
oai_identifier_str oai:run.unl.pt:10362/113610
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Validation of Data Invariants in the OutSystems PlatformData ValidationInvariantsData IntegrityData Flow AnalysisPath-SensitiveLow-code PlatformsDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaSoftware systems collect information from multiple sources, both internal and exter nal. Therefore, it is indispensable that the data should be validated according to data invariants, in all untrusted frontiers of a system. Developers need to define the validation logic for each of those constraints and to write the actual validation code. To safeguard data integrity throughout the entire system, the developers also need to ensure validation in different layers. This obligation can easily head to a problem since it usually leads to duplication of the validation code and contributes to more complex and less structured software architecture, which consequently leads to systems harder to maintain. The OutSystems platform enables visual development of enterprise Web and Mobile applications, providing an abstraction layer that allows developers to handle the inherent complexity of application development more easily. Still, developers need to write the code responsible for validating data explicitly. We propose an invariant propagation mechanism capable of propagating data con straints across the various layers of a system, that materialises into the automatic gen eration of validation code that properly ensures the data integrity in the entire system. Given a set of data constraints, or invariants, defined in the data layer that constrain entities’ attributes, our mechanism propagates and manipulates their specification. The propagation is done using a path-sensitive data flow analysis technique, specified in Dat alog and that uses a Prolog engine as the resolution engine. This solution ensures that the developer only needs to define the data invariants and their logic once in the entire application, and also ensures that it will generate validations whenever necessary. Thus, we remove the programmer’s obligation of writing and maintaining validation code, plus ensuring data integrity and providing faster error feedback to users. We evaluated our results in a prototype of the OutSystems platform.Seco, JoãoLourenço, HugoRUNSilva, Michael Simões2021-03-10T15:40:28Z2019-1120192019-11-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/113610enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-22T17:51:07Zoai:run.unl.pt:10362/113610Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T17:22:22.831876Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Validation of Data Invariants in the OutSystems Platform
title Validation of Data Invariants in the OutSystems Platform
spellingShingle Validation of Data Invariants in the OutSystems Platform
Silva, Michael Simões
Data Validation
Invariants
Data Integrity
Data Flow Analysis
Path-Sensitive
Low-code Platforms
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Validation of Data Invariants in the OutSystems Platform
title_full Validation of Data Invariants in the OutSystems Platform
title_fullStr Validation of Data Invariants in the OutSystems Platform
title_full_unstemmed Validation of Data Invariants in the OutSystems Platform
title_sort Validation of Data Invariants in the OutSystems Platform
author Silva, Michael Simões
author_facet Silva, Michael Simões
author_role author
dc.contributor.none.fl_str_mv Seco, João
Lourenço, Hugo
RUN
dc.contributor.author.fl_str_mv Silva, Michael Simões
dc.subject.por.fl_str_mv Data Validation
Invariants
Data Integrity
Data Flow Analysis
Path-Sensitive
Low-code Platforms
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Data Validation
Invariants
Data Integrity
Data Flow Analysis
Path-Sensitive
Low-code Platforms
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Software systems collect information from multiple sources, both internal and exter nal. Therefore, it is indispensable that the data should be validated according to data invariants, in all untrusted frontiers of a system. Developers need to define the validation logic for each of those constraints and to write the actual validation code. To safeguard data integrity throughout the entire system, the developers also need to ensure validation in different layers. This obligation can easily head to a problem since it usually leads to duplication of the validation code and contributes to more complex and less structured software architecture, which consequently leads to systems harder to maintain. The OutSystems platform enables visual development of enterprise Web and Mobile applications, providing an abstraction layer that allows developers to handle the inherent complexity of application development more easily. Still, developers need to write the code responsible for validating data explicitly. We propose an invariant propagation mechanism capable of propagating data con straints across the various layers of a system, that materialises into the automatic gen eration of validation code that properly ensures the data integrity in the entire system. Given a set of data constraints, or invariants, defined in the data layer that constrain entities’ attributes, our mechanism propagates and manipulates their specification. The propagation is done using a path-sensitive data flow analysis technique, specified in Dat alog and that uses a Prolog engine as the resolution engine. This solution ensures that the developer only needs to define the data invariants and their logic once in the entire application, and also ensures that it will generate validations whenever necessary. Thus, we remove the programmer’s obligation of writing and maintaining validation code, plus ensuring data integrity and providing faster error feedback to users. We evaluated our results in a prototype of the OutSystems platform.
publishDate 2019
dc.date.none.fl_str_mv 2019-11
2019
2019-11-01T00:00:00Z
2021-03-10T15:40:28Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10362/113610
url http://hdl.handle.net/10362/113610
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833596646143819776