Siafu-CReMe: Simulando o Tratamento de Conflitos em Aplicações Cientes de Contexto Coletivas

Tamanho: px
Começar a partir da página:

Download "Siafu-CReMe: Simulando o Tratamento de Conflitos em Aplicações Cientes de Contexto Coletivas"

Transcrição

1 XXIX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 923 Siafu-CReMe: Simulando o Tratamento de Conflitos em Aplicações Cientes de Contexto Coletivas Thais R. M. Braga Silva 1, Fabrício A. Silva 1, Linnyer B. Ruiz 2, Antonio A. F. Loureiro 3 1 Campus Florestal Universidade Federal de Viçosa (UFV) Florestal MG Brasil 2 Departamento de Informática Universidade Estadual de Maringá (UEM) Maringá PR Brasil 3 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG Brasil Abstract. Context-aware computing is an active research area that deals with systems capable of adapting services according to the current needs of their users. A related research aspect that lately has received increasing attention from the scientific community is the resolution of conflicts of interests that may occur when context-aware systems are shared by a group of users. This paper presents a tool, called Siafu-CReMe, to the simulation of conflicts treatment solutions for collective context-aware applications. Siafu-CReMe is based on an adaptable and extensible architecture that allows users to determine how to detect conflicts for their collective applications, as well as the resolution algorithms to be used. Resumo. A computação ciente de contexto é uma área ativa de pesquisa que trata de sistemas capazes de adaptar serviços de acordo com as necessidades correntes de seus usuários. Um aspecto de pesquisa relacionado que tem recebido crescente atenção da comunidade científica é o tratamento de conflitos de interesses que podem ocorrer em sistemas cientes de contexto compartilhados por um grupo de usuários. Esse trabalho apresenta uma ferramenta, chamada Siafu-CReMe, para a simulação de soluções para o tratamento de conflitos em aplicações cientes de contexto coletivas. A Siafu-CReMe está baseada em uma arquitetura adaptável e extensível, a qual permite que cada usuário determine como detectar conflitos para sua aplicação coletiva, bem como os algoritmos de resolução a serem utilizados. 1. Introdução Aplicações computacionais cientes de contexto podem ser definidas como aquelas que utilizam informações sobre entidades de interesse (objetos, pessoas ou ambientes) para adaptarem seus serviços com o objetivo de aumentar a satisfação dos usuários [Abowd et al. 1999]. A informação considerada por esse tipo de aplicação é chamada de contexto e pode representar dados do ambiente físico (e.g., temperatura e luminosidade), bem como características pessoais (e.g., sentimentos e localização). Em muitos casos, as aplicações cientes de contexto são coletivas, ou seja, utilizadas simultaneamente por um grupo de usuários. Apesar dos usuários nesses cenários possuírem

2 924 Anais objetivos comuns, eles podem divergir sobre as adaptações desejadas para os serviços oferecidos pela aplicação, devido às diferenças em seus perfis individuais e/ou à escassez de recursos no ambiente. Dessa forma, conflitos de interesse podem ser detectados e devem ser resolvidos considerando os interesses coletivos e individuais [Silva et al. 2010]. Uma aplicação ciente de contexto coletiva é composta por um conjunto de tarefas (individuais e coletivas) e um conjunto de usuários. As tarefas são os serviços providos pela aplicação, sendo coletivas aquelas executadas simultaneamente por dois ou mais usuários. Um conflito coletivo pode ser definido como um estado inconsistente alcançado por uma aplicação coletiva após avaliar contextos ambientais e pessoais. A aplicação se torna incapaz de realizar adaptações de maneira a satisfazer interesses individuais e coletivos ao mesmo tempo. A resolução de conflitos coletivos é a adoção de um algoritmo ou técnica para resolver impasses identificados durante a execução de uma aplicação coletiva. O trabalho desenvolvido por [Silva et al. 2010] aborda o tratamento de conflitos em aplicações cientes de contexto coletivas, apresentando uma metodologia, chamada CReMe (Conflict Resolution Methodology), que tem como objetivo organizar as atividades de detecção e resolução de conflitos. O objetivo deste trabalho é propor uma ferramenta que permita a simulação de diferentes soluções para a identificação e o tratamento de conflitos em aplicações cientes de contexto coletiva. Essa ferramenta está baseada nas definições propostas pela metodologia CReMe, a qual já aborda as características principais do problema da resolução de conflitos coletivos. Adaptabilidade e extensibilidade são duas importantes características da ferramenta proposta, visto que a mesma deve atender ao maior número de pesquisadores possível, os quais desejam adotar diferentes técnicas para detectar e resolver conflitos, e simular diferentes aplicações coletivas. Atualmente, a maioria das ferramentas de simulação para aplicações cientes de contexto disponíveis na literatura não são multiusuários e não permitem a configuração de diferentes características para as aplicações. Além disso, aquelas que possuem esses atributos não apresentam uma solução para tratamento de conflitos. A ferramenta proposta, chamada Siafu-CReMe, é uma extensão de um ambiente para simulação, chamado Siafu [Martin and Nurmi 2006], o qual já possui disponíveis e validadas as funcionalidades ligadas a geração de aplicações cientes de contexto coletivas. 2. CReMe: Conflict Resolution Methodology A metodologia CReMe (Conflict Resolution Methodology) define modelos para a elaboração de soluções para diferentes aplicações coletivas e cientes de contexto. Os modelos que compõem a metodologia CReMe foram descritos em detalhes em [Silva et al. 2010]. Três modelos principais foram definidos, sendo eles o modelo de aplicação, o modelo de arquitetura e o arcabouço estrutural, chamado Conflict Engine, responsável por organizar os módulos que compõem a metodologia, bem como o fluxo de chamada e as interfaces entre os mesmos. O modelo de aplicação define que os sistemas atendidos pela CReMe funcionam em rodadas. Uma rodada é caracterizada por um instante de tempo da aplicação no qual os participantes da mesma indicam quais tarefas, dentre aquelas disponibilizadas pelo sistema, desejam executar. O modelo de arquitetura escolhido pela metodologia é cliente-servidor, com rodízio de servidores. O servidor é o elemento responsável por executar os módulos da Conflict Engine a cada rodada.

