969 resultados para Java Server Faces


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

None

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A linguagem de programação Java vem sendo uma das escolhidas para a implementação de aplicações compostas por objetos distribuídos. Estas aplicações caracterizam-se por possuir comportamento complexo e, portanto, são mais difíceis de depurar e refinar para obter melhores desempenhos. Considerando a necessidade do desenvolvimento de uma ferramenta de monitoração para o modelo de objetos distribuídos, que colete informações mais detalhadas sobre a execução da aplicação, é apresentado neste trabalho um ambiente de monitoração de aplicações distribuídas escritas em Java, o DOMonitor. Um dos objetivos do DOMonitor é obter o comportamento que a aplicação apresenta durante a execução, possibilitando a detecção de comportamentos equivocados e seu respectivo refinamento. O DOMonitor é voltado para aplicações compostas por objetos distribuídos e caracteriza-se por identificar principalmente: (i) o comportamento dinâmico das threads; (ii) a utilização dos métodos de sincronização; e (iii) a comunicação entre os entes distribuídos da aplicação. O DOMonitor está fundamentado em quatro premissas: (i) ser transparente para o usuário, não exigindo anotações no código fonte; (ii) apresentar uma organização modular, e por isto ser flexível e expansível; (iii) ser portável, não exigindo nenhuma alteração na Maquina Virtual Java; e (iv) operar de forma a garantir a ordem dos eventos previstos pelo programa. Os dados produzidos pelo DOMonitor podem ser utilizados com diversas finalidades tais como visualização da execução, escalonamento e como suporte à execução de aplicações móveis. Para comprovar esta versatilidade, foi proposta a integração do sistema a dois outros projetos, o Pajé e o ISAM. O projeto ISAM utilizará os dados monitorados para tomadas de decisão durante o curso da execução e o projeto Pajé permite a visualização gráfica das características dinâmicas de uma aplicação Java.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho relata as atividades de estudo, projeto e implementação de uma aplicação distribuída que explora mecanismos básicos empregados em comunicação de grupo. O estudo é focado no desenvolvimento e uso dos conceitos de sincronismo virtual e em resultados aplicáveis para tolerância a falhas. O objetivo deste trabalho é o de demonstrar as repercussões práticas das principais características do modelo de sincronismo virtual no suporte à tolerância a falhas. São preceitos básicos os conceitos e primitivas de sistemas distribuídos utilizando troca de mensagens, bem como as alternativas de programação embasadas no conceito de grupos. O resultado final corresponde a um sistema Cliente/Servidor, desenvolvido em Java RMI, para simular um sistema distribuído com visões de grupo atualizadas em função da ocorrência de eventos significativos na composição dos grupos (sincronismo virtual). O sistema apresenta tratamento a falhas para o colapso (crash) de processos, inclusive do servidor (coordenador do grupo), e permite a consulta a dados armazenados em diferentes servidores. Foi projetado e implementado em um ambiente Windows NT, com protocolo TCP/IP. O resultado final corresponde a um conjunto de classes que pode ser utilizado para o controle da composição de grupos (membership). O aplicativo desenvolvido neste trabalho disponibiliza seis serviços, que são: inclusão de novos membros no grupo, onde as visões de todos os membros são atualizadas já com a identificação do novo membro; envio de mensagens em multicast aos membros participantes do grupo; envio de mensagens em unicast para um membro específico do grupo; permite a saída voluntária de membros do grupo, fazendo a atualização da visão a todos os membros do grupo; monitoramento de defeitos; e visualização dos membros participantes do grupo. Um destaque deve ser dado ao tratamento da suspeita de defeito do coordenador do grupo: se o mesmo sofrer um colapso, o membro mais antigo ativo é designado como o novo coordenador, e todos os membros do grupo são atualizados sobre a situação atual quanto à coordenação do grupo.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabalho apresenta um mapeamento centrado nas construções não usuais da linguagem Nautilus, para a linguagem convencional, no caso Java, mantendo propriedades com atomicidade que são requisitos da semântica formal da linguagem. Nautilus é originalmente uma linguagem de especificação baseada em objetos, textual que suporta objetos concorrentes e não deterministas. Desde então a linguagem foi modificada aom extensões como classes e uma notação diagramática, além de se investigar seu uso como linguagem de programação. Suas construções incomuns (reificação, agregação, etc.) são baseados em seu domínio semântico: Automâtos Não Sequenciais. Este domíno satisfaz composição diagonal, i.e refinamentos se compõem (verticalmente) refletindo uma descrição gradual de sistemas, envolvendo múltiplos níveis de abstração, e distribui-se através de combinadores (horizontalmente), o que significa que o refinamento de um sistema composto é a combinação de do refinamento de suas partes.O trabalho inclui um mapeamento inicial de um subconjunto da linguagem(objeto base, reificação, agregação e visão), uma versão ampliada para abranger mais construções( interação e classes), e uma versão refinada mais concorrente e sugestões de modificação na linguagem.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

