959 resultados para Linguagens de programação em lógica - Semântica


Relevância:

100.00% 100.00%

Publicador:

Resumo:

After a historical introduction, the bulk of the thesis concerns the study of a declarative semantics for logic programs. The main original contributions are: ² WFSX (Well–Founded Semantics with eXplicit negation), a new semantics for logic programs with explicit negation (i.e. extended logic programs), which compares favourably in its properties with other extant semantics. ² A generic characterization schema that facilitates comparisons among a diversity of semantics of extended logic programs, including WFSX. ² An autoepistemic and a default logic corresponding to WFSX, which solve existing problems of the classical approaches to autoepistemic and default logics, and clarify the meaning of explicit negation in logic programs. ² A framework for defining a spectrum of semantics of extended logic programs based on the abduction of negative hypotheses. This framework allows for the characterization of different levels of scepticism/credulity, consensuality, and argumentation. One of the semantics of abduction coincides with WFSX. ² O–semantics, a semantics that uniquely adds more CWA hypotheses to WFSX. The techniques used for doing so are applicable as well to the well–founded semantics of normal logic programs. ² By introducing explicit negation into logic programs contradiction may appear. I present two approaches for dealing with contradiction, and show their equivalence. One of the approaches consists in avoiding contradiction, and is based on restrictions in the adoption of abductive hypotheses. The other approach consists in removing contradiction, and is based in a transformation of contradictory programs into noncontradictory ones, guided by the reasons for contradiction.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

An adaptive device is made up of an underlying mechanism, for instance, an automaton, a grammar, etc., to which is added an adaptive mechanism that is responsible for allowing a dynamic modification in the structure of the underlying mechanism. Adaptive languages have the basic feature of allowing the development of programs that self-modify through adaptive actions at runtime. The conception of such languages calls for a new programming style, since the application of adaptive technology suggests a new way of thinking. The adaptive programming style may be a feasible alternate way to obtain selfmodifying consistent codes, which allow its use in modern applications for self-modifying.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Este trabalho realiza um estudo sobre a criação de sistemas tempo-real usando orientação a objetos, com enfoque no mapeamento de especificações para linguagens de programação. O paradigma de orientação a objetos tem sido usado nas diferentes fases relacionadas com o desenvolvimento de sistemas tempo-real, variando desde a modelagem até o ambiente de programação e execução, mas atualmente estas iniciativas ainda focam etapas isoladas do ciclo de desenvolvimento. O objetivo deste trabalho é o de preencher esta lacuna, propondo um mapeamento entre uma metodologia ou ferramenta de análise e projeto de sistemas tempo-real orientados a objetos e uma linguagem ou ambiente de desenvolvimento baseado no paradigma de orientação a objetos que possua suporte para atender às restrições temporais especificadas. O mapeamento proposto foi desenvolvido utilizando estudos de caso clássicos em aplicações tempo-real que foram baseados em dois recentes padrões. O primeiro é o emergente padrão Real-Time UML, que visa realizar a especificação de requisitos temporais utilizando diagramas UML com extensões que os representem. O outro padrão é o Real-Time Specification for Java, que consiste de uma interface de programação (API) para desenvolvimento de aplicações tempo-real com a linguagem Java. O relacionamento entre stereotypes e tags usados para representar restrições temporais em diagramas UML e o código Java correspondente é explicado e um sumário da estratégia de mapeamento é discutido.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Atualmente, as linguagens de programação são usadas por pessoas com formação em domínios cada vez mais diversos e distintos do habitual, tendo já chegado ao domínio das artes. A linguagem Processing, que tem um cariz visual e que possibilita o desenvolvimento de aplicações/performances com elementos visuais e sonoros, foi mesmo projetada para ser usada por artistas. Contudo, a preparação prévia e a sensibilidade do público-alvo desta linguagem, enquanto aprendizes, é bastante distinta da preparação dos alunos comuns de linguagem de programação. Por esse motivo, é aqui proposto um conjunto de metodologias de ensino/aprendizagem adaptadas, no sentido de criar entusiasmo na aprendizagem e atingir um êxito efetivo.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