3 XXIX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 925 Basicamente, a Conflict Engine é composta por dois módulos principais: Módulo Detecção de Conflitos e Módulo Conciliação. O Módulo Detecção de Conflitos é responsável por identificar impasses de adaptação sobre as tarefas da aplicação indicadas pelos participantes e notificá-los ao Módulo Conciliação. Ele executa uma análise tridimensional considerando os perfis dos usuários, os contextos dos ambientes compartilhados e as tarefas da aplicação. Cada aplicação coletiva deverá utilizar uma implementação particular para esse módulo, de acordo com os tipos de conflitos coletivos enfrentados. O objetivo do Módulo Conciliação é adaptar as tarefas da aplicação de acordo com os interesses individuais e coletivos, considerando ainda os recursos disponíveis no ambiente, sempre que conflitos coletivos forem detectados. Para resolver conflitos, o módulo executa um algoritmo ou técnica de resolução, escolhida de acordo com as características da aplicação ciente de contexto coletiva considerada. De acordo com a metodologia CReMe, este módulo deverá utilizar um repositório de algoritmos para conciliação de conflitos. Sempre que conflitos tiverem que ser resolvidos, o módulo deverá selecionar um desses algoritmos para solucioná-lo. Os módulos propostos para a metodologia CReMe necessitam de informações que devem ser providas pelo projetista de cada aplicação. A CReMe recebe essas informações por meio de um arquivo XML (extensible Markup Language), chamado Nível de Atuação. 3. O Ambiente Siafu As soluções para tratamento de conflitos coletivos desenvolvidas com a metodologia CReMe podem ser implementada tanto em ambientes reais como também em ferramentas de simulação. Para o desenvolvimento dos módulos da Conflict Engine, conforme propostos pela metodologia CReMe, em um ambiente de simulação, é preciso também que se tenha as funcionalidades de simulação de uma aplicação ciente de contexto coletiva. Uma vez que já existem ferramentas com esse propósito disponíveis na literatura, uma delas pode ser escolhida para ser estendida e utilizada para simulação do tratamento de conflitos coletivos. Essa ferramenta deve atender, basicamente, aos seguintes requisitos: permitir simulações de aplicações cientes de contexto, conforme o modelo de aplicação proposto pela metodologia CReMe; permitir simulações de aplicações coletivas; permitir o uso de diferentes tipos de contextos; possuir código aberto e livre. Dentre as ferramentas encontradas na literatura e avaliadas, o Siafu [Martin and Nurmi 2006] foi selecionado por apresentar melhor aderência aos requisitos necessários. O Siafu é um simulador de aplicações cientes de contexto desenvolvido na linguagem de programação Java. É uma ferramenta de código aberto com licença GPL (GNU Public License). Com o Siafu já é possível simular aplicações cientes de contexto, inclusive considerando múltiplos usuários. O Siafu oferece grande liberdade aos usuários na determinação de diversas características da aplicação, tais como ambiente físico, número e perfil dos usuários, tipos de contextos pessoais e ambientais, padrão de movimentação, dentre outros aspectos. Os autores da ferramenta disponibilizaram uma página Web por meio da qual é possível obter o simulador e seu código, bem como as instruções completas para sua utilização e modificação [Siafu 2010].

