Utilize este identificador para referenciar este registo:
http://hdl.handle.net/10362/145185
Título: | From an Ontology for Programming to a Type-Safe Template Language |
Autor: | Parreira, Joana Baptista |
Orientador: | Seco, João Ferreira, Carla |
Palavras-chave: | Metaprogramming Ontology Low-Code Template Language Type-Safety Staged Computation |
Data de Defesa: | Jul-2022 |
Resumo: | The demand to develop more applications in a faster way has been increasing over the
years. Even non-experienced developers are jumping into the market thanks to low-code
platforms such as OutSystems.
The main goal of the GOLEM project is the development of the next generation of lowcode
software development, aiming to automate programming and make the OutSystems
platform easier to use. This work is integrated into the GOLEM project and focuses
1) on designing an ontology that will be used to capture concepts from a user dialogue;
2) on formalizing a template language; and 3) producing a reference implementation for
OSTRICH.
The ontology conceptsmust be representative enough to allow the generation of an application.
A domain-specific language (DSL) produced in the scope of the GOLEM project
will analyse the captured concepts, generating a set of operations that incrementally build
and modify the target application.
Because some of those application components are common patterns, they can be preassembled
into templates to be later re-used. OSTRICH, a type-safe template language
for the OutSystems platform, allows for the definition and instantiation of type-safe templates
while ensuring a clear separation between compile-time and runtime computations.
We formalize this two-stage language, defining its syntax, type system and operational
semantics. We also produce a reference implementation and introduce new features:
parametric polymorphism and a simplified form of type dependency. Such features enable
instantiating the top ten most-commonly used OutSystems templates, which are
more than half of all template instantiations in the platform. These templates ease and
fasten the development process, reducing the knowledge required to build OutSystems’
applications. A necessidade de desenvolver aplicações a um ritmo cada vez mais acelerado tem aumentado ao longo dos anos. Mesmo programadores sem experiência têm vindo a integrar o mercado de trabalho nesta área, graças a plataformas low-code como a OutSystems. O projeto GOLEM tem como objetivo o desenvolvimento da próxima geração de lowcode, visando automatizar a programação e facilitar o uso da plataforma OutSystems. O objetivo desta dissertação, parte do projeto GOLEM, é 1) desenvolver uma ontologia para captar conceitos de um diálogo com o utilizador; 2) formalizar uma linguagem de templates; e 3) desenvolver uma implementação referência para o OSTRICH. Os conceitos da ontologia devem ser suficientemente representativos de forma a permitir a criação de uma aplicação. Uma linguagem de domínio específico (DSL) criada no escopo do projeto GOLEM irá analisar os conceitos captados e gera um conjunto de operações que constroem e modificam a aplicação-alvo incrementalmente. Visto alguns desses componentes da aplicação corresponderem a padrões comuns, estes podem ser previamente agregados num template para que possam ser reutilizados posteriormente. OSTRICH, uma linguagem de templates com segurança de tipos da plataforma OutSystems, permite definir e instanciar templates que respeitam as restrições de tipos, garantindo uma separação clara entre computações que ocorram em tempo de compilação e de execução. Nós formalizamos esta linguagem de duas etapas, definindo a sua sintaxe, sistema de tipos, e semântica operacional. Também desenvolvemos uma implementação de referência e introduzimos novas funcionalidades: polimorfismo paramétrico, e uma forma simplificada de dependência entre tipos. Estas funcionalidades permitem instanciar os dez templates OutSystems mais usados, correspondendo a mais do que metade das instanciações de templates na plataforma. Estes templates facilitam e aceleram o processo de desenvolvimento, reduzindo o conhecimento necessário exigido ao programador para a construção de aplicações Outsystems. |
URI: | http://hdl.handle.net/10362/145185 |
Designação: | MASTER IN COMPUTER SCIENCE |
Aparece nas colecções: | FCT: DI - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Parreira_2022.pdf | 5,61 MB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.