A partir da Lei n. 6.938 de 31 de agosto de 1981, que constituiu o Sistema Nacional do Meio Ambiente, criou-se o Conselho Nacional do Meio Ambiente e instituiu-se o Cadastro Técnico Federal de Atividades e Instrumentos de Defesa Ambiental, a gestão ambiental pública ganhou um espaço cada vez maior nas administrações municipais, com a implementação de instrumentos de gestão ambiental propiciando aos municípios a possibilidade de ações efetivas que contribuam para uma melhor qualidade de vida a população. Esse trabalho propõe a criação de um método de classificação municipal que indicará qual o nível da gestão ambiental do município. Verificando o número de instrumentos de gestão ambiental constituído e o número de problemas ambientais ocorridos em cada município na visão do gestor local nos anos de 2006/2008. E ainda qual a influência do IDH tanto na implementação de tais instrumentos de gestão ambiental, como nas ocorrências dos problemas ambientais. Tal classificação tem a intenção de verificar se o município encontra-se bem aparelhado no que se refere à gestão ambiental, auxiliando para futuras decisões nas ações da política ambiental local. O foco desse trabalho serão os municípios dos estados de Minas Gerais, Piauí e Rio de Janeiro. Os resultados serão processados via o software MATLAB utilizando lógica nebulosa (fuzzy) e apresentados em um website utilizando as linguagens de programação JSP, HTML, JavaScript e esse website armazenado em um servidor TomCat e tais resultados serão apresentados nas formas de valores alfanuméricos em tabelas e espaciais através de mapas temáticos em uma solução sig-web. Os dados estão armazenados em um Sistema Gerenciador de Banco de Dados PostgreSQL com sua extensão espacial PostGIS, e o acesso aos mapas será feito através do servidor de mapas MapServer.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Para muitos usuários, a programação visual é uma alternativa atrativa às linguagens de programação textuais. Uma das razões para esta atração é que a representação visual de um problema está muito mais próxima com a forma pela qual a solução é obtida ou entendida se comparada à representação textual. Este trabalho apresenta um modelo para a programação visual de matrizes baseado nos paradigmas de fluxo de dados e planilhas eletrônicas. O fluxo de dados e a planilha forma a base semântica da linguagem, enquanto as representações gráficas do grafo direcionado e de uma planilha fundamentam sua base sintática. Este modelo consiste em um conjunto de diagramas bidimensionais e de regras de transformação. Os processos são implementados como redes de fluxo de dados e os dados são representados por planilhas. As planilhas podem ser vistas como variáveis do tipo matriz que armazenam dados bidimensionais, ou como funções, que recebem e produzem valores utilizados por outros processos. Neste caso, as planilhas são programadas seguindo o paradigma de programação por demonstrações que incorporam um poderoso construtor de interação, reduzindo significativamente a utilização de recursos e repetições. O modelo proposto pode ser utilizado em diversos domínios de aplicação, principalmente para simplificar a construção de modelos matemáticos de simulação e análise estatística.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Relatório da prática de ensino supervisionada, Mestrado em Ensino de Informática, Universidade de Lisboa, 2014

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Dispositivos adaptativos apresentam a característica de se modificarem dinamicamente em resposta a estímulos de entrada, sem interferência de agentes externos. Eventuais necessidades de modificação de comportamento são automaticamente detectadas por estes dispositivos para, em seguida, reagirem a elas de forma espontânea. Historicamente tais dispositivos emergiram das pesquisas na área de linguagens formais e autômatos. No entanto, o formalismo suscitou aplicações em diversas outras áreas. Programas com código auto-modificável, que perderam terreno em conseqüência do advento da Engenharia de Software nos anos 70, voltaram à vida recentemente em aplicações diversas. Uma das formas de programação de código auto-modificável é a utilização de linguagens de programação especificamente projetadas para isso. Linguagens adaptativas de programação são dispositivos adaptativos que empregam uma linguagem de programação convencional como mecanismo subjacente. Com o correr de sua execução, um programa escrito em uma linguagem adaptativa exibirá um comportamento auto-modificável em decorrência da ativação de suas ações adaptativas. O artigo apresenta aspectos do projeto e implementação de um ambiente para gerenciar a execução de uma linguagem adaptativa. Com o emprego de linguagem adaptiva, um novo estilo de programação é concebido, uma vez que o seu comportamento está diretamente associado ao conjunto de regras que o define, o qual se altera à medida que o código é executado.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Relatório da Prática de Ensino Supervisionada, Ensino de Informática, Universidade de Lisboa, 2013

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O desenvolvimento de software complexo de grande porte é muitas vezes dificultado pela carência de ferramentas adequadas para a clara expressão das idéias dos programadores em todos os aspectos técnicos do projeto. Isto é particularmente verdadeiro quando se lida com o poder de expressão de linguagens de programação. Como os grandes programas se compõem usualmente de segmentos com características técnicas diversificadas, parece natural disponibilizar ferramentas específicas para os programadores, de forma que uma boa expressividade seja obtida no código correspondente. As técnicas multiparadigma e multilinguagem são discutidas como formas alternativas de satisfazer essas necessidades, e a implementação de um ambiente de desenvolvimento multilinguagem (multiparadigma) é proposta e discutida em seus aspectos diversos. O artigo finaliza com uma bibliografia significativa sobre o tema, orientando os leitores interessados tanto nos aspectos de projeto como nos de caráter filosófico da técnica proposta.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O artigo apresenta uma ferramenta que auxilia na implementação de aplicações que empregam mais de uma linguagem de programação. Tais aplicações são ditas multilinguagens e quando as linguagens que as compõem representam diferentes paradigmas de programação, também são denominadas multiparadigmas. A técnica de programação multilinguagem permite que se utilize a linguagem de programação mais adequada à cada parte da aplicação. Em caso de equipes híbridas de programação podemos aproveitar o conhecimento de cada uma das equipes no uso das linguagens que irão compor a aplicação. A ferramenta descrita no artigo, implementada através de um conjunto de processos Win32, monitora e executa serviços de transferência de dados e controle entre os processos que compõem a aplicação. Através de uma interface gráfica o programador pode operá-la por meio de dois modos: desenvolvimento e execução. Dentre as áreas que poderiam se beneficiar com a a ferramenta, podemos citar a aplicação pedagógica relacionada ao ensino de paradigmas de programação, aplicações já existentes que necessitam estender-se com o emprego de outras linguagens de programação e aplicações cujos problemas envolvidos se constituem em diferentes paradigmas de programação.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O desenvolvimento de software complexo de grande porte é muitas vezes dificultado pela carência de ferramentas adequadas para a clara expressão das idéias dos programadores em todos os aspectos técnicos do projeto. Isto é particularmente verdadeiro quando se lida com o poder de expressão de linguagens de programação. Como os grandes programas se compõem usualmente de segmentos com características técnicas diversificadas, parece natural disponibilizar ferramentas específicas para os programadores, de forma que uma boa expressividade seja obtida no código correspondente. Para que a interface entre estes diferentes segmentos seja efetivada, torna-se viável o emprego de esquemas que facilitem a interação entre os mesmos. O artigo apresenta uma proposta de implementação de um mecanismo de troca de dados entre módulos de linguagens que compõem uma aplicação multilinguagem. O mecanismo pode também ser aplicado a linguagens oriundas de diferentes paradigmas de programação. O artigo também apresenta um pequeno exemplo completo de implementação que exercita parcialmente o ambiente proposto.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

