291 |
Branch & price for the virtual network embedding problem / Branch & price para o problema de mapeamento de redes virtuaisMoura, Leonardo Fernando dos Santos January 2015 (has links)
Virtualização permite o compartilhamento de uma rede física entre uma ou mais redes virtuais. O Problema de Mapeamento de Redes Virtuais é um dos principais desafios na virtualização de redes. Esse problema consiste em mapear uma rede virtual em uma rede física, respeitando restrições de capacidade. O presente trabalho mostra que encontrar uma solução factível para esse problema é NP-Difícil. Mesmo assim, muitas instâncias podem ser pode ser resolvidas na prática através da exploração de sua estrutura. Nós apresentamos um algoritmo de Branch & Price aplicado a instâncias de diferentes topologias e tamanhos. Os experimentos realizados sugerem que o algoritmo proposto é superior ao modelo de programação linear resolvido com CPLEX. / Virtualization allows one or more virtual networks to share physical infrastructures. The Virtual Network Embedding problem (VNEP) is one of the main challenges in the virtualization of physical networks. This problem consists in mapping a virtual network into a physical network while respecting capacity constraints. This work shows that finding a feasible solution for this problem is NP-Hard. However, many instances can be solved up to optimality in practice by exploiting the problem structure. We present a Branch & Price algorithm applied to instances of different topologies and sizes. The experimental results suggest that the proposed algorithm is superior to the Integer Linear Programming model solved by CPLEX.
|
292 |
Avaliação de desempenho de implementações em hardware e software de algoritmos para aplicações de manutenção inteligenteLazzaretti, Elisandra Pavoni January 2012 (has links)
No mercado altamente globalizado de hoje, a manutenção dos equipamentos tem se tornado um fator crucial para as empresas dos mais diversos segmentos. Técnicas de manutenção baseadas no nível de degradação dos equipamentos estão sendo preferidas em detrimento das técnicas tradicionais como manutenção corretiva e preventiva, e trazem benefícios como tempos de paradas reduzidos, tarefas de manutenção facilitadas e melhor gerenciamento de ativos. Com o desenvolvimento das técnicas de manutenção inteligente, os sistemas embarcados que comportarão estes algoritmos necessitarão cada vez mais de alta flexibilidade, combinada com alta velocidade de processamento e baixo consumo. Em outras palavras, eles tornam-se cada vez mais complexos, o que tem impacto direto no projeto destes sistemas. Neste contexto, a programação baseada em modelos em conjunto com a capacidade de geração automática de código para uma dada plataforma tem despertado grande interesse. O presente trabalho tem como objetivo realizar a análise dos espaços de projeto e também do desempenho de diferentes implementações para algoritmos de manutenção inteligente quando executados em hardware e software. A partir de implementações disponíveis nos ambientes MATLAB e LabVIEW™ de um sistema de manutenção inteligente chamado Watchdog Agent™, e utilizando ferramentas de geração automática de código, o desempenho dos sistemas de manutenção gerados é comparado usando-se parâmetros como tempo de execução e ocupação de memória ou da área do FPGA. Para os testes são utilizados dados de vibração coletados de uma bancada de testes composta por um atuador eletromecânico para válvulas. / In today’s highly globalized market, equipment maintenance has become a crucial factor for companies from several segments. Maintenance strategies based on equipment’s condition level are being preferred in place of traditional techniques such as corrective and preventive maintenance, and incur in benefits such as reduced downtime, facilitated maintenance tasks and better assets management. With the development of intelligent maintenance techniques, the embedded systems that will be used with such algorithms will need increasingly more flexibility, combined with high processing speed and low power consumption. In other words, they became increasingly more complex, what directly impact in their project. Within this context, model based engineering associated with automatic platform-specific code generation capabilities are of great interest. This work has as objective to perform a design space exploration by analyzing the performance of different implementations for intelligent maintenance algorithms when executed in hardware and software. Based on implementations available in MATLAB™ and LabVIEW™ environments of an intelligent maintenance system called Watchdog Agent, and using automatic code generation tools, the performance of the generated systems are compared using parameters such as execution time and memory or FPGA area occupation. For the validation tests, vibration data collected from a test bench composed by an electric mechanical actuator will be used.
|
293 |
Service versioning and compatibility at feature level / Versionamento e compatibilidade de serviços em nível de featureYamashita, Marcelo Correa January 2013 (has links)
A evolução de serviços requer estratégicas para lidar adequadamente com a gerência de versões resultantes das alterações ocorridas durante o ciclo de vida do serviço. Normalmente, uma versão de serviço é exposta como um documento que descreve a funcionalidade do serviço, orientando desenvolvedores clientes sobre os detalhes de acesso ao serviço. No entanto, não existe um padrão para o tratamento de versões dos documentos que descrevem o serviço. Isso implica na dificuldade de identificação e localização de alterações, bem como na medição do seu impacto, especialmente em uma perspectiva mais granular. A compatibilidade aborda um estilo mais elegante de evolução de serviços, considerando os efeitos provenientes das alterações nas aplicações cliente. Ela define um conjunto de alterações permissivas, as quais não afetem a integração externa com o serviço. Entretanto, provedores não conseguem garantir que as alterações necessárias ao serviço estarão no conjunto de alterações compatíveis. Além disso, o conceito de compatibilidade é muitas vezes aplicado sobre a descrição do serviço como um todo, o que pode não ser representativo do uso real do serviço por uma aplicação cliente em particular. Assim, é de responsabilidade dos desenvolvedores clientes avaliar a extensão das alterações no serviço a fim de medir o impacto no seu cenário em particular. Esse processo pode ser difícil e propenso a erros sem o uso de mecanismos de identificação de mudanças. Este trabalho aborda a evolução do serviço de maneira mais granular, o que chamamos de nível de feature. Desse modo, nós propomos um modelo de controle de versões e um algoritmo de compatibilidade a nível de feature, que permite a identificação e qualificação do impacto das alterações, assim como a avaliação da compatibilidade das mudanças neste nível de feature. Este trabalho também apresenta um experimento com base em um serviço real, que explora o modelo de controle de versões para avaliar a extensão das mudanças implícitas e explícitas e sua avaliação de compatibilidade. / Service evolution requires sound strategies to appropriately manage versions resulting from changes during service lifecycle. Typically, a service version is exposed as a description document that describes the service functionality, guiding client developers on the details for accessing the service. However, there is no standard for handling the versioning of service descriptions, which implies on difficulties on identifying and tracing changes as well as measuring their impact, particularly in a finer grain perspective. Compatibility addresses the graceful evolution of services by considering the effects of changes on client applications. It defines a set of permissible change cases that do not disrupt the service external integration. However, providers cannot always guarantee that the necessary changes yield compatible service descriptions. Moreover, the concept of compatibility is often applied to the entire service description, which can not be representative of the actual use of the service by a particular client application. So, it is the client’s developers responsibility to assess the extent of the change and their impact in their particular usage scenario, which can be hard and error-prone without proper change identification mechanisms. This work addresses service evolution in a finer grain manner, which we refer to as feature level. Hence, we propose a versioning model and a compatibility algorithm at feature level, which allows the identification and qualification of changes impact points, their ripple effect, as well as the assessment of changes’ compatibility in this finer grain of features. This work also reports an experiment based on a real service, which explores the versioning model to assess the scope of implicit and explicit changes and their compatibility assessment.
|
294 |
Exploring hierarchy, adaptability and 3D in NoCs for the next generation of MPSoCs / Explorando hierarquia, adaptabilidade e 3D em NoCs para a próxima geração de MPSoCsMatos, Débora da Silva Motta January 2014 (has links)
A demanda por sistemas com elevado desempenho tem trazido a necessidade de aumentar o número de elementos de processamento, surgindo os chamados Sistemas em Chip Multiprocessados (MPSoCs). Além disso, com a possibilidade de redução da escala tecnológica na era submicrônica, permitindo a integração de vários dispositivos, os chips têm se tornado ainda mais complexos. No entanto, com o aumento no número de elementos de processamento, as interconexões são vistas com o principal gargalo dos sistemas-em-chip. Com isso, uma preocupação na forma como tais elementos se comunicam e estão interconectados tem sido levantada, uma vez que tais características são cruciais nos aspectos de desempenho, energia e potência, principalmente em sistemas embarcados. Essa necessidade permitiu o advento das redes-em-chip (Networks-on-Chip – NoCs) e inúmeros estudos já foram realizados para tais dispositivos. No entanto, devido ao aceleramento tecnológico atual, que traz a necessidade por sistemas ainda mais complexos, que consumam baixa energia e que permitam que as aplicações sejam constantemente atualizadas sem perder as características de desempenho, as arquiteturas de interconexão tradicionais não serão suficientes para satisfazer tais desafios. Outras alternativas de interconexão para MPSoCs precisam ser investigadas e nesse trabalho novas arquiteturas para NoCs com tais requisitos são apresentadas. As soluções propostas exploram hierarquia, adaptabilidade e interconexões em três dimensões. Esse trabalho aborda a necessidade do uso de diferentes estratégias em NoCs a fim de atingir os requisitos de desempenho e baixo consumo de potência dos atuais e futuros MPSoCs. Dessa forma, serão verificadas as diversas arquiteturas de interconexões para sistemas heterogêneos, sua escalabilidade, suas principais características e as vantagens das propostas apresentadas sobre as demais soluções. / The demand for systems with high performance has brought the need to increase the number of cores, emerging the called Multi-Processors System-on-Chip (MPSoCs). Also, with the shrinking feature size in deep-submicron era, allowing the integration of several devices, chips have become even more complex. However, with the increase in these elements, interconnections are seen as the main bottleneck in many core systemson- chip. With this, a concern about how these devices communicate and are interconnected has been raised, since these features are crucial for the performance, energy and power consumption aspects, mainly in embedded systems. This need allows the advent of the Networks-on-Chip (NoCs) and countless studies had already been done to analyze such interconnection devices. However, due to the current technological accelerating that brings the need for even more complex systems, consuming lower energy and providing constant application updates without losing performance features, traditional interconnect architectures will not be sufficient to satisfy such challenges. Other interconnecting alternatives for MPSoCs need to be investigated and in this work, novel architectures for NoCs meeting such requirements are presented. The proposed solutions explore hierarchy, adaptability and three dimensional interconnections. This work approaches the requirements in the use of different strategies for NoCs in order to reach the performance requisites and low power consumption of the current and future MPSoCs. Hence, in this approach, several interconnection architectures for heterogeneous systems, their scalability and the main features and advantages of the proposed strategies in comparison with others will be verified.
|
295 |
Modelagem e análise de especificações de sistemas de tempo-real críticos com restrições de energiaANDRADE, Ermeson Carneiro de 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:52:45Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2009 / Análise de requisitos é uma tarefa crítica em qualquer projeto de Sistema Embarcado de
Tempo-Real (ERTS). Normalmente, esses sistemas possuem restrições severas de tempo
que precisam ser satisfeitas para o correto funcionamento, visto que violações podem
ser catastróficas, tais como perdas de vidas ou grande quantias de recursos financeiros.
Além disso, existem sistemas onde energia é outra restri»c~ao que também precisa ser
satisfeita. Assim, a descoberta precoce dos potenciais problemas podem reduzir os riscos
da propagação dos erros da especificação para o código final. É importante ressaltar que
o custo da detecção de um erro após a entrega do sistema é, no mínimo, 10-100 vezes
maior do que ele tivesse sido detectado em tempo de especificação do sistema.
Atualmente, a forma mais amplamente usada para modelar requisitos de sistemas
críticos é através das linguagens semiformais, tais como SysML (System Modelling Lan-
guage) ou UML (Unified Modeling Language), devido principalmente a sua notação
amigável e intuitiva. No entanto, os modelos semiformais gerados por essas linguagens,
por si só não fornecem suporte para avaliação de desempenho das especificações dos sis-
temas, assim, faz-se necessário o mapeamento destes modelos semiformais para modelos
formais. Pois, modelos formais são apoiados por fundamentos matemáticos sólidos, que
suportam sua semântica precisa, estimulam a avaliação de desempenho e fornecem su-
porte para verificações das propriedades qualitativas e análises. Esses modelos formais,
no entanto, não são intuitivos e requerem um considerável esforço por parte dos proje-
tistas para entenderem a notação usada. Assim, é sensato adotar o uso colaborativo dos
modelos semiformais e formais.
Portanto, afím de obter a integração dos modelos formais e semiformais, este trabalho
propõe o mapeamento dos diagramas comportamentais da SysML em uma Rede de Petri
Temporizada. As restrições de tempo e anotações energia são representadas pelo novo
profile da UML MARTE (Modeling and Analysis of Real-time and Embedded systems).
Além disso, uma metodologia de avaliação de desempenho das especifícas de sistemas
críticos é proposta, com o intuito de auxiliar o processo de modelagem e avaliação. Por
fim, estudos de caso são apresentados mostrando a aplicabilidade deste trabalho
|
296 |
Abordagem para geração automática de código para framework de automação de testesARCOVERDE NETO, Euclides Napoleão January 2007 (has links)
Made available in DSpace on 2014-06-12T15:57:05Z (GMT). No. of bitstreams: 2
arquivo3138_1.pdf: 1790380 bytes, checksum: 8d08d6e97caeb1942c705627bab1ddc6 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2007 / Centro de Estudos Avançados do Recife / Engenharia de software visa criar software de maneira econômica, que seja confiável e que
trabalhe eficientemente em máquinas reais. Um de seus principais objetivos é obter um grau
de qualidade mínimo que, em geral, significa uma baixa taxa de defeitos. Considerando que
qualidade é crítico para o sucesso do software, o uso de testes vem crescendo. Testes objetivam
revelar a presença de erros o mais cedo possível no ciclo de desenvolvimento. Embora teste de
software seja uma atividade complexa, geralmente não é realizada sistematicamente devido a
uma série de fatores como limitações de tempo, recursos e qualificação técnica dos envolvidos.
Dessa forma, a automação de testes é uma tendência na área de testes.
Esse trabalho está inserido no contexto de um projeto de pesquisa realizado pela Motorola
em parceria com o Centro de Informática da Universidade Federal de Pernambuco denominado
CInBTCRD (CIn and Brazil Test Center Research and Development Project). Na Motorola, a
automação de testes faz-se por meio de um framework denominado de TAF (Test Automation
Framework), o qual simula a interação de um ser humano com um aparelho celular, além de
poder capturar o estado e outras informações importantes do aparelho.
Testes reusam implementações já definidas no TAF para criar os scripts de teste, bem como
novas implementações são criadas quando o reuso não é possível. Visto que bastante tempo é
gasto para criar tais implementações, este trabalho propõe criar uma estratégia que, dado um
script de teste, gere código para o TAF das funcionalidades ainda não implementadas automaticamente.
Para gerar tais códigos, foi utilizada a linguagem formal CSP (Communicating Sequential
Processes) como base. CSP foi criada para especificar e projetar comportamentos de sistemas
concorrentes e distribuídos. CSP possui uma teoria de refinamentos associada, a qual é o alicerce
de nossa proposta. O uso de refinamento em nossa proposta é relativamente simples:
dado um teste em TAF descrito usando CSP e o comportamento de um celular também em
CSP, a relação de refinamento só será satisfeita quando todos os elementos contidos no teste
estiverem de acordo com o definido no comportamento do celular. Assim sendo, nesse trabalho
usamos a ferramenta BxT (Behavior Extractor Tool) que desenvolvemos no contexto do projeto
de pesquisa para extrair automaticamente um modelo CSP de um celular, bem como reusamos
um outro trabalho que consegue representar casos de teste em CSP e criamos um algoritmo que
usa esses elementos e a teoria da refinamento de CSP para completar certas partes do caso de
teste com o auxílio do modelo do celular. Finalmente, o teste em CSP resultante é novamente
escrito em TAF e dessa forma conseguimos atualizar o framework automaticamente
|
297 |
Um ambiente para geração automática de biblioteca de componentes de comunicação em sistemas embarcados distribuídosDÓRIA, Valnor Calheiros January 2003 (has links)
Made available in DSpace on 2014-06-12T15:58:54Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2003 / Hardware/software co-design é uma metodologia utilizada para o desenvolvimento de
sistemas digitais compostos por componentes de software e por componentes de hardware,
que possibilita obter um drástico ganho de produtividade no desenvolvimento de tais sistemas.
Este ganho de produtividade pode ser utilizado na exploração de diversas alternativas de
solução, a fim de se conseguir melhorar a qualidade e reduzir o custo do projeto final. Com o
recente crescimento da utilização de sistemas embarcados distribuídos, os projetistas têm cada
vez mais utilizado ambientes de hardware/software co-design que suportem esta categoria de
projetos.
O co-design de sistemas embarcados distribuídos é uma tarefa ainda mais desafiadora,
pois cada fase da metodologia tem que considerar as restrições físicas impostas pelas
características distribuídas destes sistemas. Um dos desafios do co-design de sistemas
embarcados distribuídos está na geração de comunicação entre processos alocados em
diferentes sistemas embarcados. Trata-se de uma tarefa tediosa, propícia a erros e que
consome bastante tempo quando não é realizada automaticamente, pois, a cada nova situação
a ser analisada, a ausência de uma ferramenta de auxílio ao projeto força o projetista do
sistema a refazer todos os parâmetros que são dependentes da aplicação e customizar os
subsistemas de comunicação de maneira a refletir a nova arquitetura a ser analisada.
O objetivo principal desse trabalho foi o desenvolvimento de um ambiente que gere
automaticamente uma biblioteca de componentes de comunicação para sistemas embarcados
que estão distribuídos. O sistema deve suportar projetos de diferentes escalas e com topologia
qualquer. Para tanto, foi definido um modelo de comunicação, foi proposta uma arquitetura de
rede para a qual o sistema deve gerar os componentes de comunicação e foi realizado o
desenvolvimento de uma biblioteca de componentes de comunicação com especificações de
implementação em hardware e em software, que suportam inclusive comunicação através da
Internet. Como resultado do trabalho, foi implementado um sistema de geração automática de
componentes de comunicação, GCCom, que oferece suporte ao desenvolvimento de projetos
de sistemas embarcados distribuídos
|
298 |
Extração de informações estruturais e de comunicação de descrições em SystemCLuiz Sá Prudente, Fábio January 2004 (has links)
Made available in DSpace on 2014-06-12T15:58:55Z (GMT). No. of bitstreams: 2
arquivo4749_1.pdf: 860768 bytes, checksum: f47e41219790526c6f185f6c76e4135d (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2004 / No competitivo mercado de sistemas digitais dedicados, a crescente
demanda por produtos com funcionalidades cada vez mais complexas tem tornado o
projeto de tais sistemas um grande desafio. Neste cenário, torna-se necessária a
construção de modelos virtuais do sistema, em diferentes níveis de abstração, a fim de
permitir a exploração do espaço de projeto e a validação funcional do mesmo, antes de
sua implementação final. SystemC é uma biblioteca de classes C++ que permite a
construção de tais modelos. Embora ferramentas comuns de C++ possam ser usadas
para desenvolver modelos em SystemC, elas não atendem às necessidades específicas
da modelagem de sistemas. Ferramentas específicas precisam reconhecer os elementos
de SystemC nos arquivos-fonte, para poderem prestar qualquer tipo de auxílio ao
projetista, nas atividades de modelagem, análise, validação, etc.
Neste trabalho, apresentamos uma técnica, e uma ferramenta-protótipo,
para a identificação e extração de informação estrutural de modelos em SystemC,
usando algoritmos de casamento de padrões sobre o grafo semântico extraído dos
códigos-fonte por uma ferramenta de extração para C++. A ferramenta-protótipo foi
usada com sucesso em vários exemplos de modelos em SystemC, dentre eles o modelo
de uma CPU RISC.
|
299 |
Uma metodologia para exploração do espaço de projeto de hierarquias de memória para sistemas embarcadosViana da Silva, Pablo January 2006 (has links)
Made available in DSpace on 2014-06-12T15:59:42Z (GMT). No. of bitstreams: 2
arquivo5505_1.pdf: 1159363 bytes, checksum: 2f89106cbd882a565f9dbd214538ef51 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2006 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / A hierarquia da memória é um elemento importante a ser otimizado em
plataformas configuráveis. Muitas configurações de cache necessitam ser avaliadas a fim
encontrar a melhor escolha em termos de desempenho, área de silício, ou do consumo de
potência a uma aplicação. A maioria de modelos para estimar essas métricas são
dependentes de parâmetros como o tamanho da cache e de sua taxa respectiva da falta.
Ao invés de utilizar ferramentas tradicionais para estimar a taxa da faltas na cache,
através de repetitivas simulações, este trabalho propõe uma técnica simplificada, contudo
eficiente, para estimar a taxa da falta de diferentes configurações de cache em apenas
uma única simulação (single-pass). A abordagem propõe basicamente a geração de
tabelas de localidade e de conflito, que refletem as propriedades de endereçamento do
comportamento da aplicação. A técnica proposta pretende simplificar a estimativa da taxa
faltas e a exploração do espaço de configurações de cache de maneira mais rápida. Uma
vez que a estrutura da tabela é baseada em operações binárias elementares (comparação,
deslocamento, etc), tanto implementações baseadas em software como em hardware
podem ser consideradas para executar a técnica proposta.
Adicionalmente, a fim suportar o ajuste de caches para aplicações múltiplas, o
problema de subconjuntos do espaço de configuração de caches é exaustivamente
apresentado e uma solução eficiente é discutida. Adaptado a partir de uma técnica para
segmentação de séries temporais, os resultados obtidos heuristicamente na seleção de
configurações oferecem a qualidade comparável à abordagem exaustiva. Tal contribuição
considera o ajuste de caches configuráveis para um conjunto de aplicações, considerando
um menor número de configurações possíveis, preservando ainda a economia obtida com
a otimização da cache
|
300 |
Sistema de gerenciamento remoto de sinais vitais para PDAKarine da Silva Cruz, Danielly January 2005 (has links)
Made available in DSpace on 2014-06-12T16:01:08Z (GMT). No. of bitstreams: 2
arquivo7167_1.pdf: 6784376 bytes, checksum: 7446fb6c6a4a94731525df40a1286747 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2005 / Ataque cardíaco é a causa de muitas mortes. Portanto, uma medicina preventiva é necessária para decrescer esse número. Eletrocardiograma pode ajudar os médicos a descobrir antecipadamente as doenças cardíacas. Entretanto, algumas localizações podem não ter um médico por perto todo o tempo para analisar um eletrocardiograma. Assim, fornecer um serviço eficiente de cuidados da saúde para países com dimensões continentais como o Brasil é um desafio. Mecanismos para um atendimento melhor e mais eficiente dos pacientes são necessários devido ao aumento do custo dos sistemas de cuidados da saúde. Esta dissertação propõe o desenvolvimento de um sistema para monitoramento dos sinais vitais (incluindo o eletrocardiograma - ECG) através dos PDAs (Personal Digital Assistent). Portanto, isto tem tornado possível o atendimento local, na residência dos pacientes, por agentes de saúde com o suporte de médicos especialistas através da segunda opinião (diagnóstico adicional). Assim, a análise remota do eletrocardiograma através da Internet permite que médicos diagnostiquem remotamente doenças cardíacas. A abordagem proposta suporta: gravação e visualização das formas de onda do ECG pelo PDA e navegador. Os agentes de saúde usam o PDA para enviar as informações do paciente, juntamente com seu eletrocardiograma, para o servidor do hospital HealthNet. Logo, o médico pode analisar o eletrocardiograma através do sistema e fornecer o retorno para o agente de saúde. Desenvolvemos um sistema capaz de enviar e receber informações médicas armazenadas no PDA do agente de saúde. O médico pode usar um navegador e a Internet para analisar esta informação e fornecer sua opinião, a qual é enviada de volta para o agente de saúde para ajudá-lo no tratamento do paciente. Afim de torná-lo fácil para uso pelos médicos e agentes de saúde, uma interface gráfica amigável foi desenvolvida. Métodos para um acesso eficiente dos dados tem sido também desenvolvido para cobrir as restrições de armazenamento dos PDAs
|
Page generated in 0.0699 seconds