O presente estudo analisa a relação entre facção e sistema eleitoral no Uruguai. Toma-se a reforma constitucional de 1996 como paradigma que busca a eliminação das facções pela modificação do sistema eleitoral. Mostra-se que nem todas as facções no Uruguai decorrem, necessariamente, do sistema eleitoral. A origem dos principais partidos políticos é discutida e com ela se analisa a base social de cada um. O crescimento eleitoral da esquerda, dentro de um sistema eleitoral concebido para garantir a continuidade dos partidos tradicionais, é apresentado com o ponto de partida da reforma. Uma comparação entre os dois sistemas eleitorais – o antigo e o novo – leva a conclusão que os partidos tradicionais, por não conseguirem resolver problemas de coordenação no pólo conservador do sistema de partidos, acabam por operar uma reforma que garanta mais representação proporcional frente uma oposição crescente, que tende a ser maioria. Com a teoria dos jogos, os incentivos e a lógica para a formação de coligações de facções são aportados ao estudo demonstrando que as mesmas atuam de forma cooperativa para suplantar estratégias, que individualmente conferem menores ganhos. Mecanismos clássicos de mensuração de número efetivo de partidos (NEP) apontam a quantidade de facções relevantes no sistema. Conclui-se que as facções são agentes relevantes do sistema e que a reforma do sistema eleitoral agiu de forma diversa sobre as facções dos três maiores partidos Uruguaios, não eliminando o fenômeno faccionista.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Esta dissertação apresenta duas implementações de algoritmos para gerência dinâmica de memória em software, as quais foram desenvolvidas utilizando como alvo uma plataforma embarcada Java. Uma vez que a plataforma utilizada pertence a uma metodologia para geração semi-automática de hardware e software para sistemas embarcados, os dois algoritmos implementados foram projetados para serem integrados ao contexto desta mesma metodologia. Como forma de estabelecer comparações detalhadas entre as duas implementações desenvolvidas, foram realizadas diversas estimativas em desempenho, uso de memória, potência e energia para cada implementação, utilizando para isto duas versões existentes da plataforma adotada. Através da análise dos resultados obtidos, observou-se que um dos algoritmos desenvolvidos obteve um desempenho melhor para realização da gerência dinâmica da memória. Em contrapartida, o outro algoritmo possui características de projeto que possibilitam sua utilização com aplicações de tempo-real. De um modo geral, os custos adicionais resultantes da utilização do algoritmo de tempo-real, em relação ao outro algoritmo também implementado, são de aproximadamente 2% para a potência média dissipada, 16% para o número de ciclos executados, 18% para a energia consumida e 10% sobre a quantidade de total memória utilizada. Isto mostra que o custo extra necessário para utilização do algoritmo de tempo real é razoavelmente baixo se comparado aos benefícios proporcionados pela sua utilização. Como impactos finais produzidos por este trabalho, obteve-se um acréscimo de 35% sobre o número total de instruções suportadas pela arquitetura utilizada. Adicionalmente, 12% das instruções que já existiam no conjunto desta arquitetura foram modificadas para se adaptarem aos novos mecanismos implementados. Com isto, o conjunto atual da arquitetura passa a corresponder a 44% do total de instruções existentes na arquitetura da máquina virtual Java. Por último, além das estimativas desenvolvidas, foram também realizadas algumas sugestões para melhoria global dos algoritmos implementados. Em síntese, alguns pontos cobertos por estas sugestões incluem: a migração de elementos do processamento do escopo dinâmico para o estático, o desenvolvimento de mecanismos escaláveis para compactação de memória em tempo-real, a integração de escalonadores ao processo de gerência de memória e a extensão do processo de geração semi-automática de software e hardware para sistemas embarcados.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Ao longo dos últimos 20 anos tem havido uma profusão de estudos que examinam, no âmbito de empresas, a contribuição dos mecanismos de aprendizagem e da adoção de técnicas de gestão para o processo de acumulação tecnológica. No entanto, ainda são escassos os estudos que examinem, de maneira conjunta e sob uma perspectiva dinâmica, o relacionamento entre a adoção de técnicas de gestão, mecanismos de aprendizagem e trajetórias de acumulação de capacidades tecnológicas. Mais que isto, faltam estudos que examinem o duplo papel das técnicas de gestão, ora como parte do estoque de capacidades tecnológicas, ora como um processo de aprendizagem tecnológica em si. Esta dissertação objetiva oferecer uma contribuição para preencher esta lacuna neste campo de estudo. O enfoque desta dissertação deriva de observações empíricas, realizadas em empresas, e inspira-se no clássico estudo Innovation and Learning: the two faces of R&D, de Cohen e Levinthal (1989). Assim a dissertação baseia-se em um estudo de caso individual, realizado em uma empresa do setor siderúrgico no Brasil, no período de 1984 a 2008, examinando estas questões à luz de modelos analíticos disponíveis na literatura internacional. Neste sentido, adotou-se o entendimento de capacidade tecnológica como o conjunto de recursos necessários para gerar e gerir mudanças tecnológicas, sendo construída e acumulada de forma gradual, a partir do engajamento em processos de aprendizagem e da coordenação de bases de conhecimentos acumulados em diferentes dimensões, simbioticamente relacionadas. As métricas utilizadas identificam tipos e níveis de capacidade tecnológica para diferentes funções e identifica quatro tipos de processos de aprendizagem tecnológica e os avalia em termos de suas características-chave. Tomando-se por base evidências empíricas qualitativas e quantitativas, colhidas em primeira mão, a base de trabalho de campo, este estudo verificou que: 1. A empresa acumulou níveis inovativos de capacidades tecnológicas em todas as funções examinadas, sendo o nível Inovativo Intermediário (Nível 5) nas funções Engenharia de Projetos (de forma incompleta) e Equipamentos e o nível Intermediário Avançado (Nível 6) nas funções Processos e Organização da Produção e Produtos. 2. Os mecanismos de aprendizagem subjacentes à acumulação destes níveis de capacidade tecnológica apresentaram resultados relevantes em termos de suas características-chave, principalmente no que diz respeito à variedade e intensidade: de 24 mecanismos em 1984 para um total de 59 em 2008, com uma variação de 145,8%, e com 56 dos 59 mecanismos (94,92%) utilizados atualmente de forma sistemática. 3. O período compreendido entre os anos de 1990 e 2004, no qual foram implementadas as técnicas de gestão estudadas, exceto o Plano de Sugestões, se caracteriza por apresentar a maior taxa de acumulação de capacidades tecnológicas e por dar início à utilização da quase totalidade dos 35 novos mecanismos de aprendizagem incorporados pela empresa após o início de suas operações (1984). E que as técnicas de gestão estudadas: 1. Colaboraram para o processo de aprendizagem tecnológica da AMBJF, principalmente pela necessidade de se: (i) incorporar novos mecanismos de aprendizagem que lhe permitissem acumular, antecipadamente, a base de conhecimentos necessária à implementação das técnicas de gestão estudadas; (ii) coordenar um número maior de mecanismos que dessem o adequado suporte ao aumento da complexidade de seu Sistema de Gestão Integrada (SOl). 2. Ampliaram, por si, o estoque de capacidades tecnológicas da empresa, maIS especificamente em sua dimensão organizacional, a partir da acumulação de conhecimento em procedimentos, instruções de trabalho, manuais, processos e fluxos de gestão e de produção, dentre outros. Desta forma, os resultados aqui encontrados confirmam que a adoção e a implementação das técnicas de gestão estudadas contribuíram com e influenciaram o processo de aprendizagem tecnológica e a trajetória de acumulação tecnológica da empresa, ao mesmo tempo, exercendo, portanto, um duplo papel na organização. Esta conclusão nos leva a um melhor entendimento do tema e pode contribuir para a compreensão de ações políticas e gerenciais que possam acelerar a acumulação de capacidades tecnológicas, entendendo a relevância das técnicas de gestão menos em termos de sua "mera" adoção e mais do seu processo de implementação.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A presente dissertação analisará a persistente dinâmica da Petróleo Brasileiro S.A. – Petrobras – no arranjo institucional brasileiro. O objetivo é identificar se essa permanência foi acompanhada de mudanças na estrutura macro e microjurídica da empresa estatal que promoveram a sua adaptação às alterações da relação Estado e mercado promovidas por reformas institucionais. O trabalho parte do pressuposto de que, na recente evolução histórica brasileira, quatro correlações de forças promoveram reformas jurídicas que alteraram a relação Estado e mercado em quatro diferentes períodos: (i) da Era Vargas ao governo Juscelino Kubitschek; (ii) do golpe militar ao processo de redemocratização; (iii) do governo Fernando Collor ao término do governo Fernando Henrique Cardoso; e (iv) do início do governo Lula até o momento da elaboração deste trabalho. Para desenvolver esse precedente, o primeiro capítulo analisará o modo e a intensidade da intervenção direta do Estado no setor produtivo para identificar as características da relação Estado e mercado nos períodos. Os capítulos subsequentes se deterão à análise da estrutura da Petrobras na esfera microjurídica – organização societária – e macrojurídica – articulação da empresa estatal com outros agentes públicos e privados – em cada um dos quatro períodos delimitados no capítulo anterior. O segundo capítulo descreverá institucionalmente a Petrobras durante seus primeiros dez anos. O terceiro capítulo identificará as mudanças institucionais promovidas na empresa estatal durante o regime militar. O quarto capítulo disporá sobre as alterações jurídicas na Petrobras promovidas pela Reforma do Estado. Por fim, o quinto capítulo tratará das mais recentes mudanças institucionais da empresa estatal decorrente da descoberta da vasta reserva de petróleo denominada pré-sal.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Esta dissertação resultou do desenvolvimento de algumas reflexões sobre a Arte-Educação no ensino regular, e visa trazer contribuições ao debate sobre as dificuldades encontradas na sua prática. Uma abordagem histórica é apresentada, com o objetivo de enriquecer os caminhos para o esclarecimento das questões de fundo que permeiam as discussões do momento atual. O trabalho se baseia no pressuposto de que a arte é uma linguagem, como o são, o falar e o escrever, e como tal deve ser considerada no âmbito escolar, levando em conta suas especificidades. Como linguagem livre e criadora, a matéria da arte e primordialmente a vivência do ser humano; seus pensamentos, sua emoção, sua imaginação e sua capacidade simbólica, que se revelam através dos meios físicos disponíveis, que o arte-educador adequará à sua prática. E neste sentido que algumas questões metodológicas são discutidas a partir de situações objetivas, referentes principalmente ao ensino público. Procurou-se mostrar, ainda, que estar sensível ao infinito universo da criação artística é fundamental à formação do arte-educador para que, através de sua atuação junto aos alunos contribua para a democratização das práticas expressivas criadoras nos meios educacionais.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este estudo tem como objeto a investigação do assédio moral a partir da perspectiva de professores em cursos de Administração de Empresas de Instituições de Ensino Superior (IES) privadas na cidade de São Paulo, sendo seu objetivo analisar as práticas de assédio moral e das condições organizacionais que as favorecem. Para responder à questão: “Quais condições organizacionais favorecem e como ocorrem as práticas de assédio moral, na perspectiva de professores dos cursos de Administração de Empresas em IES particulares na cidade de São Paulo?”, foi realizada uma pesquisa de natureza qualitativa, norteada pelo paradigma interpretativo, sendo que os dados colhidos mediante entrevistas e análise documental foram submetidos à análise de conteúdo. Os resultados evidenciaram que o assédio moral ocorre em diversas instâncias, é motivado tanto por questões de ordem pessoal, quanto por questões organizacionais e possui múltiplas faces, que se manifestam nas diferentes formas de violência sofrida pelo docente. Este estudo contribui para a compreensão das práticas de assédio no ambiente acadêmico, revelando que este fenômeno tem como elementos deflagradores o posicionamento das IES privadas no cenário competitivo em que estão inseridas e a fragilidade ou inexistência de normas e de processos referentes à prevenção e ao tratamento de casos de assédio moral.