INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA SUMMARY RESUMO

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

Download "INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA SUMMARY RESUMO"

Transcrição

1 INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA João D. Togni, Maria Lúcia B. Lisbôa, Renato P. Ribas Instituto de Informática UFRGS Av. Bento Gonçalves, 9500 CxP CEP Porto Alegre RS, Brasil {togni, llisboa, rpribas}@inf.ufrgs.br SUMMARY The use of CAD (Computer Aided Design) tools is imperative to build integrated circuit - IC and micro-electromechanical systems - MEMS. The huge set of different tasks brings the need of many different tools for the IC and MEMS design flow. CAD environments aiming the coverage of the most of these design flow steps as well as specific tools that goal specialized tasks are available. However, there is a need for exchange information between tools simplifying the integration of such environments and tools to optimize their use. This paper presents a new mechanism that helps the integration between computing programs written in different languages, including objectoriented languages (C++ and Java) and script languages, such as Skill and Ample from Cadence and Mentor Graphics IC environments, respectively. Preliminary results have been obtained with Skill and Java languages, taken into account an anisotropic etching simulation for MEMS. RESUMO Ferramentas de CAD (Computer Aided Design) para microeletrônica são indispensáveis para o projeto de circuitos integrados - IC e de microssistemas - MEMS. A grande diversidade de tarefas envolvidas faz com que diversas ferramentas estejam envolvidas no fluxo completo de projeto de IC and MEMS. Para tratar dessas tarefas, ambientes de CAD que visam cobrir grande parte desse processo bem como ferramentas para fins específicos estão disponíveis tanto academicamente quanto comercialmente. Observa-se porém a necessidade de integração entre tais ambientes e ferramentas, de forma a facilitar a troca de informações entre as mesmas melhorando com isso seu uso e eficiência. Este artigo propõe um novo protocolo que auxilia a integração de programas escritos em diferentes linguagens, incluindo linguagens orientadas a objeto, como Java e C++, e linguagens script proprietárias como Skill e Ample presentes nos ambientes de microeletrônica Cadence e Mentor Graphics, respectivamente. Resultados preliminares são apresentados para as linguagens Skill e Java, através de uma ferramenta de simulação de corrosão anisotropica para MEMS.

