994 resultados para Plataforma Java
Resumo:
O artigo busca apontar o novo papel desempenhado por pacientes na discussão de aspectos pessoais de saúde no ambiente digital. As inovações oferecidas pela plataforma PatientsLikeMe criam um ambiente onde pacientes, cuidadores e profissionais de saúde dividem dúvidas, sugestões e queixas que, trabalhadas de forma qualitativa, geram informações para pesquisadores do segmento médico e empresas farmacêuticas. A pesquisa mapeou a produção científica a partir da busca pela palavra-chave “Patientslikeme” e discute não apenas os aspectos inovadores da plataforma, mas também os interesses segmentados e desafios a vencer no novo locus comunicacional.
Resumo:
Este trabalho busca a implementação da replicação de objetos através da linguagem Java e de seu sistema de invocação remota de métodos (Remote Method Invocation - RMI). A partir deste sistema, define-se uma classe de replicação - a máquina de replicação – onde a implementação de grupos de objetos é estruturada de acordo com a arquitetura cliente/servidor, sendo o cliente o representante (a interface) de um grupo de objetos e os servidores representam os demais componentes do grupo. A classe de replicação atende a uma necessidade importante dos sistemas distribuídos - o desenvolvimento de aplicações tolerantes a falhas. Fundamentalmente, a tolerância a falhas é obtida por redundância e, no caso de mecanismos de tolerância a falhas por software, esta redundância significa basicamente replicação de dados, processos ou objetos. A tolerância a falhas para tal tipo de sistema é importante para garantir a transparência do mesmo, visto que, assim como um sistema distribuído pode auxiliar muito o usuário pelas facilidades oferecidas, o não cumprimento de suas atividades de acordo com o esperado pode, em algumas situações, causar-lhe transtornos e erros irrecuperáveis nas aplicações. Finalmente, como principal contribuição, este trabalho descreve e implementa a solução completa para a construção de uma biblioteca de classes que oferece a replicação de forma totalmente transparente para o usuário.
Resumo:
Fácies marinhas e costeiras associadas a eventos transgressivos-regressivos quaternários ocorrem na Planície Costeira do Rio Grande do Sul e na plataforma continental adjacente. Enquanto as fácies expostas na planície costeira apresentam uma composição essencialmente siliciclástica, as fácies submersas, hoje aflorantes na antepraia e plataforma interna, apresentam, muitas vezes, uma composição carbonática. Formada por coquinas e arenitos de praia fortemente cimentados, estas fácies destacam-se do fundo oceânico como altos topográficos submersos. Os altos topográficos da antepraia têm atuado como fonte de boa parte dos sedimentos e bioclastos de origem marinha encontrados nas praias da área de estudo. Os bioclastos carbonáticos que ocorrem nestes locais caracterizam uma Associação Heterozoa, ou seja, são formados por carbonatos de águas frias, característicos de médias latitudes, e são representados principalmente por moluscos, equinodermos irregulares, anelídeos, crustáceos decápodos, restos esqueletais de peixes ósseos e cartilaginosos, cetáceos, tartarugas e aves semelhantes à fauna atual. Além destes bioclastos de origem marinha, as praias estudadas apresentam a ocorrência de fragmentos orgânicos provenientes de afloramentos continentais fossilíferos, contendo abundantes restos esqueletais de mamíferos terrestres gigantes extintos, das ordens Edentada, Notoungulada, Litopterna, Proboscidea, Artiodactila, Perissodactila, Carnívora e Rodentia. A concentração dos bioclastos na praia resultada da ação direta dos processos hidrodinâmicos que atuam na região de estudo (ondas de tempestade, deriva litorânea, correntes, etc). A variação no tamanho médio dos bioclastos encontrados ao longo da linha de costa está relacionada ao limite da ação das ondas de tempestades sobre o fundo oceânico, o qual é controlado principalmente pela profundidade. Os afloramentos-fonte submersos podem ser divididos em holocênicos e pleistocênicos. A tafonomia dos bioclastos pleistocênicos permite argumentar que após o penúltimo máximo transgressivo que resultou na formação do sistema deposicional Laguna-Barreira III (aproximadamente 120 ka) parte dos depósitos lagunares permaneceram emersos e não estiveram sob a ação marinha (barrancas do arroio Chuí, com a megafauna preservada in situ), enquanto que parte dos depósitos lagunares esteve sob ação direta do ambiente praial. Em diversas feições submersas observam-se coquinas contendo fósseis de mamíferos terrestres, indicando o retrabalhamento dos sedimentos lagunares em ambiente praial. As coquinas que apresentam moluscos pouco arredondados e de maior granulometria são aqui definidas, informalmente, como Coquinas do Tipo 1. Como conseqüência da última regressão pleistocênica (iniciada após o máximo transgressivo de 120 ka) estas coquinas ficaram submetidas a uma exposição subaérea. Este fato possibilitou a dissolução diferenciada dos componentes carbonáticos existentes nos depósitos (coquinas e arenitos) e sua recristalização (calcita espática) em ambientes saturados em água doce. A Transgressão Pós-Glacial (iniciada em torno de 18 ka) foi responsável pelo retrabalhamento dos arenitos e coquinas, recristalizando mais uma vez os elementos carbonáticos. Devido ao seu grau de consolidação estes depósitos resistiram à erosão associada à elaboração da superfície de ravinamento e encontram-se atualmente expostos na antepraia e, mesmo, na linha de praia atual. Pelo menos há 8 ka houve novamente um período favorável à precipitação de carbonato de cálcio, ocorrendo a litificação de rochas sedimentares em uma linha de praia numa cota batimétrica inferior a atual. Neste intervalo de tempo formaram-se as coquinas e arenitos não recristalizados, apresentando fragmentos de moluscos muito fragmentados e arredondados e de menor granulometria, aqui definidas, informalmente, como Coquinas do Tipo 2. A interpretação da tafonomia dos bioclastos de idade holocênica sugere pelo menos duas fácies deposicionais: (a) Fósseis articulados numa matriz areno-síltica, preenchidos por silte e argila, interpretados como originalmente depositados em regime transgressivo no ambiente Mesolitoral (foreshore) para Infralitoral superior (upper shoreface), com baixa ação de ondas. (b) Fragmentos de carapaças e quelas isoladas encontradas numa coquina fortemente cimentada por calcita espática, por vezes recristalizada, interpretados como concentrados na Zona de Arrebentação por ondas de tempestades. A dinâmica costeira atual retrabalha novamente os sedimentos inconsolidados enquanto as rochas sedimentares consolidadas (formadas pelas Coquinas Tipo 1 e 2) resistem parcialmente à erosão e constituem os altos topográficos submersos (parcéis) descritos neste trabalho.
Resumo:
Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.
Resumo:
Em 1982 o Brasil participa da Convenção das Nações Unidas para o Direito do Mar. Esta convenção dispõe sobre os usos dos espaços marítimos e oceânicos, buscando a utilização racional e a exploração dos recursos do mar. Devido ao escasso conhecimento da região da plataforma externa e talude continental, surge o programa Avaliação do Potencial Sustentável de Recursos Vivos da Zona Econômica Exclusiva – REVIZEE, tanto para a diversificação da exploração pesqueira quanto para a determinação dos limites sustentáveis de captura. Com base em material coletado em abril de 1998, durante campanha de Bentos concernente ao programa REVIZEE, são fornecidos resultados relativos a Gastropoda encontrados na radial 45, estações hidrográficas 6839 (32o55´70´´S - 50o34´60´´W), 6840 (33o01´45´´S - 50o12´75´´W), 6841 (33o00´16´´S - 50o22´84´´W) e 6842 (32o57´81´´S - 50o29´18´´W), localizadas ao largo de Rio Grande, Rio Grande do Sul, Brasil. Para a avaliação da diversidade bêntica foram utilizados três tipos de amostradores de fundo; Draga de arrasto, Box Corer e Van Veen. Molluscos foram separados dos demais grupos taxonômicos pela equipe do REVIZEE e recebidos pelo laboratório de malacologia da Universidade Federal do Rio Grande do Sul. O material foi triado sob lupa Zeiss Stemi 2000- C ou Wild M-38. O material foi identificado por comparação com os dados da bibliografia e/ou por comparação com exemplares depositados nas coleções do Museu Oceanográfico Eliézer de Carvalho Rios (MORG) e/ou com a coleção particular do Dr. José Carlos Tarasconi São identificados e caracterizados quanto a tamanho, esculturação e área de ocorrência 6.020 exemplares distribuídos em 36 famílias - 80 táxons em nível de espécie, 19 em nível de gênero e 2 em nível de família. A família Turridae é a que apresenta o maior número de táxons com 16 espécies. Turritella hookeri Reeve, 1849 é a espécie mais abundante, com 684 exemplares. Registra-se pela primeira vez para o Rio Grande do Sul as seguintes espécies: Brookula conica (Watson, 1886), Calliostoma echinatum Dall, 1881, Solariela carvalhoi Lopes & Cardoso, 1958, Caecum massambabensis Absalão, 1994, Turritella hookeri Reeve, 1849, Crepidula plana Say, 1822, Natica pusilla Say, 1822, Polinices lacteus (Guilding, 1833), Eulima mulata Rios & Absalão, 1990, Melanella aff. hypsela (Verrill & Bush, 1900), Trachipollia turricula (von Maltzan, 1884), Anachis sparsa Reeve, 1859, Dentimargo janeiroensis (E. A. Smith, 1915), Axelella brasiliensis Verhecken, 1991, Drilliola loprestiana (Calcara, 1841), Mitrolumna biplicata (Dall, 1889), Nannodiella vespuciana (Orbigny, 1842), Stenodrillia goundlachi (Dall & Simpson, 1901), Terebra brasiliensis E. A. Smith, 1873 e Mathilda aff. scitula Dall, 1889. Novos limites de profundidade são registrados para 29 espécies. Com base na lista de espécies encontradas, se discute sobre o limite das Províncias Caribenha e Patagônica e sobre a influência da Laguna dos Patos no Talude Continental ao largo de Rio Grande.
Resumo:
Este texto apresenta um novo modelo multiparadigma orientado ao desenvolvimento de software distribuído, denominado Holoparadigma. O Holoparadigma possui uma semântica simples e distribuída. Sendo assim, estimula a modelagem subliminar da distribuição e sua exploração automática. A proposta é baseada em estudos relacionados com modelos multiparadigma, arquitetura de software, sistemas blackboard, sistemas distribuídos, mobilidade e grupos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a Hololinguagem, uma linguagem de programação que implementa os conceitos propostos pelo Holoparadigma. A linguagem integra os paradigmas em lógica, imperativo e orientado a objetos. Além disso, utiliza um modelo de coordenação que suporta invocações implícitas (blackboard) e explícitas (mensagens). A Hololinguagem suporta ainda, concorrência, modularidade, mobilidade e encapsulamento de blackboards em tipos abstratos de dados. Finalmente, o texto descreve a implementação da Holoplataforma, ou seja, uma plataforma de desenvolvimento e execução para a Hololinguagem. A Holoplataforma é composta de três partes: uma ferramenta de conversão de programas da Hololinguagem para Java (ferramenta HoloJava), um ambiente de desenvolvimento integrado (ambiente HoloEnv) e um plataforma de execução distribuída (plataforma DHolo).
Resumo:
A atividade de teste constitui uma fase de grande importância no processo de desenvolvimento de software, tendo como objetivo garantir um alto grau de confiabilidade nos produtos desenvolvidos. O paradigma da Orientação a Objetos (OO) surgiu com o objetivo de melhorar a qualidade bem como a produtividade no desenvolvimento de aplicações. Entretanto, apesar do aumento constante de aceitação do paradigma OO pela indústria de software, a presença de algumas de suas características torna a atividade de teste de programas neste paradigma mais complexa do que o teste de sistemas tradicionais. Entre estas características cita-se a herança, o encapsulamento, o polimorfismo e a ligação dinâmica [EIS 97] [PRE 95] [UNG 97]. Algumas técnicas estão sendo implementadas para auxiliarem a atividade de teste através do uso da tecnologia de reflexão computacional [HER 99]. Estas técnicas permitem a realização de análises de aspectos dinâmicos dos programas, sem a necessidade de instrumentar o código-fonte das aplicações que estão sendo monitoradas. Com o objetivo de auxiliar o processo de teste de programas orientados a objetos, este trabalho aborda o desenvolvimento de uma ferramenta, a qual automatiza parcialmente o teste de programas escritos em Java. A ferramenta evidencia o teste de estados fazendo uso da tecnologia de reflexão computacional. Através da especificação de asserções, feitas pelo usuário da ferramenta, na forma de invariantes de classe, pré e pós-condições de métodos, é possível verificar a integridade dos estados dos objetos durante a execução do programa em teste. A ferramenta possibilita também, armazenar a seqüência de métodos chamados pelos objetos da aplicação em teste, tornando possível ao testador, visualizar o histórico das interações entre os objetos criados no nível-base.
Resumo:
Na realização de atividades físicas o corpo humano exerce forças contra o solo. Em atividades tais como correr e saltar as forças são exercidas através dos pés. Atualmente, sabe-se que estudos da magnitude e direção destas forças, e das maneiras de suas mudanças no tempo, fornecem valiosas informações sobre a performance alcançada no movimento, podendo indicar medidas corretivas que possam aprimorá-la. Na obtenção destas variáveis determinantes no desempenho do movimento utilizam-se instrumentos denominados plataformas de forças, capazes de medir a força de ação realizada sobre sua superfície de contato, e o respectivo momento, permitindo a determinação das três componentes ortogonais de força (Fx, Fy, Fz) e os momentos em torno dos três eixos ortogonais (Mx, My, Mz) simultaneamente. Este trabalho descreve o desenvolvimento teórico de uma plataforma de forças específica para aplicação na decolagem do salto em distância, bem como as alternativas de projeto geradas neste desenvolvimento. Foram buscadas soluções para a realização dos experimentos sob condições naturais de treinamento, visando a construção do instrumento e sua instalação na pista de saltos atléticos. Para isso é proposta a substituição da tábua de impulsão original pela plataforma de forças desenvolvida. Nas alternativas geradas foi utilizado o princípio extensométrico resistivo de medição de forças, que representa uma diminuição substancial no custo de manufatura estimado frente às unidades comercialmente avaliadas. Nestas alternativas, os sensores resistivos “strain gages” são localizados estrategicamente em estruturas metálicas que sustentam uma tampa de material composto com a função de superfície de contato Para a análise estrutural das alternativas estudadas foi utilizado o Método dos Elementos Finitos. Para comparar e escolher a melhor entre as diversas alternativas, foram propostos índices de desempenho. Ao final do trabalho são apresentadas conclusões sobre a metodologia empregada no estudo realizado e sobre o novo modelo de plataforma de forças desenvolvido.
Resumo:
Com o advento dos computadores surgiram problemas de saúde associados à tarefa da digitação, causados, principalmente, pela posição estática do corpo, pela repetitividade de movimentos dos membros superiores, pelas forças envolvidas, etc. Na tentativa de relacionar esses fatores com os distúrbios, iniciou-se, na década de 90, o estudo da força aplicada nos teclados de computador. O objetivo principal deste trabalho é desenvolver uma plataforma para medir a força aplicada nas teclas do teclado de um computador durante a digitação, para utilização em biomecânica. Foi projetada e construída uma plataforma de força que mede a força vertical, Fz, (direção z), a força horizontal (e transversal) ao teclado, Fy, (direção y) e o momento aplicado no eixo horizontal e longitudinal ao teclado, Mx, (eixo x). Com estes três componentes é possível, numa análise bidimensional (2D), determinar a magnitude do vetor força resultante, seu ângulo com plano horizontal e o ponto de aplicação sobre a superfície da tecla. Os sensores utilizados foram os extensômetros de resistência elétrica, colados em placas que deformam-se principalmente por flexão; estes sensores são ligados em ponte completa de Wheatstone para cada canal de aquisição, Fx, Fy e Mx. Foi construído um modelo em madeira, PVC e acrílico, na escala 4,5:1, para auxiliar na busca de soluções de problemas de construção. Com o objetivo de aperfeiçoar o modelo conceitual criado, utilizou-se modelamento numérico (elementos finitos) Os sinais adquiridos para cada canal são independentes, não necessitando de operações posteriores. O sistema de aquisição é composto por um computador para armazenar e posteriormente tratar matematicamente os dados coletados, por uma placa de aquisição (A/D) de dados, um condicionador de sinais e o programa SAD 2.0 para aquisição e processamento de dados. A linearidade da plataforma de força permaneceu dentro dos limites de 3 % durante a calibração estática. Os testes dinâmicos mostraram que a plataforma possui freqüência fundamental superior a 2300 Hz, o que permite que ela seja utilizada com segurança para a análise de forças aplicadas durante a digitação.
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.
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:
Este trabalho apresenta a proposta e a implementação de um sistema de gerência de energia para redes locais de computadores (Local Area Networks ou LANs). Desde sua introdução, no início dos anos 90, os mecanismos de gerência de energia para computadores têm contribuído de maneira significativa para a redução do consumo nos períodos de inatividade, mas podem ter seu efeito minimizado por uma série de fatores, dentre os quais destaca-se a conexão do equipamento a uma rede. Em linhas gerais, o objetivo do sistema proposto é, justamente, facilitar a gerência de energia em ambientes de rede. O funcionamento do sistema é baseado na aplicação de políticas de consumo definidas pelo administrador da rede. As políticas podem ser aplicadas em duas situações distintas: em horários pré-determinados (p. ex. depois do horário comercial), quando podem ajudar a reduzir o desperdício de energia, ou em resposta a alterações no fornecimento de energia, caso a rede seja protegida por no-breaks, quando a redução no consumo resulta em maior tempo de autonomia da fonte reserva (banco de baterias). As políticas são configuradas através de um mecanismo flexível, que permite não apenas desligar os equipamentos, mas colocá-los em estados intermediários de consumo e executar outros tipos de ações. A arquitetura do sistema é baseada no modelo SNMP (Simple Network Management Protocol) de gerência de redes. É composta, basicamente, de agentes, elementos de software que residem nos equipamentos da rede e detêm o conhecimento específico sobre suas características de consumo de eletricidade, e de um gerente, elemento central que contém a configuração das políticas de consumo e que é responsável pelo monitoramento e controle dos agentes. Gerente e agentes comunicam-se através do protocolo SNMP, trocando informações segundo uma base de informações (MIB) projetada especificamente para a gerência de energia. A ênfase da parte prática do trabalho está no gerente, que foi inteiramente implementado através da linguagem Java, utilizando bibliotecas disponíveis gratuitamente. Adicionalmente, foi implementado um agente-protótipo para a plataforma Windows, o que permitiu observar o sistema completo em execução. Os testes permitiram validar a praticabilidade da arquitetura e estimar o ganho potencial proporcionado pela utilização do sistema. São apresentadas medições que demonstram um aumento de até 6 vezes na autonomia do banco de baterias do no-break para uma configuração de rede pequena, utilizando o sistema para desligar automaticamente 90% dos computadores durante um corte no fornecimento externo. A economia decorrente da redução de consumo em horários de inatividade foi estimada em até R$0,63 por computador no período de um ano (tomando por base a tarifa média praticada no Brasil entre janeiro e maio de 2002).
Resumo:
Devido a sua baixa latência de banda, os clusters equipados com o adaptador SCI são uma alternativa para sistemas de tempo real distribuídos. Esse trabalho apresenta o projeto e implementação de uma plataforma de comunicação de tempo real sobre clusters SCI. O hardware padrão do SCI não se mostra adequado para a transmissão de tráfego de tempo real devido ao problema da contenção de acesso ao meio que causa inversão de prioridade. Por isso uma disciplina de acesso ao meio é implementada como parte da plataforma. Através da arquitetura implementada é possível o estabelecimento de canais de comunicação com garantia de banda. Assim, aplicações multimídias, por exemplo, podem trocar com taxa constante de conunicação. Cada mensagem é enviada somente uma vez. Assim, mensagens som a semântica de eventos podem ser enviadas. Além disso, a ordem e o tamanho das mensagens são garantidos. Além do tráfego com largura de banda garantida, a plataforma possibilita a troca de pacotes IP entre diferentes máquinas do cluster. Esses pacotes são inseridos no campo de dados dos pacotes próprios da plataforma e após são enviados através do uso de pacotes IP. Além disso, essa funcionalidade da plataforma permite também a execução de bibliotecas de comunicação baseadas em TCP/IP como o MPI sobre o cluster SCI. A plataforma de comunicação é implementada como modulos do sistema operacional Linux com a execução de tempo real RTAI. A valiação da plataforma mostrou que mesmo em cenários com muita comunicação entre todos os nodos correndo, a largura de banda reservada para cada canal foi mantida.
Resumo:
Atualmente, a palavra "mudança" está na ordem do dia e tornou-se o novo paradigma empresarial. Todos querem mudar, transformar, preparar-se para o futuro. Por um lado, a mudança representa a oportunidade de crescimento, inovação, resposta à criatividade, mas, por outro lado, significa também o medo, a desorientação, o conflito e árduas negociações. O foco central do trabalho ora proposto para apreciação, diz respeito aos papéis desempenhados pelos gerentes de plataformas de perfuração marítima da Petrobras, numa análise de suas ações e quais os papéis gerenciais que melhor favorecem a enfrentar os novos cenários de mudança. O estudo abrange também os aspectos relevantes de uma mudança organizacional e os fatores condicionantes em uma reestruturação de forma a alcançar o desenvolvimento das pessoas, dos processos e da organização como um todo.
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.