240 research outputs found
Type-driven Synthesis of Evolving Data Mode
Modern commercial software is often framed under the umbrella of data-centric applications.
Data-centric applications define data as the main and permanent asset. These
applications use a single data model for application functionality, data management, and
analytical activities, which is built before the applications.
Moreover, since applications are temporary, in contrast to data, there is the need to
continuously evolve and change the data schema to accommodate new functionality. In
this sense, the continuously evolving (rich) feature set that is expected of state-of-the-art
applications is intrinsically bound by not only the amount of available data but also by
its structure, its internal dependencies, and by the ability to transparently and uniformly
grow and evolve data representations and their properties on the fly.
The GOLEM project aims to produce new methods of program automation integrated
in the development of data-centric applications in low-code frameworks. In this context,
one of the key targets for automation is the data layer itself, encompassing the data layout
and its integrity constraints, as well as validation and access control rules.
The aim of this dissertation, which is integrated in GOLEM, is to develop a synthesis
framework that, based on high-level specifications, correctly defines and evolves a
rich data layer component by means of high-level operations. The construction of the
framework was approached by defining a specification language to express richly-typed
specifications, a target language which is the goal of synthesis and a type-directed synthesis
procedure based on proof-search concepts.
The range of real database operations the framework is able to synthesize is demonstrated
through a case study. In a component-based synthesis style, with an extensible
library of base operations on database tables (specified using the target language) in context,
the case study shows that the synthesis framework is capable of expressing and
solving a wide variety of data schema creation and evolution problems.Os sistemas modernos de software comercial são frequentemente caracterizados como
aplicações centradas em dados. Estas aplicações definem os dados como o seu principal
e persistente ativo, e utilizam um único modelo de dados para as suas funcionalidades,
gestão de dados, e atividades analíticas.
Além disso, uma vez que as aplicações são efémeras, contrariamente aos dados, existe
a necessidade de continuamente evoluir o esquema de dados para introduzir novas funcionalidades.
Neste sentido, o conjunto rico de características e em constante evolução
que é esperado das aplicações modernas encontra-se restricto, não só pela quantidade de
dados disponíveis, mas também pela sua estrutura, dependências internas, e a capacidade
de crescer e evoluir a representação dos dados de uma forma uniforme e rápida.
O projeto GOLEM tem como objetivo a produção de novos métodos de automação de
programas integrado no desenvolvimento de aplicações centradas nos dados em sistemas
low-code. Neste contexto, um dos objetivos principais de automação é a camada de dados,
compreendendo a estrutura dos dados e as respectivas condições de integridade, como
também as regras de validação e controlo de acessos.
O objetivo desta dissertação, integrada no projeto GOLEM, é o desenvolvimento de
um sistema de síntese que, baseado em especificações de alto nível, define e evolui corretamente
uma camada de dados rica com recurso a operações de alto nível. A construção
deste sistema baseia-se na definição de uma linguagem de especificação que permite definir
especificações com tipos ricos, uma linguagem de expressões que é considerada o
objetivo da síntese e um procedimento de síntese orientada pelos tipos.
O espectro de operações reais de bases de dados que o sistema consegue sintetizar é
demonstrado através de um caso de estudo. Com uma biblioteca extensível de operações
sobre tabelas no contexto, o caso de estudo demonstra que o sistema de síntese é capaz
de expressar e resolver uma grande variedade de problemas de criação e evolução de
esquemas de dados
Proceedings of the Graduate Student Symposium of the 7th International Conference on the Theory and Application of Diagrams, July 5 2012
Proceedings of the Graduate Student Symposium held at the 7th International Conference on the Theory and Application of Diagrams, ( Diagrams 2012 ), held at the University of Kent on July 5, 2012. Dr. Nathaniel Miller, professor of in the School of Mathematical Sciences at UNC, served on the symposium organizing committee
- …