Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/84498

TítuloSynthetic data generation from JSON/XML schemas
Autor(es)Cardoso, Hugo André Coelho
Orientador(es)Ramalho, José Carlos
Palavras-chaveSchemas
JSON
XML
Data generation
Synthetic data
DataGen
DSL
Dataset
Grammar
Randomization
Open source
Data science
REST API
PEG.js
Geração de Dados
Dados sintéticos
Gramática
Aleatoriedade
Ciência de dados
Data19-Dez-2022
Resumo(s)The objective of this dissertation is the development of an application capable of automatically generating synthetic datasets that are representative and, possibly, very large, directly from JSON and XML schemas, in order to facilitate the testing of software applications and scientific endeavors in areas such as Data Science or Application Development. For this purpose, it is intended to develop a new version of DataGen, an online open-source application that allows the quick prototyping of datasets through its own Domain Specific Language (DSL) of specification of data models. DataGen is able to parse these models and generate synthetic datasets according to the structural and semantic restrictions stipulated, automating the whole process of data generation with spontaneous values created in runtime and/or from a library of support datasets. The objective of this new product, DataGen From Schemas, is to expand DataGen’s use cases and raise the datasets specification’s abstraction level, making it possible to generate synthetic datasets directly from schemas. This new platform builds upon its prior version and acts as its complement, operating jointly and sharing the same data layer, in order to assure the compatibility of both platforms and the portability of the created DSL models between them. Its purpose is to parse schema files and generate corresponding DSL models, effectively translating the JSON or XML specification to a DataGen model, then using the original application as a middleware to generate the final datasets. The present dissertation details the entire creative process behind the development of this application: firstly, it frames the topic of study and its initial phase of investigation, debating relevant technologies and existing related work; then, the ideation phase of the product is addressed, projecting an adequate arquitecture and the reasons behind its design choices, as well as surveying technical requirements for DataGen From Schemas, while taking into account the conclusions reached through prior research; afterwards, the development phase is covered, carefully explaining the elaborated components, their properties and the data flow between them, for both the JSON and XML modules; finally, the reader is presented with conclusions taken from this project’s development and possible future work to implement, in order to improve the current solution.
O objetivo desta dissertação é o desenvolvimento de uma aplicação que permita gerar auto maticamente datasets sintéticos representativos e possivelmente extensos, a partir de schemas de JSON e XML, de forma a facilitar a testagem de aplicações de software e empreendimentos científicos em áreas como a Ciência de Dados e o Desenvolvimento de Aplicações. Para esta finalidade, pretende-se desenvolver uma plataforma assente sobre o DataGen, uma aplicação que permite a prototipagem rápida de datasets através da sua própria Domain Specific Language (DSL) de especificação de modelos de dados. O DataGen é capaz de processar estes modelos e gerar posteriormente datasets sintéticos que obedeçam às restrições estruturais e semânticas estabelecidas, automatizando todo o processo de geração de dados com valores espontâneos gerados em tempo de execução e/ou provenientes de bancos de dados de suporte. O objetivo deste novo produto, DataGen From Schemas, é expandir os casos de aplicação do DataGen e aumentar o nível de abstração da especificação de modelos de dados, tornando possível a geração de datasets sintéticos diretamente a partir de schemas. Esta nova plataforma estará assente sobre a sua versão anterior e agirá como seu complemento, operando conjun tamente e partilhando a mesma camada de dados, de forma a assegurar a compatibilidade das plataformas e a portabilidade dos modelos criados entre ambas. O seu propósito é processar ficheiros schema e gerar modelos correspondentes na DSL, efetivamente traduzindo a especificação em JSON ou XML para um modelo do DataGen, para depois usar a aplicação original como um middleware para gerar os datasets finais. A presente dissertação detalha todo o processo creativo por detrás do desenvolvimento desta aplicação: começa por enquadrar o tema de estudo e a sua fase inicial de investigação, debatendo tecnologias relevantes e trabalho relacionado existente; de seguida, é abordada a fase de ideação do produto, projetando uma arquitetura adequada para a solução e as razões por detrás das suas escolhas de design, e realizado um levantamento de requisitos técnicos para o DataGen From Schemas, tendo sempre em conta as conclusões alcançadas através de investigação prévia; depois, é relatada a fase de desenvolvimento do produto, explicando minuciosamente os componentes elaborados, as suas propriedades e o fluxo de dados entre eles, para ambos os módulos de JSON e XML; finalmente, são apresentadas ao leitor as conclusões retiradas do desenvolvimento deste projeto e possível trabalho futuro a implementar, de forma a melhorar a solução atual.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado integrado em Informatics Engineering
URIhttps://hdl.handle.net/1822/84498
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Hugo Andre Coelho Cardoso.pdf4,61 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID