999 resultados para Linguagens de programação em lógica - Semântica
Resumo:
Os controladores lógicos programáveis (PLC) são muito ,e cada vez mais, utilizados na indústria. Este tipo de equipamento, além de ser inerentemente caro, pode causar situações perigosas e perda de produtividade caso sejam incorretamente programados. Existem programas de alguns fabricantes que permitem a simulação de linguagens utilizadas na programação de autómatos (segundo a norma internacional IEC 61131-3), mas uma simulação da linguagem em Texto Estruturado (ST) em particular, é complicada e de difícil acesso. O principal objetivo deste projeto é a realização de um simulador em tempo real, capaz de realizar testes e simulações prévias de código de Texto Estruturado, a testar posteriormente no autómato TSX Micro 3721 da Schneider. É necessário a construção de um compilador e interpretador de linguagens de programação, para realização do simulador e interface gráfica. Os dois sistemas utilizados para gerar as regras formais gramaticais e de produção em linguagens de programação são o Lex e o Yacc. O Lex gera um analisador léxico dividindo o ficheiro de linguagem em texto estruturado em tokens (símbolos significativos). O Yacc, através desses símbolos recebidos, forma as regras de produção e a respetiva estrutura hierárquica do programa. A partir da interpretação desta estrutura gerada é possível traduzir ou compilar qualquer linguagem de programação, neste caso o texto estruturado, e criar um simulador correspondente numa outra linguagem. O simulador recebe o código ST e através de funções definidas pelo sistema de compilação, interpretação e tradução, reconhece as instruções em linguagem de texto estruturado correspondente e realiza o conjunto de ações propostas. Analisando os testes no autómato e os resultados apresentados pela interface, podemos concluir que é possível realizar compiladores e respetivos simuladores, utilizando análises gramaticais das linguagens de programação, em particular, podemos concluir que o simulador para linguagem em Texto Estruturado foi realizado com sucesso.
Resumo:
The MAP-i Doctoral Program of the Universities of Minho, Aveiro and Porto
Resumo:
Este trabalho visa apresentar o desenvolvimento de um Sistema de Inscrição Para a Prova de Ingresso Online, dando um especial enfoque à inscrição e selecção dos candidatos para a prova de ingresso na Uni-CV. A situação actual da gestão de inscrição para prova de ingresso era efectuada manualmente, sendo que isto causa alguns constrangimentos. Considera-se que deve primar para uma gestão mais eficiente. Neste sentido, define-se como objectivo o desenvolvimento desse Sistema de Inscrição para Prova de Ingresso Online na Uni-CV. Para o efeito, analisa-se neste trabalho o sistema actual numa perspectiva de concepção de uma aplicação que atenda as necessidades específicas e reais desta Instituição. Várias abordagens foram conceptualmente discutidas num referencial teórico para elaboração do sistema, tendo sido privilegiados os conhecimentos apreendidos durante a formação académica designadamente nas disciplinas Técnicas de Programação, Base de Dados, Sistemas de Informação, Desenvolvimento de Projectos Informáticos, Desenvolvimento avançado de aplicações internet, Planeamento e gestão de projectos, Projectos e Metodologias de Desenvolvimento de Sistemas de Informação. A análise do sistema e a geração de documentação da base de dados foram realizadas com os recursos das ferramentas de desenvolvimento. Para o desenvolvimento do sistema foram utilizados as linguagens de programação PHP, HTML, UML. Para a base de dados que elegeu-se o MySQL. Fundamentou-se essa opção, pelo facto de serem tecnologias modernas e que proporcionam ao sistema uma grande fiabilidade e também porque a Instituição utiliza-se as mesmas tecnologias, o que facilita as coisas.
Resumo:
Este trabalho foi desenvolvido no âmbito do Curso de Licenciatura em Informática – Ramo Educacional e tem por objecto estudar e avaliar o Sistema de Gestão de Conteúdos no Projecto de Desenvolvimento do Site do Ministério da Saúde cujo o objectivo é a implementação de um sistema de informação para a divulgação das actividades realizadas pelo Ministério da Saúde de Cabo Verde. Com o desenvolvimento das tecnologias de informação e comunicação, uma das mais populares formas de divulgação da informação tem sido através de criação de sites e aplicações web. Nessa óptica torna-se de extrema importância que uma instituição como o Ministério da Saúde disponha de um sistema de recolha, tratamento e divulgação de informação utilizando as tecnologias de informação e comunicação. No primeiro momento do trabalho fiz-se uma analise das tecnologias de comunicação, a web, os protocolos utilizados, linguagens de programação, base de dados MYSQL, servidores web, e especialmente o Sistema de Gestão de Conteúdos, seguido de um levantamento dos requisitos e uma análise das necessidades em matéria de infra-estruturas tecnológicas, e escolha de ferramentas de desenvolvimento de sites. Passou-se á recolha de informações através de contactos com todos os departamentos e estruturas do Ministério da Saúde. Segue-se a modelação e análise das informações de acordo com as estruturas dessa Instituição. Seguiu-se para a codificação que consiste praticamente na instalação e configuração dos elementos do joomla que são os templates, componente, módulos, mambots. Após as configurações, fez-se as ligações ou links para os documentos e páginas do site e finalmente os testes do site. Serviram de apoio nesse trabalho disciplinas do curso como Organização Interactiva, Sistemas de Informação, Metodologias de Sistema de Informação, Desenho Software, Desenvolvimentos de Projectos Informáticos e Base de Dados. Com o desenvolvimento deste espaço passa-se a divulgar e publicar todas as actividades relacionadas com a saúde, nomeadamente campanhas de sensibilização e informação, publicação de documentos, dados estatísticos, fóruns de discussões sobre a saúde, inquéritos on-line, entre outros. De salientar que o site neste momento se encontra funcionando e com uma grande audiência.
Resumo:
Os sistemas de gestão tornaram-se um dos principais componentes dos sistemas de informação das empresas. Levando em consideração a importância de as empresas terem um sistema de gestão da informação, este projecto apresenta um protótipo de um sistema para uma clínica odontológica. O projecto foi realizado seguindo a metodologia de engenharia de software. Para o desenvolvimento do protótipo no padrão de sistemas web, foram utilizadas as linguagens de programação Html, PHP e Java, banco de dados MySQL, UML para a modelação do sistema e Joomla para a gestão de conteúdos. Na análise do sistema foram identificados os requisitos funcionais e os requisitos não funcionais, foram desenvolvidos os casos de usos necessários, os diagramas de casos de uso, diagramas de sequência e de classes. Este sistema deve ser capaz de garantir a segurança dos dados, atendimento de qualidade aos pacientes, reduzir custos operacionais e melhorar a qualidade de funcionamento, proporcionando assim ao profissional da área maior controlo sobre suas actividades.
Resumo:
Estudo da forma eletrônica do hipertexto. Considerando que a forma - o espaço, semântico e material - produz sentidos, os conceitos de texto, paratexto e hipertexto são estudados para discutir a forma hipertextual, bem como os elementos paratextuais à descrição de sites. A estrutura textual do hipertexto revelou-se uma estrutura menos formalizada que o texto impresso, entretanto com uma lógica/semântica própria que o espaço digital oferece por meio da linguagem html. A descrição, em nível de referência desses documentos, merece uma sistematização oficial, frente às várias propostas que se apresentam na literatura e na Internet, sem deixar de discutir os aspectos científicos envolvidos nesse tipo de atualização.
Resumo:
A programming style can be seen as a particular model of shaping thought or a special way of codifying language to solve a problem. An adaptive device is made up of an underlying formalism, for instance, an automaton, a grammar, a decision tree, etc., and an adaptive mechanism, responsible for providing features for self-modification. Adaptive languages are obtained by using some programming language as the device’s underlying formalism. The conception of such languages calls for a new programming style, since the application of adaptive technology in the field of programming languages suggests a new way of thinking. Adaptive languages have the basic feature of allowing the expression of programs which self-modifying through adaptive actions at runtime. With the adaptive style, programming language codes can be structured in such a way that the codified program therein modifies or adapts itself towards the needs of the problem. The adaptive programming style may be a feasible alternate way to obtain self-modifying consistent codes, which allow its use in modern applications for self-modifying code.
Resumo:
Independentemente do modelo de programação adotado, no projeto e implementação de aplicações de alta disponibilidade, faz-se necessário usar procedimentos de tolerância a falhas. Dentre as atividades que trazem consigo interesse de pesquisa na área de Tolerância a Falhas, estão os mecanismos de recuperação em um sistema computacional. Do ponto de vista prático, estes mecanismos buscam manter próximo do mínimo o tempo total de execução de aplicações computacionais de longa duração, ao mesmo tempo em que as preparam para não sofrerem perdas significativas de desempenho, em caso de falhas. Paralelamente à evolução dos sistemas computacionais, foi possível observar também a evolução das linguagens de programação, principalmente as que utilizam o paradigma orientado a objetos. O advento da área de tolerância a falhas na orientação a objetos resultou em novos problemas na atividade de recuperação quanto aos mecanismos de salvamento de estados e retomada da execução, principalmente no que se refere às dificuldades de gerenciamento e controle sobre a alocação de objetos. Entretanto, observa-se que a complexidade de implementação dos mecanismos de recuperação, por parte dos programadores, exige deles conhecimentos mais especializados para o salvamento dos estados da aplicação e para a retomada da execução. Portanto, a simplificação do trabalho do programador, através do uso de uma biblioteca de checkpointing que implemente os mecanismos de salvamento de estados e recuperação é o ponto focal deste trabalho. Diante do contexto exposto, nesta dissertação, são definidas e implementadas as classes de uma biblioteca que provê mecanismos de checkpointing e recuperação. Esta biblioteca, denominada de Libcjp, visa aprimorar o processo de recuperação de aplicações orientadas a objetos escritas na linguagem de programação Java. Esta linguagem foi escolhida para implementação devido à presença dos recursos de persistência e serialização. Para a concepção do trabalho, são considerados ambos os cenários no paradigma orientado a objetos: objetos centralizados e distribuídos. São utilizados os recursos da API de serialização Java e a tecnologia Java RMI para objetos distribuídos. Conclui-se o trabalho com a ilustração de casos de uso através de diversos exemplos desenvolvidos a partir de seus algoritmos originais inicialmente, e incrementados posteriormente com os mecanismos de checkpointing e recuperação. Os componentes desenvolvidos foram testados quanto ao cumprimento dos seus requisitos funcionais. Adicionalmente, foi realizada uma análise preliminar sobre a influência das ações de checkpointing nas características de desempenho das aplicações.
Resumo:
No projeto de arquiteturas computacionais, a partir da evolução do modelo cliente-servidor, surgiram os sistemas distribuídos com a finalidade de oferecer características tais como: disponibilidade, distribuição, compartilhamento de recursos e tolerância a falhas. Estas características, entretanto, não são obtidas de forma simples. As aplicações distribuídas e as aplicações centralizadas possuem requisitos funcionais distintos; aplicações distribuídas são mais difíceis quanto ao projeto e implementação. A complexidade de implementação é decorrente principalmente da dificuldade de tratamento e de gerência dos mecanismos de comunicação, exigindo equipe de programadores experientes. Assim, tem sido realizada muita pesquisa para obter mecanismos que facilitem a programação de aplicações distribuídas. Observa-se que, em aplicações distribuídas reais, mecanismos de tolerância a falhas constituem-se em uma necessidade. Neste contexto, a comunicação confiável constitui-se em um dos blocos básicos de construção. Paralelamente à evolução tanto dos sistemas distribuídos como da área de tolerância a falhas, foi possível observar também a evolução das linguagens de programação. O sucesso do paradigma de orientação a objetos deve-se, provavelmente, à habilidade em modelar o domínio da aplicação ao invés da arquitetura da máquina em questão (enfoque imperativo) ou mapear conceitos matemáticos (conforme o enfoque funcional). Pesquisadores demonstraram que a orientação a objetos apresenta-se como um modelo atraente ao desenvolvimento de aplicações distribuídas modulares e tolerantes a falhas. Diante do contexto exposto, duas constatações estimularam basicamente a definição desta dissertação: a necessidade latente de mecanismos que facilitem a programação de aplicações distribuídas tolerantes a falhas; e o fato de que a orientação a objetos tem-se mostrado um modelo promissor ao desenvolvimento deste tipo de aplicação. Desta forma, nesta dissertação definem-se classes para a comunicação do tipo unicast e multicast, nas modalidades de envio confiável e não-confiável. Além destes serviços de comunicação básicos, foram desenvolvidas classes que permitem referenciar os participantes da comunicação através de nomes. As classes estão organizadas na forma de um pacote, compondo um framework. Sua implementação foi desenvolvida usando Java. Embora não tivessem sido requisitos básicos, as opções de projeto visaram assegurar resultados aceitáveis de desempenho e possibilidade de reuso das classes. Foram implementados pequenos trechos de código utilizando e testando a funcionalidade de cada uma das classes de comunicação propostas.
Resumo:
A área de gerência de rede cresce à medida que redes mais seguras e menos vulneráveis são necessárias, e as aplicações que concorrem pelo seu uso, necessitam de alta disponibilidade e qualidade de serviço. Quando estamos focando a gerência da infra-estrutura física das redes de computadores, por exemplo, a taxa de uso de um segmento de rede, podemos dizer que esse tipo de gerenciamento encontra-se em um patamar bastante sedimentado e testado. Por outro lado, há ainda lacunas para pesquisar na área de gerenciamento de protocolos de alto nível. Entender o comportamento da rede como um todo, conhecer quais hosts mais se comunicam, quais aplicações geram mais tráfego e, baseado nessas estatísticas, gerar uma política para a distribuição de recursos levando em consideração as aplicações críticas é um dever nas redes atuais. O grupo de trabalho IETF RMON padronizou, em 1997, a MIB RMON2. Ela foi criada para permitir a monitoração de protocolos das camadas superiores (rede, transporte e aplicação), a qual é uma boa alternativa para realizar as tarefas de gerenciamento recém mencionadas. Outro problema para os gerentes de rede é a proliferação dos protocolos de alto nível e aplicações corporativas distribuídas. Devido a crescente quantidade de protocolos e aplicações sendo executados sobre as redes de computadores, os softwares de gerenciamento necessitam ser adaptados para serem capazes de gerenciá-los. Isso, atualmente, não é fácil porque é necessário usar linguagens de programação de baixo nível ou atualizar o firmware dos equipamentos de monitoração, como ocorre com os probes RMON2. Considerando este contexto, esse trabalho propõe o desenvolvimento de um agente RMON2 que contemple alguns grupos dessa MIB. O agente baseia-se na monitoração protocolos de alto nível e aplicações que são executados sobre o IP (Internet Protocol) e Ethernet (na camada de enlace). Além da implementação do agente, o trabalho apresenta um estudo de como obter estatísticas do agente RMON2 e usá-las efetivamente para gerenciar protocolos de alto nível e aplicações.
Resumo:
Sistemas de informação incorporam processos de negócios particulares de cada organização. A medida em que se observa uma crescente pressão de mercado para que empresas troquem informações de forma automatizada e segura para obtenção de melhores resultados, faz-se necessário repensar a forma como são concebidos os sistemas de informação, desde a modelagem da empresa propriamente dita até a modelagem dos processos de negócio e sua interação com os demais colaboradores. Modelar os processos de negócio de uma empresa em um contexto global significa não apenas estabelecer regras de comportamento, mas também expressar a forma como os processos poderão ser acionados e interagir com sistemas de informação diferentes. Existem várias tecnologias empregadas para a integração de sistemas de informação. Entre tantas tecnologias, uma delas vêm recebendo especial atenção: a tecnologia Web services. A suposta interoperabilidade dos Web services permite a comunicação de aplicações desenvolvidas em diferentes plataformas de hardware e diferentes linguagens de programação através da Internet ou de uma rede local. No entanto, algumas particularidades devem ser observadas para que a implementação de Web services seja eficiente. Disponibilizar processos de negócio de uma empresa através da Internet pode ser uma ótima opção para o incremento de suas atividades, mas requer cuidados especiais. Este trabalho apresenta uma revisão bibliográfica sobre a modelagem de empresas, modelagem de processos de negócio e a integração de sistemas de informação através do uso de Web services. Através de um estudo de caso, são apresentados os principais conceitos e as etapas necessárias para a implementação de Web services em um sistema Web. Como contribuição deste trabalho, é proposta uma alternativa de modelagem de sistemas que permite um melhor controle sobre o tratamento de exceções em Web services. O trabalho desenvolvido compreendeu a especificação, desenvolvimento e aplicação de um ambiente para suportar esta classe de aplicação. No texto é descrito o funcionamento da biblioteca NuSOAP, apresentando o código-fonte completo da aplicação desenvolvida, acessando Web services através de chamadas em alto nível (WSDL). Com o presente trabalho, tem-se uma proposta, já avaliada e validada, para funcionar como referencial conceitual e prático para o desenvolvimento de aplicações usando a tecnologia de Web services.
Resumo:
A configuração de dispositivos é uma tarefa crítica de gerenciamento, pois envolve alterações no estado da rede, da qual, cada vez mais, se exige um funcionamento com garantias de qualidade de serviço (QoS) e com um menor número possível de falhas ou interrupções. Por esse motivo, evidencia-se a importância do uso de protocolos adequados à tarefa de configuração. A opção natural e mais aceita atualmente, o protocolo SNMP, apresenta lacunas e falhas que o tornaram insuficiente para atender esses requisitos de configuração. Dentre os protocolos de configuração disponíveis na atualidade, destaca-se o NETCONF. Por outro lado, SOAP também pode ser usado para configuração e vem ganhando importância com a atual popularização dos Web Services, os quais proporcionam interoperabilidade entre aplicações Web. Enquanto o NETCONF é um protocolo específico para configurações, o SOAP é um protocolo genérico para realizar chamadas remotas de procedimentos (RPC). Ambos podem ser encapsulados em protocolos diferentes, formando arquiteturas de redes distintas. É importante notar que, pelo fato da proposta do protocolo NETCONF ser recente, tem-se poucos (ou talvez nenhum) resultados a respeito do desempenho do NETCONF e seus possíveis encapsulamentos. Uma questão importante que normalmente também surge neste contexto é a da real necessidade de um novo protocolo de configuração como o NETCONF, mediante a existência de um protocolo de uso geral já amplamente aceito como é o caso do SOAP. Nessa dissertação é discutido o uso de NETCONF e SOAP para a configuração de dispositivos. Além disso, são apresentados protótipos que implementam tais protocolos. Para tal, são considerados quatro cenários de gerenciamento utilizando arquiteturas de protocolos distintas que permitiram a realização de avaliações de desempenho dos mesmos em relação ao tempo de resposta e consumo de banda. O resultado dessas avaliações aliado ao estudo realizado sobre as tecnologias envolvidas não ajudou a justificar a existência do NETCONF, apesar da ligeira vantagem do NETCONF sobre o SOAP na questão de tempo de resposta, que pode ser explicada pelas diferentes linguagens de programação empregadas nas implementações. Concluiu-se que o NETCONF pode ser assim eficientemente substituído pelo protocolo SOAP sem perda de funcionalidades e com ganho em relação ao consumo de banda.
Resumo:
O professor inicia-se esta videoaula fazendo uma apresentação pessoal. Logo após, informa algumas informações referentes à disciplina, que foca no contexto de aplicação para web (abordagem cliente – servidor). As tecnologias citadas são a linguagem Java, servidor Tomcat e banco de dados MySQL. São mencionadas as tarefas que devem ser executadas pelos alunos de modo a dar continuidade à disciplina.
Resumo:
Este material traz a definição de matemática discreta, tendo como objetivo desenvolver e complementar o ferramental matemático básico do aluno para o aprendizado da computação. Apresenta a diferença de matemática contínua e matemática discreta. As disciplinas de Matemática Discreta estão presentes em todos os cursos de computação, devido à sua importância para quase todas as áreas da computação, principalmente construção de algoritmos, linguagens de programação e compiladores. A matemática como um todo oferece ferramentas para modelar e solucionar diversos problemas do mundo real.