O Resource Description Framework (RDF) é uma infra-estrutura, que possibilita a codificação, troca e reuso de metadata estruturado. Metadata é dados sobre dados. O termo refere a qualquer dado usado para ajudar a identificação, descrição e localização de recursos eletrônicos na rede. O RDF permite adicionar declarações, sinônimos e palavras que não estão presentes nos recursos, mas que são pertinentes a eles. Uma declaração RDF pode ser desenhada usando diagramas de arcos e nodos, onde os nodos representam os recursos e os arcos representam as propriedades nomeadas. O modelo básico consiste em recursos, propriedades e objetos. Todas as coisas sendo descritas pelas declarações RDF são chamadas de recursos. Um recurso pode ser uma página da Web inteira ou um elemento específico HTML ou XML dentro de um documento fonte. Uma propriedade é um aspecto específico, característica, atributo, ou relação usada para descrever um recurso. O objeto pode ser um outro recurso ou um literal. Estas três partes, juntas, formam uma declaração RDF. O resultado do parser para recursos com metadata RDF, é um conjunto de declarações referentes aquele recurso. A declaração destas propriedades e a semântica correspondente delas estão definidas no contexto do RDF como um RDF schema. Um esquema não só define as propriedades do recurso (por exemplo, título, autor, assunto, tamanho, cor, etc.), mas também pode definir os tipos de recursos sendo descritos (livros, páginas Web, pessoas, companhias, etc.). O RDF schema, provê um sistema básico de tipos necessários para descrever tais elementos e definir as classes de recursos. Assim, os recursos constituindo este sistema de tipos se tornam parte do modelo RDF de qualquer descrição que os usa. A geração de modelos RDF pode ser conseguida através de algoritmos implementados com linguagens de programação tradicionais e podem ser embutidos em páginas HTML, documentos XML e até mesmo em imagens. Com relação a modelos em imagens, servidores Web específicos são usados para simular dois recursos sobre o mesmo URI, servindo ora a imagem ora a descrição RDF. Uma alternativa para armazenar e manipular grande quantidade de declarações RDF é usar a tecnologia de banco de dados relacional. Abordagens para armazenar declarações RDF em banco de dados relacional foram propostas, mas todas elas mantêm modelos diversos de diferentes fontes. Critérios de avaliação como tempo de carga, proliferação de tabelas, espaço, dados mantidos e custo de instruções SQL foram definidos. Duas abordagens apresentaram resultados satisfatórios. Com uma nova abordagem proposta por este trabalho se obteve melhores resultados principalmente no aspecto de consultas. A nova proposta provê mecanismos para que o usuário faça seu próprio modelo relacional e crie suas consultas. O conhecimento necessário pelo usuário se limita em parte aos modelos mantidos e ao esquema RDF.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Modelos BDI (ou seja, modelos Beliefs-Desires-Intentions models) de agentes têm sido utilizados já há algum tempo. O objetivo destes modelos é permitir a caracterização de agentes utilizando noções antropomórficas, tais como estados mentais e ações. Usualmente, estas noções e suas propriedades são formalmente definidas utilizandos formalismos lógicos que permitem aos teóricos analisar, especificar e verificar agentes racionais. No entanto, apesar de diversos sistemas já terem sido desenvolvidos baseados nestes modelos, é geralmente aceito que existe uma distância significativa entre esta lógicas BDI poderosas e sistemas reais. Este trabalho defende que a principal razão para a existência desta distância é que os formalismos lógicos utilizados para definir os modelos de agentes não possuem uma semântica operacional que os suporte. Por “semântica operacional” entende-se tanto procedimentos de prova que sejam corretos e completos em relação à semântica da lógica, bem como mecanismos que realizem os diferentes tipos de raciocínio necessários para se modelar agentes. Há, pelo menos, duas abordagens que podem ser utilizadas para superar esta limitação dos modelos BDI. Uma é estender as lógicas BDI existentes com a semântica operacional apropriada de maneira que as teorias de agentes se tornem computacionais. Isto pode ser alcançado através da definição daqueles procedimentos de prova para as lógicas usadas na definição dos estados mentais. A outra abordagem é definir os modelos BDI utilizando formalismos lógicos apropriados que sejam, ao mesmo tempo, suficientemente poderosos para representar estados mentais e que possuam procedimentos operacionais que permitam a utilizaçao da lógica como um formalismo para representação do conhecimento, ao se construir os agentes. Esta é a abordagem seguida neste trabalho. Assim, o propósito deste trabalho é apresentar um modelo BDI que, além de ser um modelo formal de agente, seja também adequado para ser utilizado para implementar agentes. Ao invés de definir um novo formalismo lógico, ou de estender um formalismo existente com uma semântica operacional, define-se as noções de crenças, desejos e intenções utilizando um formalismo lógico que seja, ao mesmo tempo, formalmente bem-definido e computacional. O formalismo escolhido é a Programação em Lógica Estendida com Negação Explícita (ELP) com a semântica dada pelaWFSX (Well-Founded Semantics with Explicit Negation - Semântica Bem-Fundada com Negação Explícita). ELP com a WFSX (referida apenas por ELP daqui para frente) estende programas em lógica ditos normais com uma segunda negação, a negação explícita1. Esta extensão permite que informação negativa seja explicitamente representada (como uma crença que uma propriedade P não se verifica, que uma intenção I não deva se verificar) e aumenta a expressividade da linguagem. No entanto, quando se introduz informação negativa, pode ser necessário ter que se lidar com programas contraditórios. A ELP, além de fornecer os procedimentos de prova necessários para as teorias expressas na sua linguagem, também fornece um mecanismo para determinar como alterar minimamente o programa em lógica de forma a remover as possíveis contradições. O modelo aqui proposto se beneficia destas características fornecidas pelo formalismo lógico. Como é usual neste tipo de contexto, este trabalho foca na definição formal dos estados mentais em como o agente se comporta, dados tais estados mentais. Mas, constrastando com as abordagens até hoje utilizadas, o modelo apresentanto não é apenas uma especificação de agente, mas pode tanto ser executado de forma a verificar o comportamento de um agente real, como ser utilizado como mecanismo de raciocínio pelo agente durante sua execução. Para construir este modelo, parte-se da análise tradicional realizada na psicologia de senso comum, onde além de crenças e desejos, intenções também é considerada como um estado mental fundamental. Assim, inicialmente define-se estes três estados mentais e as relações estáticas entre eles, notadamente restrições sobre a consistência entre estes estados mentais. Em seguida, parte-se para a definição de aspectos dinâmicos dos estados mentais, especificamente como um agente escolhe estas intenções, e quando e como ele revisa estas intenções. Em resumo, o modelo resultante possui duas características fundamentais:(1) ele pode ser usado como um ambiente para a especificação de agentes, onde é possível definir formalmente agentes utilizando estados mentais, definir formalmente propriedades para os agentes e verificar se estas propriedades são satifeitas pelos agentes; e (2) também como ambientes para implementar agentes.