4 926 Anais Além do Siafu, outras ferramentas de simulação foram encontradas na literatura. Porém, nenhuma delas atendeu tão bem aos requisitos quanto o Siafu. O Network Simulator [NS2 2001] e o GloMoSim [Zeng et al. 1998] são simuladores de rede com bastante reconhecimento na comunidade científica. No entanto, eles não oferecem suporte a aplicações cientes do contexto. O DiaSim [Jouve et al. 2009] possui maior foco em simulação de aplicações pervasivas, sem oferecer suporte ao uso de contextos. CASS [Park et al. 2007], ISS [Van Nguyen et al. 2009] e CAST [Kim et al. 2006] são simuladores propostos apenas para aplicações de Smart Home, e não possuem o código aberto. TATUS [O Neill et al. 2005] é um simulador com foco em testes de software para aplicações cientes de contexto que não permite comunicação em rede entre os elementos. Apesar de possibilitar a simulação de aplicações coletivas, o Siafu não contém qualquer implementação para o tratamento de conflitos coletivos. Portanto, a proposta deste trabalho é estender o Siafu, incluindo a funcionalidade de tratamento de conflito proposta pela metodologia CReMe (seção 2). Essa extensão recebe o nome de Siafu-CReMe. Os usuários dessa ferramenta serão os projetistas de aplicações cientes de contexto coletivas, interessados em avaliar uma ou mais soluções para tratamento dos conflitos coletivos. 4. A Ferramenta Siafu-CReMe Os principais requisitos para a implementação da Siafu-CReMe são adaptabilidade e extensibilidade. Esses requisitos foram considerados devido a duas importantes necessidades dos potenciais usuários da ferramenta. Em primeiro lugar, diferentes usuários provavelmente simularão diferentes aplicações. Assim, a ferramenta deve ser adaptável para simular diferentes aplicações cientes de contexto com características variadas, necessitando de um mínimo de esforço do usuário. Em segundo lugar, cada usuário pode desejar incorporar algum novo comportamento à sua solução para tratamento de conflitos, dependendo das necessidades de sua aplicação. A própria metodologia CReMe oferece a possibilidade de adequação da solução para cada aplicação em particular. Portanto, a ferramenta Siafu-CReMe permite que seus usuários desenvolvam outras metodologias para conciliação de conflitos utilizando os modelos propostos pela CReMe. O Siafu já possibilita que diferentes aplicações coletivas sejam configuradas e simuladas. Dessa forma, foi necessário criar uma arquitetura de extensão desse ambiente, a qual considera apenas os aspectos de tratamento de conflitos coletivos. A arquitetura da ferramenta Siafu-CReMe foi preparada de maneira a permitir a detecção de diferentes tipos de conflitos coletivos (i.e., conflitos ocorridos por diversos motivos) e a utilização de várias opções de algoritmos para o tratamento dos mesmos. As classes desenvolvidas para a ferramenta utilizam conceitos da programação orientada a objetos e também padrões de projetos consolidados na literatura para facilitar o desenvolvimento de novas funcionalidades, sempre que necessário. Além disso, foi implementado um esquema XML para determinar o formato dos arquivos de Nível de Atuação. Cada aplicação deve possuir um arquivo XML formatado de acordo com o esquema proposto, contendo um elemento conflictdetectionclass, um elemento conflict- ResolutionClass e um ou mais elementos algorithm. Esses elementos são utilizados pelas classes implementadas para a ferramenta, conforme será explicado a seguir. A figura 1 apresenta o diagrama de classes criado para a implementação da Siafu-CReMe. As principais classes desenvolvidas para os módulos de detecção e conciliação são apresentadas

