152 resultados para Programação evolutiva (Computação)


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Nos anos mais recentes tem sido feita investigação no uso da Programação Orientada a Aspectos no suporte a computação paralela, nomeadamente para conseguir guardar as funcionalidades da mesma em módulos, algo que não é possível quando se utiliza Programação Orientada a Objectos. Um resultado desta investigação foi o desenvolvimento de uma aplicação, o ParJECoLi, desenvolvida usando a linguagem Java e recorrendo ao AspectJ para paralelizar a mesma. No entanto, durante essa mesma investigação, chegou-se à conclusão que o AspectJ apresenta algumas limitações na reutilização de módulos. Tendo em conta isso, surgiu a ideia de estudar uma outra linguagem de programação, conceptualmente diferente da usada na investigação. A linguagem Scala é conhecida por ter uma capacidade de composição modular flexível. Como tal parece interessante entender até que ponto é capaz de substituir AspectJ no suporte modular à computação paralela. Este projecto pretende aferir essa capacidade. Neste contexto, pretende-se usar o ParJECoLi como caso de estudo para dirigir comparações entre Scala e AspectJ.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este relatório conclui o estágio no Museu Nacional de História Natural e da Ciência, em que o meu contributo passou por programar três percursos que valorizassem o património cultural da Universidade de Lisboa, no atual contexto. Através destes passeios, é pretendido envolver o público, em geral, no mundo universitário, dando a conhecer toda a riqueza e diversidade patrimonial, toda a história dos espaços pertença de cada uma das Faculdades da Universidade de Lisboa e o cruzamento possível e desejável com a história do País. Estes são alguns dos percursos possíveis, tendo em conta todo o património da Universidade de Lisboa, muito diverso, riquíssimo e em alguns casos pouco conhecido do grande público. É agora necessário que este património seja, também, incorporado em visitas turísticas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Actualmente, os meios de produção industrial estão em constante desenvolvimento, de forma a corresponderem a um mercado cada vez mais globalizado, caracterizado por uma forte competição, uma pressão na redução de custos, e a existência de produtos e serviços personalizados. Entretanto, ao nível de equipamento de robótica, também se tem notado esta pressão por parte do mercado, exigindo-se equipamento com uma complexidade crescente, tanto ao nível da sua morfologia, do seu controlo e da sua utilização. Ao nível da sua utilização, tornou-se então necessário adoptar abordagens que permitam um maior controlo quanto a falhas de manuseamento e respectiva modelação destes robôs. Uma destas abordagens é a simulação. A simulação é uma das áreas com maior crescimento a nível tecnológico, sendo utilizada em várias áreas de tecnologia e informação devido à sua capacidade de adaptação, tornando-se numa área bastante dinâmica e flexível. Dentro dum contexto de robôs industriais, as aplicações mais típicas consistem na programação “offline” de robôs e na aprendizagem de robótica, tendo como objectivo estudar e analisar os comportamentos de determinados sistemas, com o intuito de reduzir a necessidade de intervenção humana em tarefas repetitivas, perigosas e dispendiosas. Além disso, a simulação está também presente na computação informática nas salas de aulas, por forma a auxiliar o professor. Foi então idealizado um sistema de simulação capaz de imitar um robô industrial em que os alunos terão que conseguir controlar, para que os vários testes sejam primeiramente implementados no simulador, diminuindo assim, o risco de causar acidentes no seu congênere real durante a fase de testes. O sistema consiste numa interface em que possibilita ao utilizador fazer um controlo manual do robô simulado, assim como ser capaz de o controlar por comandos requisitados por uma aplicação exterior através de serviços WEB, permitindo assim, a simulação de vários testes no robô industrial em causa.

Relevância:

10.00% 10.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:

10.00% 10.00%

Publicador:

Resumo:

Due to usage conditions, hazardous environments or intentional causes, physical and virtual systems are subject to faults in their components, which may affect their overall behaviour. In a ‘black-box’ agent modelled by a set of propositional logic rules, in which just a subset of components is externally visible, such faults may only be recognised by examining some output function of the agent. A (fault-free) model of the agent’s system provides the expected output given some input. If the real output differs from that predicted output, then the system is faulty. However, some faults may only become apparent in the system output when appropriate inputs are given. A number of problems regarding both testing and diagnosis thus arise, such as testing a fault, testing the whole system, finding possible faults and differentiating them to locate the correct one. The corresponding optimisation problems of finding solutions that require minimum resources are also very relevant in industry, as is minimal diagnosis. In this dissertation we use a well established set of benchmark circuits to address such diagnostic related problems and propose and develop models with different logics that we formalise and generalise as much as possible. We also prove that all techniques generalise to agents and to multiple faults. The developed multi-valued logics extend the usual Boolean logic (suitable for faultfree models) by encoding values with some dependency (usually on faults). Such logics thus allow modelling an arbitrary number of diagnostic theories. Each problem is subsequently solved with CLP solvers that we implement and discuss, together with a new efficient search technique that we present. We compare our results with other approaches such as SAT (that require substantial duplication of circuits), showing the effectiveness of constraints over multi-valued logics, and also the adequacy of a general set constraint solver (with special inferences over set functions such as cardinality) on other problems. In addition, for an optimisation problem, we integrate local search with a constructive approach (branch-and-bound) using a variety of logics to improve an existing efficient tool based on SAT and ILP.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The basic motivation of this work was the integration of biophysical models within the interval constraints framework for decision support. Comparing the major features of biophysical models with the expressive power of the existing interval constraints framework, it was clear that the most important inadequacy was related with the representation of differential equations. System dynamics is often modelled through differential equations but there was no way of expressing a differential equation as a constraint and integrate it within the constraints framework. Consequently, the goal of this work is focussed on the integration of ordinary differential equations within the interval constraints framework, which for this purpose is extended with the new formalism of Constraint Satisfaction Differential Problems. Such framework allows the specification of ordinary differential equations, together with related information, by means of constraints, and provides efficient propagation techniques for pruning the domains of their variables. This enabled the integration of all such information in a single constraint whose variables may subsequently be used in other constraints of the model. The specific method used for pruning its variable domains can then be combined with the pruning methods associated with the other constraints in an overall propagation algorithm for reducing the bounds of all model variables. The application of the constraint propagation algorithm for pruning the variable domains, that is, the enforcement of local-consistency, turned out to be insufficient to support decision in practical problems that include differential equations. The domain pruning achieved is not, in general, sufficient to allow safe decisions and the main reason derives from the non-linearity of the differential equations. Consequently, a complementary goal of this work proposes a new strong consistency criterion, Global Hull-consistency, particularly suited to decision support with differential models, by presenting an adequate trade-of between domain pruning and computational effort. Several alternative algorithms are proposed for enforcing Global Hull-consistency and, due to their complexity, an effort was made to provide implementations able to supply any-time pruning results. Since the consistency criterion is dependent on the existence of canonical solutions, it is proposed a local search approach that can be integrated with constraint propagation in continuous domains and, in particular, with the enforcing algorithms for anticipating the finding of canonical solutions. The last goal of this work is the validation of the approach as an important contribution for the integration of biophysical models within decision support. Consequently, a prototype application that integrated all the proposed extensions to the interval constraints framework is developed and used for solving problems in different biophysical domains.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

