1000 resultados para Linguagem de programação
Resumo:
Os serviços inicialmente idealizados para o mundo dos negócios, têm actualmente um espectro de utilização muito mais lato, facilitando assim a incorporação de software do exterior, sob a representação de serviço, por parte das aplicações. Os principais contribuidores para a emergente utilização de serviços são a proliferação dos dispositivos móveis, a crescente popularidade da computação da nuvem e a ubiquidade da Internet. Apesar deste estado da arte, a abstracção dos serviços continua, maioritariamente, a ser relegada para a camada do middleware. Consequentemente, este confinamento obstem o programador de ter privilégios para interagir com os serviços ao nível da linguagem. A inexistência deste nível de abstracção dificulta o deployment de aplicações dinâmicas. Como medida para tal, o objectivo do nosso trabalho é garantir suporte ao dinamismo e deployment de arquitecturas orientadas a serviços. Com esse propósito, vamos endereçar os problemas de incorporação dos serviços acessíveis pela Web e permitir operações de reconfiguração dos mesmos, nomeadamente, a ligação dinâmica, substituição do fornecedor de serviços e a gestão dinâmica de conjuntos de fornecedores de serviços.
Resumo:
Relatório de estágio de mestrado em Ensino de Informática
Resumo:
Computação Móvel é um termo genérico, ainda em definição, ao redor do qual se delineia um espectro de cenários possíveis, desde a Computação Pessoal, com o uso de computadores de mão, até a visão futurista da Computação Ubíqua. O foco do projeto ISAM (Infra-estrutura de Suporte às Aplicações Móveis Distribuída), em desenvolvimento no II/UFRGS, é a Pervasive Computing. Esta desenha um cenário onde o usuário é livre para se deslocar mantendo o acesso aos recursos da rede e ao seu ambiente computacional, todo tempo em qualquer lugar. Esse novo cenário apresenta muitos desafios para o projeto e execução de aplicações. Nesse escopo, esta tese aprofunda a discussão sobre questões relativas à adaptação ao contexto em um ambiente pervasivo sob a ótica de uma Linguagem de Programação, e define uma linguagem chamada ISAMadapt. A definição da linguagem ISAMadapt baseia-se em quatro abstrações: contexto, adaptadores, políticas e comandos de adaptação. Essas abstrações foram concretizadas em duas visões: (1) em tempo de programação, através de comandos da linguagem e arquivos de configuração, descritos com o auxílio do Ambiente de Desenvolvimento de Aplicações; (2) em tempo de execução, através de serviços e APIs fornecidos pelos componentes que integram o ambiente de execução pervasiva (ISAMpe). Deste, os principais componentes que implementam a semântica de execução da aplicação ISAMadapt são: o serviço de reconhecimento de contexto, ISAMcontextService, e a máquina de execução da adaptação dinâmica, ISAMadaptEngine.As principais contribuições desta tese são: (a) primeira linguagem para a codificação de aplicações pervasivas; (b) sintaxe e semântica de comandos para expressar sensibilidade ao contexto pervasivo; (c) fonte para o desenvolvimento de uma metodologia de projeto de aplicações pervasivas; (d) projeto ISAM e o projeto contextS (www.inf.ufrgs.br/~isam) que fornecem suporte para o ciclo de vida das aplicações, desde o desenvolvimento até a execução de aplicações pervasivas.
Resumo:
This research studies the use of digital games as a playful tool approach of knowledge in architecture heritage. We emphasize the potential of digital games as a tool and importance of digital drawing combined with programming language, the means by which the making of the games became possible. The models developed are based on the properties of historical and cultural interest in the city of São Carlos, Brasil.
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Resumo:
O desenvolvimento aplicacional é uma área em grande expansão no mercado das tecnologias de informação e como tal, é uma área que evolui rápido. Os impulsionadores para esta característica são as comunicações e os equipamentos informáticos, pois detêm características mais robustas e são cada vez mais rápidos. A função das aplicações é acompanhar esta evolução, possuindo arquiteturas mais complexas/completas visando suportar todos os pedidos dos clientes, através da produção de respostas em tempos aceitáveis. Esta dissertação aborda várias arquiteturas aplicacionais possíveis de implementar, mediante o contexto que esteja inserida, como por exemplo, um cenário com poucos ou muitos clientes, pouco ou muito capital para investir em servidores, etc. É fornecido um nivelamento acerca dos conceitos subjacentes ao desenvolvimento aplicacional. Posteriormente é analisado o estado de arte das linguagens de programação web e orientadas a objetos, bases de dados, frameworks em JavaScript, arquiteturas aplicacionais e, por fim, as abordagens para definir objetivos mensuráveis no desenvolvimento aplicacional. Foram implementados dois protótipos. Um deles, numa arquitetura multicamada com várias linguagens de programação e tecnologias. O segundo, numa única camada (monolítica) com uma única linguagem de programação. Os dois protótipos foram testados e comparados com o intuito de escolher uma das arquiteturas, num determinado cenário de utilização.
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:
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.
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.
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.
Resumo:
Neste estudo são discutidos alguns aspectos relacionados à escolha da primeira linguagem de programação em currículos de ciência da computação, com interesse especial em Pascal e Java. A primeira linguagem é amplamente adotada para ensinar programação aos novatos, enquanto a segunda está ganhando popularidade como uma linguagem moderna e abrangente, que pode ser usada em muitas disicplinas ao longo de um curso degraduação em computação como ferramenta para ensinar desde recursos básicos de programação até tópicos mais avançados. Embora vários problemas quanto ao ensino de Java, com a primeira linguagem de programação, possam ser apontadas, consideramosque Java é uma boa escolha, visto que (a) oferece apoio a importantes questões conceituais e tecnológicos e, (b) é possível contornar algumas complexidades da linguagem e da plataforma Java para torná-las mais adequadas à alunos iniciantes. Além disso, considerando a grande popularidade de Pascal nos currículos de cursos de computação, uma eventual adoção de Java conduz à outro problema: a falta de professores aptos a lecionar programação orientada a objetos. Sugerimos que este problema de migração de Pascal para Java seja enfrentado através de smplificação do ambiente de desenvolvimento de programas, uso de um pacote com classes que facilitam a entrada e saída, e o desenvolvimento de um catálogo comparativo de programas implementados em ambas as linguagens. Neste estudo também é apresentado o JEduc, um IDE muito simples com o objetivo de dar suporte ao ensino da linguagem de programação orientada a objetos Java aos novatos. Oferece componentes desenvolvidos em Java que integram edição, compilação e execução de programas Java. Além das funcionalidades comuns a um IDE, JEduc foi desenvolvido para gir como uma ferramente pedagógica: simplifica a maioria das mensagens do compilador e erros da JRE, permite a inserção de esqueletos de comandos, e incorpora pacotes especiais para esconder alguns detalhes sintáticos e semânticos indesejáveis.
Resumo:
A simulação é uma das ferramentas mais utilizadas para a aplicação da análise sistêmica nos mais diversos estudos. Ao longo do tempo, vários modelos foram desenvolvidos para representar sistemas de recursos hídricos, utilizando a simulação. Dentre esses modelos, está o Propagar MOO, que simula a propagação de vazões em uma bacia hidrográfica, submetida à decisões operacionais de suprimento de demandas e de operação de reservatórios, introduzidas pelo usuário através de rotinas escritas na linguagem de programação Pascal Script. A utilização eficiente dessas rotinas permite ao usuário ampliar a capacidade e flexibilidade do modelo na representação de um sistema hídrico. Com o objetivo de contribuir na ampliação da flexibilidade do modelo Propagar MOO e de sua aplicabilidade à modelagem de sistemas de recursos hídricos em geral, bem como facilitar o estudo da linguagem de programação Pascal Script e motivar os profissionais da área no desenvolvimento de novas rotinas aplicadas ao modelo, foram implementadas, através do presente trabalho, rotinas genéricas contendo estratégias de planejamento do uso da água e de operação de reservatórios, bem como ferramentas para analisar seus resultados. Para ampliar essa contribuição, foi aprimorada a possibilidade de simulação da geração de energia hidrelétrica em pontos de uma rede hidrográfica, com a criação de novas ferramentas para esse fim, na estrutura interna do modelo. Por fim, para que o próprio usuário pudesse construir ferramentas para auxiliar na verificação dos resultados obtidos nas simulações, esse estudo apresenta a implementação de rotinas de uso geral para servir como exemplos de ferramentas de análise de dados.