941 resultados para Programação dinamica
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.
Resumo:
Esta tese de doutorado apresenta o MEPSOM - Método de Ensino de Programação Sônica de Computadores para Músicos. O MEPSOM consiste em um sistema de computação que disponibiliza um conjunto de atividades para programação de software musical composto de exemplos e exercícios. O método foi idealizado para ser uma ferramenta de auxílio ao professor em cursos de Computação Musical, disponibilizando recursos didáticos para o ensino de programação nas áreas de composição e educação musical. O MEPSOM foi implementado sob a forma de programas de computador e utilizado em cursos de Computação Musical na UFRGS. Nesta Tese de Doutorado apresentamos o projeto e a organização do MESPCM, a implementação do método, relatos de sua aplicação e os resultados obtidos. Também expomos a utilização do método em laboratório, através de estudo de caso, e os resultados da sua avaliação por estudantes que participaram de pesquisas de levantamento. Por fim, a partir da análise dos dados obtidos, sugerimos um conjunto de aspectos considerados relevantes para futuras aplicações do MEPSOM.
Resumo:
Em vista da maior complexidade da programação paralela e distribuída em relação à programação de ambientes centralizados, novas ferramentas vêm sendo construídas com o objetivo de auxiliar o programador desses ambientes a desempenhar sua tarefa de formas mais eficazes e produtivas. Uma das ferramentas que há algum tempo tem sido usada na programação centralizada e aos poucos está sendo empregada também na programação concorrente é a programação visual. A programação visual se vale da presença de elementos visuais na especificação dos programas como peças chaves do processo de desenvolvimento de software. No caso específico da programação concorrente, a programação visual é especialmente útil pela capacidade que os gráficos têm de representar de forma mais adequada estruturas bidimensionais. Um programa concorrente, por relacionar no espaço diversos elementos com seus próprios fluxos de execução, faz surgir duas dimensões de análise que são mais difíceis de serem observadas através de programas textuais. Atualmente existem ferramentas de programação visual paralela e distribuída, mas a ênfase é dada na programação paralela, sem muita atenção a aplicações de sistemas abertos ou cliente-servidor. Além disso, tais ferramentas sofrem da falta de apoio à engenharia do software. Considerando essas deficiências, este trabalho apresenta uma ferramenta de programação visual para o desenvolvimento de aplicações compostas por objetos distribuídos que ofereça também a possibilidade de aplicar os principais conceitos da engenharia de software, como reutilização e orientação a objeto. Nesta ferramenta, o programador especifica de maneira visual a estrutura do seu programa, insere o código textual para a lógica da aplicação e o ambiente se encarrega do tratamento da distribuição e da comunicação de mais baixo nível. A aplicação é representada como um grafo dirigido, onde os nodos representam os objetos distribuídos e os arcos indicam os relacionamentos existentes entre esses objetos. A especificação dos programas é modular, baseando-se na reunião de componentes reutilizáveis, o que torna o sistema altamente configurável e extensível. Tanto a implementação da ferramenta quanto o código das aplicações geradas usam a linguagem de programação Java. A linguagem de programação visual projetada não especifica detalhes a respeito de como irá funcionar a comunicação e distribuição dos objetos. Portanto, foram implementados componentes para comunicação e outros recursos de programação distribuída, como locks e dados globais para serem usados nas aplicações. Para validar os principais objetivos da ferramenta, foram implementados alguns exemplos de aplicações distribuídas, como um pequeno sistema de bate-papo.
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:
Os autores objetivam, com este trabalho, bem como com aqueles que lhe precederam (capítulos l, 2, 3 e 4) registrar as suas experiências ao longo dos últimos anos ministrando cadeiras de matemática nos cursos de pós-graduação em economia da Fundação Getúlio Vargas, da UFF (Universidade Federal Fluminense) e da PUC-RJ. Reveste-se de constante repetição em tais cursos a discussão sobre que pontos abordar, bem como com qual grau de profundidade e em que ordem. É neste sentido que os autores esperam. com a sequência didática aqui apresentada, trazer alguma contribuição para o assunto.
Resumo:
Este trabalho tem por objetivo apresentar e estudar a aplicação de uma ferramenta chamada PCP – Pseudo-Compilador Portugol, criada para auxiliar estudantes de programação a aprimorar o raciocínio lógico e a criar programas estruturados, sem que precisem se preocupar com comandos e instruções em Inglês ou tenham conhecimento de uma linguagem de programação específica. Por ser uma ferramenta que usa somente palavras do nosso idioma, os alunos podem direcionar todo o seu raciocínio no entendimento e resolução do problema em forma de algoritmo. O estudo experimental realizado neste trabalho pretende analisar e comparar o aprendizado entre grupos de alunos de disciplinas de programação utilizando e não utilizando esta ferramenta. Além de acompanhar o desempenho dos alunos, pretende também coletar informações durante as baterias de testes e obter as opiniões dos mesmos em relação ao PCP, no que se refere às facilidades, dificuldades, pontos positivos e falhas apresentadas. Este estudo é apresentado em duas etapas, com oito baterias de teste em cada uma. Na primeira etapa foram selecionados alunos do Curso de Ciência da Computação da UNIGRAN, em Dourados-MS; na segunda etapa foram selecionados alunos da Escola Anglo Decisivo. Estas duas etapas possibilitam a análise do aprendizado proporcionado pela ferramenta com alunos que já têm alguma noção de programação e com alunos que não tiveram nenhum contato com o desenvolvimento de programas.
Resumo:
A elaboração de um projeto de obra de edificação é fruto da interação entre profissionais de diversas disciplinas desenvolvendo, simultaneamente, suas opções e decisões com relação ao mesmo. É necessário considerar a qualidade do processo de elaboração do projeto dependente de uma efetiva comunicação entre os membros da equipe. A indústria da construção civil está sendo beneficiada pelos recursos oferecidos pela tecnologia da informação como, por exemplo, os sistemas colaborativos (extranets de projeto). Estes sistemas corroboram na integração e comunicação entre os membros de um projeto. O objetivo da presente pesquisa foi a apresentação do desenvolvimento de modelo validado de ferramenta computacional projetada para complementar um sistema colaborativo pré-existente. Esta ferramenta foi denominada Sistema de Programação e Controle do Processo de Projeto (SIPROCON/PP). A finalidade do SIPROCON/PP é auxiliar no processo de tomada de decisão dos coordenadores através do monitoramento do cronograma e do fluxo do intercâmbio de informações das atividades geradoras de informações neste processo. O processo de desenvolvimento da ferramenta foi delineado em harmonia com a organização da pesquisa. Neste sentido, é assinalado o uso da prototipação e da simulação como estratégias de pesquisa, utilizados respectivamente na construção e validação do modelo da ferramenta. Ante a necessidade do experimento, foi criada uma atividade lúdica através da qual foi reproduzido o intercâmbio de informações de um processo de projeto denominada Sistemática de Simulação do Processo de Projeto (SS/PP) para validação do modelo da ferramenta. Logo, por meio do uso das simulações foram obtidos os dados correspondentes a validação da modelagem e aplicação do SIPROCON/PP e, ao mesmo tempo, necessários à conclusão da pesquisa. Diante disso, a partir da análise dos dados coletados é apontada a melhoria na qualidade do processo de elaboração do projeto considerando a formação de uma equipe equilibrada de projeto. Isso, fruto do conhecimento mais acurado do coordenador sobre o desempenho de cada projetista.
Resumo:
Neste trabalho é discutido o impacto causado pelos parâmetros de processo com comportamento estocástico em um modelo de otimização, aplicado ao planejamento mineiro. Com base em um estudo de caso real, construiu-se um modelo matemático representando o processo produtivo associado à mineração, beneficiamento e comercialização de carvão mineral. Este modelo foi otimizado com a técnica de programação linear, sendo a solução ótima perturbada pelo comportamento estocástico de um dos principais parâmetros envolvidos no processo produtivo. A análise dos resultados permitiu avaliar o risco associado à decisão ótima, sendo com isto proposta uma metodologia para avaliação do risco operacional.
Resumo:
Esse trabalho de dissertação está incluído no contexto das pesquisas realizadas no Grupo de Processamento Paralelo e Distribuído da UFRGS. Ele aborda as áreas da computação de alto desempenho, interfaces simples de programação e de sistemas de interconexão de redes velozes. A máquina paralela formada por agregados (clusters) tem se destacado por apresentar os recursos computacionais necessários às aplicações intensivas que necessitam de alto desempenho. Referente a interfaces de programação, Java tem se mostrado uma boa opção para a escrita de aplicações paralelas por oferecer os sistemas de RMI e de soquetes que realizam comunicação entre dois computadores, além de todas as facilidades da orientação a objetos. Na área a respeito de interconexão de rede velozes está emergindo como uma tentativa de padronização a nova tecnologia Infiniband. Ela proporciona uma baixa latência de comunicação e uma alta vazão de dados, além de uma série de vantagens implementadas diretamente no hardware. É neste contexto que se desenvolve o presente trabalho de dissertação de mestrado. O seu tema principal é o sistema Aldeia que reimplementa a interface bastante conhecida de soquetes Java para realizar comunicação assíncrona em agregados formados por redes de sistema. Em especial, o seu foco é redes configuradas com equipamentos Infiniband. O Aldeia objetiva assim preencher a lacuna de desempenho do sistema padrão de soquetes Java, que além de usar TCP/IP possui um caráter síncrono. Além de Infiniband, o Aldeia também procura usufruir dos avanços já realizados na biblioteca DECK, desenvolvida no GPPD da UFRGS. Com a sua adoção, é possível realizar comunicação com uma interface Java sobre redes Myrinet, SCI, além de TCP/IP. Somada a essa vantagem, a utilização do DECK também proporciona a propriedade de geração de rastros para a depuração de programas paralelos escritos com o Aldeia. Uma das grandes vantagens do Aldeia está na sua capacidade de transmitir dados assincronamente. Usando essa técnica, cálculos da aplicação podem ser realizados concorrentemente com as operações pela rede. Por fim, os canais de dados do Aldeia substituem perfeitamente aqueles utilizados para a serialização de objetos. Nesse mesmo caminho, o Aldeia pode ser integrado à sistemas que utilizem a implementação de soquetes Java, agora para operar sobre redes de alta velocidade. Palavras-chave: Arquitetura Infiniband, agregado de computadores, linguagem de programação Java, alto desempenho, interface de programação.
Resumo:
Este trabalho tem por objetivo o estudo do m~todo da Programação Linear e de sua aplicação no planejamento da empresa agricola, tendo em vista a demonstração de sua importancia como instrumento analItico no processo de tomada de decisões. Inicialmente ~ feita uma abordagem sobre a problematica da programação e seus fundamentos, sendo examinados os principais conceitos sobre os quais o assunto se baseia. A discussão encaminhada no sentido de chamar a atenção para o fato de que, em vista das pressões a que esta submetida a agricultura no estagio contemporâneo do desenvolvimento, - que lhe exigem melhores niveis de desempenho traduzidos em Indices mais elevados de produtividade, generalizou-se o consenso sobre a conveniência de se dar maior atenção i programação das atividades do setor agrIcola, tanto a nIvel de Região como no ambito de sua area empresarial. Entre os varias modelos gerados com o objetivo de oferecer respostas aos problemas de organização da produção, otimização de resuItados c racionalização do uso dos fatores, o da Programação Linear considerado o mais geralmente aceito pela comunidade cientIfica, por sua estrutura teórico sofisticada e pela capacidade de dar respostas exatas e diretas a questões de maior complexidade. A parte teórica do metodo da Programação Linear ~ examinada no Capítulo 11. De maneira sumária são abordados os seus fundamentos matemáticos e discutidos os principais teoremas sobre conjuntos convexos, corno elementos do espaço das soluções possiveis. A álgebra do algorÍtmo Simplex ~ abordada em sua forma ardinária, com a demonstração dos passos sucessivos do algoritmo, ato encontro do vertice característico da solução otima. No Capítulo 111 os conceitos teoricos da Programação Linear sao aplicados aos dados de uma empresa agricola, com a finalidade de demonstrar a operacionalização do algoritmo Simplcx ! através de programas de computador.