2 INTEGRAÇÃO DE FERRAMENTAS E AMBIENTES DE CAD PARA MICROELETRÔNICA João D. Togni, Maria Lúcia B. Lisbôa, Renato P. Ribas Instituto de Informática UFRGS Av. Bento Gonçalves, 9500 CxP CEP Porto Alegre RS, Brasil {togni, llisboa, rpribas}@inf.ufrgs.br RESUMO Ferramentas de CAD (Computer Aided Design) para microeletrônica são indispensáveis para o projeto de circuitos integrados - IC e de microssistemas - MEMS. A grande diversidade de tarefas envolvidas faz com que diversas ferramentas estejam envolvidas no fluxo completo de projeto de IC and MEMS. Para tratar dessas tarefas, ambientes de CAD que visam cobrir grande parte desse processo bem como ferramentas para fins específicos estão disponíveis tanto academicamente quanto comercialmente. Observa-se porém a necessidade de integração entre tais ambientes e ferramentas, de forma a facilitar a troca de informações entre as mesmas melhorando com isso seu uso e eficiência. Este artigo propõe um novo protocolo que auxilia a integração de programas escritos em diferentes linguagens, incluindo linguagens orientadas a objeto, como Java e C++, e linguagens script proprietárias como Skill e Ample presentes nos ambientes de microeletrônica Cadence e Mentor Graphics, respectivamente. Resultados preliminares são apresentados para as linguagens Skill e Java, através de uma ferramenta de simulação de corrosão anisotropica para MEMS. 1. INTRODUÇÃO O projeto de circuitos integrados (IC) abrange diversas áreas de conhecimento e tarefas. Entre as muitas tarefas envolvidas podemos citar síntese lógica, minimização lógica, mapeamento tecnológico, simulações elétricas, estudo de performance, validação lógica, simulação de efeitos secundários em leiaute, ferramentas de desenho de esquemas elétricos e leiautes, simulações de corrosão e efeitos físicos, entre outros. Seria impossível atingir o estado de desenvolvimento atual da área sem o auxílio de ferramentas computacionais que simplificassem essas tarefas de forma eficiente. A área de microssistemas (MEMS) não é diferente. Nesta nova tecnologia, a diversidade de ferramentas computacionais de auxílio ao projeto é ainda maior devido a sua característica interdisciplinar. Existem ferramentas específicas para algumas das tarefas do fluxo de projeto de ICs e MEMS, bem como ambientes que pretendem cobrir grande parte das etapas desses fluxos. Dois dos maiores e mais completos ambientes de microeletrônica são o Design Framework II da Cadence [1] e o Falcon Framework da Mentor Graphics [2]. Tais ambientes podem ser usados através de interfaces gráficas ou por comandos expressos em uma linguagem de programação script de domínio específico. Linguagens script de domínio específico, ou linguagens de comandos, são linguagens de programação que permitem a utilização de recursos de uma determinada ferramenta, aumentando sua flexibilidade. A capacidade computacional de uma linguagem deve-se a dois fatores principais: a capacidade de expressão da própria linguagem, controle de fluxos, controle de escopos, primitivas de concorrência com threads ou com processos, proteção de variáveis e funções, entre outros; a sua biblioteca de funções, ou seja, a existência de funções para comunicação em rede, expressão de estruturas complexas como listas encadeadas, vetores, grafos, etc. As linguagens script oferecidas pelo Design Framework II - Cadence e pelo Falcon Framework - Mentor Graphics possuem total controle sobre os recursos do ambiente e suas ferramentas, ou seja, em ambos os casos é possível fazer com programação qualquer coisa que feita através da interface gráfica, com a vantagem de persistência do roteiro de tarefas e a possibilidade de execução de código nativo para adição de funcionalidades específicas. Apesar do grande potencial desses ambientes, há sempre a necessidade de criação de novas ferramentas para lidar com tarefas específicas. Essas ferramentas podem ser desenvolvidas fora desses ambientes, em linguagens de programação como C, C++, Java, Tk/Tcl, comumente usadas em meios profissionais e acadêmicos 1