5 XXIX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 927 juntamente com a explicação sobre como utilizá-las para construir e configurar a solução de tratamento de conflitos coletivos para um determinada aplicação. Figura 1. Diagrama de Classes - Siafu-CReMe A classe ServerPlace representa o papel de servidor. Ela repassa as informações recebidas ao arcabouço estrutural Conflict Engine. A cada rodada o papel de servidor (i.e., o objeto ServerPlace) estará vinculado a um dos dispositivos da aplicação simulada. Módulo Detecção de Conflitos: o módulo para detecção de conflitos é composto principalmente pela classe abstrata ConflictDetection. Essa classe possui os atributos e métodos comuns a todos os modelos de detecção de conflitos e o método abstrato detectcollective- Conflict, que deve ser implementado pelas suas subclasses para detectar conflitos de uma maneira específica. Para indicar qual o modelo de detecção a ser utilizado para a sua aplicação específica, o usuário deve configurar a aplicação utilizando o arquivo de Nível de Atuação. Essa configuração é feita utilizando o elemento conflictdetectionclass que contém o atributo name com o valor da classe que deve ser instanciada para identificar conflitos. O padrão de projeto Factory [Gamma et al. 1995], que utiliza os métodos de reflexão em Java, foi implementado para instanciar a classe utilizando apenas o nome da mesma. Esse padrão é implementado pela classe ConflictDetectionFactory. Dois modelos de detecção de conflitos já estão disponíveis na ferramenta: por tarefas e por demanda. O primeiro identifica conflitos quando usuários desejam realizar tarefas diferentes ao mesmo tempo, quando apenas uma pode ser escolhida. O segundo tipo identifica conflitos quando mais de um usuário deseja realizar uma tarefa, mas a mesma não tem capacidade para atender a todos simultaneamente. Caso o usuário queira utilizar um outro modelo de detecção de conflito, basta criar uma classe própria estendendo a classe abstrata ConflictDetection e configurar o nome da classe no arquivo XML. Dessa forma, o módulo descrito é facilmente adaptável apenas pelo valor de um parâmetro do arquivo XML, e extensível pois basta criar uma classe que estende a classe abstrata já existente, sem a necessidade de alterações do código do arcabouço. Módulo Conciliação: seguindo a proposta da metodologia CReMe, a Siafu-CReMe permite a adoção de vários algoritmos para a resolução de conflitos. Esses algoritmos

6 928 Anais são mantidos em um repositório, juntamente com meta-dados relacionados. Para escolher qual algoritmo será utilizado, o módulo de conciliação possui uma classe chamada Methodology, a qual contém uma instância do algoritmo a ser utilizado e o método solvecollectiveconflict que executa esse algoritmo. Essa classe não é abstrata pois a execução do método de resolução simplesmente executa o algoritmo selecionado. Porém, ela pode ser estendida para que possua o comportamento desejado pela aplicação. A configuração de qual classe será utilizada é feita pelo elemento conflictresolutionclass do arquivo XML. Assim como no módulo de detecção de conflitos, o padrão de projeto Factory [Gamma et al. 1995] e os métodos de reflexão Java foram adotados para permitir a instanciação da classe escolhida apenas pelo seu nome. A ferramenta atualmente possui a implementação de três metodologias para resolução de conflitos. Uma dessas metodologias escolhe o algoritmo que consome menos recurso, outra escolhe aquele que trará maior satisfação aos usuários e a última realiza um balanceamento entre o consumo de recursos e a satisfação dos usuários. Em relação aos algoritmos disponibilizados pelo repositório, a ferramenta já possui cinco implementações disponíveis. Porém, o usuário pode incrementar o repositório com novos algoritmos, bastando criar uma classe que estenda a classe abstrata Resolution- Algorithm. Essa classe abstrata possui os campos que representam os meta-dados de cada algoritmo e o método abstrato run, que contém a implementação dos passos do algoritmo. Para utilizar um algoritmo, é preciso informar ao simulador, por meio do arquivo XML, que o mesmo deverá ser adotado, bem como os valores para seus meta-dados. O arquivo XML permite que sejam configurados vários algoritmos para participarem do repositório da aplicação. Cada algoritmo é indicado pelo elemento algorithm, que contém os atributos class, para indicar qual classe representa o algoritmo, e name contendo o nome do algoritmo. Cada elemento algorithm possui ainda sub-elementos que configuram os valores dos seus respectivos meta-dados, sendo: AvgEnergyConsumptionProcessing: valor médio esperado para o consumo de energia do algoritmo com processamento; AvgCollectiveQoS: valor médio esperado para qualidade de serviço do algoritmo; AvgIndividualQoS: valor médio esperado para o coeficiente de variação da qualidade de serviço; AvgNumberMessages: número esperado de mensagens trocadas pelos dispositivos da aplicação para o algoritmo; AvgMessageSize: tamanho médio das mensagens do algoritmo. Novamente o padrão de projeto Factory [Gamma et al. 1995] foi utilizado para que a lista de algoritmos seja instanciada e configurada de acordo com os meta-dados dos parâmetros indicados. Dessa forma, o módulo de conciliação de conflitos é adaptável pela configuração de qual classe utilizar para selecionar o algoritmo e também quais algoritmos devem ser considerados e com quais valores para seus meta-dados. Outras Classes: a classe GenericReturn é utilizada para retornar os resultados obtidos pelo algoritmo escolhido pela metodologia utilizada. Ela é necessária visto ser impossível saber antecipadamente quais serão os dados retornados por cada implementação. A classe DefaultMobileDevice simula os dispositivos computacionais utilizados pelos participantes das aplicações. Ela possui a representação de uma fonte de energia (classe

7 XXIX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 929 Battery), bem como métodos que correspondem ao envio e recepção de mensagens. Heranças podem ser criadas para que a classe reflita as características de um dispositivo (e.g., classe NexusOneBasedDevice) Exemplo de Utilização: Guia Turístico Computacional Coletivo Para demonstrar o uso da ferramenta, uma aplicação de guia turístico coletivo computacional foi implementada. Todos os turistas desejam realizar tarefas da aplicação em conjunto. Porém, em determinados momentos, eles podem apresentar diferentes interesses, gerando conflitos que devem ser resolvidos. < configuration > < c o n f l i c t D e t e c t i o n C l a s s name=" br. ufmg. dcc. c o l l e c t i v e c o n t e x t s. T a s k C o n f l i c t D e t e c t i o n "/ > < c o n f l i c t R e s o l u t i o n C l a s s name=" br. ufmg. dcc. c o l l e c t i v e c o n t e x t s. Methodology. DynamicMethodology "/ > < a l g o r i t h m c l a s s =" br. ufmg. dcc. c o l l e c t i v e c o n t e x t s. a l g o r i t h m s. M a j o r i t y T a s k A l g o r i t h m " name=" M a j o r i t y "> <AvgEnergyConsumptionProcessing >200 </ AvgEnergyConsumptionProcessing > <AvgCollectiveQoS >60.48 </ AvgCollectiveQoS > <AvgIndividualQoS >60.80 </ AvgIndividualQoS > <AvgNumberMessages >1.0 </ AvgNumberMessages> <AvgMessageSize >100.0 </ AvgMessageSize > </ algorithm > < a l g o r i t h m c l a s s = "... " name = "... " >... </ algorithm > </ c o n f i g u r a t i o n > Parte do arquivo XML gerado para a aplicação está apresentado acima. Alguns detalhes foram omitidos para facilitar a visualização e compreensão. Com relação à detecção de conflitos, foi preciso simplesmente indicar qual o nome da classe a ser utilizada. Nesse caso, foi utilizada a detecção por tarefas já disponibilizada pela ferramenta Siafu- CReMe (classe TaskConflictDetection). Para a conciliação, foi utilizada a versão proposta pela metodologia CReMe (classe DynamicMethodology) que também já está implementada na Siafu-CReMe. Três algoritmos já existentes no repositório foram selecionados e seus valores de meta-dados configurados. Em resumo, para uma aplicação de guia turístico coletivo, somente com as opções fornecidas pela Siafu-CReMe já foi possível configurar e executar a simulação. No entanto, caso uma aplicação não seja atendida pelas opções disponíveis, basta estender as classes existentes com as características desejadas e configurar normalmente a simulação. 5. Considerações Finais Este trabalho apresentou a ferramenta Siafu-CReMe para simulação de tratamento de conflitos em aplicações cientes de contexto coletivas. A ferramenta foi baseada na metodologia CReMe para tratamento de conflitos coletivos e implementada como uma extensão do simulador Siafu. Para atender a diferentes pesquisadores da área, a Siafu-CReMe possui duas principais características: adaptabilidade: um usuário pode facilmente configurar os detalhes de detecção e resolução de conflitos alterando apenas um arquivo de configuração XML; extensibilidade: foram definidas interfaces básicas para os módulos e essas interfaces podem ser facilmente estendidas para atender a diferentes aplicações. A ferramenta e a documentação contendo detalhes sobre como utilizá-la podem ser encontrados no site 1 thaisrb/sbrc2011. O plano para a demonstração no simpósio é: 1 Atenção ao copiar o link diretamente para o navegador pois o caractere pode ser corrompido.