O recurso à monitorização do comportamento dos programas durante a execução é necessário em diversos contextos de aplicação. Por exemplo, para verificar a utilização dos recursos computacionais durante a execução, para calcular métricas que permitam melhor definir o perfil da aplicação ou para melhor identificar em que pontos da execução estão as causas de desvios do comportamento desejado de um programa e, noutros casos, para controlar a configuração da aplicação ou do sistema que suporta a sua execução. Esta técnica tem sido aplicada, quer no caso de programas sequenciais, quer se trate de programas distribuídos. Em particular, no caso de computações paralelas, dada a complexidade devida ao seu não determinismo, estas técnicas têm sido a melhor fonte de informação para compreender a execução da aplicação, quer em termos da sua correcção, quer na avaliação do seu desempenho e utilização dos recursos computacionais. As principais dificuldades no desenvolvimento e na adopção de ferramentas de monitorização, prendem-se com a complexidade dos sistemas de computação paralela e distribuída e com a necessidade de desenvolver soluções específicas para cada plataforma, para cada arquitectura e para cada objectivo. No entanto existem funcionalidades genéricas que, se presentes em todos os casos, podem ajudar ao desenvolvimento de novas ferramentas e à sua adaptação a diferentes ambientes computacionais. Esta dissertação propõe um modelo para suportar a observação e o controlo de aplicações paralelas e distribuídas (DAMS - Distributed ApplicationsMonitoring System). O modelo define uma arquitectura abstracta de monitorização baseada num núcleo mínimo sobre o qual assentam conjuntos de serviços que realizam as funcionalidades pretendidas em cada cenário de utilização. A sua organização em camadas de abstracção e a capacidade de extensão modular, permitem suportar o desenvolvimento de conjuntos de funcionalidades que podem ser partilhadas por distintas ferramentas. Por outro lado, o modelo proposto facilita o desenvolvimento de ferramentas de observação e controlo, sobre diferentes plataformas de suporte à execução. Nesta dissertação, são apresentados exemplos da utilização do modelo e da infraestrutura que o suporta, em diversos cenários de observação e controlo. Descreve-se também a experimentação realizada, com base em protótipos desenvolvidos sobre duas plataformas computacionais distintas.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In the past few years Tabling has emerged as a powerful logic programming model. The integration of concurrent features into the implementation of Tabling systems is demanded by need to use recently developed tabling applications within distributed systems, where a process has to respond concurrently to several requests. The support for sharing of tables among the concurrent threads of a Tabling process is a desirable feature, to allow one of Tabling’s virtues, the re-use of computations by other threads and to allow efficient usage of available memory. However, the incremental completion of tables which are evaluated concurrently is not a trivial problem. In this dissertation we describe the integration of concurrency mechanisms, by the way of multi-threading, in a state of the art Tabling and Prolog system, XSB. We begin by reviewing the main concepts for a formal description of tabled computations, called SLG resolution and for the implementation of Tabling under the SLG-WAM, the abstract machine supported by XSB. We describe the different scheduling strategies provided by XSB and introduce some new properties of local scheduling, a scheduling strategy for SLG resolution. We proceed to describe our implementation work by describing the process of integrating multi-threading in a Prolog system supporting Tabling, without addressing the problem of shared tables. We describe the trade-offs and implementation decisions involved. We then describe an optimistic algorithm for the concurrent sharing of completed tables, Shared Completed Tables, which allows the sharing of tables without incurring in deadlocks, under local scheduling. This method relies on the execution properties of local scheduling and includes full support for negation. We provide a theoretical framework and discuss the implementation’s correctness and complexity. After that, we describe amethod for the sharing of tables among threads that allows parallelism in the computation of inter-dependent subgoals, which we name Concurrent Completion. We informally argue for the correctness of Concurrent Completion. We give detailed performance measurements of the multi-threaded XSB systems over a variety of machines and operating systems, for both the Shared Completed Tables and the Concurrent Completion implementations. We focus our measurements inthe overhead over the sequential engine and the scalability of the system. We finish with a comparison of XSB with other multi-threaded Prolog systems and we compare our approach to concurrent tabling with parallel and distributed methods for the evaluation of tabling. Finally, we identify future research directions.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dissertação apresentada à Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do grau de Mestre em Engenharia Biomédica. A presente dissertação foi preparada no âmbito de uma colaboração existente entre a Faculdade de Ciências e Tecnologia e a Faculdade de Ciências Médicas da Universidade Nova de Lisboa.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Este estudo pretende mostrar algumas aplicações dos métodos computacionais na actividade de projecto em Engenharia Mecânica. Apresentam-se problemas concretos de engenharia que foram abordados durante um estágio realizado no CERN – Centre Européen pour la Recherche Nucléaire, e onde foram utilizados: a) o método dos elementos finitos para cálculo de temperaturas e fluxos de calor e a sua influência sobre os deslocamentos, tensões e deformações que ocorrem numa peça; b) o método híbrido dos elementos finitos/volumes finitos para a discretização das equações de Navier-Stokes e a análise do escoamento de fluidos; c) um algoritmo genético para a obtenção da solução óptima de um problema estrutural. O projecto em engenharia é uma actividade cada vez mais complexa, que requer o uso de ferramentas computacionais sofisticadas tais como os programas ANSYS e MATLAB que foram utilizados no estudo. A criação de modelos numéricos e a análise do seu comportamento com estas ferramentas requer simultaneamente um bom conhecimento dos princípios que estão na base do seu desenvolvimento e uma boa perícia na sua manipulação. Com elas é possível obter soluções quando os constrangimentos do projecto são exigentes e análises detalhadas do comportamento estrutural são necessárias. Neste estudo pretende-se também demonstrar que uma combinação inovadora destas ferramentas pode contribuir para obter aplicações úteis para a actividade de projecto em engenharia.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dissertação de Mestrado em Engenharia Informática

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do grau de Mestre em Engenharia Informática

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Informática

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dissertação para obtenção do grau de Mestre em Engenharia Electrotécnica e de Computadores