3 para o desenvolvimento de CAD. Além disso, as linguagens script dos ambientes de projeto são proprietárias, ou seja, funcionam somente integradas às ferramentas. O seu objetivo é a criação de scripts dentro das linguagens, que a princípio não representam soluções completas de software. A necessidade de aproveitar ferramentas já desenvolvidas, integrando-as com outras ferramentas ou estendendo suas funcionalidades tem sido uma necessidade crescente [3][4]. Portanto, para a realização de fluxos de desenvolvimento de microeletrônica e MEMS tem-se sempre a necessidade do uso de sistemas que integrem as ferramentas de CAD específicas, que são geralmente implementadas fora desses ambientes, em modo stand-alone (ou independentes e auto-suficientes). Neste artigo é apresentado um protocolo para auxiliar a integração de programas escritos em linguagens script proprietárias dos ambientes de CAD de microeletrônica com linguagens de domínio público. Para tanto, são apresentadas algumas características das linguagens script desses ambientes, e os resultados obtidos através de um simulador de corrosão anisotrópica para MEMS, tomado como estudo de caso. outras linguagens escolham o formato mais confortável para escrever seus códigos. Além de todas essas características, a linguagem Skill oferece funções para a construção de interfaces gráficas para interação do usuário com o ambiente de CAD. Por fim, são disponibilizadas algumas ferramentas de auxílio ao desenvolvimento como depuração e otimização. O objetivo primeiro dessas linguagens é oferecer uma maneira de personalizar o ambiente e reduzir a dificuldade de uso do mesmo. Porém, as funcionalidades da linguagem permitem não só a geração de pequenos programas, mas também a confecção de módulos inteiros dentro do ambiente. A Fig. 1 mostra o resultado de implementação em Skill de um algoritmo de corrosão anisotrópica usando a tecnologia de microusinagem do substrato pela face superior (Front-Side Bulk Micromachining FSBM), utilizado como estudo de caso neste trabalho [6]. A Fig. 2 apresenta um trecho de código da linguagem Skill. 2. LINGUAGENS SKILL CADENCE E AMPLE MENTOR GRAPHICS Nesta seção são brevemente descritas as linguagens script proprietárias dos ambiente de projeto Design Framework II da Cadence [1] e o Falcon Framework da Mentor Graphics [2] Linguagem script Skill Cadence O ambiente Design Framework II - Cadence oferece a linguagem script Skill e sua variante Skill++. Ambas são linguagens baseadas em Lisp [5]. Skill++ possui características do modelo de objetos, sendo estas características que a distinguem de sua predecessora Skill. Lisp é uma linguagem funcional, ou seja, funções podem ser passadas como parâmetro e recebidas como retorno de funções. Skill/Skill++ são linguagens interpretadas e seus códigos não podem ser executados fora do ambiente Cadence. Skill++ é não tipada, ou seja, uma variável pode receber qualquer tipo de dado, a qualquer momento e em qualquer ordem. Permite a criação de classes e métodos, além da definição de funções, e também expressão de herança. Possui estruturas complexas como lista, vetor e tabela (associação entre chave e valor). O acesso às ferramentas é feito através de funções disponibilizadas na linguagem. Possui mecanismos de controle de processos IPC (Inter Process Communication) e de tratamento de exceções. Oferece variações no formato sintático, possibilitando que usuários adaptados a Figura 1 Simulação de corrosão FSBM implementado em Skill++ / Cadence Linguagem script Ample Mentor Graphics A linguagem script oferecida pelo ambiente Falcon Framework - Mentor Graphics é chamada Ample. Essa linguagem é também uma linguagem interpretada, funcional e não tipada, sua sintaxe assemelha-se muito com a sintaxe da linguagem de programação C. Os códigos em Ample podem ser compilados em um formato intermediário, não podendo ser executados fora do ambiente. 2

4 (defmethod VertexEtcher_inverterRetas ((this VertexEtcher) teta isafterr1 entrar) (prog (tmp) (if (or (null isafterr1) (entrar==t)) then A possibilidade de execução de qualquer comando da ferramenta dentro das linguagens é a mais importante vantagem dessas linguagens, pois permite a execução via script (texto) de qualquer tarefa feita via interface. tmp = teta[0] teta[0] = teta[1] teta[1] = tmp isafterr1 =!isafterr1 println("inverter") return(t) ) return(nil) )) Figura 2 Exemplo de código em linguagem Skill++. Diferentemente de Skill++, Ample não apresenta os princípios do modelo de objetos. Oferece apenas o tipo estruturado como a estrutura de vetor, não disponibilizando estruturas como listas e mapeamentos. Cada janela ou sub-janela de trabalho do ambiente Falcon Framework define um contexto que permite acesso a um conjunto de funções correlatas. Desta forma, funções com mesmo nome podem aparecer em contextos diferentes, com funcionalidades diferentes. Ample possui tratamento de exceções. Como em Skill, a criação de interfaces gráficas para interação do usuário com o ambiente é possível. Ample fornece também um mecanismo de interação com programas na linguagem C, onde as funções desenvolvidas em C tornam-se visíveis dentro da ferramenta, facilitando a integração de sistemas desenvolvidos nessa linguagem. Uma característica de implementação dessa linguagem é a adoção apenas do modelo de cópia, isto é, em todas as atribuições, passagem de parâmetros ou retorno de função os valores são copiados, mesmo para vetores, uma vez que não existem referências a valores. Embora esta característica comprometa o desempenho de alguns programas, não impede o desenvolvimento de módulos inteiros na linguagem. A Fig. 3 mostra o resultado de implementação do algoritmo de corrosão FSBM, adotado como estudo de caso, no ambiente Mentor Graphics. A Fig. 4 apresenta um trecho de código em linguagem Ample Avaliação das Linguagens As linguagens internas dos ambientes de CAD para microeletrônica Mentor Graphics e Cadence apresentam características muito boas para a confecção de sequências de comandos ou scripts. Pequenos algoritmos para repetição ou agrupamento de comandos e interfaces personalizadas são facilmente descritos nessas linguagens. Figura 3 Simulação de corrosão FSBM implementado em Ample / Mentor Graphics. function set_crsct_points_prompt() { "Enter cross-line", $prompt_arg(@polyline, "Polyline"), $prompt_dynamic(@polyline, ); } Figura 4 Exemplo de código em linguagem Ample. Porém a construção de módulos ou programas mais complexos é prejudicada por outras características das linguagens. Notações como UML (Unified Modelling Language) e ferramentas de desenvolvimento associadas, amplamente usadas para o projeto de software, não estão adaptadas a essas linguagens funcionais [7, 8]. O projeto de um software tem um papel extremamente importante para sua confecção, manutenção e vida útil, reduzindo o tempo de produção, aumentando a manutenibilidade, planejando e delimitando a ação do software, levando à redução do custo total do mesmo. A falta da disponibilidade de ferramentas mais elaboradas de auxílio ao desenvolvimento é uma limitação importante nas linguagens Skill e Ample, especialmente levando-se em consideração os ambientes integrados de desenvolvimentos de programas disponíveis para linguagens de domínio público como Java, C, e C++, pois essas ferramentas auxiliam na construção rápida e confiável de programas. 3