8 930 Anais apresentação inicial dos objetivos da ferramenta; apresentação inicial da ferramenta de simulação Siafu; explicação das principais classes da Siafu-CReMe; configuração e execução da aplicação de guia turístico; explicação sobre como implementar um novo modelo de detecção de conflitos; explicação sobre como implementar um novo algoritmo de resolução de conflitos; explicação sobre como implementar uma nova metodologia. Referências Abowd, G. D., Dey, A. K., Brown, P. J., Davies, N., Smith, M., and Steggles, P. (1999). Towards a better understanding of context and context-awareness. In HUC 99: Proceedings of the 1st international symposium on Handheld and Ubiquitous Computing, pages , London, UK. Springer-Verlag. Gamma, E., Helm, R., Johnson, R. E., and Vlissides, J. (1995). Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley. Jouve, W., Bruneau, J., and Consel, C. (2009). Diasim: A parameterized simulator for pervasive computing applications. In PERCOM 09: Proceedings of the 2009 IEEE International Conference on Pervasive Computing and Communications, pages 1 3, Washington, DC, USA. IEEE Computer Society. Kim, I., Park, H., Noh, B., Lee, Y., Lee, S., and Lee, H. (2006). Design and implementation of context-awareness simulation toolkit for context learning. Sensor Networks, Ubiquitous, and Trustworthy Computing, International Conference on, 2: Martin, M. and Nurmi, P. (2006). A generic large scale simulator for ubiquitous computing. Mobile and Ubiquitous Systems, Annual International Conference on, 0:1 3. NS2 (2001). The Network Simulator ns-2 (v2.1b8a). O Neill, E., Klepal, M., Lewis, D., O Donnell, T., O Sullivan, D., and Pesch, D. (2005). A testbed for evaluating human interaction with ubiquitous computing environments. Testbeds and Research Infrastructures for the Development of Networks & Communities, International Conference on, 0: Park, J., Moon, M., Hwang, S., and Yeom, K. (2007). Cass: A context-aware simulation system for smart home. Software Engineering Research, Management and Applications, ACIS International Conference on, 0: Siafu (2010). An Open Source Context Simulator. Silva, T. R. M. B., Ruiz, L. B., and Loureiro, A. A. (2010). Tratamento de Conflitos Coletivos em Sistemas Ubíquos Cientes de Contexto. PhD thesis, Departamento de Ciência da Computação Universidade Federal de Minas Gerais. Van Nguyen, T., Kim, J. G., and Choi, D. (2009). Iss: the interactive smart home simulator. In ICACT 09: Proceedings of the 11th international conference on Advanced Communication Technology, pages , Piscataway, NJ, USA. IEEE Press. Zeng, X., Bagrodia, R., and Gerla, M. (1998). Glomosim: a library for parallel simulation of large-scale wireless networks. SIGSIM Simul. Dig., 28(1):

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço

For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço For-All - Uma Plataforma para Sistemas Pervasivos Orientados a Serviço Elenilson Vieira da S. Filho 1, Ângelo L. Vidal de Negreiros 1, Alisson V. Brito 2 1 Departamento de Informática Universidade Federal

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

8 Bibliografia. ACEAUME, E. et al. On The Formal Specification of Group Membership Services. INRIA, 1995, 15 p. Relatório Técnico TR95-1534.

8 Bibliografia. ACEAUME, E. et al. On The Formal Specification of Group Membership Services. INRIA, 1995, 15 p. Relatório Técnico TR95-1534. Bibliografia 88 8 Bibliografia ACEAUME, E. et al. On The Formal Specification of Group Membership Services. INRIA, 1995, 15 p. Relatório Técnico TR95-1534. AMBRIOLA, V.; TORTORA, G. Advances in Software

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

O Padrão Arquitetural Auto-Adaptável

O Padrão Arquitetural Auto-Adaptável MAC5715 - Tópicos Avançados em POO O Padrão Arquitetural Auto-Adaptável Raphael Y. de Camargo e Carlos Alexandre Queiroz 30 de outubro de 2003 1 Intenção O padrão auto-adaptável permite o desenvolvimento

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 35 3 Trabalhos Relacionados Alguns trabalhos se relacionam com o aqui proposto sob duas visões, uma sobre a visão de implementação e arquitetura, com a utilização de informações de contexto em SMA, outra

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

Leia mais

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Autor: Daniel Vieira de Souza 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

Tipos de Sistemas Distribuídos

Tipos de Sistemas Distribuídos (Sistemas de Informação Distribuída e Pervasivos) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM JSensor: Uma plataforma paralela e distribuída para simulações de redes de

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management MASSACHUSETTS INSTITUTE OF TECHNOLOGY Sloan School of Management 15.565 INTEGRAÇÃO DE SISTEMAS DE INFORMAÇÃO: FATORES TECNOLÓGICOS, ESTRATÉGICOS E ORGANIZACIONAIS Panorama Funcional CP0 -- INTRODUÇÃO AO

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 12 de agosto de 2010 Um sistema no qual componentes localizados em redes, se comunicam e coordenam suas ações somente por passagem de mensagens. Características:

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Como é o desenvolvimento de Software?

Como é o desenvolvimento de Software? Como é o desenvolvimento de Software? Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Aula 2 Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Sistema Operacional de Rede Definição: Conjunto de módulos que ampliam as tarefas dos sistemas operacionais locais, complementando-os

