Automatic generation of descriptions for Prolog programs

dc.contributor.advisorBotelho, Luís Miguel Pina Coelho Teixeira
dc.contributor.authorFarinha, Diogo Miguel Hortêncio
dc.date.accessioned2020-12-15T15:48:24Z
dc.date.available2020-12-15T15:48:24Z
dc.date.issued2019-10-04
dc.date.submitted2019-08
dc.description.abstractIt is often hard for students and newcomers used to imperative languages to learn a declarative language such as Prolog. One of their main difficulties is understanding the procedural component of Prolog. Despite being a declarative language, Prolog allows for the creation of procedures whose structure is very different from the more common imperative languages. To tackle this issue, we try to facilitate code comprehension of procedural Prolog through the generation of formal and natural descriptions. First, we represent the workflow of Prolog encoded procedures through formal descriptions similar to imperative languages. To do this, we identify programming patterns that represent the basic blocks of certain classes of Prolog programs. Then we view more complex Prolog programs as coherent compositions of instances of the basic patterns. By using formal templates, we formally describe these individual patterns into an intermediate formal language. Afterwards, we generate natural language descriptions by using templates to describe the formal constructs. Using this two-step approach, we obtain two descriptions (one formal and one in natural language) that are both explanatory of the original program.por
dc.description.abstractNormalmente é difícil para alunos e iniciantes que estão habituados a linguagens imperativas, aprender uma linguagem declarativa como o Prolog. Uma das suas principais dificuldades é entender a componente procedimental do Prolog. Apesar de ser uma linguagem declarativa, o Prolog permite a criação de procedimentos cuja estrutura é bastante diferente da usada nas linguagens imperativas. Para abordar este problema tentámos facilitar a compreensão de código do Prolog procedimental através da geração de descrições formais e em linguagem natural. Primeiro, representamos a lógica dos procedimentos em Prolog através de descrições formais similares a linguagens imperativas. Para isto, identificamos os padrões que representam os blocos básicos de certas classes de programas. Depois, consideramos os programas mais complexos como composições destes padrões básicos. Através da utilização de templates formais, descrevemos formalmente estes padrões individuais numa linguagem formal intermédia. Seguidamente, geramos descrições em linguagem natural utilizando templates para descrever os construtos formais. Ao usar esta abordagem de dois passos obtemos duas descrições (uma formal e uma em linguagem natural) que são ambas explanatórias do programa original.por
dc.identifier.citationFarinha, D. M. H. (2019). Automatic generation of descriptions for Prolog programs [Dissertação de mestrado, Iscte - Instituto Universitário de Lisboa]. Repositório Iscte. http://hdl.handle.net/10071/20938pt-PT
dc.identifier.tid202292231por
dc.identifier.urihttp://hdl.handle.net/10071/20938
dc.language.isoengpor
dc.peerreviewedyespor
dc.rightsopen accesspor
dc.subjectCode comprehensionpor
dc.subjectPrologpor
dc.subjectProcedural Prologpor
dc.subjectNatural language descriptionpor
dc.subjectFormal descriptionpor
dc.subjectProgramming patternpor
dc.subjectNatural language templatespor
dc.subjectFormal templatespor
dc.subjectCompreensão de códigopor
dc.subjectProlog procedimentalpor
dc.subjectDescrição em linguagem naturalpor
dc.subjectDescrição formalpor
dc.subjectPadrão de programaçãopor
dc.subjectTemplates de linguagem naturalpor
dc.subjectTemplates formaispor
dc.subject.fosDomínio/Área Científica::Engenharia e Tecnologia::Outras Engenharias e Tecnologiaspor
dc.subject.fosDomínio/Área Científica::Ciências Sociais::Economia e Gestão
dc.titleAutomatic generation of descriptions for Prolog programspor
dc.typemasterThesispor
dspace.entity.typePublicationen
thesis.degree.nameMestrado em Informática e Gestãopor

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
master_diogo_hortencio_farinha.pdf
Tamanho:
752.07 KB
Formato:
Adobe Portable Document Format