5 Um outro fator importante a considerar é a portabilidade da linguagem. Considerando que os ambientes CAD para microeletrônica são essenciais para o projeto e desenvolvimento de circuitos integrados e que cada ambiente possui as suas particularidades, torna-se atraente a idéia de fazer programas executáveis em ambientes heterogêneos, ou seja, que utilizam diferentes linguagens de programação, plataformas ou sistemas operacionais. Este tipo de portabilidade possibilita a exploração das melhores características e ferramentas de ambientes específicos, ao permitir a integração de programas desenvolvidos e testados anteriormente. A seguir são descritas algumas possíveis formas de integração de ferramentas de ambientes heterogêneos e será apresentada uma proposta de integração genérica, denominada de BICO (Basic Type Conversor). 3. INTEGRAÇÃO DE FERRAMENTAS DE CAD 3.1 Formas de integração A forma mais básica de integração de ferramentas é a utilização de formatos padrões. Estes podem ser utilizados via troca de arquivos ou troca de mensagens por rede. Para tanto, é necessário utilizar, em cada programa e formato, um codificador e um decodificador. Ou seja, cada novo formato padrão em cada linguagem necessita de codificadores e decodificadores para a representação interna das estruturas. A Fig. 5 esquematiza a integração de duas ferramentas através do uso de codificadores e decodificadores que possibilitam que as informações produzidas pela ferramenta A sejam utilizadas pela ferramenta B. Formas mais transparentes e reutilizáveis de integração são realizadas através de middlewares, que são softwares que atuam como intermediários entre aplicações e seu ambiente operacional, ilustrado na Fig. 6. Estes softwares se propõem a facilitar o desenvolvimento de aplicações que exigem comunicação por rede, confiabilidade, escalabilidade e tratamento de sistemas heterogêneos [3]. CORBA [9], DCOM [10], J2EE [11], RMI [12] e SOAP [13] são exemplos de middlewares que facilitam o desenvolvimento de aplicações distribuídas heterogêneas quanto à plataforma de execução e/ou linguagem de implementação. Rettberg et al. [4] recentemente apresentou uma forma de integração de ferramentas de microeletrônica usando WEB services, utilizando documentos XML (extensible Markup Language) [14]. A proposta de integração a apresentada seguir consiste na produção de documentos XML que representam os elementos essenciais de programas escritos para ferramentas específicas possibilitando a interoperabilidade das ferramentas. 3.2 Integração via XML Dentre os diversos conceitos tratados por middlewares, o protocolo SOAP (Simple Object Access Protocol) apresenta padrões de definição e formatação de mensagens que representam objetos. A tecnologia SOAP visa oferecer uma forma simples de definição de objetos e representação em formato texto, utilizando a linguagem de marcação XML. Ferramenta A Codificador Decodificador Arquivo, Rede,... Decodificador Codificador Ferramenta B Figura 5 - Integração de ferramentas através de formatos padrões Componentes Componentes Middleware Middleware Sistema Operacional Sistema Operacional Hardware Hardware Computador Computador Rede Componentes Middleware Sistema Operacional Hardware Computador Figura 6 Integração facilitada por middleware. 3.3 Protocolo BICO SOAP possui diversas primitivas que permitem descrições de objetos complexos. Para aplicações simples, muitos destes recursos não são necessários. Além disso, é pré-requisito da utilização de SOAP a existência do mecanismo XML. Objetivando possibilitar a integração de ferramentas com um mecanismo mais simples e ainda assim eficiente, o protocolo denominado BICO (Basic Type Conversor) foi desenvolvido. O BICO baseia-se em SOAP, com algumas variações sintáticas e com menor poder de expressão de objetos. Um mecanismo reduzido de parsing de XML é utilizado, visando diminuir a complexidade da implementação para linguagens que não possuam o mecanismo XML. Assim como SOAP, o BICO define apenas o protocolo de troca de objetos entre as linguagens que tiverem o protocolo implementado. O formato proposto permite descrever objetos que são conjuntos de atributos. Os tipos básicos são string, números inteiros, ponto flutuante e boleanos. Uma declaração de objeto ou tipo complexo gera um novo tipo. O tipo complexo Livro é apresentado na Fig. 7 como exemplo. Estes tipos complexos também podem ser utilizados como atributos. É possível também descrever atributos que possam receber qualquer um desses tipos. Ha também a possibilidade de utilizar vetores 4

6 unidimensionais ou multidimensionais, porém não é possível fixar na declaração de tipo complexo o tamanho das dimensões. <complextype name= Livro > <element name= autor type= string /> <element name= referencias type= array arraytype= Livro[] /> <element name= preco type= float /> <element name= vendido type= boolean /> <element name= outrosdados type= array arraytype= any[][] /> <element name= paginas type= int /> <element name= dadocomplementar type= any /> </complextype> Figura 7 Exemplo de um descritor de tipo BICO/XML. O descritor da Fig. 7 define um tipo complexo chamado Livro, seus atributos e seus tipos. Dessa forma, é definido também o formato que as mensagens terão, como no exemplo mostrado na Fig. 8. Não é possível definir se os são requeridos ou não. Todo o tipo complexo deve ter um id, que é uma referência única ao conjunto de. Esse pode ser utilizado para criar referências entre objetos, como por exemplo uma lista encadeada. Os atributos do tipo any, que podem receber qualquer tipo definido, devem ter seu tipo identificado obrigatoriamente nas mensagens. Utilizando esse mecanismo torna-se viável trocar informações estruturadas entre linguagens sem a preocupação com a codificação e decodificação das mensagens, assim reduzindo a dificuldade da integração por passagem de estruturas de. A Fig. 9 exemplifica como a existência de um formato padrão permite a integração de diversas linguagens bastando ter o protocolo BICO implementado em cada linguagem. A partir do descritor de tipo complexo será gerada uma classe ou conjunto de funções em cada linguagem representando o tipo de dado dentro da linguagem. Esse programa inclui funções de codificação e decodificação. Isso é feito através de conversores XSLT (extensible Stylesheet Language Transformations) [15]. Em resumo, a implementação do padrão em cada linguagem consiste em um codificador, um decodificador, e um arquivo com regras de transformação XSLT. Esses programas precisam ser implementados apenas uma vez para cada linguagem, e não uma vez por programa. Para cada tipo complexo definido um novo programa será gerado na linguagem alvo. Basicamente, esses são os requisitos para implementar o protocolo em uma nova linguagem. Entre as simplificações feitas para a definição do protocolo BICO estão: não permite estruturas complexas encadeadas; primeiro objeto é sempre um tipo complexo; não possui diversas construções como: enumerações, cadeias de bytes, quantificadores de ocorrência, comentários, delimitadores de tamanho de matriz ou passagem de matriz esparsa. <Livro id= togni00 > <autor>joao Daniel Togni</autor> <referencias> <item>ribas00<item> <item>andreis01<item> </referencias> <preco/> <vendido>false</vendido> <outrosdados> <item> <item type="string"> valor1 <item type="float">33.2 <item> <item type="livro2">togni_00 </outrosdados> <paginas></paginas> <dadocomplementar type= string > Ed. Sala </dadocomplementar> </Livro> Figura 8 - Exemplo de mensagem BICO/XML. SKILL++ AMPLE Mensagem Padronizada (BICO) Java C++ Figura 9 - Exemplo de troca de estruturas entre diferentes linguagens. 4. RESULTADOS PRELIMINARES O protocolo está parcialmente implementado em Java e Skill++. O estágio atual de desenvolvimento já permite verificar a funcionalidade e efetuar testes de comunicação. Como teste foi utilizado o algoritmo de simulação de corrosão FSBM, implementado em Java e invocado a partir de um script Skill++ que passa de configuração e recebe os resultados da corrosão. A comunicação entre as linguagens é feita através de IPC, mas poderia ser substituída por qualquer mecanismo de troca de mensagens como sockets, por exemplo. Nesse teste percebe-se que o protocolo simplifica significativamente a integração entre as linguagens, pois 5