Leia mais

GRADS ON-LINE - INTERFACE JAVA PARA VISUALIZAR DADOS DE MODELOS NUMÉRICOS PELA INTERNET

GRADS ON-LINE - INTERFACE JAVA PARA VISUALIZAR DADOS DE MODELOS NUMÉRICOS PELA INTERNET GRADS ON-LINE - INTERFACE JAVA PARA VISUALIZAR DADOS DE MODELOS NUMÉRICOS PELA INTERNET Felipe Odorizi de Mello 1, Luiz HenriqueR. C. da Silva 1, José Alberto da Silva Ferreira 1, Waldenio Gambi de Almeida

Leia mais

Guia do Usuário commanager

Guia do Usuário commanager Guia do Usuário commanager 1 Sumário 1 Introdução 3 2 commanager: 4 2.1. Pré-requisitos: 4 2.2. Arquitetura da aplicação: 4 2.3. Configuração do Monitor e Acesso ao commanager: 5 2.4. Interação do Usuário

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

O que é Grid Computing

O que é Grid Computing Grid Computing Agenda O que é Grid Computing Grid vs Cluster Benefícios Tipos de Grid Aplicações Ferramentas e padrões Exemplos no mundo Exemplos no Brasil Grid no mundo dos negócios Futuro O que é Grid

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Faculdade de Tecnologia Senac RS (FATEC/RS) Porto Alegre RS Brasil. {fdalosto, hunderc, Smayres}@gmail.com

Faculdade de Tecnologia Senac RS (FATEC/RS) Porto Alegre RS Brasil. {fdalosto, hunderc, Smayres}@gmail.com Validação de modelo para registro de freqüência utilizando computação pervasiva e tecnologia RFID Camila San Martin Ayres, Fábio Dal Osto, Hunder Everton Correa Jr. Faculdade de Tecnologia Senac RS (FATEC/RS)

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)

Leia mais

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

2. Sistemas Multi-Agentes (Multi-Agent System - MAS) AORML uma linguagem para modelagem de uma aplicação Multiagentes: Uma Aplicação no Sistema Expertcop. Hebert de Aquino Nery, Daniel Gonçalves de Oliveira e Vasco Furtado. Universidade de Fortaleza UNIFOR

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Exemplos de Sistemas Distribuídos Compartilhamento de Recursos e a Web Principais Desafios para a Implementação

Leia mais

Arquitetura de Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia

Leia mais

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente

Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente Carla Gomes de Faria1, Ismênia Ribeiro de Oliveira1, Rosario Girardi1 1Universidade Federal do Maranhão (UFMA)

Leia mais

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS RESUMO Alessandro Lumertz Garcia 1 Anderson Yanzer Cabral 2 Este artigo apresenta tipos de aplicações que podem existir nas casas inteligentes,

Leia mais

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes MARACATU A component search tool Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia July 29, 2005 Agenda Introdução Especificação

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho Ferramentas para Simulação e Avaliação de Processadores de Alto Desempenho 5 de agosto de 2010 Resumo 1 Apresentação e Justificativa A tarefa de avaliar e comparar experimentalmente projetos em torno de

Leia mais

OpenACS e as Comunidades Virtuais

OpenACS e as Comunidades Virtuais OpenACS e as Comunidades Virtuais Eduardo Santos eduardo.edusantos@gmail.com eduardosantos@previdencia.gov.br www.softwarepublico.gov.br www.eduardosan.com O que é o OpenACS Uma comunidade de desenvolvedores

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II RELATÓRIO TÉCNICO ADORILSON BEZERRA DE ARAÚJO ANDRÉ GUSTAVO

Leia mais

PROJETO E IMPLANTAÇÃO DE INTRANETS

PROJETO E IMPLANTAÇÃO DE INTRANETS PROJETO E IMPLANTAÇÃO DE INTRANETS Aulas : Terças e Quintas Horário: AB Noite [18:30 20:20hs] PROJETO E IMPLANTAÇÃO DE INTRANETS 1 Conteúdo O que Rede? Conceito; Como Surgiu? Objetivo; Evolução Tipos de

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

Lucas Nascimento Santos

Lucas Nascimento Santos Lucas Nascimento Santos Mobile Application Developer lucassantoos56@gmail.com Resumo Lucas Nascimento Santos (@ll_ucasn), engenheiro de software. Estudante de Ciência da Computação na Universidade Salvador

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

CAPÍTULO 12 CONCLUSÃO

CAPÍTULO 12 CONCLUSÃO CAPÍTULO 12 CONCLUSÃO Existe somente um avanço. A hora mais escura da noite é o prenúncio do alvorecer. Nos dias sombrios de inverno, prosseguem incessantemente os preparativos para a primavera. Tudo que

Leia mais

2. O AMBIENTE DE PROGRAMAÇÃO EM C

2. O AMBIENTE DE PROGRAMAÇÃO EM C 2. O AMBIENTE DE PROGRAMAÇÃO EM C Este capítulo trata de colocar a linguagem C para funcionar em um ambiente de programação, concentrando-se no compilador GNU Compiler Collection (gcc). Mas qualquer outro

Leia mais

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto Introdução a computação móvel Monografia: Middlewares para Rede de Sensores sem Fio Uma avaliação na ótica de Adaptação ao Contexto Adriano Branco Agenda Objetivo do trabalho O que é uma WSN Middlewares

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes

FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes FA PorT: Um Framework para Sistemas Portfólio-Tutor utilizando Agentes Fábio Nicácio de Medeiros, Flávio Mota Medeiros, Arturo Hernández Domínguez Instituto de Computação Universidade Federal de Alagoas

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Valdemar Vicente GRACIANO NETO 1 ; Juliano Lopes DE OLIVEIRA 1 1 Instituto de Informática

Leia mais

GERAÇÃO DE RELATÓRIOS

GERAÇÃO DE RELATÓRIOS UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS

Leia mais

Liderança em idéias, métodos e resultados em BPM no Brasil. Automação de Processos. Jones Madruga

Liderança em idéias, métodos e resultados em BPM no Brasil. Automação de Processos. Jones Madruga Liderança em idéias, métodos e resultados em BPM no Brasil Automação de Processos Jones Madruga Promover melhorias e inovações que efetivamente criam valor não é simples... Apresentação Ø Organização PRIVADA

Leia mais

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM Ederson dos Santos Cordeiro de Oliveira 1, Tiago Piperno Bonetti 1, Ricardo Germano 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil edersonlikers@gmail.com,

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

APRENDENDO LÓGICA DE PROGRAMAÇÃO VIA WEB

APRENDENDO LÓGICA DE PROGRAMAÇÃO VIA WEB APRENDENDO LÓGICA DE PROGRAMAÇÃO VIA WEB Romero Tori Universidade de São Paulo Escola Politécnica INTERLAB Laboratório de Tecnologias Interativas-USP Instituto Sumaré de Educação Superior rometori@usp.br

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

SISTEMA DE CONTROLE DE HELP DESK. Frederico Calazans Barbosa UBC - Universidade Braz Cubas Mogi das Cruzes/ SP

SISTEMA DE CONTROLE DE HELP DESK. Frederico Calazans Barbosa UBC - Universidade Braz Cubas Mogi das Cruzes/ SP SISTEMA DE CONTROLE DE HELP DESK Frederico Calazans Barbosa UBC - Universidade Braz Cubas Mogi das Cruzes/ SP Antonio Carlos da Cunha Migliano UBC - Universidade Braz Cubas Mogi das Cruzes/ SP RESUMO Este

Leia mais

TÍTULO: ELICITAÇÃO DE REQUISITOS DE INTEGRIDADE PARA SISTEMAS SEGUROS UTILIZANDO ASPECTOS E DOMÍNIOS

TÍTULO: ELICITAÇÃO DE REQUISITOS DE INTEGRIDADE PARA SISTEMAS SEGUROS UTILIZANDO ASPECTOS E DOMÍNIOS TÍTULO: ELICITAÇÃO DE REQUISITOS DE INTEGRIDADE PARA SISTEMAS SEGUROS UTILIZANDO ASPECTOS E DOMÍNIOS CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO:

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Testes de Software Aula 2

Testes de Software Aula 2 Testes de Software Aula 2 Universidade Federal do Ceará Estes slides fazem parte do material de treinamento produzido pela Célula de Testes e Qualidade de Software (CTQS) do Grupo de Redes de Computadores,

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos

e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos Luis Paulo da Silva Carvalho, Moara Sousa Brito, Pablo Freire Matos, Lucas Amparo Barbosa, Cremildo Lima Gomes, Ivick Roberta

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20 Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Europass Curriculum Vitae

Europass Curriculum Vitae Europass Curriculum Vitae Personal information Surname(s) / First name(s) Address(es) Custódio, Jorge Filipe Telephone(s) +351 919687707 Email(s) Personal website(s) Nationality(-ies) Rua Francisco Pereira

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Visão geral do Serviço Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Os Serviços de gerenciamento de dispositivos distribuídos ajudam você a controlar ativos

Leia mais