7 elimina-se a necessidade de codificação e decodificação de. Porém uma estruturação melhor do protocolo através de definições de serviços pode simplificar e facilitar ainda mais a implementação de códigos que utilizem o protocolo. 5. CONCLUSÕES As linguagens script fornecidas pelos ambientes de CAD para microeletrônica permitem a criação de sistemas complexos de software dentro dos próprios ambientes. Porém, essas linguagens não apresentam características favoráveis à utilização de técnicas de engenharia de software, o que dificulta o projeto, construção e manutenção dos programas gerados. A pré-existência de componentes e algoritmos implementados em diferentes linguagens pode auxiliar a redução do custo e tempo de implantação de projetos, considerando também que existem linguagens mais apropriadas para a implementação de certos tipos de algoritmos. Uma solução possível para esses problemas é a utilização de middleware, que são facilitadores para a integração de algoritmos em diferentes linguagens sem que haja a preocupação com a forma como os vão ser transferidos entre os programas. Porém, estes mecanismos, como CORBA, não estão disponíveis para os ambientes de CAD. Atualmente a integração das ferramentas como Cadence e Mentor Graphics é feita utilizando-se arquivos em formatos pré-definidos ou esquemas de comunicação proprietários da ferramenta. Esse trabalho aproveita as idéias principais de um protocolo amplamente utilizado, o SOAP, para possibilitar a integração de sistemas implementados em Skill++ e Java, e futuramente Ample e C++. O protocolo BICO atualmente define apenas a conversão de tipos complexos de. Porém, é possível também definir um protocolo de controle onde podem ser descritos formatos para requisições e respostas. A utilização de um protocolo de controle tornará possível a implementação de servidores de serviços, aumentando assim a modularização e organização dos sistemas que aderirem ao protocolo. Juntamente com o protocolo de requisições, as demais características de sistemas de middleware estão sendo avaliadas, visando adicionar funcionalidades básicas de comunicação em rede para permitindo maior transparência e simplicidade na integração de ferramentas. 6. AGRADECIMENTOS O projeto é financiado pelo CNPq (Centro Nacional de Desenvolvimento Científico e Tecnológico - Brasil). 7. REFERÊNCIAS [1] Design Framework II Cadence. WEB site [2] Falcon Framework Mentor Graphics WEB site [3] W. Emmerich, Software Engineering and Middleware: A Roadmap, The Future of Software Engineering, ACM Press, p , [4] A. Rettberg, W. Thronicke, Embedded System Design based on Webservices. Design And Test Conference (DATE), [5] P. Graham, ANSI common lisp, Englewood Cliffs, Prentice-Hall, p. [6] F. Martinazzo, A. Konzen, J. D. Togni, A. I. Reis, R. P. Ribas, Etching Simulator for Bulk Micromachining in Java Platform, SBMICRO - 17th Symposium On Microelectronics Technology And Devices, [7] G. Booch, UML: guia do usuário, Campus, Rio de Janeiro, p. [8] M. Fowler, S. Kendall, UML Essencial, Bookman, Porto Alegre, [9] CORBA Commom Object Request Brocker Arquitecture WEB site [10] DCOM Technical Overview, Microsoft Corporation, /library/backgrnd/html/msdn_dcomtec.htm [11] J. Byous, Web Services & J2EE Technology: One Platform, July 8, WEB site [12] RMI (Remote Method Invocation) Whitepaper, [13] SOAP - Simple Object Access Protocol WEB site [14] XML - extensible Markup Language, WEB site [15] XSLT XML Stylesheet Language Transformations, WEB site 6

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

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

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Curso de Educação Profissional Técnica de Nível Médio Subseqüente ao Ensino Médio, na modalidade a distância, para:

Curso de Educação Profissional Técnica de Nível Médio Subseqüente ao Ensino Médio, na modalidade a distância, para: INSTITUIÇÃO: IFRS CAMPUS BENTO GONÇALVES CNPJ: 94728821000192 ENDEREÇO: Avenida Osvaldo Aranha, 540. Bairro Juventude. CEP: 95700-000 TELEFONE: (0xx54) 34553200 FAX: (0xx54) 34553246 Curso de Educação

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução 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 do Maranhão Objetivos Nesta aula

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT 1. IDENTIFICAÇÃO Padrão Segmento Código P06.002 Revisão v. 2014 Plataformas Web 2. PUBLICAÇÃO Recursos Tecnológicos Versão Data para adoção Publicação v. 2014 23 de dezembro de 2014 PORTARIA N Nº 225 de

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com Análise e Projeto de Sistemas de Informação Andrêza Leite andreza.lba@gmail.com Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como

Leia mais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado 5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns

Leia mais

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos ISO/IEC 12119 ISO/IEC 12119 Et Esta norma é aplicável liá là avaliação de pacotes de software na forma em que são oferecidos e liberados para uso no mercado É importante salientar que não é objetivo desta

Leia mais

Serviços Web: Arquitetura

Serviços Web: Arquitetura 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 do Maranhão Objetivos Nesta aula

Leia mais

Histórico de Revisão Data Versão Descrição Autor

Histórico de Revisão Data Versão Descrição Autor H6Projetos Documento de Requisitos Versão 1.3 Histórico de Revisão Data Versão Descrição Autor 05/09/2013 1.0 Preenchimento do Capítulo 2 Requisitos Funcionais Evilson Montenegro 26/09/2013 1.1 Preenchimento

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos ORIENTAÇÃO A OBJETOS COM PROTOTIPAÇÃO CAPÍTULO 02 CONCEITOS FUNDAMENTAIS OBJETIVOS Definiremos alguns conceitos fundamentais de forma a não deixar dúvidas básicas ou interpretações que nos coloquem em

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

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

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

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

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Automação de Bancada Pneumática

Automação de Bancada Pneumática Instituto Federal Sul-rio-grandense Campus Pelotas - Curso de Engenharia Elétrica Automação de Bancada Pneumática Disciplina: Projeto Integrador III Professor: Renato Allemand Equipe: Vinicius Obadowski,

Leia mais

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais