Home
Baixar - inGETI
Contents
1. A linguagem tamb m define itens l xicos para definir operadores aritm ticos relacionais de concatena o e de tamanho tabela 1 3 Tabela 1 3 Itens l xicos Lua uma linguagem case sensitive ou seja diferencia identificadores mai sculos e identificadores min sculos A defini o do identificador ERCEMAPI vai ser interpretada de uma forma distinta de ercemapi Um coment rio curto definido com um h fen duplo desde que o h fen duplo seja definido fora de uma cadeia de letras e que n o seja precedido de colchete longo O coment rio longo definido com um h fen duplo precedido de colchete longo e se estende at o fechamento do colchete longo listagem 1 13 Coment rio de uma linha Esse um coment rio de m ltiplas linhas Listagem 1 13 Coment rio curto e longo 1 7 2 Vari veis Vari veis s o lugares utilizados para armazenar determinados valores Em Lua por padr o as vari veis s o globais Para declarar uma vari vel local deve se utilizar a palavra reservada local antes do identificador listagem 1 14 Campos de tabelas tamb m s o tipos de vari veis name ERCEMAPI vari vel global print name ERCEMAPI local name JRCEMAPI vari vel local print name ERCEMAPI Listagem 1 14 vari vel global e local 1 7 3 Atribui o Lua aceita atribui
2. poss vel inclusive fazer uso de uma ponte para desenvolver aplica es declarativas com partes imperativas e vice versa O ambiente imperativo do Ginga tamb m chamado de m quina de execu o a parte respons vel pelo suporte a aplica es desenvolvidas usando a linguagem de programa o Java O ambiente declarativo conte do abordado neste cap tulo tamb m chamado de m quina de apresenta o interpreta aplica es desenvolvidas em Neste Context Language NCL Linguagens declarativas s o em geral criadas para um determinado foco ou dom nio e permitem a especifica o de aplica es em um n vel mais alto de abstra o quando comparadas a linguagens imperativas Linguagens declarativas s o voltadas para especificar a inten o final e n o uma sequ ncia passo a passo para resolver um determinado problema como e o caso de linguagens imperativas Na implementa o de um sistema de TVDI em um pa s deve se levar em considera o a realidade socioecon mica e cultural do mesmo Como veremos a seguir as diferen as entre os sistemas existentes se d devido as diferentes necessidades de cada pa s assim como devido s tecnologias dispon veis no momento em que foram criados 1 2 SBTVD e Ginga O sistema de TV Digital Interativa Brasileiro chamado de SBTVD T Sistema Brasileiro de Televis o Digital Terrestre foi implantado no final do ano de 2007 e possui o Ginga como middleware O Ginga possui dois sub
3. mkdir p m 700 euca touch euca mykey priv chmod 0600 euca mykey priv euca add keypair mykey gt euca mykey priv Figura 7 18 Gerenciamento da Cloud Cria o das Chaves SSH 140 e 90 UEC Frontend tbuntu f rontend S euca descr ibe images emi E073107E image store 1284184686 image manifest xml admin public x86_64 machine eki F6B810FF eri 0B3C1168 eri 0B3C1168 image store 1284184686 ramdisk manifest xml admin public x86 64 ramdisk eki F6B810FF image store 1284184686kernel manifest xml admin public x86 64 Kernel ibuntuef rontend Figura 7 19 Gerenciamento da Cloud Obtendo o EMI 141 Refer ncias 1 2 3 4 5 6 7 8 9 10 11 12 Alexandre Carissimi Virtualizacao da teoria a solucoes Minicursos do Simposio Brasileiro de Redes de Computadores SBRC 2008 pages 173 207 2008 Prabhakar Chaganti Servicos em nuvem para sua infraestrutura virtual parte 1 Infrastructure as a service iaas e eucalyptus Technical report Abril 2010 Roy T Fielding and Richard N Taylor Principled design of the modern web archi tecture ACM Trans Internet Technol 2 2 115 150 2002 Garfinkel Simson L An Evaluation of Amazon s Grid Computing Services EC2 S3 and SQS Technical report Irfan Habib Virtualization with kvm Linux J 2008 166 8 2008 Scott Lowe Mastering VMware vSphere 4 Computer Tech Sybex 1 edition 8 2009
4. 14 http www joomlabrasilia org 15 http www joomla org 57 16 http www joomla com br 17 http www joomlaclube com br 18 http www joomlapt com 58 Cap tulo 4 Desenvolvimento Dirigido por Testes de Aceita o Pedro de Alc ntara Santos Neto Antonio Gabriel Di Atlanta Valente e talo Linhares de Ara jo Abstract The Acceptance Test Driven Development prioritizes the client by the elevation of the relevance of acceptance testing These tests are used to guide the development process The use o ATDD is increasing and compliance tools are being developed as Fitnesse In this chapter are presented the concepts e principles related to ATDD as well as an overview of the Fitnesse Resumo O Desenvolvimento Dirigido por Testes de Aceita o ATDD prioriza o cliente a partir da eleva o da import ncia dos testes de aceita o Esses testes s o utilizados para guiar o processo de desenvolvimento O uso do ATDD est crescendo e ferramentas de apoio est o sendo desenvolvidas como por exemplo a FitNesse Nesse cap tulo s o apresentados os conceitos e princ pios relacionados ao ATDD bem como uma vis o geral da ferramenta Fitnesse 4 1 Introdu o Nas pr ximas d cadas a demanda por software ir aumentar exponencialmente Broy 2006 Boehm 2006 por consequ ncia do intenso uso em larga escala como por exemplo na integra o de neg cios e em novas plataformas web e m veis Ou
5. es estrat gicas al m de colaborarem para a integra o entre Tecnologia da Informa o e Gest o Empresarial Para Rezende 2003 a relev ncia do planejamento dos sistemas de informa o dos sistemas de conhecimento e da inform tica ou tecnologia da informa o reiterada pela escolha de uma metodologia para sua implementa o adequada din mica e inteligente As metodologias podem contribuir no grande desafio da TI gerenciar a infraestrutura de tecnologias gerenciar o or amento financeiro buscar novas arquiteturas necess rias a transforma o organizacional nos processos de neg cios e de tomadas de decis es organizacionais A tecnologia da informa o por meio de metodologias de planejamento de informa o conhecimentos e inform tica pode apoiar as organiza es nas atividades mercadol gicas competitivas planejando gerindo e flexibilizando sua infraestrutura para permitir gerar informa es necess rias de forma oportuna para uso estrat gico As primeiras metodologias foram criadas no fim da d cada de 60 Destacam se dentre elas BSP Business Systems Planning da IBM que explora o planejamento de sistemas de informa o e as rela es deles com os neg cios de maneira que os sistemas de informa o possam dar suporte s necessidades organizacionais SSP Strategic Systems Planning define um modelo funcional de neg cios pela an lise funcional das reas da organiza o que geram a arq
6. Como Aqui definimos descritores gt lt head gt lt body gt lt O que Aqui definimos n s de m dia gt lt Quando Aqui definimos os elos gt lt body gt Listagem 1 1 Estrutura de um documento NCL Segundo Sant Anna Soares e Cerqueira 2008 a estrutura b sica de um documento NCL define um elemento raiz chamado de lt ncl gt e seus elementos filho o elemento lt head gt e lt body gt seguindo a terminologia adotada por outros padr es W3C 1 6 1 Definindo Regi es Uma regi o nada mais que uma rea na tela que pode ser uma TV celular ou qualquer outro equipamento compat vel com a tecnologia onde ser exibido o conte do de um n de m dia Uma regi o deve ser definida no cabe alho do programa lt head gt dentro da se o de base de regi es lt regionBase gt Abaixo segue um exemplo de como definimos regi es em um documento NCL listagem 1 2 lt head gt lt regionBase gt lt region id rgTela height 100 width 100 gt lt region id rgVideol height 50 width 50 left 10 top 30 gt lt region gt lt regionBase gt lt head gt Listagem 1 2 Defini o de regi es De acordo com a listagem acima ao definir uma regi o atribu mos a ela um id nico no documento nome que ser referenciado nos descritores das m dias associadas a esta regi o Uma regi o pode ser aninhada outra regi o para facilitar a defini o de p
7. eSpreadsheet to FitNesse facilita a c pia de parte de uma planilha para uma p gina da FitNesse a partir da formata o dos dados copiados para um formato amig vel na FitNesse e FitNesse to Spreadsheet permite a c pia da tabela FitNesse para uma aplica o de planilha eletr nica voltando ao formato n o wiki eFormat comando utilizado para colocar os dados de uma p gina em um formato alinhado e leg vel Definido todas as informa es necess rias tabela o usu rio pode clicar em Save e a p gina deve ser mostrada conforme exibido na Figura 4 24 73 FrontPage TesteTriangulo ruau Test variable defined TEST SYS Edit lasspath D workspace Triangulo bin Properties Es import Refactor Fie Where Used TrianguloFixture Search ladoUm ladoDois ladoTres tipo Files 3 1 i 3 3 3 equilatero Versions 3 3 4 isosceles Recent Changes 3 4 5 escaleno User Guide 1 2 3 invalido Test History Figura 4 24 Exemplo de p gina com a tabela de teste 4 3 1 3 Execu o e cria o da fixture Para acessar o conte do de uma tabela e fazer sua liga o ao c digo execut vel necess rio criar uma fixture que uma implementa o em uma linguagem de programa o da abstra o da tabela contida na p gina wiki Koskela 2008 Essa linguagem deve ser suportada pela FitNesse Executaremos o te
8. o de p gina Clicando em Save no canto esquerdo inferior mostrado na Figura 4 18 visualizaremos a p gina em branco conforme a Figura 4 19 A TesteTriangulo wusu Test P cost for global ipath s ete Recent Changes User Guide Test History Figura 4 19 Exemplo de pagina criada em branco 70 As p ginas do FitNesse tem alguns tipos Esses tipos s o definidos no bot o Properties localizado no menu esquerda mostrado na Figura 4 19 Clicando nesse bot o podemos definir algumas propriedades da p gina como as visualizadas na Figura 4 20 TesteTriangulo Pace Paorernie Page type Actions Last modified anonymously Normal 7 Edt gt Test 7 vi 7 A 7 Wherelsed Virtual Wiki URL DEPRECATED Tags Help Text Save Properes wil port Supply the URL for the wiki you d like to import Remote Wiki URL 7 Automatically update imported content when executing tests impor Symbolic Links Name Path to Page Actions Ceste Repiace Figura 4 20 Exemplo de propriedades de p gina Conforme exibido na Figura 4 20 poss vel definir o tipo de p gina sendo poss vel Normal Test e Suite O tipo Normal define que a p gina ser apenas web sem uma caracter stica especial o tipo Test define que ser uma p gina de teste podendo conter defini es de testes para serem executados e o tipo Su te que ser uma cole o de p ginas de teste que podem ser executados em conjunto e que poder
9. o de uma pasta onde dever ser organizada a m dia utilizada Deve se inserir um nome no campo Criar Pasta e con firmar clicando Posteriormente a pasta selecionada para que o arquivo enviado fique embutido nela Clicando em selecionar arquivo poss vel fazer a escolha da imagem a ser exposta no site Ap s as medidas anteriores deve se clicar em Iniciar Envio Realizada a sequ ncia de passos a imagem desejada aparecer dentro da pasta corrente 3 13 Weblinks O ambiente Joomla possui um gerenciamento padr o para weblinks tratando os de forma similar aos artigos com op es de categorias dotadas de hierarquia e gerenciamento de n vel de acesso podendo ainda ser personalizado na pr pria classe Criar uma cate goria para Weblink muito semelhante a cria o de categorias para artigos A cria o de uma categoria pode ser feita a partir da seguinte sequ ncia de passos Clicar em Componentes gt weblinks gt categorias e por fim novo O processo de cria o do weblink tamb m semelhante ao do artigo e segue a mesma sequ ncia de passos anteriormente descrita 3 14 Menu Nas sess es 4 11 e 4 13 foram apresentadas a cria o de categorias artigos e weblinks por m esses n o aparecem no exemplo do site Certamente nem tudo que criado na backend deve ser exibido na frontend sendo ainda necess rio organizar a exibi o de acordo com o layout do site 53 Administra o Mt ooma Courses ste 1 u
10. Daniel A Menasce Virtualization Concepts applications and performance mode ling Int CMG Conference pages 407 414 2005 N Mitra Soap version 1 2 w3c recommendation 24 june 2003 Technical Report August 9 W3C 2003 http www w3 org TR soap12 part1 D Nurmi R Wolski C Grzegorczyk G Obertelli S Soman L Youseff and D Zagorodnov The eucalyptus open source cloud computing system In Cluster Computing and the Grid 2009 CCGRID 09 9th IEEE ACM International Sympo sium on pages 124 131 May 2009 Robert Rose Survey of system virtualization techniques Acessado em Outubro de 2010 2010 http citeseer ist psu edu rose04survey html Jothy Rosenberg and David Remy Securing Web Services with WS Security Demystifying WS Security WS Policy SAML XML Signature and XML Encryp tion Sams May 2004 Chris Takemura and Luke S Crawford The Book of Xen A Practical Guide for the System Administrator No Starch Press 1 edition 10 2009 142
11. Google m Push Gmail Apple Yahoo GoogleMaps YouTube Wikipedia News 473 Popular v J o gt ubuntu First time Configuration Please supply the following parameters to activate your Eucalyptus installation Administrator s new password The password again Administrator s email address Figura 7 12 Gerenciamento da Cloud Alterando Senha e euca describe availability zones verbose mostra a quantidade de recursos dison veis na cloud que poder o ser utilizados ou seja quantas inst n cias podem ser executadas e euca describe instances mostrada as inst ncias que est o em execu o e euca describe images mostrada as imagens dispon veis para execu o e euca run instances executa uma determina imagem e euca terminate instances finaliza a execu o de uma determina inst n Cla Uma descri o dos comandos dipon veis para o gerenciamento do Eucalyptus esta dipon vel na p gina do projeto http open eucalyptus com wiki EucalyptusAdministratorGuide_ v2 0 7 3 4 Implanta o de uma Imagem na Cloud A interface web de administra o do Eucalyptus fornece uma maneira f cil para a im planta o de uma imagem conforme mostrado na Figura 8 16 1 Acessar a interface web atrav s da url de administra ao https lt cloud controller ip address gt 8443 2 Informar usu rio e senha caso necess rio 3 Escolher a aba STORE 137 je0e Ubuntu Enter
12. Informa o Computadorizado que abrange pessoas m quinas e ou m todos organizados para coletar processar transmitir e disseminar dados que representam informa o para o usu rio Os atuais conceitos de Sistemas de Informa o relacionam tamb m os Sistemas de telecomunica es e ou equipamentos relacionados S o sistemas ou subsistemas interconectados que utilizam equipamentos na aquisi o armazenamento manipula o gest o movimento no controle na exposi o na troca no interc mbio na transmiss o ou na recep o da voz e ou dos dados e inclui o software e hardware utilizados Em rela o a esta ltima defini o comum nos meios acad micos a utiliza o do termo Tecnologias da Informa o e Comunica o ICT Information and Communication Technologies 6 5 2 1 Tipos de Sistemas de Informa o Muitos Sistemas de Informa o SI come am como sistemas manuais e se transformam em computadorizados que est o configurados para coletar manipular armazenar e processar dados SI baseados em computadores s o compostos por hardware software banco de dados telecomunica es pessoas e procedimentos Hardware consiste no equipamento o computador usado para executar as atividades de entrada processamento e sa da Software consiste nos programas e nas instru es dadas ao computador Banco de Dados BD uma cole o organizada de fatos e informa es Telecomunica es permitem s empre
13. Via de regra os clientes preferem ser figuras ativas no desenvolvimento podendo criar suas situa es para verifica o sem ter que solicitar apoio ao pessoal de desenvolvimento O ATDD atua justamente nesse aspecto a partir da disponibiliza o de ferramentas simples para que os clientes se tornem membros ativos do desenvolvimento criando testes sempre que desejarem e podendo acompanhar o status do desenvolvimento a partir da verifica o da execu o dos seus testes A pr xima se o dedicada explana o dessa nova t cnica que tende a colocar clientes e desenvolvedores de forma muito mais sin rgica em qualquer projeto de desenvolvimento de software 4 3 Desenvolvimento Dirigido por Testes de Aceita o Como vimos anteriormente o TDD ajuda os desenvolvedores a produzirem c digos de alta qualidade por m os clientes normalmente n o est o interessados em como foram constru dos esses c digos e sim como o software se comporta de forma a tornarem mais produtivo suas atividades dando os resultados esperados por eles Ou seja necessitam da funcionalidade conforme a regra de neg cio especificada Nessa conjuntura temos o Desenvolvimento Dirigido por Testes de Aceita o ATDD Enquanto o TDD garante a qualidade t cnica do software o ATDD fornece suporte para o atendimento s necessidades do neg cio durante seu desenvolvimento a partir dos testes de aceita o que s o especifica es de como deve se comporta
14. clicar em Salvar e Fechar A cria o do n vel de acesso obtido por meio da sequ ncia de op es Usu rios gt Gerenciador de N veis de Acesso e Novo Em seguida se fornece um t tulo e no caso do exemplo considerado marca se Engenharia da Computa o para C lculo e Programa o Finaliza se o processo com a op o SALVAR Nos grupos C lculo e Hist ria deve ser selecionado o item economia Tratamentos dent rios n o ser selecionado por n o ter sido criado um grupo Odontologia A Figura 4 7 apresenta a visualiza o de cada grupo Integrantes do grupo Enge nharia da Computa o poder o ver conte dos postados nos n veis de acesso Programa o e C lculo Economia visualiza C lculo e Hist ria Tratamentos dent rios foi vinculado ao grupo Odontologia que poder visualizar esse n vel de acesso Lembrando que todos dos grupos podem visualizar o que est com n vel p blico 3 10 2 Criando usu rios Para criar usu rios pode se selecionar o atalho Gerenciador de Usu rios no Painel de Controle ou de qualquer outro diret rio clicar no menu Usu rios e selecionar Geren ciador de Usu rios Em seguida clicar em Novo para adicionar o usu rio Os seguintes campos devem ser preenchidos e Nome nome verdadeiro do Usu rio e Nome de Usu rio nome usado para fazer login e Senha senha de acesso 50 e Confirmar senha e E mail e mail do usu rio importante seu preenchimento pois
15. contudo interligadas e dependentes dos resultados uma da outra O OpenCL disp em de formas para sincroniza o por eventos e por barreiras para serem usadas entre filas e itens de trabalho pertencentes a um mesmo grupo 6 As sincroniza es por barreira s o mais usuais entre itens de trabalho como uti lizam o princ pio de que a pr xima etapa s ser executada ap s o t rmino de todas as atuais a utiliza o deste m todo entre filas de comando se assemelharia ao uso de uma nica fila de comandos Sincroniza es por eventos s o mais relevantes em algoritmos complexos e ro bustos por prepararem a pr xima execu o antes do pedido de execu o o que diminui o tempo para inicializa o aumentando portanto o desempenho como mostrado na Figura 2 11 2 3 6 Limita es As transfer ncias de dados entre as mem rias do host e dispositivo requerem certo tempo De tal forma o OpenCL pode n o ser a melhor op o para tarefas triviais sendo recomen dado apenas para algoritmos de c lculos complexos que necessitam de enorme poder para 31 e Filal gt Pronto gt Executando gt Evento gt Inativo e Fila Il gt Pronto gt Executando gt Evento D Inativo Figura 2 11 Estado de filas de comando sincronizadas por evento serem executados Devido limita o na velocidade das passagens pela mem ria dados n o devidamente utilizados podem gerar perda computacional Os compiladores atualmente est
16. das m quinas virtuais Executa em todo n que hospedara uma inst ncia de ma quina virtual Atualmente com suporte apenas ao Xen 12 e KVM 5 futuramente inclu ra suporte ao VMWare 6 e Storage Controller O servi o de armazenamento baseado S3 4 da Amazon respons vel por armazenar e gerenciar as imagens das m quinas virtuais As imagens s o armazenadas de forma compactada e criptografada Apenas durante a execu o as imagens s o decriptografadas e descompactadas 131 e Walrus Permite aos usu rios armazenarem os dados de maneira persistente no Eucalyptus podendo criar e apagar listas de registros buscar e apagar objetos con trolar pol tica de acesso 7 3 Montandado uma Cloud Privada Nesta se o ser o apresentados os detalhes que devem ser levados em considera o ao montar uma infraestrutura privada com o Eucalyptus Inicialmente ser definido a confi gura o do ambiente depois mostrados os passos de instala o cnfigura o implanta o de imagens e por fim uma introdu o ao gerenciamento do cloud privada 7 3 1 Defini o do ambiente Para instalar o Eucalyptus s o necess rias pelo menos duas m quinas uma para execu tar Cloud Controller Storage Controller e Cluster Controller e outra para executar Node Controller Podemos ter v rias m quinas executando o Node Controller aumentando as sim a quantidade de recursos dispon veis e a quantidade de inst ncias de m quinas virtuais que
17. es m ltiplas mas n o trata atribui o como uma express o Se houver mais valores do que vari veis os valores excedentes s o descartados e se houver mais vari veis do que valores as vari veis excedentes recebem nil figura Utiliza se o operador de atribui o para atribuir um valor a uma vari vel listagem 1 15 13 3 x igual a 3 2 x igual a 3 e y igual a 2 3 2 x igual a 3 y igual a 2 ez nil 2 1 x igual a 3 y igual a 2 e o valor 1 descartado Listagem 1 15 atribui o 1 7 4 Coer o Lua fracamente tipada Em opera es aritm ticas entre string e number a linguagem tenta fazer coer o para number Quando um number utilizado onde uma string esperada o number convertido para uma string em formato razo vel listagem 1 16 local x x igual a local y myr local z x y print z x igual a y local valuel local value2 2 local value3 valuel value2 print value3 3 Listagem 1 16 Coer o 1 7 5 Valores Lua uma linguagem dinamicamente tipada ou seja os valores possuem os tipos e n o as vari veis Todos os valores s o de primeira classe logo os valores podem ser passados como argumentos retornados como resultado inclusos em uma estrutura de dados e armazenados em vari veis 1 7 6 Tipos A linguagem Lua conta com apenas 8 tipos nil boolean number string function userdata thread e table Os tipos
18. es que processam grandes quanti dades de dados podem utilizar um modelo de programa o paralela para acelerar os c l culos Na renderiza o 3D grandes conjuntos de pixels e v rtices s o mapeados para threads paralelas Da mesma forma aplicativos m dias e processamentos de imagens tais como p s processamentos de imagens renderizadas codifica o e decodifica o de v deo amplia o de imagem vis o est reo e reconhecimento de padr es podem mapear blocos de imagens e pixels para threads paralelas De fato muitos algoritmos fora do campo de processamento de imagens s o acelerados por processamento de dados paralelo desde processamento de sinais gerais ou simula es f sicas at finan a computacional ou biologia computacional A tecnologia CUDA uma proposta geral de arquitetura de computa o paralela da nVidia Em novembro de 2006 a nVidia introduziu CUDA como um novo modelo de programa o paralela e ISA Instrution Set Architecture 1 CUDA aproveita o mecan ismo de computa o paralela em GPUs nVidia para resolver muitos problemas computa cionais complexos de maneira mais eficiente do que em uma CPU CUDA disponibiliza um software que permite aos desenvolvedores usar o C como uma linguagem de pro grama o de alto n vel outras linguagens ou interfaces de programa o de aplicativos s o suportadas tais como FORTRAN CUDA OpenCL Phyton e computa o direta Tal integra o ilustrada na Figura 2 3 U
19. necess rio aplicar o operador de Sobel para cada frame do v deo Ao filtrar se uma imagem com Sobel em cada pixel os c lculos de multiplica o e adi o s o independentes de c lculos anteriores Paralelizar este algoritmo bem vi vel visto que poss vel repassar para cada n cleo da GPU a responsabilidade pelo c lculo da primeira derivada de um pixel na imagem Com isso ser o computados de v rios pixels simultaneamente como ilustrado na Figura 2 177 2 4 3 Detec o de Padr o Descritor SIFT O descritor SIFT Scale Invariant Feature Transform consiste de um histograma baseado na magnitude e orienta o do gradiente de todos os pixels em uma regi o ao redor do ponto de interesse 11 Desta maneira tal descritor capaz de estabelecer uma medida de correla o Descritores s o vetores de caracter sticas de por es da imagem que po dem ser utilizados para comparar por es em imagens diferentes de uma mesma cena O descritor SIFT um descritor local altamente distinto e invariante a mudan as na ilumi na o e ponto de vista 3D O primeiro passo no c lculo do descritor computar a orienta o e magnitude do gradiente da imagem de todos os pontos ao redor do ponto de interesse Com o objetivo de obter um descritor invariante a orienta o as coordenadas do descritor e as orienta es dos gradientes s o rotacionadas em rela o orienta o do ponto de interesse ou seja a orienta o do ponto de i
20. o Nova pesquisa da Unisys realizada com 1 200 organiza es em todo o mundo revela uma consider vel defasagem entre as metas de neg cios e tecnologia da informa o TT dos executivos e suas estimativas quanto capacidade das organiza es de alcan ar esses objetivos Essa diferen a indica que os executivos n o est o aproveitando ao m ximo as iniciativas e investimentos em TI e precisam de novas abordagens para modernizar os processos os aplicativos estrat gicos e as infraestruturas tecnol gicas para enfrentar os principais desafios de neg cios Solicitados a expor seus objetivos de neg cios mais importantes os entrevistados do levantamento priorizaram as seguintes metas conquistar novos clientes estabelecer relacionamentos mais estreitos com eles desenvolver novos produtos e servi os aumentar as vendas e receitas e abrir novos mercados Os executivos identificaram 10 caracter sticas quase todas relacionadas a investimentos em informa o e TI que consideram fundamentais para chegar a esses objetivos de neg cios Destacam se entre elas a capacidade de apoiar a inova o pr ticas de gest o de TI tomada estrat gica de decis es abordagem de investimentos em TI comunica es fluxo de informa o dentro da organiza o e entre organiza es e modelos de compras e de seguran a de TI A pesquisa pediu ainda aos executivos que avaliassem o atual est gio da sua organiza o em rela o capacidade
21. o ter seus resultados mostrados em uma nica p gina Para o exemplo de demonstra o do uso do ATDD iremos utilizar o tipo Test Na p gina de propriedades exibidas na Figura 4 20 existem outras defini es que n o vamos alterar devido n o precisarmos de nenhuma defini o diferente das que foram exibidas 4 3 1 2 Especifica o do teste O diferencial do Desenvolvimento Dirigido por Testes de Aceita o para o Desenvolvimento Dirigido por Testes o fato de quem especifica os testes na ferramenta o cliente logo iremos simular como o cliente especificaria o teste do tri ngulo feito anteriormente no JUnit na ferramenta FitNesse Temos a p gina criada e definida como do tipo Test conforme a Figura 4 19 Clicamos no bot o Edit para definirmos os dados da tabela do teste de aceita o a ser executado O cliente definir a tabela com os dados de entrada e as sa das esperadas do exemplo do triangulo conforme a Figura 4 21 utilizando a sintaxe wiki no qual ele ter que ter conhecido O cliente apenas colocar os dados de entrada como os valores dos lados o ladoUm ladoDois e ladoTres e o tipo que o cliente quer que seja no caso eq il tero is sceles escaleno e inv lido Ap s clicar em Save o cliente visualizar a tabela conforme a Figura 4 22 Essa a especifica o do teste de aceita o dos tipos de tri ngulo feita por um cliente com a ferramenta FitNesse 71 FrontPage TesteTriangulo S
22. 21 700 destes A comercializa o do espa o cibern tico estar mais pr xima da experi ncia hist rica das ruas comerciais emergentes da palpitante cultura urbana que dos shoppings centers espalhados na monotonia dos sub rbios an nimos CASTELLS 2006 A pergunta que se faz hoje Estamos vivendo um novo momento ou reinventando momentos que parecem terem sido j reinventados no passado e mais uma vez est o sendo Questiona se isso porque como tudo muda muito r pido j se falando em Web 3 0 onde o empreendedor tem que agir para nunca perder as oportunidades 102 Um artigo do New York Times sobre a confer ncia da Web 2 0 em outubro de 2007 enfatizou que as empresas Web 2 0 est o nadando em d lares Al m disso Mary Meeker do Morgan Stanley Investment Bankers falou durante a confer ncia que as tend ncias de alto n vel da Web 2 0 s o bastante convincentes John Cisco presidente CEO da Cisco Systems prev que a Web 2 0 redes sociais e colabora o on line ser o arautos de uma nova explos o de produtividade GOOSSEN 2008 Gra as aos timbres empreendedores dos homens e mulheres nos mais diversos cantos do planeta explodiram no in cio de 2001 as empresas pontocom estas voltadas para a internet onde 24 horas por dia 07 dias por semana 365 dias no ano est o disposi o dos mais diversos tipos de usu rios e disponibilizando os mais diversos tipos de servi os estes desde a venda de produto
23. Ferreira Aur lio B H Novo Aur lio s culo XXI o dicion rio da lingua portuguesa 3 ed Rio de Janeiro Nova Fronteira 1999 Dornelas J C A Empreendedorismo Corporativo Rio de Janeiro Campus 2003 Pinho J B Publicidade e vendas na Internet T cnicas e estrat gias S o Paulo Summus Editorial 2000 Vassos Tom 1997 Marketing Estrat gico na Internet S o Paulo Makron Books Ibope Netrankig 2010 http www ibope com br Julho Rezendo D A Abreu A F Tecnologia da aplicada a sistemas de informa o empresariais 3 ed S o Paulo Atlas 2008 Nmc Virtual World New Media Consortium 2010 lt http virtualworlds nmc org 2006 12 21 jenkins gt Julho Nmc Virtual World New Media Consortium 2010 lt http virtualworlds nmc org 2006 12 21 jenkins gt Julho Audy J L N Brodbeck A F Sistemas de informa es planejamento e alinhamento estrat gico nas organiza es S o Paulo STS 1998 Rogers E Diffusion of innovations New York The Free Press 1995 Moss E Walrad C Measurement the key to application development quality IBM Systems Journal v 32 n 3 p 445 460 1993 BARUA A Kriebel C H amp Murkhophyay Information technologies and business value an analytic and empirical investigation Information Systems Research Vol 6 n 1 p 3 23 march 1995 Cornella A Los recursos de informaci n ventaja competitiva de las empresas McGraw Hill Interamericana de Espa
24. Figura 4 8 64 public String tipo if ladoUm ladoDois amp amp ladoDois ladoTres return equilatero else return isosceles Figura 4 8 M todo tipo alterado para retornar isosceles Agora deve ser acrescentado mais um m todo de verifica o No caso ser adicionado o m todo para testar a classifica o de um triangulo escaleno Como nos outros exemplos o teste ir falhar Em seguida ser adicionada a verifica o no m todo da classe tri ngulo As figuras 4 9 4 10 e 4 11 mostram os passos necess rios para a adi o do tipo escaleno aos tipos de tri ngulo public class TesteTriangulo Test public void trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals equilatero triangulo tipo Test public void trianguloEIsosceles Triangulo triangulo new Triangulo 3 3 4 assertEquals isosceles triangulo tipo Test public void trianguloEEscaleno Triangulo triangulo new Triangulo 3 4 5 assertEquals escaleno triangulo tipo k Figura 4 9 Classe de teste com verifica o para tri ngulo escaleno public class TesteTriangulo Test public void trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals equilatero triangulo tipo Test public void trianguloEIsosceles Triangulo triangulo new Triangulo 3 3 4 assertEquals isosceles triangulo tipo Test public void trianguloEEsc
25. GOOSSEN 2008 Hoje a rede mundial conta com uma imensa quantidade de sites comerciais sendo que a as estrat gias empreendedoras em muitos deles representa sua principal fonte de renda e sobreviv ncia estas advindas desde um simples produtos ou servi os colocados disposi o do cliente a forma de intera o com o mesmo ou at mesmo uma simples propaganda disponibilizada no mesmo No Brasil poss vel ter uma no o de qu o forte tornou se o meio Internet pelo volume de dom nios BR mais de um milh o at 2007 dispon veis na rede 6 1 2 O Perfil do Empreendedor Digital De acordo com a maioria dos autores empreendedor algu m que identifica uma oportunidade e cria uma organiza o para aproveit la mas o processo empreendedor envolve todas as fun es atividades e a es associadas identifica o de oportunidades e a cria o de organiza es para aproveit las O empreendedor tem como caracter stica b sica o esp rito criativo e pesquisador atrav s do qual mant m constante busca por novos caminhos e novas solu es sempre amparada na identifica o das necessidades das pessoas Essa a ess ncia do empres rio de sucesso a busca de novos neg cios e oportunidades e a preocupa o sempre presente com a melhoria do produto Enquanto a maior parte das pessoas tendem a enxergar apenas dificuldades e insucessos o empreendedor deve ser otimista e buscar o sucesso a despeito das dificuldades
26. GPL v 2 0 incorretas lhorias entre em c comia todos esta licen a Se voc encontrar algum erro de digita o tradu es incorretas ou se deseja sugerir mel sontato com o coordenador da tradu o Enviar Pacote de Arquivos Pacote de Arquivos Svicionsr Arquve 15 pt BR jo LlvL tar Upload amp Instalar Instalar desde Dirot rio Diret ro Instala o Applications joomla apps joomlayhtdocs nova tmp Instalar Instalar a partir da URL URL de Instala o OOO y Ca jar Figura 3 6 Gerenciador de Extens es Instalar Tamb m poss vel instalar o pacote de idiomas colocando a pasta com os arqui vos requeridos dentro do diret rio language para adicionar a op o frontend e dentro do diret rio administrator language para adicionar essa op o backend Depois de instalado tem se que ativar o idioma definindo o como padr o para o site O usu rio deve clicar novamente em Extensions e escolha a op o Language Manager No campo Default deve se indicar o idioma desejado A estrelinha amarela indica o idioma padr o A sequ ncia de passos indicada anteriormente permite traduzir a frontend Para traduzir a backend o usu rio deve selecionar Administrator em Filter Location que fica no lado 48 direito da janela em cima das op es e indicar o idioma desejado da mesma forma que na frontend N o necess rio que o usu rio fique modificando seu idioma padrao a cada acesso O usu rio escolhe seu i
27. Lua F bio de Jesus Lima Gomes Danilo Ara jo Portela La cio Freitas Chaves Marcelo de Miranda Clementino Abstract This course aims to disseminate and discuss concepts involved in developing applications for Interactive Digital TV using the Ginga NCL Besides presenting the main aspects of Ginga and its subsystem Ginga NCL this chapter presents the key elements and concepts of the languages NCL and Lua through examples and the integration between both languages in the same application Resumo Este minicurso visa disseminar e abordar conceitos envolvidos no desenvolvimento de aplica es para TV Digital Interativa utilizando o ambiente Ginga NCL Al m de apresentar os principais aspectos do Ginga e de seu subsistema Ginga NCL este cap tulo tamb m apresenta os principais elementos e conceitos da Linguagem NCL e Lua atrav s de exemplos pr ticos e tamb m a integra o entre elas numa mesma aplica o 1 1 Introdu o O Middleware Ginga desenvolvido pela PUC Rio e pela UFPB o padr o do Sistema Brasileiro de Digital como camada de aplica es ABNT 2007 O Ginga uma camada de software que d suporte execu o de aplica es interativas nos conversores digitais esses ltimos instalados nas casas dos telespectadores A arquitetura do Ginga composta tanto por um ambiente declarativo quanto por um imperativo o que permite a alternativa mais adequada quando se est desenvolvendo aplica es para TV Digital
28. T tulo do Menu Nome que aparecer na frontend N vel de acesso Define a qual n vel de acesso est vinculado esse menu ver sess o 4 7 Localiza o do Menu A qual menu raiz este pertencer Item Pai Marca se quando o menu a ser criado pertencer ao item selecionado Selecione um tipo de Item de Menu Contatos Artigos Lista Todas as Categoria de Contatos Artigos Arquivados Lista os Contatos em uma Categoria nico Artigo nico Contato Listar Todas Categorias Contatos em Destaque Categoria como Blog Lista de Categorias Artigos em Destaque Criar Artigo Fonte de Not cias Pesquisa Listar todas categorias de Fonte de Not cias Lista fontes de not cias em uma Categoria Uma Fonte de Not cias Listar Resultados da Pesquisa Gerenciador de Usu rios Formul rio de Entrada Perfil do Us rio Editar Perfil do Usu rio Formul rio de Cadastro Solicitar Lembrete do Nome de Usu rio Zerar Senha Weblinks Wrapper Exibir todos as Categorias de Weblinks lframe Wrapper Exibir os Weblinks de uma Categoria Enviar ou Editar um Weblink Links de Sistema URL Externa Apelido do Item de Menu Separador de Texto Figura 3 12 Escolha do tipo de menu 55 Exemplificando dever ser criado o menu Material para alunos e um item de menu para cada categoria de disciplina O n vel de acesso o mesmo que o tratado na sess o 4 11 fazendo assim o acesso diferenciado para os alunos de cada curso Na op
29. VisualStudio 2010 Fornece ferramentas e templates para construir projetos gr ficos baseados em formul rios de linguagens de dom nio espec fico para o Visual Studio 2010 e The Meta Programming System MPS 2010 86 Plataforma universal para projetar linguagens de dom nio espec fico junto com o suporte a ferramentas e ambientes desenvolvida pela JetBrains http www jetbrains com Permite aos programadores definirem linguagens t o facilmente quanto eles podem escrever programas e ANTLR Parser Generator AntLR 2010 Fornece um framework para construir reconhecedores interpretadores compiladores e tradutores a partir de descri es gramaticais contendo a es em uma variedade de linguagens destino V rias iniciativas t m surgido na rea de cria o das language workbenches A rea t o quente que em 2011 dever ser realizado a Language Workbench Competition 2011 ver http www languageworkbenches net Para mais informa es sobre DSLs o artigo vanDeursen et al 2000 consiste em uma boa refer ncia pois os autores fornecem um survey da literatura existente cobrindo t picos sobre terminologia riscos e oportunidades exemplos de DSLs e quest es sobre projeto e implementa o listando refer ncias relevantes para cada t pico Outra refer ncia bastante atual sobre DSLs o livro Domain Specific Languages de Martin Fowler Fowler 2010 Neste trabalho iremos focar apenas na ferramenta ANTL
30. alternativa de investimento em tecnologia aconselh vel se o valor presente nos fluxos de caixa futuros descontados ao custo de capital adequado for positivo As dificuldades de quantificar esses ganhos n o significa que os investimentos devam ser reduzidos mas que devem ser desenvolvidos instrumentos mais sofisticados para que se possam medir tais benef cios Ao analisar os efeitos da TI sobre as organiza es americanas Cornella 1994 identificou aspectos que justificam o desenvolvimento de instrumentos mais sofisticados como Os benef cios promovidos pela TI n o s o vis veis imediatamente 116 O impacto da TI escasso se sua aplica o n o vem acompanhada de trocas no gerenciamento da organiza o A implanta o da TI n o tem correspondido s necessidades fundamentais da empresa O impacto da TI n o se evidencia em forma de retornos econ micos mas em melhorias sociais da qualidade de vida Percebemos que os m todos tradicionais de avalia o de or amento de capital n o s o apropriados para avaliar os investimentos de TI pois seus benef cios diferentemente dos investimentos da tecnologia industrial tradicional n o assumem a forma de fluxos de caixa incrementais Este o desafio desenvolver modelos de an lise que consigam efetivamente identificar integralmente os benef cios derivados da TI substancialmente distintos dos benef cios derivados de tecnologias tradicionais 6 9 Inova
31. and pattern classification The high computational cost from the tech niques of data processing requires a high processing power In order to circumvent this problem one solution is to use GPU Graphics Processing Units This paper presents an approach to the use of CUDA and OpenCL in Computer Vision Experiments with edge detection algorithms and patterns will be undertaken in order to demonstrate the effectiveness of this method Resumo A Vis o Computacional pode ser vista como uma entidade de automa o e integra o de uma larga extens o de processos e representa es usados na percep o incluindo t cnicas como processamento de imagens e classifica o de padr es O alto custo com putacional proveniente das t cnicas de processamento de dados requer um poder de processamento elevado Para contornar esse problema uma solu o a utiliza o de unidades de processamento gr fico GPU Graphics Processing Units Este trabalho apresenta uma abordagem do uso do CUDA e OpenCL em Vis o Computacional Ex perimentos com algoritmos de detec o de borda e padr es ser o realizados a fim de demonstrar a efic cia deste m todo 2 1 Introdu o Processamento para setores de vis o computacional sempre requereram alto desempenho os algoritmos utilizados no campo possuem excessivas repeti es de c lculos para os elementos do conjunto a ser trabalhado Apesar de avan os no campo de processamento o mesmo n o ilimitad
32. baseados no modelo conceitual NCM Nested Context Model e foi desenvolvida utilizando uma estrutura modular seguindo os princ pios adotados pelo W3C Base do Ginga NCL a NCL define uma separa o bem demarcada entre o conte do e a estrutura de um documento provendo um controle n o invasivo da liga o entre o conte do e sua apresenta o e leiaute Baseada no NCM Nested Context Model a NCL se utiliza dos conceitos usuais de n s e elos para descrever documentos hiperm dia Os n s nodes representam fragmentos de informa es que podem ser de m dia ou de contexto e elos links s o usados para defini o de relacionamentos entre os n s Soares e Rodrigues 2005 A figura 1 2 representa como esses n s podem ser aninhados formando um conjunto de n s e elos permitindo tornar a estrutura de um documento mais enxuta e organizada Figura 1 2 Representa o do modelo NCM Um documento NCL escrito em XML e a estrutura de um documento NCL deve possuir um cabe alho de arquivo um cabe alho do programa e o encerramento do documento Ent o para construir um documento hiperm dia al m da estrutura acima necess rio definir o que se quer tocar onde como e quando tocar A listagem 1 1 mostra a estrutura b sica de um documento NCL lt xml version 1 0 encoding ISO 8859 1 gt lt ncl id main xmlns http www ncl org br NCL3 0 EDTVProfile gt lt head gt lt Onde Aqui definimos regi es gt lt
33. e interpretadores para Linguagens de dom nio espec fico do ingl s Domains Specific Languages DSLs DSLs s o linguagens de alto n vel projetadas sob medida para tarefas espec ficas Elas s o importantes para o desenvolvimento de software por representarem um meio mais natural fiel robusto e sustent vel do que simplesmente escrever software em uma linguagem de prop sito geral como C C ou Java Esse trabalho tem como objetivo apresentar uma vis o geral das DSLs e um tutorial da ferramenta ANTLR focado na constru o de tradutores e interpretadores para linguagens de dom nio espec fico 83 Palavras Chave Linguagem de Dom nio Espec fico Reconhecedores de Linguagens Ferramenta ANTLR 5 1 Introdu o O estudo das t cnicas de compila o visa o conhecimento das estruturas e algoritmos usados na implementa o de linguagens e destaca no es importantes sobre o uso de mem ria e efici ncia no estilo de codifica o dos profissionais da rea de desenvolvimento de software Essas t cnicas s o frequentemente aplicadas na solu o de problemas que exigem alguma forma de tradu o entre linguagens ou nota es na implementa o de linguagens de dom nio espec fico e na constru o de geradores e analisadores de c digo Projetar novas linguagens e construir tradutores para linguagens existentes quando apropriado a marca registrada de um desenvolvedor profissional Parr 2007 Com a cria o dos comput
34. es Tamb m foi abordado duas fortes ferramentas para progama o par alela em GPUs o CUDA e OpenCL tentando explicar o funcionamento delas Buscamos demonstrar a contribui o das GPUs na vis o computacional bem como seu desempenho devido paraleliza o dos algoritmos utilizados E assim contribuir para a continuidade e o desenvolvimento dos algoritmos aqui expostos divulgando a program o paralela em GPUs e o seu uso na vis o computacional Em fato existem ainda outros algoritmos a serem implementados e analisados dando continuidade ao trabalho aqui exposto 38 Refer ncias 1 NVIDIA OpenCL Programming Guide for the CUDA Architecture Version 2 3 2010 NVIDIA Corporation Santa Clara Calif rnia 2 http gemma apple com technologies mac snowleopard opencl html 3 APPLE Taking the graphics processor beyond graphics June 2009 Apple Inc 4 http www khronos org opencl 5 KHRONOS Introduction and Overview June 2010 Khronos Group 6 AMD ATI Stream SDK OpenCL Programming Guide June 2010 Advanced Micro Devices Inc 7 KARIMI Kamran DICKSON Neil G HAMZE Firas A Performance Compari son of CUDA e OpenCL 2010 D Wave Systems Inc Canada 8 VASILIADIS Giorgos POLYCHRONAKIS Michalis IOANNIDIS Sotiris GPU Assisted Malware With CUDA and OpenCL 9 Manavski S A VALLE Giorgio CUDA compatible GPU cards as efficient hard ware accelerators for Smith Waterman sequence alignment Mar o 2
35. fica f cil entender porque as pessoas n o se sentiam estimuladas a buscar um outro caminho que gere satisfa o e realiza o e que muitas vezes s pode ser encontrado atrav s de um neg cio pr prio que atenda s expectativas mais pessoais e possa se encaixar mais adequadamente sua vida 6 1 1 O E Empreendedor Na d cada de 1990 o aparecimento da World Wide Web o desenvolvimento dos browsers navegadores a diminui o de custos de acesso o aumento de conte dos entre outros fatores fizeram com que a Internet tivesse um crescimento em larga escala e passasse a ser bastante utilizada para in meros fins As necessidades e os anseios dos usu rios da web foram o motor da grande explora o e massifica o deste meio Nelas o empreendedorismo pode ser pensado ou comparado como na vida real isto quando se trata de ambientes virtuais Os empreendedores passaram a ter v rias oportunidades para escolher temas dos mais diversos tendo voz espa o e oportunidade para d vida divulgar aprimorar suas id ias e ou suas possibilidades de neg cios Um grande agrupamento de indiv duos com necessidades e com um crescente n mero de adeptos a cada dia despertou e ainda desperta nos empreendedores e nas empresas o potencial comercial da Internet A comercializa o na Internet come ou seu crescimento em ritmo acelerado em 1991 onde nesta poca j havia cerca de 9 mil dom nios comerciais e logo no final de 1994 j existiam
36. flex vel e f cil de usar mas ainda apresenta falhas que comprometem a seguran a assim como as demais plataformas 1 e Desempenho Atualmente n o existem m todos consolidados para medir o desem penho de ambientes virtualizados No entanto a introdu o de uma camada extra de software entre o sistema operacional e o hardware o VMM ou hypervisor gera um custo de processamento superior ao que se teria sem a virtualiza o Outro ponto importante de ressaltar que n o se sabe exatamente quantas m quinas vir tuais podem ser executadas por processador sem que haja o preju zo da qualidade de servi o 7 2 1 3 Virtualiza o total e para virtualiza o Existem duas formas de implementa o dos monitores de m quina virtual a virtualiza o total e a para virtualiza o A virtualiza o total tem por objetivo fornecer ao sistema operacional visitante uma r plica do hardware subjacente conforme observado na Figura 8 2 Dessa forma o sistema operacional visitante executado sem modifica es sobre o monitor de m quina virtual VMM o que traz alguns inconvenientes O primeiro que o n mero de dispositivos a serem suportados pelo VMM extremamente elevado Para resolver esse contratempo as implementa es da virtualiza o total usam dispositivos gen ricos que funcionam bem para a maioria dos dispositivos dispon veis mas n o garantem o uso da totalidade de sua capacidade Outro inconveniente da virtua l
37. mult neos tais como processadores mem ria principal e registradores especiais Em contrapartida temos as instru es privilegiadas que podem alterar o estado e a aloca o desses recursos Um computador pode operar em dois modos distintos o modo de usu rio ou o de supervisor O modo de usu rio tamb m chamado de espa o de aplica o o modo no qual as aplica es normalmente s o executadas Neste modo n o poss vel executar as instru es privilegiadas que s o restritas ao modo de supervisor O modo de supervisor tem o controle total sobre a CPU podendo executar todas as instru es do conjunto de instru es do processador tanto as n o privilegiadas como 122 as privilegiadas O sistema operacional executado neste modo Antes de o sistema operacional passar o controle da CPU para uma aplica o do usu rio o bit de controle de modo configurado para o modo de usu rio Vale lembrar que na arquitetura x86 existem quatro n veis de privil gio que s o chamados de rings Os rings s o numerados de 0 a 3 nos quais o nivel O o que tem maior privil gio na execu o de instru es por isso os sistemas operacionais s o executados com esse n vel de privil gio J em um ambiente virtualizado temos que definir mais dois conceitos os de sis tema operacional hospedeiro e o de sistema operacional visitante O sistema operacional hospedeiro Host Operating System refere se ao SO nativo da m quina na
38. o elemento lt context gt atribuindo um id como identificador nico dentro do documento listagem 1 6 lt body gt lt context gt lt media id videol descriptor descVideol type v deo mpeg src media videol mpg gt lt media id video2 descriptor descVideo2 type video mpeg src media video2 mpg gt lt context gt lt body gt Listagem 1 6 Defini o de um contexto 1 6 4 ncoras Um n de m dia ou de composi o tamb m pode ter ncoras associadas Atrav s de ncoras poss vel definir segmentos ou propriedades de um n de m dia Existem dois tipos de ncoras ncoras de conte do e ncoras de propriedade Definido com o elemento lt area gt dentro do elemento lt media gt as ncoras de conte do definem um segmento da m dia como um intervalo de tempo que poder ser utilizado como um ponto de ativa o de elos Como ocorre normalmente o elemento lt area gt deve ter um identificador nico para o atributo id Abaixo na listagem 1 7 s o definidas tr s ancoras de conte do para um n de v deo O atributo begin define o momento no qual a ncora ser ativada J o atributo end determina o momento em que a ncora ser encerrada lt media type v deo mpeg id videol src media videol mpg descriptor descVideol gt lt area id aVideoLegenda01 begin 10s end 14s gt lt area id aVideoLegenda02 begin 15s end 19s gt lt area id aVideoLegenda03 begin 2
39. o processando a sua tarefa e 127 muito menos onde esses servidores est o fisicamente princ pio de independ ncia de localiza o e Elasticidade r pida rapid elasticity uma outra propriedade importante de uma cloud a sua elasticidade em suma pode se definir a elasticidade de uma cloud como sua capacidade de disponibilizar mais recursos a medida que isto for sendo requisitado pelo usu rio ou pela sua aplica o O ambiente de cloud deve ser capaz de prover ao usu rio de forma r pida e padronizada mecanismos para a requisi o e disponibiliza o de mais recursos computacionais Esta uma das principais propriedades de uma Cloud se a Cloud n o tiver esta capacidade sua pr pria caracteriza o como cloud fica comprometida e Servi os medidos measured services uma outra caracter stica vital de uma cloud a mensura o de seus servi os O modelo de neg cio deste tipo de ambiente baseado no modelo pay per usage pague pelo uso desta forma devem ser dispo nibilizadas formas de se medir a utiliza o de recursos e servi os Um dos temas atuais nessa propriedade da cloud a bilhetagem e nele diversos esfor os de pes quisa v m sendo propostos Se o ambiente de cloud n o tiver como medir e cobrar pela sua utiliza o o modelo de neg cio associado a este novo paradigma pode estar fadado ao insucesso tendo em vista que as empresas n o ter o algoritmos efetivos para efetuar a cobran a dos seus cli
40. o robusta pois al m de ser uma ferramenta opensource compat vel com a infraestrutura privada do Amazon AWS Utilizando hardware mais acess vel e gastando apenas algumas horas instalando a vers o do Ubuntu Enterprise Cloud que j vem incorporado com o Eucalytus o que torna o processo de configura o mais f cil 139 fat C nttps 192 168 142 130 8443 store amp KQ Google elt mum Store Users Configuration Services Extras powered by Ff Eucalyptus Search All Images All available images in the image store Ubuntu 9 10 Karmic Koala 1386 ue Image version 20091027 Ubuntu 9 10 image for i386 read more E MediaWiki Demo Appliance 1386 etal Image version 0 1 MediaWiki Demo Appliance NOT FOR PRODUCTION USE y Do read more Figura 7 16 Gerenciamento da Cloud Instala o de Imagem o U ud p Db iS https 192 168 142 130 8443 images e ar Google ubuntu enterprise eon Images Id Name Kernel Ramdisk State ponens emi image store eki eri E073107E 1284184686 image manifest xml F6B810FF 0B3C1168 Store Users Configuration Services Extras available Disable eri image store E 0B3C1168 1284184686 ramdisk manifest xml ESRD Do image store 1284184686 kernel manifest xml oe eki F6B810FF Figura 7 17 Gerenciamento da Cloud Imagens Disponiveis if e euca mykey priv then
41. o tiver a ocasi o para p la em pr tica Segundo Timmons 1994 apud DOLABELA 1999 uma id ia n o passa de um instrumento na m o de um empreendedor Da mesma forma como um pincel pode gerar uma obra prima ou med ocre dependendo das m os que o utilizam uma id ia depende de um bom empreendedor para se transformar em um neg cio de sucesso Uma id ia por si s n o suficiente para a cria o de um neg cio de sucesso e que os empreendedores devem sempre buscar a identifica o de oportunidades Mas como fazer isso Quais os passos Ou qual o melhor caminho a seguir Obviamente que antes de criar um neg cio deve se fazer um estudo mais criterioso de investimento e retorno de an lise da concorr ncia e principalmente do mercado potencial Mas o in cio de tudo se d pela oportunidade identificada e a partir da para uma an lise mais detalhada Nunca se come a um neg cio sem antes passar pelas fases de identifica o da oportunidade e de planejamento e an lise de viabilidade muito importante fazer uma Avalia o da Id ia de Neg cio no sentido de perceber se esta poder constituir se numa oportunidade de neg cio A an lise de oportunidades feita atrav s de diversas ferramentas e uma delas conhecida com 3Ms que serve para o empreendedor analisar o potencial da oportunidade e quais oportunidades s o as mais interessantes Os 3Ms s o definidos como Demanda de Mercado Tamanho e Estrutura do Mer
42. odos de tempo onde foram desenvolvidas as grandes inven es que mudaram a vida das pessoas Em sua maioria essas inven es s o frutos de inova o de algo que nunca existiu ou de um novo olhar dado a coisas j existentes mas que ningu m antes observou de outra forma 101 Por tr s dessas inven es existem pessoas ou equipe de pessoas que possuem caracter sticas especiais que n o se submetem a enxergar apenas o que lhes permitido enxergar a identificar oportunidades onde apenas possa existir numa hol stica muito f cil ou at mesmo observar aquilo que ningu m observou e a partir de ent o ser privada de experi ncias Estas pessoas com caracter sticas diferenciadas que possuem motiva o singular tem a necessidade de serem reconhecidas e admiradas pelos seus esfor os e n o hesitam em deixar sua marca no qual denomina se o nome de Empreendedores At a d cada de 80 o ensino de administra o era voltado apenas para formar profissionais para administrar grandes empresas e n o para criar empresas pois os empregos oferecidos pelas grandes empresas nacionais e multinacionais bem como a estabilidade que se consegui nos empregos em reparti es p blicas eram muito convidativos com bons sal rios status e possibilidade de crescimento dentro da organiza o A partir de ent o era considerado loucura jovens rec m formados aventurar se na cria o de seu pr prio neg cio Com essa cren a com essa vis o acomodada
43. para descoberta de novos rem dios atrav s do AMBER Ainda assim a que ainda continua atraindo aten o o processamento gr fico utilizado principalmente para o setor rob tico Estima se que todas as aplica es brevemente utilizem a tecnologia acelerando suas execu es Ind strias em geral estudaram os princ pios da tecnologia CUDA e incorporaram nos em seus produtos entre elas a rival AMD em sua tecnologia ATI Stream para as placas gr ficas ATI Radeon Percebendo o potencial do processamento paralelo atrav s de n cleos gr ficos e o aumento de vendas de computadores para fins cient ficos que necessitavam de qualidades e desempenho superiores A Apple prop em o OpenCL como uma forma de padronizar a programa o das GPUs e fez de seu sistema o primeiro a aderir ao framework O OpenCL Open Computing Language nasce como a ferramenta ideal para pro grama o paralela compat vel com sistemas operacionais e dispositivos diversos criando um modelo para desenvolvedores que desejam ao m ximo a portabilidade de seus c di gos 2 2 CUDA NVIDIAR CUDATM uma proposta de arquitetura de computa o paralela desen volvida pela nVidia A arquitetura inclui o CUDA Instruction Set Architecture ISA Um ISA inclui uma especifica o do conjunto de opcodes linguagem de m quina os comandos nativos implementados por um determinado processador e o mecanismo de computa o paralela na Unidade de Processamento Gr fico Graph
44. poder o ser executadas simultaneamente poss vel executar tudo em apenas uma nica m quina por m seria necess rio ter uma especifi o de hardware bem poderosa para prover todos os recursos necess rios pelos componentes Antes de instalar e usar o Eucalyptus necess rio avaliar os requisitos de hard ware A Tabela 8 1 mostra especifica es para m quinas que executar o o Cloud Con troller CC Cluster Controller CLC Walrus e Storage Controller SC Tabela 7 1 Requisitos de Hardware para CC CLC SC e Walrus Hardware M nimo Sugerido CPU 1 GHz 2 x 2 GHz Mem ria 512 MB 2GB Disco IDE 5400 rpm SATA 7200 rpm Espaco em Disco 40 GB 200 GB Rede 100 Mbps 1 Gbps As m quinas que executar o o Node Controller precisam ter uma configura o mais potente pois eles ir o executar inst ncias das m quinas virtuais A Tabela 8 2 mostra alguns exemplos Tabela 7 2 Requisitos de Hardware para NC Hardware M nimo Sugerido CPU Extens o VT VT 64 bits v rios n cleos Mem ria 1 GB 4 GB Disco IDE 5400 rpm SATA SCSI ou SAS 7200 10000 rpm Espaco em Disco 40 GB 100 GB Rede 100 Mbps 1 Gbps 132 7 3 2 Instala o e Configura o da Cloud O Eucalyptus pode ser instalado a partir da compila o do c digo fonte ou atrav s de pacotes espec ficos das distribui es Linux Os pacotes prontos para instala o est o dispon veis para
45. possam ser executados em sistemas heterog neos compat veis sem a necessidade de modifica o dos arquivos Al m disso poupa recursos financeiros tempo e permitindo que desenvolvedores possam criar softwares com melhores desempenhos cujas possibilidades de aplica o v o desde games a softwares acad micos 2 3 1 Rotinas As rotinas iniciais de detec o do sistema operacional e dispositivos moldam o m todo de trabalho do OpenCL Tais rotinas ajustam no ao sistema tal que um mesmo software possa ter diferentes implementa es para cada m quina que por ventura execute o programa o contexto As etapas seguintes geram o c digo atrav s de implementa es das fun es em OpenCL C este pronto para compila o como observado na Figura 2 7 Devido mem ria dos dispositivos n o permitir acesso direto s o usados fun es da ferramenta para alo ca o escrita e leitura dos dados e ap s o uso ocorre libera o dos mesmos O uso das implementa es do programador indireto utilizando fun es padr es para passagem de par metros e execu o paralela Entre cada passagem das etapas s o retornados erros devido a cada etapa requerer a boa execu o da anterior h a necessidade de constante checagem de erros libera o 28 Detec o do sistema operacional Gera o do programa a partir do c digo Passagem de par metros Detec o de dispositivos Compila o do programa Execu o paralela
46. possibilita que uma empresa ou grupo de trabalho possua um portal onde os membros poder o postar seus trabalhos diretamente sem a necessidade de envi los primeiramente para um setor espec fico que dar sequ ncia sua publica o Isso implica numa redu o de custos e corrobora no aumento da velocidade das postagens j que n o vai depender de um webmaster para isso Um CMS pode ser usado para a cria o de blogs websites ambientes de ensino a dist ncia e portais Como caracter sticas destacam se a disponibiliza o pr via de uma estrutura do site esqueleto e a facilidade de gerenciar o que vai ser publicado n o sendo mais dif cil de operar que um editor de texto ou uma planilha 3 3 Vantagens em se usar Joomla Algumas vantagens podem ser evidenciadas no uso de Joomla preferencialmente a uma outra ferramenta para desenvolvimento de sites e Reduzido conhecimento t cnico necess rio O Joomla n o elimina a necessidade de conhecimento t cnico mas ele importante apenas nas etapas iniciais como instala o e configura o Al m disso o Joomla de f cil aprendizado e N o preciso reinventar a roda No Joomla as tarefas b sicas de um site j est o prontas e n o preciso refaz las nem iniciar o site do ponto zero 42 e Comunidade atuante e com grande n mero de seguidores O Joomla muito usado e sua comunidade vem crescendo rapidamente o que de grande recon forto aos usu rios O pro
47. print function end print type foo function 15 Listagem 1 21 Tipo function 1 7 6 6 Table Atrav s do tipo table poss vel representar em Lua arrays comuns registro grafos rvores tabelas de s mbolos classes objetos etc As tabelas podem conter todos os tipos de valores exceto nil listagem 1 22 tabela vazia 1 ERCEMAPI true tabela com 3 valores t 1 a string PI e t 3 o boolean true t name ERCEMAPI name imprime ERCEMAPI e t name imprime E Listagem 1 22 cria o de tabelas 1 7 7 Operadores A linguagem Lua oferece um conjunto de operadores para realizar opera es aritm ticas tabela 1 4 relacionais tabela 1 5 l gicas tabela 1 6 e de concatena o tabela 1 7 O operador de atribui o o sinal de Tabela 1 4 Operadores aritm ticos Operadores Significado Exemplo Adi o a b Subtra o a b Multiplica o a b Divis o a b M dulo a b Exponencia o a b Nega o a Tabela 1 5 Operadores relacionais Operadores Significado Exemplo Igualdade a b Diferente a b lt Menor que a lt b gt Maior que a gt b lt Menor ou igual a a lt b gt Maior ou igual a a gt b Tabela 1 6 Operadores l gicos Operadores Significado Exemplo and E a and b or Ou aorb n
48. qual ocorrer a virtualiza o J o sistema operacional visitante Guest Operating System refere se ao sistema operacional que executado sobre a m quina virtual Uma m quina na qual feita a virtualiza o pode se contar com apenas um SO hospedeiro sendo executado por vez No entanto podem ser executados diversos SOs visitantes simultaneamente O pr ximo conceito a ser discutido de vital import ncia para o entendimento da virtualiza o O conceito em quest o o do Virtual Machine Monitor VMM ou seja Monitor de M quina Virtual tamb m conhecido por Hypervisor O hypervisor prov uma camda de abstra o entre o hardware e o sistema opera cional que esta executando conforme mostrado na Figura 8 1 Aplica es Aplica es M quina Virtual M quina Virtual n Virtual Machine Monitor VMM Figura 7 1 Relacionamento das M quinas Virtuais e do VMM O Virtual Machine Monitor um componente de software que hospeda as m quinas virtuais 10 O VMM respons vel pela virtualiza o e controle dos recursos compartilhados entre as m quinas virtuais tais como processadores dispositivos de en trada e sa da mem ria armazenamento etc Tamb m fun o do VMM escalonar qual m quina virtual vai executar a cada momento semelhante ao escalonador de processos do Sistema Operacional 7 O VMM executado no modo de supervisor no entanto as m quinas virtuais s o 123 executadas em modo de
49. quanto para a an lise computacional Linguagens Recursivamente Enumer veis ou Tipo 0 Linguagens Sens veis ao Contexto ou Tipo 1 Linguagens Livre de Contexto ou Tipo 2 Linguagens Regulares ou Tipo 3 Figura 1 Hierarquia de Chomsky 84 Atualmente em vez de buscar uma linguagem para ser a melhor na solu o de qualquer tipo de problema computacional as linguagens de dom nio espec fico do ingl s domain specific languages DSL t m sido a solu o para resolver uma classe espec fica de problemas e dessa forma elas est o se tornando mais acess veis para o p blico geral do que as linguagens de programa o tradicionais Taha 2008 Este trabalho tem como objetivo discutir o uso de DSLs na solu o de problemas computacionais e apresentar a ferramenta ANTLR e sua utiliza o na constru o de tradutores e interpretadores de um modo geral O restante desde trabalho est organizado da seguinte forma Se o 2 apresenta uma vis o geral das linguagens de dominio espec fico destacando o estado da arte e as principais tecnologias usadas para reconhecer DSLs A Se o 3 descreve em detalhes a ferramenta ANTLR que vem sendo utilizado principalmente para constru o de tradutores e interpretadores para DSLs A Se o 4 apresenta um estudo de caso com o exemplo do uso da ferramenta ANTLR para a constru o de reconhecedores de linguagens Finalmente a Se o 5 conclui o trabalho e destaca alguns trabalhos futuros qu
50. que os testes compilem ou executem para serem criados Os primeiros c digos dos testes n o v o compilar e isto o correto porque n o existe ou n o era pra existirem classes no projeto do software Como j foi dito o c digo do programa incluindo as menores classes s deve ser criado ap s a cria o dos testes Um fato importante de ser ressaltado que n o tem como definir quando um teste pode ser considerado bom Por isso n o existem regras para a cria o de classes de teste Alguns autores consideram que um bom teste aquele at mico e isolado Um teste pode ser considerado isolado quando n o depende do resultado de outro teste para ser executado Para ser at mico ele necessita testar cada parte separadamente 4 2 1 Exemplo de desenvolvimento guiado por testes utilizando JUnit Para melhor mostrar o uso do TDD ser criado um novo projeto para implementar um programa que classifique um tri ngulo baseado nas medidas dos seus lados Para iniciar o projeto uma IDE para desenvolvimento na linguagem JAVA deve ser escolhido com posterior cria o de um novo projeto As classes podem ser criadas no pacote default mas com o objetivo de separar e melhor gerenciar as classes do projeto elas ser o separadas em pacotes neste exemplo Para as classes que servir o para guiar o desenvolvimento e testar o c digo ser necess rio criar um pacote chamado teste No exemplo ser criado uma nova classe chamada TesteTriangulo jav
51. ria caracterizada por um compartilhamento de infra estrutura e ou de recursos de software para um conjunto de parceiros espec ficos que formam uma comunidade Em geral ela pode ter a sua ger ncia compartilhada pelas empresas participantes por uma empresa terceirizada contratada ou at mesmo ser geren ciada por apenas uma das empresas participantes e as outras apenas acessarem servi os da mesma Uma Cloud P blica aquela disponibilizada para o p blico em geral ou para um conjunto grande de usu rios e em geral disponibiliza servi os que podem ou n o incluir custos financeiros para a sua utiliza o para um elevado n mero de usu rios O custo com recursos f sicos neste tipo de Cloud mais elevado pois em geral a quantidade de acessos al m de elevada pode sofrer mudan as especialmente momentos de picos de forma mais r pida e impactante Finalmente uma Cloud h brida aquela composta por no m nimo duas outras Clouds sejam elas privadas p blicas h bridas ou uma combina o das mesmas Um ponto importante a ser notado neste tipo de Cloud a diferen a de softwares tecnologias que podem estar sendo empregadas pois diferentes Clouds em geral ter o uma hete rogeneidade de tecnologias empregadas Desta forma um acordo de utiliza o deve ser feito para que os objetivos da uni o sejam atingidos 130 7 2 3 Eucalyptus O Eucalyptus 9 um framework opensource para computa o em n vem que impl
52. seja nos tornamos cada vez mais dependentes desses sistemas de software por esse motivo necessitamos de mecanismos de garantia de qualidade dos pr prios V rios fatores de qualidade dentre eles disponibilidade confiabilidade seguran a e robustez s o garantidos por mecanismos como testes de software que constituem elementos cr ticos na garantia de qualidade representando a revis o final da especifica o projeto e gera o de c digo Pressman 2006 O teste pode ser definido 59 como sendo verifica o din mica do funcionamento de um programa em um conjunto finito de casos de teste cuidadosamente selecionado dentro de um dom nio infinito de entradas contra seu funcionamento esperado Abran et al 2004 Apesar de melhorar substancialmente qualidade ao software existe um grande empecilho na realiza o de testes seu custo consider vel em um projeto de desenvolvimento Dependendo das caracter sticas do software a ser desenvolvido esse custo pode significar mais de 50 do projeto Pressman 2006 Um relat rio publicado pelo NIST NIST 2002 mostra uma ideia dos custos envolvidos com teste sendo relatado que o valor relativo ao custo de falhas em softwares desenvolvidos nos Estados Unidos em 2002 foi de U 59 500 000 000 00 Esse mesmo relat rio ainda estima que mais de 37 desse custo U 22 200 000 000 00 poderia ter sido eliminado se a infra estrutura para teste fosse melhorada Uma vez que os custos relaciona
53. seja igual a 1 2 5 Conclus o As GPUs possuem ampla utiliza o no entanto para utiliz la era necess rio muito con hecimento sobre o assunto O que dificultava o aproveitamento das GPU em algoritmos computacionais Com o surgimento de ferramentas de programa o como a arquitetura CUDA e o framework OpenCL tornou mais f cil o uso das unidades de processamento gr fico Visto que unificaram as t cnicas utilizadas e no caso do OpenCL unificou tam b m as arquiteruas O CUDA e 0 OpenCL s o ferramentas poderosas e ainda possuem um grande potencial a ser desenvolvido 36 Posi o x y M scara 3x3 Produto ponto a ponto fed B Xx Somat rio Figura 2 15 Esquema da opera o de correla o No topo esquerda uma imagem ao centro uma m scara Abaixo o resultado do somat rio das multiplica es dos pixels pela m scara X Horizontal Vertical Sobel de 45 Figura 2 16 Em cima uma m scara gen rica com as posi es dos valores utilizados nas equa es de Sobel Abaixo m scaras do operador de Sobel Essas ferramentas desenvolvem se a cada dia A nVidia investe bastante no CUDA aumentando cada vez mais o seu potencial tornando a araquitetura mais eficiente e se gura Ao mesmo tempo que a nVidia juntamente com a AMD a Intel e a Apple d o um forte suporte ao OpenCL Juntas contribuem para tornar o framework melhor e mais robusto No momento OpenCL por ser gen rico menos eficiente que o
54. sustentam a rede econ mica Acredita se que toda essa quest o est relacionada ao risco Falemos do Brasil em especial fato que n o temos uma rede de venture capital bem desenvolvido ou pelo menos n o t o bem desenvolvido como nos EUA ber o de grandes empresas de tecnologia com modelos de neg cio inovadores O 107 empreendedor aquele que tem a veia ou que a est descobrindo ao analisar uma oportunidade de um novo neg cio precisa antes de tudo avaliar o risco do empreendimento Qual a chance desse neg cio dar certo ou falhar Pela falta de uma bem desenvolvida rede de venture capital no Brasil o empreendedor v na adapta o de um modelo de neg cio criado por terceiros uma bela oportunidade de reduzir drasticamente o risco do neg cio Nesse caso as VCs atuam olhando pelo aspecto pessoal do empreendedor como um porto seguro que ir lhe permitir arriscar mais do que com um modelo de neg cio totalmente inovador Imagine um sujeito que tem uma pequena economia guardada e que n o pode se dar ao luxo de arriscar demais Uma vez que exista um VC criando um porto seguro para o empreendedor referindo se exclusivamente ao aspecto pessoal do empreendedor este pode se dar ao luxo de arriscar mais seja com um modelo de neg cio extremamente inovador e in dito ou n o F bio Seixas quebrou tr s empresas antes de criar o Camiseteria Fechei minha terceira empresa em 2002 e fiquei longos 3 anos buscando uma oportunidade justa
55. userdata e thread n o ser o abordados no minicurso A fun o type retorna o tipo do argumento passado e a fun o print imprime os argumentos passados 1 7 6 1 Nil Representa a aus ncia de um valor til Toda vari vel n o inicializada tem o valor nil local name print type name nil 14 Listagem 1 17 Tipo nil 1 7 6 3 Number Equivale a um double de precis o dupla por padr o mas tamb m representa n meros inteiros E poss vel construir interpretadores Lua que usem outra representa o interna para n meros local value print type value number Listagem 1 19 Tipo number 1 7 6 4 String Representa cadeias de caracteres literais Podem ser delimitadas atrav s do uso de aspas simples aspas duplas e formato longo para escrever cadeias de caracteres que se estendem por varias linhas As strings tamb m podem conter sequ ncias de escape no estilo da linguagem C local name ERCEMAPI print type name string local name ERCEMAPI print type name string local name ERCEMAPT print type name string Listagem 1 20 Tipo string 1 7 6 5 Function Representam as fun es Em Lua as fun es s o valores de primeira classe e podem ter nenhum ou v rios par metros e retornar nenhum ou v rios valores function foo x print function end ou foo function x
56. usu rio Como as m quinas virtuais s o executadas em modo de usu rio quando estas tentam executar uma instru o privilegiada gerada uma interrup o e o VMM se encarrega de emular a execu o desta instru o 7 2 1 2 Vantagens e Desvantagens Existem diversas vantagens na virtualiza o a seguir ser o citadas as principais 7 e Seguran a Usando m quinas virtuais pode ser definido qual o melhor ambiente para executar cada servi o com diferentes requerimentos de seguran a ferramentas diferentes e o sistema operacional mais adequado para cada servi o Al m disso cada maquina virtual isolada das demais Usando uma m quina virtual para cada servi o a vulnerabilidade de um servi o n o prejudica os demais e Confian a e disponibilidade A falha de um software n o prejudica os demais Servi os e Custo A redu o de custos poss vel de ser alcan ada com a consolida o de pequenos servidores em outros mais poderosos Essa redu o pode variar de 29 a 64 7 e Adapta o s diferentes cargas de trabalho Varia es na carga de trabalho podem ser tratadas facilmente Ferramentas aut nomas podem realocar recursos de uma m quina virtual para a outra e Balanceamento de carga Toda a m quina virtual est encapsulada no VMM Sendo assim f cil trocar a m quina virtual de plataforma a fim de aumentar o seu desempenho e Suporte a aplica es legadas Quando uma empresa decide migrar p
57. valores inteiros ou de vari veis de regras abaixo utilizaremos atributos herdados Atributos herdados passam informa es top down ou seja de uma regra superior para uma regra inferior enquanto os atributos sintetizados passam informa es bottom up na gram tica ou seja valores das regras inferiores podem ser usadas nas regras superiores Para utilizar atributos herdados define se argumentos na regra utilizando se nome da regra argumentos J os atributos sintetizados s o definidos atrav s de valores de retorno utilizando nome da regra returns valores de retorno Veja exemplo abaixo stat INTEIRO ID memory put SID text 0 ID IGUAL expr memory put SID text new Integer Sexpr value MPRIME ID Integer v memory get SID text if v null System out println v else System out printin ID n o encontrado PONTOEVIRGULA expr returns int value a atom Svalue Sa value MAIS e atom value Se value MENOS e atom value Se value yee r atom returns int value INT value Integer parseInt SINT text ID Integer v memory get SID text if v null Svalue v intValue else Svalue 0 Atributos de regras e tokens podem ser chamados dentro de a es atrav s do operador Caso haja mais de uma defini o da reg
58. zones ibe groups scribe image attribute euca describe images ibuntuef rontend 9 euca VMware Tools is not installed Choose the Virtual Machine gt Install VMware Tools iis Eucalyptus CC l es euca describe instances euca describe keypairs euca describe regions euca describe snapshots euca describe vo lumes euca detach vo lume ciate address nload bundle t console output euca lyptus c loud euca modify image attribute euca reboot instances euca regi euca re le euca rese euca revoke euca run instances euca sync key euca terminate instances euca unbundle euca upload bundle euca vers ion address image attribute O M m vz Figura 7 15 Gerenciamento da Cloud euca tools ser feito apenas uma nica vez j que o par de chaves armazenado no Eucalyptus Para isso execute o seguinte comando 2 Sera necess rio liberar o acesso porta 22 SSH da inst ncia atrav s do comando euca authorize default P tcp p 22 s 0 0 0 0 0 3 Executar o comando euca describe images para obter o EMI Eucalyptus Machine Images da imagem selecionada 4 Executar a imagem registrada como o comando euca run instances emi E073107E k mykey t ml small 5 Para monitorar o status da inst ncia utilize o comando watch 7 4 Considera es Finais n5 euca describe instances O uso do Eucalyptus para montar uma infraestrutura privada em um ambiente de compu ta o em n vem tem se mostrado uma solu
59. 008 10 AIRES Kelson R T ALSINA Pablo J MEDEIROS Adelardo A D A Global Vision System for Mobile Mini Robots Maio 2001 11 AIRES Kelson R T Segmenta o de Planos Baseada em Homografia Afim Fluxo ptico e Reconstru o M trica Outubro 2009 Natal RN 12 MARENGONI Maur cio STRINGHINI Denise Introdu o Vis o Computa cional usando OpenCV RITA 2009 39 Cap tulo 3 Joomla 1 6 Alexandre Marques Albano da Silveira Andr a Carneiro Linhares Clemilson Costa Santos Abstract Publicity is very important for the recognition of any work done With the expansion of the Internet the use of websites has become a powerful ally in the products and brands promotion It is in this context that emerges Joomla Joomla is a free website devellopment tool widely used and secure You do not need programming skills to use it and maintain it In fact Joomla is no more complicated than a text editor It s flexible and customizable Thus it can be used to develop both small sites for scholarly works and large portals for document management Resumo Propaganda de fundamental import ncia para o reconhecimento de qualquer trabalho realizado Com o avan o da Internet a utiliza o de websites tornou se um aliado pode roso na divulga o de produtos e marcas nesse cen rio que surge o Joomla O Joomla uma ferramenta livre para cria o de websites muito utilizada e segura N o neces s rio con
60. 0s end 30s gt lt media gt Listagem 1 7 Defini o de ncoras de conte do As ncoras de propriedade definem propriedades de uma m dia e permitem que elas sejam manipuladas Uma propriedade definida pelo elemento lt property gt dentro do elemento lt media gt O elemento lt property gt contem apenas os atributos name e value Exemplos de propriedades s o volume de udio de um n de udio ou v deo coordenadas das dimens es de uma imagem dentre outras A listagem 1 8 exemplifica a cria o de quatro propriedades relativas ao posicionamento top e left altura height e largura width de um n de m dia lt media type video mpeg id video2 src media video2 mpg descriptor descVideo2 gt lt property id top gt lt property id left gt lt property id height gt lt property id width gt lt media gt Listagem 1 8 Defini o de ncoras de propriedade No NCM todo n m dia ou contexto deve obrigatoriamente possuir uma ncora com uma regi o representando o conte do total do n Essa ncora chamada de ncora de conte do total e declarada por omiss o default em NCL Cada vez que um componente NCL referenciado sem especificar uma de suas ancoras deve se obrigatoriamente assumir a ncora de conte do total 1 6 5 Sincronizando com elos e conectores At agora aprendemos a definir quais elementos de m dia ser o apresentados onde e como Ago
61. 1 until t i nil Listagem 1 25 estrutura de controle repeat 1 7 8 4 For Em Lua o comando for pode ser num rico ou gen rico O for num rico a intera o inicia com valor de exp1 prosseguindo at exp2 com passos do tamanho exp3 Se exp3 for omitida o passo 1 local exp2 local exp3 for expl 1 exp2 exp3 do print exp1 end Listagem 1 26 for num rico O for gen rico utiliza fun es iteradoras como pairs e ipairs A cada itera o essas fun es produzem um valor t name ERCEMAPI for key value in pairs t do rint key gt value imprime name gt E p y end Listagem 1 27 for gen rico 1 8 Integra o NCL e Lua NCLua Um documento NCL reconhece um script NCLua como uma m dia listagem 1 18 tal como uma imagem v deo etc Quando o script iniciado um objeto instanciado e atribu do a vari vel global canvas Esse objeto tem as mesmas dimens es definidas na regi o da m dia NClua listagem 1 28 e atrav s desse objeto que as fun es do m dulo canvas podem ser utilizadas O m dulo canvas permite a possibilidade de fazer opera es gr ficas tais como desenhar c rculos linhas ret ngulos pol gonos etc listagem 1 20 lt media id lua src frame lua lua descriptor dLua gt Listagem 1 28 Definindo uma midia NCLua 18 A linguagem Lua tem bibliotecas padr o para manipula o de strings ta
62. 2003 afirma que o planejamento estrat gico fundamental para a sobreviv ncia das organiza es que est o preocupadas com sua intelig ncia empresarial ou organizacional A tecnologia de informa o essencial para as empresas Audy e Brodebeck 2003 afirmam atualmente n o faz mais sentido discutir se a TI estrat gica ou n o sendo a quest o deslocada para como utilizar a TI de forma alinhada estrat gia organizacional O planejamento estrat gico da TI a forma como a organiza o ir tratar e gerir a tecnologia visando ao futuro adequando se da melhor maneira poss vel para obter incremento na competitividade amplia o dos seus neg cios e maior performance de seus investimentos tecnol gicos fundamental que as organiza es utilizem se de um planejamento estrat gico de tecnologia de informa o alinhado com seu planejamento estrat gico empresarial Para Lederer e Sethi apud AUDY e BRODBECK 2003 o planejamento estrat gico de sistemas de informa o o processo de identifica o de um portf lio computadorizado de aplica es para dar suporte ao plano de neg cios da organiza o e auxiliar na concretiza o dos objetivos organizacionais Segundo Rezende 2003 o planejamento estrat gico da TI um conjunto de ferramentas e t cnicas que possibilitam a defini o de estrat gias de a o ao longo de um per odo de aproximadamente um a tr s anos Durante seu processo necess ri
63. CUDA Con tudo o OpenCL port til quanto a arquitetura utilizada sem a necessidade de reescrever os c digos fontes ao mudar de plataforma Com o desenvolvimento do framework o OpenCL pode se tornar t o eficiente quanto CUDA Na vis o computacional o uso das GPUs se mostrou muito eficiente Processa mento de imagens requer alto poder computacional principalmente quando h necessi dade de processar os dados em tempo real Em imagens de alta resolu o a execu o paralela de c lculos de derivadas e K Means em GPUs possibilita a obten o de resulta dos em tempo real Isso se explica pelo fato destes algoritmos serem amplamente parale los ou seja cada c lculo pouco depende dos anteriores O processamento em tempo real pode ser utilizado aplica es onde informa es s o retiradas de um stream de video e neste caso necess rio computar os frames do video Se o processo for lento haver 37 N iw gt baala NNW ko w Pawlo oO NO PE K 000000 Substitu Descarta K 0 o valor a borda 0000000 anterior Figura 2 17 C lculo da primeira derivada utilizando GPU Figura 2 18 Descritor SIFT calculado a partir de um conjunto de 8x8 pixels divididos em 2x2 sub regi es Cada histograma do descritor possui 8 intervalos de orienta o perda ou incosist ncia da informa o Neste trabalho abordamos algumas t cnicas utilizadas na vis o computacional e suas aplica
64. Campus de Quixad Emanuel Ferreira Coutinho UFC Enyo Jos Tavares Gon alves UFC Campus de Quixad Erick Aguiar Donato UFC Campus de Sobral Fabiana Gomes Marinho UFC Fernando Rodrigues de Almeida J nior UFC Campus de Sobral Francisco Heron Carvalho Junior UFC Francisco Nivando Bezerra IFCE Maracana Gabriel Antoine Louis Paillard UFC George Allan Menezes Gomes UFC Gerardo Valdisio Rodrigues Viana UECE Gilzamir Ferreira Gomes UVA Sobral Gisele Azevedo de Araujo UFC Campus de Sobral Glaudiney Moreira Mendon a J nior UFC l lis Cavalcante de Paula J nior UFC Campus de Sobral Jos Alex Pontes Martins UVA Jos Riverson Ara jo Cysne Rios UFC Lincoln Souza Rocha UFC Campus de Quixad Luis Henrique Pequeno Almeida UFC Marcelino Cavalcante Pequeno UFC Mardson Freitas de Amorim UFC Campus de Sobral Miguel Franklin de Castro UFC Pedro de Alc ntara dos Santos Neto UFPI Rafael Castro de Andrade UFC Raimir Holanda Filho Unifor Rodrigo de Melo Souza Veras UFPI Tarcisio Ferreira Maciel UFC Wellington Wagner Ferreira Sarmento UFC Wendley Souza da Silva UFC Campus de Sobral ERCEMAPI 2010 Escola Regional de Computa o Cear Maranh o Piau Livro Texto dos Minicursos Organizadores l lis Cavalcante de Paula J nior Andr a Carneiro Linhares Cap tulo 1 Desenvolvendo aplica es interativas para TV Digital utilizando NCL e
65. Even in small business the technology has been used as a tool that optimizes not only serves as the processes for managing a company This chapter presents various aspects of the importance of IT from its conception and implementation in the organization to the management and administration of technological resources as well as to provide subsidies for the design and implementation of entrepreneurial action can be considered both internally and externally in any corporation Resumo Imaginar uma organiza o sem Tecnologia da Informa o hoje bem pr ximo do imposs vel Mesmo no pequeno neg cio a Tecnologia vem sendo usada como uma ferramenta que n o s otimiza os processos como serve para a administra o de uma empresa Este cap tulo apresenta diversos aspectos da import ncia da TI desde sua concep o e implementa o na organiza o at a ger ncia e administra o de recursos tecnol gicos al m de apresentar subs dios de como a concep o e implementa o desta pode ser considerada a o empreendedora tanto interna como externamente em qualquer corpora o 6 1 A Revolu o do Empreendedorismo O empreendedorismo uma livre tradu o que se faz da palavra entrepreneurship que contem as id ias de iniciativa e inova o E um termo que implica uma forma de ser uma concep o de mundo uma forma de se relacionar DOLABELA 2006 O s culo XX foi caracterizado por v rias transforma es em curtos per
66. Figura 7 11 Gerenciamento da Cloud Login A interface de gerenciamento WEB possui algumas funcionalidas como parame triza o CPU mem ria e disco dos tipos de inst ncias conforme mostrado na Figura 8 13 A interface de linha de comando prov uma administra o mais detalhada do Eu calyptus A parte de gerenciamento do Eucalyptus relacionada ao registro dos diversos componentes node controller cluster controller e walrus realizada atrav s do comando euca conf Alguns par metros do euca conf s o listados abaixo e register nodes respons vel pelo registro de Node Controllers que n o fo ram registrados automaticamente durante o processo de instala o A sua sintaxe euca conf register nodes endere o IP do Cloud Controller e discover nodes faz uma busca por Node Controllers na rede local e faz automaticamente o registro e list nodes lista todos os n s registrados no frontend Uma lista completa das op es do comando euca conf mostrada na Figura 8 14 Para genrenciar as inst ncias e os demais objetos da infraestrutura utilizado o euca tool uma ferramenta que possui diversos comandos e que foi instalado au tomaticamente pelo instakador do UEC A Figura 8 15 mostra todos os comandos do euca tools Dentre estes comando podemos destacar alguns de uso constante como 136 a o i Ubuntu Enterprise Cloud powered by Eucalyptus a gt a t htps 192 168 142 135 8443 l0gin Ca
67. ISPONTOS VIRGULA SUBST padroesIdentificados put SSUBST text 1 VERBO ART SUBST padroesIdentificados put SVERBO text 2 Zest ADJ padroesldentificados put SSUBST text ADJ text 3 SUBST padroesIdentificados put SSUBST text 4 ART ADJ VERBO PREP PRON CONJ PALAVRA NUM VIRGULA DUISPONTOS PONTO Figura 6 Elementos UML padr es textuais Vale ressaltar que as descri es textuais especificadas em linguagem natural portugu s podem conter acentua o normal Esta limita o foi resolvida atrav s da regra l xica fragment LetrasAcentuadas Cala l lil l lo a lTALA TATE TT oO NONO yu lc Os tokens definidos na parte inicial da figura 5 a saber ART ADJ SUBST VERBO PREP PRON e CONJ s o usados para definir os padr es gramaticais usados para identificar os elementos da UML usados nas regras sint ticas da gram tica Por exemplo um poss vel atributo de uma classe UML identificado atrav s dos padr es CONJ DOISPONTOS VIRGULA s1 SUBST p1 PREP ART s2 SUBST padroesldentificados put s1 text Sp1 text Ss2 text 1 1 Atributo CONJ DOISPONTOS VIRGULA SUBST padroesldentificados put SSUBST text 1 1 Atributo Um m todo identificado atrav s do padr o VERBO ART SUBST padroesldentificados put SVERBO text 2 2 M todo As classes UML podem ser identificadas com nome simples ou composto atrav s dos padr es S
68. J gt Livro Texto dos Minicursos ERCEMAPI 2010 Escola Regional de Computa o Cear Maranh o Piau IV Escola Regional de Computa o Cear Maranh o Piau 11 e 12 de novembro de 2010 Sobral CE Livro Texto dos Minicursos Editora Sociedade Brasileira de Computa o SBC Organizadores l lis Cavalcante de Paula J nior Andr a Carneiro Linhares Realiza o Universidade Federal do Cear UFC Promo o Sociedade Brasileira de Computa o SBC Escola Regional de Computa o Cear Maranh o Piau 2010 Sobral CE Escola Regional de Computa o Cear Maranh o Piau livro texto dos minicursos 11 e 12 de novembro de 2010 livro eletr nico organizadores l lis Cavalcante de Paula J nior Andr a Carneiro Linhares Sobral Sociedade Brasileira de Computa o SBC 2010 142p il livro eletr nico Realiza o Universidade Federal do Cear UFC Promo o Sociedade Brasileira de Computa o SBC ISBN 978 85 7669 251 5 1 Computa o Ci ncia da Computa o Paula J nior l lis Cavalcante de II Linhares Andr a Carneiro Ill Titulo CDD 004 1 Pref cio A Escola Regional de Computa o Cear Maranh o Piau ERCEMAPI um even to anual realizado desde 2007 cujo objetivo promover a dissemina o de conheci mentos e experi ncias agregando isso s institui es de ensino superio
69. Os espa os de mem ria global constante e textura s o otimizados para diferentes usos Mem ria de textura ofer ece diferentes modos de endere amento bem como filtragem para espec ficos tipos de 26 dados Mem ria global constante e textura s o persistentes entre as execu es de kernels na mesma aplica o 2 2 3 Programa o Heterog nea O modelo de programa o CUDA assume que as threads executam em um dispositivo fisicamente separado como pode ser observado na Figura 2 6 Dispositivo esse que fun ciona como um co processador para o host que executa o programa em C Este o caso por exemplo quando os kernels executam em uma GPU e o resto do programa C exe cutado em uma CPU Programa em C Execu o Sequencial C digo Serial Kernel Paralela Kernel1 C digo Serial Kernel Paralela Kernel2 Figura 2 6 Programa o Heterog nea O modelo de programa o CUDA pressup e que o host e o dispositivo mant m em separado seus pr prios espa os de mem ria na DRAM referenciados como mem ria 27 do host e mem ria do dispositivo respectivamente Portanto um programa administra es pa os de mem ria global constantes e texturas vis veis para kernels atrav s de chamadas CUDA Este dispositivo inclui aloca o e desaloca o de mem ria bem como a transfer ncia de dados entre a mem ria do host e a do dispositivo 2 3 OpenCL Por limita es f sicas desenvolvedores deixaram a cor
70. R que ser descrita em detalhes na pr xima se o 5 3 A Ferramenta ANTLR O ANTLR ANother Tool for Language Recognition uma ferramenta desenvolvida por Terrence Parr utilizada na constru o de compiladores tradutores interpretadores e reconhecedores Atualmente na vers o 3 o ANTLR um software livre lan ado sobre a licen a BSD que vem sendo utilizado principalmente para constru o de tradutores e interpretadores para Linguagens de dom nio espec fico Seu download pode ser feito em http www antlr org Al m do ANTLR pode se obter o ANTLRWorks uma IDE espec fica para edi o e debug e plug ins para IDEs j conhecidas como Eclipse Netbeans e Visual Studio O ANTLR utiliza um analisador sint tico descendente recursivo LL para reconhecer linguagens especificadas atrav s de gram ticas livres de contexto expressadas atrav s de EBNF Extended Backus Naur Form O ANTLR suporta v rias linguagens alvo como Java C Python e outras Uma gram tica uma sequ ncia de regras que descreve a estrutura de uma linguagem especificada A nota o de gram tica utilizada pelo ANTLR derivada da EBNF e baseada no YACC http dinosaur compilertools net yacc index html onde regras come am com letra min scula e tokens com letra mai scula O ANTLR trabalha com quatro tipos de gram ticas l xica lexer sint tica parser rvore tree e combinada l xica sint tica A Figura 2 mostra o processo compl
71. Redhat atrav s do gerenciador de pacotes YUM e distribui es baseadas em Debian atrav s do gerenciador de pacotes APT Uma alternativa instala o atrav s de pacotes que mais complicado utili zando a vers o mais recente da distribui o Ubuntu Linux o Ubuntu Enterprise Cloud UEC que fornece suporte completo para a execu o de cloud baseada em Eucalyptus O Ubuntu Enterprise Cloud UEC uma nova iniciativa de software livre da Ubuntu para facilitar a implementa o configura o e o uso de infraestruturas de cloud compat veis com a interface dos servi os de providos pelo Amazon WS 4 EC2 e S3 Inicialmente fa a o download da vers o mais recente do Ubuntu UEC no mo mento a 10 04 grave em um CD selecione um computador para ser o CC CLC SC e Walrus Este computador sera chamada daqui para frente de frontend Ao iniciar o frontend com o CD do Ubuntu UEC escolha a op o Install Ubuntu Enterprise Cloud conforme mostrado na Figura 8 6 Os demais passos s o os passos normais de uma instala o Linux detec o do layout do teclado formata o das parti oes muitas coisas s o feitas autom ticas e ser o detalhadas apenas os passos referente configura o do servi os de cloud ubuntu Install Ubuntu Enterprise Cloud Figura 7 6 Instala o Eucalyptus Ubuntu UEC Ap s o passo de configura o do nome do host o instalador ira informar que n o encontrou nenhum Cloud Controller na red
72. Saber conviver com o risco e tirar proveito das oportunidades s o as caracter sticas mais presentes da atividade empresarial o que define realmente o perfil do empreendedor Ao contr rio da maioria das pessoas o empreendedor otimista e persistente V nas amea as grandes oportunidades e a partir delas criam ousam e trabalham para construir o sucesso com suas pr prias m os Diversas caracter sticas de personalidade que marcam o perfil do empreendedor podem ser denominadas qualidades essenciais ao sucesso do empreendedor e conseqiientemente da empresa Mas o que significa Perfil do empreendedor de sucesso Por que identifica lo 2 O perfil do empreendedor baseado num conjunto de fatores de comportamentos e atitudes que contribuem para o sucesso Estes conjuntos podem variar de lugar para lugar E a identifica o do perfil do empreendedor de sucesso feita para que se possa aprender a agir adotando comportamentos e atitudes adequadas Mas importante ter consci ncia de que ainda n o se pode estabelecer uma rela o absoluta de causa e efeito Ou seja se uma pessoa tiver tais caracter sticas certamente vai ter sucesso O que se pode dizer que se determinada pessoa tem as caracter sticas e aptid es mais comumente encontradas nos empreendedores mais chances ter de ser bem sucedida A literatura sobre empreendedorismo tem a particularidade de reunir id ias de diversos estudiosos das ci ncias humanas para explic
73. Support Yes 6 Configuration JSON Support Yes configuration php Writeable Yes ported to do 3 License 7 Finish Recommended settings Directive Recommended Safe Mode off Display Errors Off File Uploads o Magic Quotes Runtime off Register Globals off Output Buffering off Session Auto Start off E 89999987F Joomla is free software released under the GNU General Public License Figura 3 2 Verifica o da instala o No passo seguinte terceiro aparecer uma tela explicando os termos da licen a de uso do Joomla a GNU General Public License Feita a leitura pode se clicar em Next O passo quatro consiste na configura o do acesso ao banco de dados Devem ser fornecidos os dados que a hospedagem do site forneceu ou os dados obtidos a partir da instala o do Apache Alguns servidores permitem que se tenha mais de um banco de dados configurado Nesse caso necess rio cri los e fornecer os dados ao Joomla Em caso de servidores locais o Joomla geralmente tem permiss o para criar o banco Assim resta fornecer um nome que o pr prio Joomla poder cri lo O passo cinco corresponde configura o do acesso por ftp com as informa es fornecidas pela hospedagem do site mesmas configura es usadas para montar o site no servidor No passo seis deve se entrar com o nome do site e dados pessoais Deve se ter especial aten o com a senha pois a mesma ser de administrador v lido ressa
74. UBST ADJ padroesldentificados put SSUBST text SADJ text 3 3 Classe nome composto 97 SUBST padroesldentificados put SSUBST text 4 4 Classe nome simples Em todas as regras uma a o para armazenar o elemento UML identificado em uma tabela de s mbolos executada Finalmente um padr o gramatical sem nenhuma a o associada definido com o objetivo de desconsiderar os trechos de texto que n o casam com nenhum dos padr es descritos na gram tica Esta regra ART ADJ VERBO PREP PRON CONJ PALAVRA NUM VIRGULA DOISPONTOS PONTO E importante destacar que a ordem em que os padr es s o definidos de suma import ncia para a identifica o correta dos elementos UML Note que se a ltima regra fosse colocada no in cio nenhum padr o do tipo m todo seria reconhecido A seguir apresenta se um exemplo de requisitos de software ver Figura 7a com os elementos UML identificados pelo prot tipo desenvolvido ver Figura 7b Uma loja de CDs possui CDs para venda e para loca o ia Identificador elementos UML bini md E x Arquivo Ferramentas E E E o Um cliente pode comprar ou locar uma A re rt A Resultado da an lise quantidade ilimitada de CDs Classes Atributos M todos Para locar obrigat rio que o cliente esteja ee ER e cadastrado em a loja ou seja tenha E pas preenchido uma ficha de cadastro que deve loja telefone client ser reno
75. Um ladoTres amp amp ladoUm ladoDois ladoDois ladoTres amp amp ladoDois ladoUm i return isosceles else return escaleno else return invalido Figura 4 13 M todo tipo identificando os tipos de triangulo Como pode ser visto no exemplo acima o c digo foi desenvolvido com base nos testes que foram criados Tamb m pode ser percebido que os testes eram at micos e independentes No caso cada parte testada independente do resultado dos outros testes e cada parte a menor que pode ser separada Pode se notar que o software foi desenvolvido de uma melhor forma com mais cautela e sempre tentando atender aos testes Com isso fica mais f cil desenvolver sem perder o objetivo do projeto Al m disso o custo e o tempo de desenvolvimento tendem a ficar menores por conta da elimina o do retrabalho e facilidade para se encontrar qualquer problema em eventuais necessidades de altera o 66 4 2 2 Problemas do Desenvolvimento Dirigido por Testes O TDD uma t cnica bastante utilizada pela comunidade atualmente Ele possibilita uma s rie de caracter sticas desej veis como melhora documenta o garante boa cobertura do teste facilita manuten o etc Por m eles s o feitos pelos desenvolvedores geralmente utilizando uma ferramenta de programa o Embora isso n o seja uma desvantagem normalmente torna se bastante complicado para um cliente ajudar no desenvolvimento via TDD
76. a 61 Como foi dito anteriormente o c digo s pode ser escrito ap s os testes terem sido criados A classe de teste foi criada por m os testes n o foram implementados Ser necess rio importar inicialmente dois pacotes sendo um deles o org junit Test e o segundo que deve ser importado estaticamente o org junit Assert Esses pacotes que foram importados servem respectivamente para identificar um m todo que ser interpretado como um caso de teste e para poder invocar m todos de asser o provenientes da ferramenta de teste denominada JUnit Gamma e Beck 2010 Esses m todos ser o invocados para a compara o dos resultados esperados com os obtidos no teste Ap s importar esses pacotes pode se iniciar a codifica o dos testes Para identificar um m todo que testar alguma fun o da aplica o necess rio colocar antes dele a express o Test O m todo a ser criado deve ser p blico n o deve retornar nada void e o seu nome deve identificar de forma clara o que se est testando Por exemplo a classe TesteTriangulojava ter um m todo public void trianguloEquilatero onde ser testado se um determinado tri ngulo egiiil tero Isso pode ser verificado na Figura 4 1 1 package teste am 35import static org junit Assert 4 import org junit Test 6 public class TesteTriangulo Test public void trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals equilate
77. a essa funcionalidade est funcionando conforme foi definida durante o ATDD FrontPage TestTableLogin 1 Test RESULTS history Tests Assertions 4 right O wrong O ignored O exceptions siga import fixtures LoginFixture login senha mensagem admin admin Entrada no sistema efetuada com sucesso admin errada N o foi possivel realizar a entrada no sistema errada admin N o foi poss vel realizar a entrada no sistema Figura 4 35 Resultado da execu o do teste 80 4 4 Conclus es O futuro do desenvolvimento de software est vinculado intimamente com a qualidade e para obt la fundamental a utiliza o de testes Partindo desse preceito pressup e se que a nova proposi o de Acceptance Test Driven Development ter cada vez mais aceita o no mercado e na academia e como tal pesquisas e ferramentas devem ser criadas para o aperfei oamento desse prop sito A ferramenta FitNesse um exemplo dessa iniciativa ressaltando o ATDD t cnica ainda nova mas em evolu o No entanto analisando seu funcionamento foi poss vel observar que existem mecanismos para facilitar o trabalho dos desenvolvedores facilitando tamb m o uso da ferramenta e do pr prio ATDD Neste trabalho apresentamos os princ pios e conceitos do Desenvolvimento Dirigido por Testes al m de um exemplo utilizando o em um desenvolvimento de uma simples aplica o A partir dessa apresenta o mudamos o foco para o D
78. a region rgTela gt lt descriptor id descVideol region rgVideoli gt lt descriptorBase gt lt head gt Listagem 1 3 Defini o de descritores Deve se ao definir um descritor atribuir um nome nico ao atributo id para ser utilizado nas refer ncias ao descritor e associar ao atributo region uma regi o onde se deseja que a m dia associada seja apresentada Al m desses atributos podemos definir a dura o ideal do objeto de m dia associado ao descritor atrav s do atributo explicitDur ou at definir efeitos de transa o para in cio e termino da apresenta o de uma m dia atrav s dos atributos transIn e transOut respectivamente A NCL define ainda dentro de um elemento de descritor um elemento chamado descriptorParam O descritptorParam define um par metro do descritor como um par lt propriedade valor gt onde se pode ajustar propriedades como volume soundLevel no caso de uma m dia que contem udio ou tamb m a intensidade da transpar ncia transparency de um uma imagem Abaixo na listagem 1 4 segue um exemplo de como utilizar o descriptorParam lt descriptor id descVideol region rgVideol gt lt descriptorParam name soundLevel value 0 5 gt lt descriptor gt Listagem 1 4 Defini o de um par metro de descritor Dentre os par metros reservados para descritores podem se destacar os seguintes fit Modificar a m dia especialmente v deo e imagem para que m
79. a 1 6 Beez sem nenhum conte do No canto superior direito do template temos uma op o para aumentar resetar ou diminuir 46 o tamanho do site Ainda na mesma figura tem se uma imagem seguida por onde voc esta que indica a hierarquia do diret rio onde o usu rio se encontra Na parte esquerda da figura encontramos os menus Nesse exemplo espec fico s temos o home um menu padr o para a p gina principal do site e logo abaixo o login form Mais direita ainda na mesma figura temos a chamada rea principal onde aparecem os artigos marcados para serem exibidos na home Na parte inferior da tela temos um rodap As altera es no template do backend tamb m podem ser efetivadas no mesmo local que as do frontend O template padr o da instala o figura 4 4 o bluestork No Joomla tem se um Gerenciador de Temas que pode ser acessado em Extens es gt Gerenciador de Temas Nele podemos visualizar os templates instalados bem como selecionar o padr o e edit los Para escolher o template padr o seleciona se o template desejado e clica se em padr o ou marca se o template de sua prefer ncia na coluna pa dr o Podem ser observadas duas estrelinhas cada qual indicando o template padr o da backend e o da frontend Esse processo feito com a aba estilos selecionada Podemos editar algumas op es b sicas do template selecionado que se deseja alterar Clica se em editar As op es que aparecem variam e
80. a ferramenta exatamente o que precisamos para fazer a liga o do teste de aceita o especificado na FitNesse com a aplica o a ser testada import com thoughtworks selenium SeleneseTestCase public class LoginFixture extends SeleneseTestCase private String login private String senha public LoginFixture throws Exception this setUp public void setLogin String login this login login public void setSenha String senha this senha senha public String mensagem return this efetuarLogin login senha public void setUp throws Exception setUp https sistemas ufpi br chrome public String efetuarLogin String login String senha selenium open capriovi selenium type login login selenium type senha senha selenium click submit selenium waitForPageToLoad 30000 return selenium getText div id content div 2 span Figura 4 34 Fixture com codigo do Selenium 79 A Figura 4 34 exibe o c digo da fixture do sistema a ser testado juntamente com o c digo do Selenium Essa classe que vai fazer a liga o entre os testes e o software deve ter o mesmo nome especificado na tabela TestTableLogin no caso LoginFixture Deve possuir tamb m os m todos setters para atribui o de valores para as vari veis com os nomes das colunas de entrada de dados login e senha e um m todo mensagem que retorne uma string a ser comparada com o resultado espera
81. a project org Quando os arquivos estiverem no local correto a interface de instala o do Joomla poder ser acessada pelo browser A instala o dividida em sete passos 1 Escolha do idioma 2 Verifica o da instala o 3 Licen a 4 Banco de dados 5 Configura o de FTP 6 Configura es gerais 7 Finaliza o O primeiro passo consiste na escolha do idioma Caso n o esteja dispon vel o idioma de sua prefer ncia a se o 4 8 ir descrever como adicionar pacotes de idiomas e modific lo No segundo passo o Joomla verifica se est tudo correto e mostra uma lista de verifica o E importante analisar atentamente as configura es realizadas e assim 44 evitar erros comuns como por exemplo n o configurar adequadamente as permiss es necess rias pasta em que se encontra o Joomla Ser destacado em vermelho qualquer problema identificado pelo Joomla e ap s corrigi los deve se clicar em Check Again e verificar se o problema foi realmente sanado Joomla 1 6 0 Installation Steps Pre Installation Check Check Again C C Previous Next 1 Language Pre installation check for Joomla 1 6 0 Beta11 Hope 20 Sep 2010 23 00 GMT E PRN ton R marked as No then please take so could lead to your Joomla PHP Version gt 5 2 4 Yes ud Zlib Compression Support Yes XML Support Yes 4 Database MYSQL Support Yes MB Language is Default Yes 5 FTP Configuration MB String Overload Off Yes INI Parser
82. acionais e hardwares diferentes Como dito anteriormente o Ginga o middleware do SBTVD Definido basicamente por pesquisadores das universidades UFPB e PUC RJ com participa o de pesquisadores da UFRN e UERN ele est dividido em tr s partes O Ginga NCL Ginga J e Ginga Common Core como exemplificado na arquitetura da Figura 1 Ginga NCL Java TV DVB XHTML Davi Havi NCL LUA j Extens es Ginga Figura 1 1 Arquitetura do Ginga Como podemos ver na Figura 1 as aplica es escritas usando o Ginga NCL pode utilizar tags NCL tags HTML e scripts escritos na linguagem Lua J a parte Ginga J permite escrever programas usando a linguagem Java Ainda permitido a cria o de programas h bridos no sentido de serem implementados em NCL e Java Pois o Java pode ser considerado como uma m dia do NCL e o Java pode manipular o NCL A seguir entraremos em maiores detalhes sobre o Ginga NCL e o Ginga J 1 3 Aplica es para TVDI As aplica es de TV Digital Interativa podem estar ou n o semanticamente associadas ao conte do do udio ou v deo principal Adicionalmente elas podem definir ou n o rela es de sincronismo entre objetos de m dia que a comp em entre eles o conte do principal v deo e udio Uma aplica o de correio eletr nico por exemplo est sempre dispon vel e n o possui rela o sem ntica com o conte do televisivo exibido Por outro lado uma aplica o que calcula o n vel de
83. ade h um cuidado a ser tomado com a modifica o do conte do de um endere o de mem ria por dois ou mais itens de trabalho O fato de serem independentes implica na imprevisibilidade do resultado de m ltiplas grava es simult neas em um mesmo ponto pois inicialmente n o h um controle de preced ncia 30 Mem ria do Host Mem ria global Mem ria constante E EEEE Mem ria local Mem ria local e rm ne Mem ria privada Memoria privada Mem ria privada Mem ria privada Unit Unit Unit Unit Figura 2 10 Esquema da arquitetura da memoria e acesso O OpenCL em uma de suas extens es oferece como solu o o uso de fun es at micas ao acessar um endere o de mem ria o mesmo bloqueado temporariamente para garantir a integridade de seu conte do alterando o para posteriormente liberar seu acesso para a manipula o por qualquer outra unidade elementar A Khronos Corp disponibilizou algumas fun es b sicas entre elas incremento soma e troca que s o as mais usuais Atrav s das mesmas poss vel gerar um sinalizador com um vetor cujos ndices representam determinados locais de mem ria indicando seu estado atual de ocu pa o Tal t cnica pode gerar uma pequena perda de desempenho por usar a mem ria global na maioria dos casos 2 3 5 Sincronismo Por permitir o uso de muitos dispositivos em conjunto em um mesmo programa til para filas de comandos distintas
84. adores no s culo passado as linguagens de programa o se tornaram o foco principal das pesquisas sobre linguagens Noam Chomsky nos anos 60 prop s uma classifica o para as linguagens que ficou conhecida como Hierarquia de Chomsky Desde ent o diversas linguagens de programa o t m sido criadas para resolver problemas em determinadas reas a saber Cobol programa o comercial Fortran computa o num rica e Lisp processamento simb lico Por m novas linguagens foram criadas exemplo Algol Basic Pascal C e gradualmente elas evolu ram para linguagens de prop sito geral Nos anos 90 surgiram as linguagens orientadas a objetos que admitem um estilo de programa o no qual um programa consiste em uma cole o de objetos que interagem uns com os outros S o exemplos dessas linguagens C Java e Ruby No entanto elas ainda s o linguagens de prop sito geral A pergunta Qual a melhor linguagem de programa o esteve sempre presente nas discuss es e eventos cient ficos da comunidade de computa o e inform tica por m nunca se chegou a uma resposta determin stica e a frase depende da aplica o passou a fazer parte das respostas da maioria dos pesquisadores A Figura 1 apresenta a Hierarquia de Chomsky e suas inclus es pr prias com destaque para a classe das linguagens livre de contexto vez que elas permitem uma representa o simples da sintaxe que adequada tanto para a estrutura o formal
85. ae Spreadsheet to Fttlesse FitNesse to Spreadsheet format wrap Figura 4 21 Exemplo de edi o de tabela definida pelo cliente gt FrontPage Es TesteTriangulo nuaa Test Triangulo Edit ladoUm ladoDois ladoTres tipo properties 3 3 3 equilatero 4 isosceles Refactor t Where Used 3 3 3 4 5 escaleno 1 2 3 invalido Search Files Versions Recent Changes User Guide Test History Figura 4 22 Exemplo de edi o de tabela definida pelo cliente Nesse momento entra em cena a figura do desenvolvedor que ser respons vel por criar a liga o da tabela com a implementa o a ser testada Para isso o desenvolvedor deve modificar a tabela de teste que ser usada como exemplo para execu o do teste de aceita o para o programa de classifica o de tri ngulos Esse passo necess rio devido a tabela necessitar de possuir algumas peculiaridades para ser poss vel criar a liga o com o c digo A p gina exibida na Figura 4 23 apresenta as modifica es do desenvolvedor para incluir marcadores espec ficos da FitNesse O primeiro marcador o comando define utilizado para especificar o estilo de tabela que ser utilizado nesse caso uma tabela SLIM Simple List Invocation Method ou seja uma lista simples de invoca o de m todos amp TesteTriangulo ES Ema 72 Figura 4 23 Exemp
86. aleno Figura 4 10 Classe de teste com m todo de teste do escaleno falho 65 public String tipo if ladoUm ladoDois amp amp ladoDois ladoTres return equilatero else if ladoUm ladoDois amp amp ladoUm ladoTres ladoUm ladoTres amp amp ladoUm ladoDois ladoDois ladoTres amp amp ladoDois ladoUm return isosceles else return escaleno Figura 4 11 M todo tipo alterado Existe ainda a possibilidade de se ter valores inv lidos para a cria o de um tri ngulo Para esses casos deve haver a verifica o se um lado menor do que a soma dos demais e maior do que a soma dos outros dois As duas imagens abaixo mostram como ficariam os m todos na classe de teste e na classe principal com a devida adi o dos testes e do novo c digo classe Test public void trianguloEInvalido i Triangulo triangulo new Triangulo 1 2 3 assertEquals invalido triangulo tipo Figura 4 12 M todo de teste de triangulo invalido public String tipo if ladoUm lt ladoDois ladoTres amp amp ladoUm gt ladoDois ladoTres amp amp ladoDois lt ladoUm ladoTres amp amp ladoDois gt ladoUm ladoTres amp amp ladoTres lt ladoUm ladoDois amp amp ladoTres gt ladoUm ladoDois if ladoUm ladoDois amp amp ladoDois ladoTres return equilatero else if ladoUm ladoDois amp amp ladoUm ladoTres lado
87. aliza o 10 O c digo se baseia seguindo em etapas como podemos ver na Figura 2 12 A ini cializa o de classes com pixels centrais utilizando os primeiros elementos da imagem ou definindo os aleatoriamente Todos os pontos da imagem s o testados verificando sua proximidade de cada classe atrav s da dist ncia euclidiana em cubo de cores tridimen sional O pixel agrupado e o algoritmo se repete at que os pixels n o mudem de classes ou ap s um n mero de loops pr determinado Ao final os pixels da imagem s o substi tu dos pelos centros de seus agrupamentos Por utilizar loops com altos n meros de repeti es o mesmo requer alta capaci dade processamento o que o faz ser alvo de processamento paralelo obtendo os resulta dos esperados com maior velocidade garantindo uma boa execu o no setor da rob tica ambiente ideal para desenvolvimento do OpenCL O algoritmo K Means foi implementado e as an lises foram realizadas utilizando como dispositivo GPU uma nVidia GeForce 8400 GS como host um Intel Quad Core 2 Quad Q8400 e a imagem original exibida na Figura 2 13 possuindo 256 pixels de largura e 192 pixels de altura A Figura 2 14 abaixo mostra os resultados obtidos em um algoritmo para o frame work realizado em uma imagem totalizando 49152 pixels em n mero de loops da im plementa o e segundos para execut la desconsiderando os 4 segundos iniciais para compilar as fun es no in cio do software A inicial
88. ap tulo Tradu o e interpreta o de linguagens de dom nio espec fico com a ferramenta ANTLR Cairo Antonio Oliveira Rocha e Raimundo Santos Moura Abstract The ANTLR tools ANother Tool for Language Recognition is a parser generator that automates the construction of language recognizers It uses has been growing throughout the computer community ANTLR comes with complete source under the BSD license that has been used to build translators and interpreters for domain specific languages DSLs DSLs are languages that offer through appropriate notations and abstractions expressive power focused on and usually restricted to a particular problem domain DSLs are particularly important to software development because they represent a more natural high fidelity robust and maintainable means of encoding a problem than simply writing software in a general purpose language like C C or Java The main objective of this work is present an overview about DSLs and a tutorial of ANTLR tools in the computer language context Keywords Domain Specific Languages DSL Language Recognition ANTLR Tools Resumo A utiliza o da ferramenta ANTLR ANother Tool for Language Recognition na constru o de tradutores interpretadores e reconhecedores de linguagens vem crescendo em toda a comunidade da computa o O ANTLR um software livre lan ado sobre a licen a BSD que vem sendo utilizado principalmente para constru o de tradutores
89. ar o processo de empreender e estabelecer o perfil dos empreendedores de sucesso mas parece que nenhuma delas consegue explicar como e por que as novas organiza es s o fundadas Isso talvez se 104 Justifique pelo fato de que os empreendedores n o representam um grupo homog neo e surgem em contextos sociais diferentes e por isso os modelos propostos n o conseguem abarcar as diferentes formas de operar um neg cio e torn lo bem sucedido As teorias de base econ mica que atribuem ao empreendedorismo fator importante para desencadear processos de crescimento e desenvolvimento econ mico associaram o empreendedor inova o criatividade e capacidade de assumir riscos moderados O empreendedor como o principal agente do desenvolvimento interfere no equil brio ou in rcia do mercado provocando mudan as capazes de gerar prosperidade econ mica 6 2 Identificando e Analisando Oportunidades Identificar uma oportunidade o primeiro passo para uma pessoa que quer se tornar um empreendedor e primordial saber diferenciar oportunidade de id ia Segundo o Dicion rio Aur lio oportunidade ocasi o ensejo lance circunst ncia adequada ou 62 favor vel conveni ncia Por sua vez id ia a representa o mental de uma coisa concreta ou abstrata elabora o intelectual concep o FERREIRA 1999 A oportunidade para o empreendedor a concep o da id ia a id ia por si s n o produz se n
90. ara um novo Sistema Operacional poss vel manter o sistema operacional antigo sendo execu tado em uma m quina virtual o que reduz os custos com a migra o Vale ainda lembrar que a virtualiza o pode ser til para aplica es que s o executadas em hardware legado que est sujeito a falhas e tem altos custos de manuten o Com a virtualiza o desse hardware poss vel executar essas aplica es em hardwares mais novos com custo de manuten o mais baixo e maior confiabilidade Por outro lado existem as desvantagens da virtualiza o sendo as principais e Seguran a Segundo Neil MacDonald especialista de seguran a da Gartner hoje em dia as m quinas virtuais s o menos seguras que as m quinas f sicas justamente por causa do VMM 1 Este ponto interessante pois se o sistema operacional hospedeiro tiver alguma vulnerabilidade todas as m quinas virtuais que est o hos pedadas nessa m quina f sica est o vulner veis j que o VMM uma camada de software portanto como qualquer software est sujeito a vulnerabilidades 124 e Gerenciamento Os ambientes virtuais necessitam ser instanciados monitorados configurados e salvos 1 Existem produtos que fornecem essas solu es mas esse o campo no qual est o os maiores investimentos na rea de virtualiza o justamente por se tratar de um dos maiores contra tempos na implementa o da virtualiza o Vale lembrar que o VMWare a plataforma mais
91. arketing fruto de sua origem em um congresso chamado Web 2 0 promovido pelo editor de livros Tim O Reily A Internet sempre apresentou caracter sticas interativas o refor o deste aspecto seria um movimento natural do meio n o oferecendo motivos para a denomina o dessa fase como uma segunda gera o Tal fato exigiria que houvesse um rompimento de todas as id ias e caracter sticas da primeira gera o o que n o aconteceu A Internet nada tem a ver com marketing ou mercado de massa Ela sobre pessoas indiv duos com aspira es necessidades desejos e base cultural nicos N o se trata de um mercado de 60 milh es de pessoas mas de 60 milh es de mercados de uma s pessoa VASSOS 1997 Sites voltados ao social como o Orkut LinkedIn MySpace Youtube e o Facebook e atualmente o Twitter fizeram com que meados de 2006 e 2009 fosse denominado o ano da Web social em decorr ncia do enorme sucesso desse g nero Tamb m foi observado um avan o na rea tecnol gica da Internet com a expans o e dissemina o dos blogs e wikis de todos os assuntos poss veis Com mais de 600 milh es IBOPE NETRANKING 2010 de usu rios de Internet hoje seu crescimento foi grandioso e continua guiado entre outras raz es pela difus o e o est mulo do acesso Rede de forma massificada e pelo cont nuo ingresso de empresas ind strias e servi os que se utilizam das vantagens de custos e fac
92. associando seu trabalho software a esta te m tica mas diversas propriedades devem ser obedecidas para o ambiente ser considerado de fato uma cloud Segundo a NIST National Institute of Standards and Technology cinco propriedades essenciais devem estar presentes em um projeto de cloud Essas pro priedades s o e Auto atendimento sob demanda on demand self service o usu rio pode acessar os recursos da cloud e requisitar de acordo com a sua demanda a quantidade de recursos que ser disponibilizada O custo financeiro desta requisi o do usu rio poder ser diretamente proporcional a quantidade de recursos requisitados Se o usu rio n o puder dizer o que precisa o ambiente perder for a para ser considerado como uma cloud e Amplo acesso a rede broad network access por ser utilizada por uma grande quantidade de usu rios e por depender de infra estrutura de comunica o adequada para sua execu o o ambiente deve possuir capacidade suficientemente grande para receber acessos simult neos provenientes de diferentes origens Um investimento reduzido na infra estrutura de rede da cloud pode se tornar um gargalo para a sua utiliza o e Resource pooling em uma cloud diversos recursos computacionais como ser vidores s o disponibilizados para os usu rios de forma transparente O usu rio requisita da cloud o que ele deseja e a mesma retorna para ele a demanda requisi tada O usu rio n o precisa saber que servidores est
93. automa o do teste definido na Figura 4 21 foi desenvolvida uma classe Java para funcionar como fixture para o teste Ela deve ser chamada de TrianguloFixture Figura 4 26 devido ao t tulo utilizado na tabela do teste Figura 4 24 74 package fixture import entidade Triangulo public class TrianguloFixture private int ladoUm private int ladoDois private int ladoTres public void setLadoUm int ladoUm this ladoUm ladoUm public void setLadoDois int ladoDois this ladoDois ladoDois public void setLadoTres int ladoTres this ladoTres ladoTres public String tipo i Triangulo triangulo new Triangulo ladoUm ladoDois ladoTres return triangulo tipo Figura 4 26 Exemplo de codigo de fixture A Figura 4 26 exibe um exemplo de fixture para o teste contido na pagina TesteTriangulo Figura 4 24 Quando solicitada a execu o dos testes contidos nessa p gina a partir do acionamento do bot o Test uma inst ncia da classe TrianguloFixture criada A FitNesse automaticamente cria essa classe e invoca os m todos de atribui o de valores existentes setters para que os dados de entrada sejam utilizados Da mesma forma ao encerrar a atribui o dos dados de entrada invocado o m todo de verifica o do resultado No caso da classe em quest o o m todo tipo o respons vel pelo retorno uma vez que ele foi especificado utilizando um marcador 7 que indica Justamente isso justam
94. belas entrada e sa da de dados fun es matem ticas pacotes sistema operacional depura o e uma biblioteca com fun es b sicas para a linguagem A forma de integra o entre os objetos NCLua e os documentos NCL atrav s do paradigma orientado a eventos por isso a linguagem precisou ser estendida para tal integra o Al m das bibliotecas padr o foram adicionados os seguintes m dulos para serem utilizados nos scripts NCLua e M dulo Canvas oferece uma API que permite a altera o e manipula o de primitivas gr ficas e imagens e M dulo Event permite que aplica es NCLua tornem se orientadas a eventos e M dulo Settings permite a manipula o de vari veis definidas em um documento NCL e em vari veis reservadas de um objeto do tipo aplication x ginga settings e M dulo Persistent permite que vari veis persistentes sejam acessadas e manipuladas por objetos imperativos Um script NCLua pode interagir com diversas entidades tais como eventos do controle remoto eventos do canal de interatividade documentos NCL etc Para que essa comunica o ocorra pelo menos uma fun o tratadora deve ser registrada no script NCLua atrav s da fun o event register listagem 1 29 function handler evt fun o que trata os eventos end vent register handler registro da fun o tratadora Listagem 1 29 Registro de uma fun o tratadora de eventos Um evento definido atrav s d
95. cado e An lise de Margem DORNELAS 2003 Ao analisar o primeiro M Demanda de Mercado o empreendedor deve procurar responder as seguintes quest es Qual a audi ncia alvo Qual a durabilidade do produto servi o no mercado ciclo de vida Os clientes est o acess veis Como os clientes v em o relacionamento com a minha empresa 105 O potencial de crescimento deste mercado alto O custo de capta o do cliente recuper vel no curto prazo O segundo M Tamanho e Estrutura do Mercado est relacionado a outras quest es cr ticas O mercado est crescendo emergente fragmentado Existem barreiras propriet ria de entrada Ou excessivos custos de sa da Quantos competidores empresas chave est o no mercado Eles controlam a propriedade intelectual Em que est gio do ciclo de vida est o produto Qual o tamanho do mercado em R e o potencial para se conseguir uma boa participa o de mercado Como a ind stria est segmentada quais s o as tend ncias que eventos influenciam os cen rios J no terceiro M de An lise de Margem aplicam se as seguintes quest es e atividades Determine as for as do neg cio Identifique as possibilidades de lucro Analise os custos Mapeie a cadeia de valor do neg cio Procure saber como seu produto servi o chega at o cliente final Os 3Ms s o abrangentes e envolvem quest es cr ticas que se re
96. cem nos elos que utilizam o conector e ainda define condi es condition sob as quais o elo pode ser ativado e as a es action que ser o realizadas quando o elo for ativado Conceitualmente conectores podem representar qualquer tipo de rela o hiperm dia tal como rela es de referencia rela es de sincroniza o rela es sem nticas rela es de deriva o etc lt head gt lt connectorBase gt lt causalConnector id onEndStart gt lt simpleCondition role onEnd gt lt simpleAction role start gt lt causalConnector gt lt connectorBase gt lt head gt Listagem 1 10 Defini o de conector Acima na listagem 1 10 vimos que os conectores s o especificados no elemento lt connectorBase gt dentro do cabe alho lt head gt Um conector causal deve possuir pelo menos uma condi o e uma a o al m de um identificador nico para o atributo id O conector onEndStart indica a condi o sob a qual o elo ser ativado onEnd e qual a o start ser efetuada quando da ativa o do elo Usualmente os conectores s o criados apenas uma vez em um arquivo separado para depois serem importados e reutilizados por diversas aplica es NCL Ao importar um conector especificamos um apelido alias base de conectores para que seja referenciado quando da cria o de elos e definimos onde o documento NCL deve procurar pela base de conectores atrav s do atributo baseURI Para imp
97. da fun o no Design o de um contexto Aloca o de memoria no dispositivo Leitura dos dados Cria o uma fila de comandos Escrita dos dados Desaloca o da mem ria dispositivo Figura 2 7 Rotinas b sicas de um programa em OpenCL de mem rias alocadas e aborto da opera o A necessidade de colher informa es recai sobre uma caracter stica do framework a forma de compila o 2 3 2 Compila o A partir dos dados obtidos nas rotinas o programa compilado em tempo de execu o adequando o c digo OpenCL C Uma variante da linguagem C o que o torna amig vel facilitando seu estudo H o acr scimo de novos tipos em rela o a ISO C99 como os espec ficos para processamento de imagem e o booleano incorporado pela linguagem C e vetores de tamanhos variados para acelerar o processo de transfer ncia 4 5 Como ilustrado na Figura 2 8 na compila o para CPU gerado um c digo bin rio x86 onde em tempo de execu o determinado o n mero multi core do pro cessador distribuindo para os mesmos automaticamente Para GPUs gerado um c digo incompleto as bibliotecas do fabricante finalizam o trabalho e o execut vel para kernel enviado para o dispositivo 2 3 2 3 3 Funcionamento O paralelismo no framework se d pela proje o de fun es que s poder o ser invocadas pelo kernel do dispositivo e que ser o executadas em cada item de trabalho os quais s o independentes en
98. da Virtualiza o Total mais do uso de drivers gen ricos que inibiam o uso da capacidade total do dispositivo A arquitetura da para virtualiza o mostrada na Figura 8 3 Embora a para virtualiza o apresentasse um ganho de desempenho significativo frente virtualiza o total essa disparidade tem sido superada devido presen a de ins tru es de virtualiza o nos processadores Intel e AMD que favorecem a virtualiza o total Embora tenham sido desenvolvidas para o mesmo prop sito foram criadas de ma neira independente Por esse motivo h alguns problemas na portabilidade de m quinas virtuais de uma arquitetura Intel para a arquitetura AMD e vice versa Portanto tendo em vista as t cnicas de virtualiza o a decis o de qual melhor a t cnica de virtualiza o para um dado ambiente est intimamente ligada a qual o processa dor da m quina f sica que vai hospedar as m quinas virtuais bem como se o processador possui ou n o uma extens o no seu conjunto de instru es que suporte a virtualiza o 7 2 2 Cloud Computing Nesta se o ser o apresentadas as propriedades e caracter sticas essenciais de uma cloud e classifica es usuais nessa tem tica 126 Aplica o Aplica o Hardware Figura 7 3 Arquitetura da Para Virtualiza o 7 2 2 1 Propriedades No contexto atual da computa o muito se fala sobre Cloud Computing ou computa o em nuvem Diversos trabalhos e pessoas est o
99. de execu o em cada rea e onde esperam que ela esteja daqui a tr s anos Seguem os resultados 62 dos entrevistados pretendem dentro de tr s anos incentivar a inova o ou alcan ar a lideran a de mercado no apoio inova o Ainda assim 70 dizem que n o contemplam a inova o ou que sua capacidade moderada ou est apenas em evolu o Ao descrever as pr ticas de gest o de TI 52 dos entrevistados esperam tratar a TI como um investimento ou diferencial em tr s anos por m 72 a consideram uma fun o de apoio um meio de aumentar a produtividade ou um gasto de capital 117 67 dos entrevistados desejam ter comunica es integradas e colaborativas com as principais partes envolvidas mas somente 32 afirmam que j t m essa capacidade Embora apenas 51 dos entrevistados possuam estrat gia e modelo formais e amadurecidos de compras de TI 75 ambicionam t los dentro de tr s anos 60 dos entrevistados avaliam seu modelo de seguran a como inexistente limitado ou moderado contudo 75 almejam que ele seja de ltima gera o em tr s anos Na sociedade contempor nea caracterizada pela globaliza o a compet ncia quest o de sobreviv ncia Somente empresas que inovam sua postura diante dos clientes lan ando novos produtos investindo em novos processos produtivos valorizando e capacitando seus recursos humanos sobrevivem no mundo atual E a tecnologia entendida como o conheciment
100. dioma preferencial e quando efetuar login o joomla exibir automaticamente a op o previamente escolhida 3 9 Organiza o do conte do O Joomla 1 6 apresenta apenas categorias diferente da vers o 1 5 que tinha sess o e ca tegoria Categorias s o as divis es do conte do onde os artigos s o vinculados Pode se ter uma categoria dentro de outra o que implica num maior n mero de op es de n veis de conte do Essa inova o facilita a organiza o dos artigos que s o os conte dos em si onde ficam os textos e as imagens Todo artigo deve estar obrigatoriamente vinculado a uma categoria A vers o 1 6 inclui uma categoria para que os artigos possam ser adi cionados Se ela for apagada ser necess rio criar outra categoria para poder adicionar artigos 3 10 Grupos de Usu rios Uma das maiores novidades do Joomla 1 6 a nova camada de ACL Acess Control List ou Lista de Controde de Acesso que permite atribuir grupos aos usu rios e determinar o que cada grupo pode fazer Al m disso existe a op o de adicionar ou editar n veis de acesso Na vers o 1 5 existia apenas tr s n veis de acesso e P blico formado pelos usu rios que n o estavam logados e Registrado usu rios que estavam logados no site mas tinham acesso apenas frontend e n o podiam publicar ou editar e Especial formado pelos usu rios que eram classificados como autores editores publishers ou administradores Os n veis acima citado
101. do ap s o termino da insta o a infraestrutura privada estara pronta para uso 134 Figura 7 9 Instala o Eucalyptus Endere amento dos N s Figura 7 10 Instala o Eucalyptus Configura o Node Controller 7 3 3 Gerenciamento da Cloud com o Eucalyptus Ap s a instala o b sica um frontend CC CLC SC e Walrus e um n NC a infraestrura fornecida pelo Eucalyptus estara pronta para uso A administra o e o gerenciamento podera ser feito WEB ou via linha de comando Uma interface de administra o do Eucalyptus fornecida pelo frontend na porta 8443 Devemos acessar esse servi o atrav s de um navegador web requisitando o seguinte endere o https 192 168 142 135 8443 onde 192 168 142 135 dever ser substitu do pelo endere o IP do frontend para descobrir qual o endere o do frontend efetue login na m quina e execute o comando i fconfig Ap s requisitar o endere o de gerenciamento uma tela como mostrada na Figura 8 11 que solicitar um usu rio e uma senha o usu rio e senha padr es s o admin Depois do primeiro acesso a senha devera ser alterada por medida de seguran a conforme mostrado na Figura 8 12 135 Koko Ubuntu Enterprise Cloud powered by Eucalyptus aj H aje n8 O https 192 168 142 135 8443 login Ca Google J OO FE Push Gmail Apple Yahoo Google Maps YouTube Wikipedia News 471 Popularv gt gt ubuntu Please sign in
102. do no teste Os m todos setUp e efetuarLogin s o os m todos da ferramenta Selenium que ir o auxiliar na captura das mensagens retornadas pelo software Para que os testes possam ocorrer o m todo setUp deve ser chamado antes do comando selenium open capriovi nesse caso a chamada foi feita no construtor pois necess rio iniciar o Web Browser e a url do sistema O m todo efetuarLogin vai adicionar url o path da p gina a ser testada preencher os valores dos campos login e senha clicar no bot o para efetuar o login atrav s do comando submit e por fim retornar a mensagem exibida pelo programa para que esta possa ser comparada com a mensagem especificada pelo cliente Quando solicitada a execu o do teste contido na p gina TestTableLogin Figura 4 33 uma inst ncia da classe LoginFixture criada sendo invocados os m todos para atribuir os valores de entrada na referida inst ncia Em seguida a FitNesse executa o m todo para verificar os resultados obtidos m todo mensagem importante notar que a execu o do teste na FitNesse dispara a execu o do teste com Selenium O resultado da execu o do teste exibido na pr pria p gina contendo a especifica o do teste Um exemplo de execu o pode ser visto na Figura 4 35 Os campos associados aos resultados s o verdes o que indica que o sistema Capriovi est correspondendo aos requisitos definidos pela especifica o do teste de aceita o ou sej
103. do s em qualquer fase de processos ou procedimentos da organiza o Assim para uma 111 melhor Gest o baseada nos processos de Tecnologia da Informa o importante criar de forma real e precisa sistemas de apoio a decis o que combinados com sistemas especialistas possam conceder o estado da arte ou o caminho das pedras de uma determinada solu o para problemas que possam surgir antes ou durante os processos da organiza o 6 6 1 Planejamento Estrat gico da TI Para Weill amp Broadbent 2000 a infraestrutura de TI a base da capacidade da tecnologia de informa o tida como servi os confi veis compartilhados pela empresa e coordenados centralmente geralmente pelo grupo de sistemas de informa o A aten o dispendida na busca pela harmonia da Tecnologia de Informa o com a empresa pode afetar significativamente a competitividade e efici ncia do neg cio Nesta discuss o o ponto principal saber como a TI pode ajudar a alcan ar vantagem competitiva e estrat gica para a empresa Logo considerando o que ora foi apresentado pode se afirmar que fundamental o planejamento da TI antes de sua utiliza o para evitar que a organiza o corra riscos desnecess rios pois o uso crescente da TI ao mesmo tempo em que potencializa a capacidade das organiza es em obter manter ou combater vantagens competitivas tamb m eleva os riscos de gest o inerentes a qualquer tipo de decis o e a o Rezende
104. dos a falhas podem ser elevados o investimento em garantia de qualidade torna se essencial para diminui o desses custos Para aferir essa qualidade em um software necessita se da conformidade aos requisitos sendo Justamente nesse aspecto que a execu o dos testes atua Logo uma forma de reduzir os custos das atividades relacionadas aos testes automatizando essas execu es utilizando ferramentas apropriadas e desenvolvidas com esse foco H muitos trabalhos sendo desenvolvidos nessa linha visando a diminui o de custos e aumento de produtividade Como citado anteriormente h v rios tipos de testes cada qual com seu foco Entre eles temos testes funcionais para verificar o comportamento do software testes de aceita o com o mesmo objetivo por m executadas pelo usu rio final para decidir sobre a aceita o do produto desenvolvido testes de desempenho para verificar se o funcionamento do software atende a certos par metros de especificados testes de estresse para verificar se o sistema funciona sob condi es anormais de demanda testes de usabilidade para verificar se o software adequado ao uso testes de regress o para mostrar que o software continua funcionando ap s alguma altera o teste de instala o para verificar se os procedimentos de instala o s o corretos e bem documentados testes de seguran a para verificar o n vel de seguran a do sistema teste alfa para verificar seu funcionamento com pequenos g
105. e menta o modelo Infra Estrutura como Servi o IaaS onde os usu rios podem executar e controlar inst ncias de m quinas virtuais instaladas em uma variedade de recursos f sicos A arquitetura do Eucalyptus 2 mostrada na Figura 8 5 composto por cinco componentes principais que juntos fornecem os servi os solicitados Os componentes comunicam se usando sistema de mensagens SOAP 8 de maneira segura atrav s do WS Security 11 Cluster 2 Storage controller Storage controle A Node controller Node controller Node controller Node controller Cluster controller Cluster controller Figura 7 5 Arquitetura do Eucalyptus e Cloud Controller respons vel pelas consultas aos n s e tomar decis es de esca lonamento por meio de requisi es aos Cluster Controllers a interface exposta a todos os usu rios administradores projetistas desenvolvedores e usu rios finais Todos os clientes se comunicam utilizando uma API baseada em SOAP ou REST 3 e Cluster Controller respons vel por manter informa es sobre a execu o das maquinas virtuais gerenciando assim toda a rede de inst ncias virtuais Os pedi dos s o comunicados ao Cloud Controller com o uso de interfaces baseadas em SOAP ou REST Para iniciar uma nova inst ncia ele envia requisi es a um Node Controller com recursos dispon veis e Node Controller respons vel por gerenciar a execu o inspe o e finaliza o
106. e comunica o da informa o bem como o modo que esses recursos est o organizados em um sistema capaz de executar um conjunto de tarefas salutar frisar que a TI n o se restringe a equipamentos hardware programas software e comunica o de dados Existem tecnologias relativas ao planejamento de inform tica ao desenvolvimento de sistemas ao suporte de software aos processos de produ o e opera o ao suporte de hardware etc A sigla TI Tecnologia da Informa o abrange todas as atividades desenvolvidas na sociedade pelos recursos da inform tica Se tratar de uma esp cie de difus o social da informa o em larga escala de transmiss o a partir destes sistemas tecnol gicos inteligentes Pequenas e grandes empresas dependem dela para alcan ar maior produtividade e competitividade Atrav s de passos simples ensinados por empresas do ramo muitas alcan am sucesso e alavancam maiores rendimentos 6 5 2 Sistemas de Informa o 109 Sistema no mbito da inform tica trata se de qualquer conjunto de componentes e processos por ele executado que visa transformar determinadas entradas em sa das sa das do sistema Esses sistemas s o subdivididos em outros componentes subsistemas e que por sua vez podem ser decompostos em novos sistemas menores Sistema de Informa o em ingl s Information System a express o utilizada para descrever um sistema automatizado que pode ser denominado como Sistema de
107. e e que caso n o existe nenhum que seja pres sionado ENTER neste caso espec fico a instala o dever ser continuada pressionando a tecla ENTER conforme mostrado na Figura 8 7 Na tela seguinte conforme mostrado na Figura 8 8 dever o ser escolhidos quais os componentes dever o ser instalador no fronted neste caso dever o ser escolhidos todos 133 Figura 7 7 Instala o Eucalyptus Cloud Controller com excess o do Node Controller que ser instalador em outro computador Figura 7 8 Instala o Eucalyptus Sele o de Componentes Ser preciso especificar uma faixa de endere os IPs que ser o atribu das s inst n cias das m quinas virtuais que executar o nos n s conforme mostrado na Figura 8 9 A faixa informada devera ser da classe C No caso de nenhuma faixa ser informada durante a execu o da imagem dever ser solicitado uma endere amento privado explicidamente Ap s esse passo ser solicitado a remo o do CD de instala o e a reinicializa o do frontend A instala o do Node Controller nos demais computadores id ntica instala o do frontend Durante a instal o ser detectado que j existe um Coud Controller caso o frontend esteja ligado e pedir para selecionar o modo de instala o neste caso espec fico dever ser escolhido Node Controller para a instala o do n conforme mostrado na Figura 8 10 O registro dos n s no frontend feito de forma autom tica deste mo
108. e podem ser conduzidos como temas em cursos de p s gradua o 5 2 Vis o Geral das DSLs Na literatura ainda n o existe uma defini o precisa do que uma linguagem de dom nio espec fico DSL por m usaremos a defini o de que DSLs s o micro linguagens de programa o usadas para resolver tarefas espec ficas onde o dom nio da aplica o bem definido S o exemplos de problemas espec ficos formata o de dados formata o de arquivos de configura o protocolos de redes busca e recupera o de documentos ou informa es a partir de padr es textuais entre outros As DSLs s o importantes para o desenvolvimento de software porque representam um meio mais natural robusto e manuten vel do que simplesmente escrever software em uma linguagem de prop sito geral Parr 2007 A vantagem de criar DSLs que as solu es podem ser apresentadas no idioma e no n vel de abstra o do dom nio do problema e com isso especialistas no dom nio podem entender modificar validar e at fazer programas mais facilmente Portanto o gap existente entre os profissionais da rea de dom nio do problema clientes e os profissionais da rea de tecnologia da informa o profissionais de TT minimizado O exemplo mais conhecido de DSL a linguagem de express es do aplicativo EXCEL da Microsoft Outros exemplos incluem AutoCAD para projeto de arquitetura ProEngineer para modelagem mec nica Verilog para descri o de hard
109. e s o confundidas com rvores sint ticas parse tree mas diferente desta pois enquanto uma parse tree representada toda a stream de entrada a AST cont m apenas tokens relevantes A Figura 3 mostra uma parse tree e a AST equivalente para uma determinada entrada 93 Figura 3 Parse Tree esquerda x AST direita Para gerar uma AST a partir de uma gram tica sint tica ou combinada especifica se no campo options a op o output AST Pode se utilizar operadores ou regras de reescrita para especificar o formato da AST gerada Operadores para gerar AST s o semelhantes aos operadores de express es regulares e s o colocados ap s as regras A Tabela 2 mostra os operadores de uma AST Operador Descri o N o gera s mbolo na AST A Cria um novo n pai na AST Tabela 2 Operadores usados para gerar uma AST A maneira recomendada de se definir uma AST utilizando regras de reescrita atrav s do operador gt O seguinte formato utilizado pai filhol filhoN O exemplo abaixo mostra as regras de reescrita para gerar uma AST para a gramatica de nosso exemplo prog stat gt statt stat INTEIRO ID gt VARDEF INTEIRO ID ID IGUAL expr gt IGUAL ID expr IMPRIME ID gt IMPRIME ID PONTOEVIRGULA expr atom MAIS MENOS atom atom INT ID 94 Uma gram tica de rvore tree grammar uma gram tica q
110. e uma breve intrdodu o a ferramenta Eucalyptus que foi utilizada para montar a infraestrutura privada 7 2 1 Virtualiza o Virtualiza o uma t cnica que permite a execu o simult nea dois ou mais ambientes sistemas operacionais distintos e isolados em uma mesma m quina Esse conceito de virtualiza o relembra os antigos mainframes que deviam ser compartilhados por v rios usu rios em ambientes de aplica o completamente diferentes Essa realidade da d cada de 1970 foi em grande parte superada nos anos de 1980 e 1990 com o surgimento dos computadores pessoais No entanto atualmente h uma onda crescente de interesse sobre as t cnicas de virtualiza o Nos dias de hoje o interesse na virtualiza o n o se at m somente ao fato de permitir o uso de um mesmo sistema por v rios usu rios concomitantemente mas os principais interesses s o as vantagens oferecidas por esse tipo de ambiente s o elas se guran a confiabilidade e disponibilidade custo adaptabilidade balanceamento de carga e suporte a aplica es legadas 7 2 1 1 Defini es e Conceitos Os primeiros conceitos que devemos ter em rela o virtualiza o s o os conceitos de instru es privilegiadas e n o privilegiadas Essas instru es fazem parte do conjunto de instru es de uma arquitetura As instru es n o privilegiadas s o aquelas que n o modificam a aloca o ou o estado de recursos compartilhados por v rios processos si
111. e uma tabela Lua onde class representa a classe do evento Na linstagem 1 29 a tabela do evento indica que o bot o vermelho foi pressionado onde type pode ser press ou release key o valor da tecla do controle evt class key type press key RED Listagem 1 29 Registro de uma fun o tratadora de eventos O m dulo event define as seguintes classes de eventos e Classe ncl representa o pressionamento dos bot es do controle remoto pelo usu rio e Classe user Atrav s dessa classe aplica es podem estender suas funcionalidades criando seus pr prios eventos e Classe tcp Permite acesso ao canal de interatividade por meio do protocolo tcp e Classe sms Usada para envio e recebimento de mensagens SMS em dispositivos m veis e Classe edit Permite que os comandos de edi o ao vivo sejam disparados a partir de scripts NCLua e Classe si Prov acesso a um conjunto de informa es multiplexadas em um fluxo de transporte e transmitidas periodicamente por difus o Na norma ABNT NBR 15606 2 2007 ABNT 2007 pode se encontrar todas as fun es do m dulo canvas e mais informa es sobre os m dulos que ainda n o foram implementados 1 10 Refer ncias ABNT NBR 15606 2 2007 Associa o Brasileira de Normas T cnicas Televis o digital terrestre Codifica o de dados e especifica es de transmiss o para radiodifus o digital Parte 2 Ginga NCL para rec
112. ecessidade de se im plementar os recursos acima descritos em uma estrutura de cloud para o ambiente ser considerado como Cloud Por exemplo se um servi o for implementado na Internet sem ser num ambiente de cloud ex Eucalyptus ele n o pode ser caracterizado como uma Cloud do tipo software as a service Outro ponto tamb m relevante que as tecnologias de acesso sofrem uma forte depend ncia do n vel de Cloud que est sendo trabalhado A 129 Busca Software as a Service SaaS Platform as a Service PaaS Infrastructure as a Service laaS Web Services Figura 7 4 Tipos de Cloud x Tecnologias de Acesso Figura 8 4 apresenta o relacionamento entre tecnologias de acesso e os tr s tipos de Cloud apresentados at este momento Uma outra classifica o de cloud bastante difundida se baseia no modelo de im planta o da mesma De forma geral usando este par metro pode se classificar as Cloud em Cloud Privada Private Cloud Cloud P blica Public Cloud Cloud Comunit ria Community Cloud e Cloud Hibrida Hybrid Cloud Uma Cloud privada pode ser caracterizada como aquela operada unicamente pela pr pria empresa Ela pode at ser gerenciada em termos de infra estrutura por uma empresa terceirizada mas acess vel em especial suas aplica es apenas para os usu rios internos da empresa Recursos f sicos tamb m s o dedicados apenas as demandas computacionais in ternas da empresa Uma Cloud Comunit
113. elhor se apresente em uma determinada regi o e poder receber como valor fill hidden meet meetBest ou slice bounds modificar a posi o e as dimens es do objeto de m dia Trate se de quatro n meros separados por v rgula na ordem lt left top width height gt em formato de percentagem ou numero de pixels transparency numero real entre O e 1 onde O significa totalmente opaca e 1 totalmente transparente 1 6 3 Definindo n s de m dia Na NCL n s de m dia representam o conte do que desejamos apresentar em um programa audiovisual interativo que pode ser desde v deos imagens textos dentre outros Todo n de m dia definido dentro de um contexto que no NCL o elemento body o contexto onde contem todos os n s do documento sejam n s de m dia ou contexto A figura 1 3 ilustra um documento com seis n s de m dia onde cinco est o dentro de contextos aninhados ao body aa p body gt GS N y texto Sree es e k 77 contexto videos N o AROS videot video3 arent er tee en Te N contexto imagens Saas Figura 1 3 Representa o de n s de m dia e de composi o contexto Para definir objetos de m dia devemos inserir o elemento lt media gt dentro do elemento lt body gt onde cada objeto de m dia tem alguns atributos principais al m do atributo id o atributo src que define um URI Uniform Resource Identifier do conte do do objeto o atributo
114. ementa o execut vel S o exemplos de ferramentas para o ATDD o FIT FIT 2010 FitNesse FITNESSE 2010 e Concordion CONCORDION 2010 Neste cap tulo ser descrito o ATDD iniciando com um detalhamento do TDD para em seguida apresentarmos o ATDD juntamente com alguns exemplos do uso da ferramenta Fitnesse 4 2 Desenvolvimento Dirigido por Testes O Test Driven Development TDD uma metodologia de desenvolvimento que tem como objetivo desenvolver o teste antes do c digo Koskela 2008 Inicialmente cria se um teste j sabendo que o teste ir falhar e depois se cria o c digo do software para que o teste passe O TDD no desenvolvimento de software pode ser considerado como um conjunto de regras e guias que levam a um determinado lugar e no tempo certo Para melhor exemplificar seria como chegar a uma estrada onde tivessem duas possibilidades de seguir em frente Sem a orienta o do TDD poderia seguir por um caminho e ap s certo tempo descobrir que n o era o caminho correto e depois voltar pela outra estrada Por m com a orienta o o caminho a ser seguido j seria o correto estando no lugar correto no tempo esperado Koskela 2008 Para que a pr tica do TDD tenha sucesso necess rio seguir alguns passos O primeiro deles a decomposi o dos requisitos Eles precisam ser quebrados em tarefas que devem ser convertidas em testes e que ir o guiar o desenvolvimento do software Koskela 2008 N o necess rio
115. ente em algum m todo de verifica o do resultado que devemos ligar o teste ao c digo do sistema sob teste Pode se observar que dentro do m todo tipo existe uma chamada ao m todo tipo da classe Tri ngulo mostrado na Figura 4 13 Esse m todo o respons vel pela avalia o das regras para an lise de tri ngulos A invoca o desse m todo garante que o teste est usando as funcionalidades do sistema desenvolvido Embora o exemplo seja simples isso deixa claro como ligar o teste implementa o do sistema Zz O resultado da execu o do teste exibido na pr pria p gina contendo a especifica o do teste Os campos associados aos resultados s o coloridos de acordo com a resposta obtida tornando se verdes caso o resultado tenha sido bem sucedido amarelos para exce es ou vermelho para casos de erro como demonstrado na Figura 4 27 75 FrontPage TesteTriangulo E mio Test Resuuts history Assertions 5 right O wrong O ignored O exceptions E Import fixture TrianguloFixture ladoUm ladoDois ladoTres tipo 3 3 3 equilatero 3 3 4 isosceles 3 4 5 escal no 1 2 3 invalido Figura 4 27 Exemplo de resultado de teste bem sucedido A FitNesse mant m um hist rico de execu o de testes acessado a partir do bot o Test History contido no canto inferior esquerdo de uma p gina de teste como mostra a Figura 4 28 Acessando esse comando poss vel visualizar todas as execu es do
116. entes At este momento foram apresentadas propriedades essenciais em um projeto de cloud ser o analisados agora algumas caracter sticas desej veis em uma Cloud Uma primeira caracter stica desej vel em uma cloud a homogeneidade se um conjunto homog neo produtos iguais ou similares de recursos softwares e hardwares for utilizado em uma Cloud tarefas como instala o e gerenciamento ser o largamente simplificadas Por produtos similares deve se entender um conjunto de softwares com pat veis e configura es marcas de recursos computacionais como servidores similares preferencialmente iguais Uma segunda caracter stica fundamental a de virtualiza o utilizando este re curso os recursos dentro da cloud podem ser melhor aproveitados De fato a utiliza o de virtualiza o pela cloud um dos grandes avan os associados a esta nova tend n cia em compara o com outros ambientes bastante difundidos anteriormente como Grid Computing A utiliza o de software de baixo custo especialmente software livre outra caracter stica marcante da cloud O custo de implementa o da mesma sofre uma redu o significativa pela utiliza o de tal artif cio e este baixo custo acaba refletindo em um menor pre o pelo servi o disponibilizado ao usu rio final Por fim uma caracter stica tamb m desej vel e at necess ria em um ambiente de cloud a orienta o a servi o O provedor de recursos da Cloud d
117. eptores fixos e m veis Linguagem de aplica o XML para codifica o de aplica es Sistema Brasileiro de TV Digital Terrestre NBR 15606 2 Barbosa S D J Soares L F G TV digital interativa no Brasil se faz com Ginga fundamentos padr es autoria declarativa e usabilidade Ierusalimschy R 2006 Programming in Lua Segunda Edi o http lua org NCL Nested Context Language http www ncl org br 2010 Sant Anna F F G Soares Neto C S Azevedo R G A e Barbosa S D J Desenvolvimento de Aplica es Declarativas para TV Digital no Middleware Ginga com objetos imperativos NCLua Sant Anna F F G Soares L F G e Cerqueira R F G Nested Conext Language 3 0 Part 10 Imperative Objects in NCL The NCLua Objects 2008 Soares Neto C S et al Construindo Programas Audiovisuais Interativos utilizando a NCL 3 0 e a ferramenta Composer 2007 Soares L F G Rodrigues R F Nested Context Model 3 0 Part 1 NCM Core 2005 Soares L F G e Barbosa S D J 2009 Programando em NCL 3 0 S o Paulo SP 1 ed 2009 20 Cap tulo 2 Utiliza o do CUDA e OpenCL em Algoritmos de Vis o Computacional Thiago S Santos Kalyf A B Lima Kelson R T Aires Abstract The Computer Vision can be viewed as an entity of automation and integration of a wide range of processes and representations used in perception including techniques such as image processing
118. er computacional altamente paralelo e com uma larga banda de mem ria como ilustrado na Figura 2 1 1 1000 7 GT200 ms NVIDIA GPU ms intel CPU a 750 Cc gs e ra g 500 e Harpertown a 250 l 3 2 GHz 5 NV40 Core 2 Duo 3 0 GHz 0 NV NVidia G GeForce GT GeForce GTX Figura 2 1 Opera es Ponto Flutuante por Segundo A raz o por tr s da alta diferen a em termos de capacidade de ponto flutuante entre a CPU e a GPU o fato da ltima ser especializada em computa o intensiva e computa o paralela Especialmente acerca da renderiza o de gr ficos portanto possui transistores dedicados ao tratamento de dados ao inv s de armazenar dados ou de controle de fluxo esquematicamente ilustrado pela Figura 2 2 Outra especialidade da GPU consiste no fato de ela ser especialmente adequada para resolver problemas os quais podem ser expressos por c lculos paralelos de dados com alta intensidade de aritm tica Como o mesmo algoritmo executado para cada elemento de dado n o h tanta exig ncia de controle de fluxo sofisticado A lat ncia de 23 Figura 2 2 A GPU possui mais transistores para processamento de dados acesso mem ria pode ser escondida com os c lculos em vez de grandes caches de dados visto que possui intensiva aritm tica No processo de programa o paralela os elementos de dados s o mapeados para trilhas de processamento threads Muitas aplica
119. erpretadores para DSLs ou seja uma ferramenta para implementa o de linguagens de programa o que traz um desenvolvimento de software com representa o mais natural que linguagens j conhecidas O Cap tulo 6 engloba conceitos de empreendedorismo em Tecnologia da Informa o TI como e empreendedor e neg cios digitais Al m disso inclui se nessa discuss o o papel do profisisonal de TI como gestor em uma organiza o E interessante e motivante notar na Computa o exemplos e discuss es sobre os infind veis campos de atua o recursos gratuitos de apoio na internet maior diversifica o e capacidade de abrang ncia de um mercado global O Cap tulo 7 encerra este livro trazendo tona uma das fortes tend ncias assumidas na internet computa o em nuvens A partir da apresenta o de defini es e conceitos a cerca de cloud computing apresentada a montagem de uma infraestrutura privada para a disponibiliza o de servi os em uma rede de computadores espec fica O material aqui compilado resultado de um grande esfor o por parte dos autores e se r de utilidade n o apenas aos participantes dos minicursos mas tamb m a todos aque les que desejem aprofundar seus conhecimentos nos diversos assuntos tratados Sobral CE novembro de 2010 l lis Cavalcante de Paula J nior Andr a Carneiro Linhares Sum rio Desenvolvendo aplica es interativas para TV Digital 01 utilizando NCL e Lua F bio de Jesus L
120. erramenta b sica a imagina o J a inova o um sistema fechado A partir da nova id ia recebida caber uma pessoa ou um conjunto delas adicionar o conhecimento ou tecnologia como preferir para produzir alguma coisa concreta um processo um equipamento um material um servi o etc Assim a inova o tem a ver com o fazer Sua ferramenta b sica o conhecimento z Criatividade e Inova o s o diferentes Criatividade uma caracter stica humana Inova o uma compet ncia de agir criativamente visualizando e aproveitando oportunidades agregando valor e incrementando possibilidades Esses resultados nos levam a acreditar que a maioria dos gestores tem conhecimento sobre a necessidade e a import ncia da TI Mas nada feito a curto prazo o que por um lado pode facilitar o planejamento da introdu o de TI a demora por outro lado pode fazer com que as empresas percam espa o para a concorr ncia 118 Refer ncias Sua Vida Digital Estado de S o Paulo 2010 lt http www link estadao com br index cfm id_conteudo 8792 gt Dolabela Fernando 2006 O segredo de Lu sa 30 ed ver e atual S o Paulo Editora de Cultura Castells Manuel A era da informa o economia sociedade e cultura V 1 9 ed Sao Paulo Paz e Terra 2006 Goossen Richard J E Empreendedor vencendo no mercado virtual corporativo Tradu o Sabine Alexandra Holler Rio de Janeiro Editora Elsevier 2008
121. es de baixo n vel H relativamente pouca controv rsia Zona da Ffic cia Effectiveness Zone Alinhada com a ideia de fazer as coisas certas envolvendo conceitos como an lise de aplica es localizadas an lise custo benef cio compara o com objetivos e estudos sobre satisfa o dos usu rios H um maior n vel de controv rsia do que na zona anterior Zona da Compreens o Understanding Zone Assume a avalia o como algo problem tico e controverso Busca uma maior compreens o da avalia o dentro de um particular contexto organizacional desde o trabalho do indiv duo at a estrat gia da empresa Envolve tamb m conceitos sociais e psicol gicos 6 8 Como Medir os Efeitos da TI Mesmo nos primeiros lugares onde foi aplicada e utilizada a TI nem sempre os ganhos de produtividade foram imediatamente quantific veis embora fossem identific veis porque se revelaram dif ceis de medir Os resultados dos estudos sobre impacto da TI n o s o conclusivos pois sua an lise est apoiada na leitura de trabalhos publicados nas d cadas de 80 e 90 que investigam apenas se os efeitos foram positivos ou negativos e suas hip teses est o fundamentadas em quest es como produtividade e retorno econ mico BARUA 1995 Desde que a filosofia de administra o cient fica de Frederick Taylor formalizou a an lise do processo de produ o tornando atividades e processos na organiza o mensur veis e quantific veis uma
122. esenvolvimento Dirigido por Testes de Aceita o demonstrando o mesmo exemplo utilizado no TDD no entanto utilizando os preceitos de ATDD com a ferramenta FitNesse Apresentamos tamb m um exemplo do uso em um sistema de informa o real exemplo esse que exigiu o apoio da ferramenta Selenium Os exemplos utilizados embora simples refletem os casos t picos do ATDD em um desenvolvimento de software O ATDD evidencia a import ncia do cliente principal ator na constru o das especifica es do software As ferramentas como a FitNesse tornam o envolvimento do cliente algo simples por n o exigir muito conhecimento para seu uso ao mesmo tempo que permite a participa o ativa no desenvolvimento al m de permitir um acompanhamento cont nuo do trabalho Acreditamos que o ATDD deve virar um padr o para o desenvolvimento de software em pouco tempo dado suas caracter sticas e benef cios associados ao seu uso Refer ncias Abran A Moore J Bourque P Dupuis R e Tripp L 2004 Guide to the Software Engineering Body of Knowledge IEEE Computer Society Azdic G 2009 Bridging the Communication Gap Specification by Example and Agile Acceptance Testing Neuri Limited Boehm B W 2006 A View of 20 and 21 Century Software Engineering 28 International Conference on Software Engineering ICSE Shanghai China Broy M 2006 The Grand Challeng in Informatics Engineering Software Intensi
123. essa gram tica ser chamada prog e ser composta de um ou mais comandos stat As regras de uma linguagem s o um conjunto de senten as v lidas de uma linguagem Uma regra ent o define uma frase ou subestrutura Cada regra cont m uma ou mais alternativas Uma alternativa pode referenciar outras regras e se uma regra a referencia ela considerada recursiva prog stat Uma regra sint tica definida por letras min sculas As regras suportam alguns operadores de express es regulares definidos na Tabela 1 Operador Descri o O Cria um grupo A um grupo pode ser atribu do um label ou operador Coringa Casa com qualquer regra sint tica ou token l xico Opcional Zero ou mais Um ou mais Kl nx Alternativa Nega o Intervalo entre dois valores Tabela 1 Operadores de express es regulares Um stat pode ser uma impress o atribui o ou uma defini o de vari vel seguido de ponto e virgula stat INTEIRO ID ID IGUAL expr IMPRIME ID PONTOEVIRGULA No exemplo acima podemos ver a utiliza o de tokens Um token a menor unidade at mica de uma gram tica Uma entrada dividida em tokens atrav s de uma gram tica l xica Um token definido por letras mai sculas O campo tokens permite a nomea o de literais e cria o de tokens imagin rios Um literal uma sequ ncia de caracteres entre aspas simples Os literai
124. este momento programas em C e programas em Python a essas ser o adicionadas a categoria programa o como cate goria pai A partir das categorias criadas pode se gerar artigos A sequ ncia de passos inicia se em Conte do seguido por Gerenciador de Artigos gt Novo Artigo Observa se que os artigos podem ser configurados de forma independente bastando escolher o n vel de acesso e as permiss es adequadas Na cria o do artigo necess rio escolher a qual categoria ser vinculado A tela de cria o do artigo bem semelhante a da sess o contendo de novidade uma aba de configura o denominada Op es de Artigo o que permite configurar particularidades tais como o nome do artigo como link uma op o para salv lo como pdf ou imprimir existem v rias outras que por serem bem intuitivas n o integra se aos objetivos gerais deste curso Gerenciador de Categoria Adicionar Categoria de Artigo YZ A Kx Dotaihos Titulo gt Op es B sicas Permiss es da Categoria Engenharia da Computa o Super Users em 00 0t000 lt lt of oco lt lt oo lt lt 0E 32 Eat Criar o v v e v v v o o o 0000000 lt lt 0 V Pormiido Negado Path gt Op es de meta dados Figura 3 9 Tela de cria o de categoria Pode se notar que esse controle individual de permiss o de artigo e sess o possi bilita construir acessos diferenciados para alguns grupos at os que estejam
125. estresse em um programa de sa de por exemplo poderia estar dispon vel durante toda sua exibi o conveniente notar que mesmo n o havendo rela es de sincronismo dessas aplica es com o udio e v deo principal tais aplica es podem ser compostas de objetos que mant m rela es de sincronismo entre si Ainda um terceiro tipo de aplica o composto por aplica es em que existe n o s rela o seus objetos de m dia e o udio e v deo principal do programa televisivo mas tamb m um a rela o de sincronismo Esse exatamente o caso dos chamados programas n o lineares O termo n o linear vem em contraposi o forma sequencial linear que caracteriza os programas para a TV anal gica Nesses ltimos existe um e apenas um caminho sequencial de exibi o Ao contr rio os programas n o lineares s o compostos de m ltiplas cadeias de exibi o da regi o onde o telespectador est inserido etc O exemplo mais simples de um programa n o linear aquele onde em um dado instante de exibi o o usu rio telespectador pode escolher entre formas alternativas de sua continua o Note assim que o programa deixa de poder ser representado por uma linha de tempo e passa a ter um fluxo de exibi o que pode ser especificado por um grafo Na grande maioria dos casos a linguagem declarativa tende a ser a preferencial no desenvolvimento dos programas n o lineares Mais ainda como em programas n o linea
126. eto de processamento de uma linguagem Nesse trabalho ser explicado o processo at a constru o da gram tica de rvore 87 Input Text Lorem ipsum dolor sit amet consectetuer Abstract Syntax Tree adipiscing elit Donec in quam euismod nunc laoreet hendrerit fo Seg Tree Strin i g When in Rome do as the Romans do zgvozvv3o0zxoH Output Text Figura 2 Diagrama de fluxo de dados do ANTLR Uma gram tica l xica lexer grammar tem como fun o realizar a an lise l xica que consiste em dividir a stream de entrada em tokens Uma gram tica sint tica parser grammar tem como fun o realizar a analise sint tica que consiste em processar uma stream de tokens e verificar se est o sintaticamente corretos de acordo com a gram tica 5 3 1 Criando a gram tica Vamos criar uma gram tica de exemplo que tem as seguintes caracter sticas e Defini o de vari veis identificador letra seguido de um ou mais letras ou d gitos e Opera o de adi o e subtra o e N meros inteiros e Impress o do valor de uma vari vel Alguns exemplos de express es v lidas na nossa linguagem inteiro var var var var imprime var bo ta O s 88 Vamos come ar definindo nossa gram tica combinada chamando a gramatical Uma gram tica de nome lt gramatical gt deve estar definida em um arquivo de nome lt gramatical g gt grammar gramatical A regra inicial d
127. eve propor alguma forma de cobrar a utiliza o de seu ambiente para os clientes disponibilizando seus recur sos como servi o o provedor poder tarifar a utiliza o de seus servi os para os clientes Regras podem ser colocadas como SLAs service level agreements para padronizar e le galizar o neg cio entre provedores de servi o e clientes Isso tr s mais confiabilidade 128 para o modelo de neg cio e ajuda na ado o da cloud como op o para o parque de TI da empresa 7 2 2 2 Classifica o Considerando o contexto variado de aplica es para a cloud uma classifica o atualmente bastante utilizada e difundidade baseada no n vel de servi os que a cloud oferta para o usu rio e TaasS Infrastructure as a Service o nivel que se encontra mais perto do hardwa re recursos f sicos Em geral servi os neste n vel prov em uma API de gerencia mento para a utiliza o de um conjunto de recursos f sicos de forma que o usu rio tenha acesso a funcionalidades como configura es automatizadas do sistema ope racional escalabilidade sob demanda e armazenamento Como exemplo deste tipo de cloud pode se citar o Eucalyptus Tycoon Amazon EC2 e o OpenNebula e PaaS Platform as a Service um n vel mais elevado de disponibiliza o de ser vi os onde outros recursos principalmente de software s o tamb m disponibili zados para o usu rio Por recursos de software pode se entender ambientes para modelagem pr
128. ficos e se tornam informa o quando s o interpretados por seus funcion rios para uma a o estrat gica da empresa Assim a informa o se constitui em um dos principais patrim nios de uma empresa Podemos afirmar que o fator determinante para o sucesso das organiza es qualquer que seja o seu porte ou ramo de atividade depende cada vez mais de informa es Elas s o essenciais para as atividades de qualquer n vel hier rquico empresarial At bem pouco tempo os sistemas de informa o nas organiza es se baseavam na utiliza o de grandes arquivos em geral manipulados por um arquivista que era o respons vel por organizar os dados registr los catalog los e recuper los quando necess rio O aumento do n mero de informa es dispon veis nas empresas e a necessidade das reas trabalharem de forma integrada tornaram o armazenamento a recupera o e a integra o das informa es dispon veis uma tarefa dif cil e n o muito confi vel Com o surgimento dos microcomputadores veio possibilidade de um acesso r pido e confi vel destas informa es Por m a Tecnologia da Informa o tamb m cuida de reas como planejamento desenvolvimento de sistemas suporte ao software e hardware e processos de produ o e opera o 6 5 1 Tecnologia da Informa o O termo Tecnologia da Informa o comumente utilizado para designar o conjunto de recursos n o humanos dedicados ao armazenamento processamento
129. hecimento em programa o para us lo e mant lo Na verdade O Joomla n o mais complicado que um editor de texto totalmente flex vel e customiz vel Desse modo ele pode ser usado tanto no desenvolvimento de pequenos sites para trabalhos acad micos quanto em grandes portais para gerenciamento de documentos Introdu o Propaganda como dizem a alma do neg cio sendo de fundamental import ncia para o reconhecimento de qualquer trabalho realizado Existem v rias formas de propaganda como boca a boca em que clientes satisfeitos espalham que seu servi o ou produto bom panfletos mas esse est em decl nio e mal visto devido conscientiza o ecol gica divulga o em meios de comunica o como r dio televis o e Internet 40 A Internet indiscutivelmente o maior e mais democr tico meio de comunica o Nela se pode postar de tudo desde conte dos imorais a hist rias de assombra o As empresas j se deram conta disso e a usam como o principal meio de propaganda atrav s de hotsites banner em blogs an ncios em redes sociais spam e qualquer outra forma em que apare a o produto ou a marca Mas indispens vel ter se um site bem estruturado organizado com conte do de qualidade e informa o clara Um site deixa sua marca e produtos vis veis em tempo integral e em qualquer lugar do mundo o que facilita bastante o acesso do consumidor e a descoberta do que sua empresa ou grupo tem a
130. ic Processor Unit GPU Para programar para a arquitetura CUDA os desenvolvedores podem optar por C uma linguagem de alto n vel capaz de executar com grande desempenho em um proces sador com suporte CUDA A arquitetura CUDA foi desenvolvida com v rios objetivos em mente entre eles 22 e Fornecer um pequeno conjunto de extens es para linguagens de programa o padr o que permitem uma aplica o direta de algoritmos paralelos Com CUDA os pro gramadores podem focalizar na tarefa de paraleliza o dos algoritmos ao inv s de gastar tempo na sua implementa o 1 e Ter suporte a computa o heterog nea onde aplica es utilizam ambos CPU e GPU Partes seriais das aplica es s o executadas na CPU e as parcelas parale las s o descarregadas para a GPU A CPU e a GPU s o tratadas como dispositivos separados que t m seus pr prios espa os de mem ria As GPUs com suporte CUDA t m centenas de n cleos que podem executar co letivamente milhares de threads Cada n cleo tem recursos compartilhados incluindo registradores e mem ria A mem ria compartilhada nos chips permite a execu o de tare fas paralelas sobre estes n cleos para compartilhar dados sem envi los atrav s do barra mento de mem ria do sistema Impulsionado pela demanda de mercado por alta defini o e processamento em tempo real de gr fico 3D as unidades de processamento gr fico t m evolu do para um processador de v rios n cleos com alto pod
131. ida em v rios idiomas ver se o 4 6 Seu site fornece suporte a diversos idiomas Assim poss vel que usu rios de diferentes lugares do mundo acessem o mesmo site no seu respectivo idioma p trio e Adequado a dispositivos m veis O Joomla pode ser acessado de dispositivos m veis tornando seu site port vel e mais interativo 3 4 O que preciso para usar Joomla De modo geral as seguintes ferramentas s o necess rias para se usar o Joomla PHP MySQL e Apache Cada uma delas ser descrita a seguir e PHP um acr nimo recursivo para PHP Hypertext Preprocessor O PHP uma linguagem de script open source de uso geral muito utilizada e especialmente guarnecida para o desenvolvimento de aplica es Web embut veis dentro do HTML preciso dispor do interpretador do PHP para utilizar o Joomla e MySQL O programa MySQL R um servidor robusto de bancos de dados SQL Structured Query Language Linguagem Estruturada para Pesquisas muito r pido multi tarefa e multi usu rio O Servidor MySQL pode ser usado em sistemas de produ o com alta carga e miss o cr tica bem como pode ser embutido em 43 programas de uso em massa MySQL uma marca registrada da MySQL AB O programa MySQL de licen a dupla Os usu rios podem escolher entre usar o programa MySQL como um produto Open Source Free Software sob os termos da GNU General Public License http www fsf org licenses ou podem comprar uma licen a comercia
132. ido no conector 1 7 Lua A linguagem Lua Ierusalimschy 2006 foi criada na PUC RIO em 1993 por Roberto Ierusalimschy Luiz Henrique de Figueiredo e Waldemar Celes O objetivo era criar uma linguagem port vel simples pequena e eficiente Lua linguagem de programa o de extens o isto o c digo Lua deveria ser embutido em um programa hospedeiro para funcionar A linguagem foi projetada para dar suporte programa o procedural mas oferece mecanismos para programa o orientada a objetos programa o funcional e programa o orientada a dados Lua evoluiu e passou a ser uma linguagem auto suficiente Hoje a linguagem utilizada em v rios tipos de aplica es tais como aplica es para TV Digital aplica es web aplica es desktop em jogos em analisador de protocolos em rastreador de redes de seguran a etc 1 7 1 Conven es e itens l xicos Os nomes ou identificadores na linguagem Lua podem ser qualquer cadeia de caracteres d gitos e sublinhados por m n o podem come ar com um d gito Esses identificadores s o utilizados para nomear vari veis fun es e campos de tabelas Algumas palavras n o podem ser utilizadas como identificadores por serem reservadas para uso da gram tica da linguagem tabela 1 2 Tabela 1 2 Palavras reservadas and Return true end Do elseif in Nil if repeat then or break Else until false function while 12 local Not
133. ificador de login incorreto retoma a mensagem apropriada Campo Entradas Senha admin Sa das esperadas Mensagem N o foi poss vel realizar a entrada no sistema Estado Sem usu rio alcan ado Ambiente Capriovi Depend ncias N o aplic vel Figura 4 31 Caso de teste de login com identificador inexistente Seguiremos os mesmos passos iniciais demonstrados no exemplo anterior com o cliente definindo a tabela inicial e o desenvolvedor a alterando para adicionar as peculiaridades tipo de tabela de teste paths pacote nome da classe fixture e m todo de retorno necess rias para se criar a liga o com o sistema de informa o Capriovi N FrontPage amp TestTableLogin ae Eor Pace tdefine TEST_SYSTEM sita tpath 0 workspace Capriovt bin Ipath 0 workspace Capriov class ibs Himport Iftxtures HLoginFixture login Isenha Inensages ladain ladain Entrada no sistema efetuada cos sucesso ladain lerradalN o fot poss vel realizar a entrada no sistema lerradaladssn IN o fot poss vel realizar a entrada no sistema Save Spreadsheet to FitNesse FitNasse to Spreadsheet Format wrap Figura 4 32 Edi o da tabela FitNesse do teste de autentica o de login A tabela para especifica o do teste de aceita o para a autentica o do sistema Capriovi especificada na Figura 4 32 Nela foram definidos pelo desenvolvedor os paths onde se e
134. ilidades de comunica o para se relacionarem com seu p blico J Web definida como Web 3 0 j circula pelos meios acad micos e ind stria de tecnologia prenunciando a terceira gera o da Rede a ser implementada de 05 a 10 anos O futuro indica uma Web sem ntica na qual via conceitos de intelig ncia artificial a Internet teria capacidade de produzir e armazenar conhecimento com base no hist rico de a es do internauta de forma semelhante ao processo que ocorre no c rebro ao deduzir algo a partir de experi ncias anteriores 6 4 Startups como Desenvolvimento Econ mico Traduzindo para o portugu s STARTUP significa em linhas gerais INICIALIZA O Portanto partindo se do pressuposto que todo processo de inicializa o um start cont nuo n o se pode deixar de conceber o referido significado inspiradora boa a o das empresas que nascem com o objetivo de serem inovadoras Esse tipo de inspira o extremamente positiva para o mercado Caso contr rio s existiria uma empresa de autom veis um fabricante de brinquedos um rede de farm cias A verdade que mesmo no cen rio mundial apenas um pequeno percentual das empresas s o baseadas em id ias realmente inovadoras Sim essas empresas s o muito importantes mas n o menos importantes que todas as outras empresa que n o s o baseadas em id ias in ditas S o essas ltimas que de fato geram a maior parte do fluxo de capital mundial e que
135. ima Gomes IFPI Danilo Araujo Portela IFPI La cio Freitas Chaves IFPI Marcelo de Miranda Clementino IFPI Utiliza o do CUDA e OpenCL em Algoritmos de Vis o 21 Computacional Thiago S Santos UFPI Kalyf A B Lima UFPI Kelson R T Aires UFPI Joomla 1 6 40 Alexandre Marques Albano da Silveira UFC Campus de Sobral Andr a Carneiro Linhares UFC Campus de Sobral Clemilson Costa Santos UFC Campus de Sobral Desenvolvimento Dirigido por Testes de Aceitagao 59 Pedro de Alcantara Santos Neto UFPI Antonio Gabriel Di Atlanta Valente UFPI Italo Linhares de Ara jo UFPI Tradu o e interpreta o de linguagens de dom nio 83 espec fico com a ferramenta ANTLR Cairo Antonio Oliveira Rocha UFPI Raimundo Santos Moura UFPI Empreendedorismo e Gest o em Tl 101 Paulo C sar Coutinho dos Santos UESPI Cloud Computing Montagem uma Infraestrutura Privada 121 Julio Cesar Damasceno UFPE Fernando Antonio Aires Lins UFPE M rcio Almeida de Mac do UFPE Comite de Programa Coordena o Geral l lis Cavalcante de Paula J nior UFC Campus de Sobral Coordena o do Comit de Programa Andr a Carneiro Linhares UFC Campus de Sobral Comit de Programa Andr Castelo Branco Soares UFPI Carlos Alexandre Rolim Fernandes UFC Campus de Sobral Clemilson Costa dos Santos UFC Campus de Sobral Daniel Benevides da Costa UFC Campus de Sobral Davi Romero de Vasconcelos UFC
136. inos e ovinos Ser uma aplica o simples de ATDD por m pr ximo da realidade Inicialmente temos que definir alguns casos de testes juntamente com o cliente para ent o procedermos com a especifica o das tabelas FitNesse Definimos tr s casos de testes sendo eles login v lido Figura 4 29 login com senha incorreta Figura 4 30 e login com identificador inexistente Figura 4 31 Identifica o Login v lido Itens a testar Verificar se a tentativa de login utilizando os identificadores v lidos retoma a mensagem apropriada Campo Valor Entradas i Login admin Senha admin Campo Valor Sa das esperadas Mensagem Entrada no sistema efetuada com sucesso Estado Login efetuado alcan ado Ambiente Capriovi Depend ncias N o aplic vel Figura 4 29 Caso de teste de login v lido Identifica o Login inv lido com senha incorreta Itens a testar Verificar se a tentativa de login utilizando o identificador de senha incorreto retoma a mensagem apropriada Campo Entradas Login Sa das esperadas E N o foi poss vel realizar a entrada no sistema Estado Sem usuario alcancado Ambiente Capriovi Depend ncias N o aplic vel Figura 4 30 Caso de teste de login com senha incorreta 77 Identifica o Login inv lido com login incorreto Itens a testar Verificar se a tentativa de login utilizando o ident
137. iza o das classes no algoritmo foi gerada aleatoriamente devido a isso at certa quantidade de loops os resultados obtidos poderiam ser diferentes Em m dia de 100 repeti es o algoritmo j se mostrou apto a definir classes ntegras como pode se observar na Figura 2 13 O desempenho do teste mostrou a efic cia da utiliza o do OpenCL para o desenvolvimento de sistemas de vis o computacional ou partes de seus algoritmos 2 4 2 Detec o de Borda Filtro Sobel Uma borda em uma imagem possui uma caracter stica relevante como uma mudan a no n vel de intensidades dos pixels Mecanismos detectores de bordas s o elaborados a fim de encontrar pixels onde ocorre esse tipo de varia o Dessa forma quando esses pixels est o pr ximos podem ser destacados formando uma borda ou contorno 12 33 INICIALIZAR CENTRO DAS CLASSES CALCULAR DIST NCIA EUCLIDIANA DAS CLASSES AGRUPAR PIXEL COMA CLASSE DE MENOR DIST NCIA C LCULO DE NOVOS CENTROS A PARTIR DOS AGRUPAMENTOS CLASSES DEFINIDAS POR CONDI O DE PARADA Figura 2 12 Algoritmo K Means Alguns detectores de borda utilizam o c lculo da primeira derivada e ou segunda derivada para encontrar essas mudan as na intensidade dos pixels Esse c lculo consiste em se definir m scaras de que caracterizam essa varia o e em seguida fazer a covolu o da imagem pela m scara Filtrar uma imagem por convolu o um processo que depende de uma v
138. iza o total o fato de o sistema operacional visitante n o ter conhecimento de que est sendo executado sobre o VMM ent o as instru es executadas pelo sistema operacional visitante devem ser testadas pelo VMM para que depois sejam executadas diretamente no hardware ou executadas pelo VMM e simulada a execu o para o sistema visitante Por fim o ltimo inconveniente da virtualiza o total o fato de ter que contornar alguns problemas gerados pela implementa o dos sistemas operacionais j que esses foram implementados para serem executados como inst ncia nica nas m quinas f sica n o dis putando recursos com outros sistemas operacionais Um exemplo desse ltimo inconve niente uso de pagina o na mem ria virtual pois h a disputa de recursos entre diversas inst ncias de sistemas operacionais o que acarreta em uma queda do desempenho 1 A para virtualiza o uma alternativa virtualiza o total Nesse modelo de vir tualiza o o sistema operacional modificado para chamar o VMM sempre que executar uma instru o que possa alterar o estado do sistema uma instru o sens vel Isso acaba com a necessidade de o VMM testar instru o por instru o o que representa um ganho significativo de desempenho Outro ponto positivo da para virtualiza o que os disposi tivos de hardware s o acessados por drivers da pr pria m quina virtual n o necessitando 125 Figura 7 2 Arquitetura
139. izin han a de influ ncia do pixel que est sendo considerado Esta opera o possui a seguinte id ia necess rio uma m scara com dimens es MxN onde cada posi o da m scara possui seu valor Em seguida a m scara centrada sobre a imagem na posi o x y e cada posi o da m scara multiplicado pelo pixel correspondente Para finalizar calcula se o somat rio dos valores obtidos na multiplica o e substitui na imagem o valor na posi o x y por este resultado Esta opera o representada na Figura 2 15 Os operadores mais comuns baseadas no c lculo da derivada primeira de uma imagem s o os operadores de Prewitt e de Sobel 12 a Figura 2 16 mostra as m scaras relacionadas ao operador para detec o de bordas Sobel na horizontal e na vertical e a express o matem tica que o representa Equa o 1 Para determinar bordas nas diagonais basta rotacionar a m scara do ngulo desejado 34 a Imagem original b Imagem resultante Figura 2 13 Resultados para o algoritmo K Means z7 2zg z z1 2z2 z3 1 X 80 E z23 2z6 29 z1 2z4 27 Em uma imagem com resolu es de 800x640 pixels omitindo se os pixels das bordas para cada pixel ser o feitas as multiplica es e o somat rio Calcular Sobel para cada um desses pixels requer um custo computacional elevado Em imagens com res olu es maiores o custo aumenta poss vel tamb m detectar bordas em v deos onde
140. jeto tem amadurecido e agregado novas funcionalidades provendo sua constante atualiza o em rela o s tecnologias Web e CMS Al m disso a exist ncia dessa comunidade atuante facilita a obten o de ajuda por parte dos usu rios e Grande disponibilidade de m dulos e extens es O Joomla possui as funciona lidades b sicas de um site ou portal mas existem muitos m dulos e extens es dis pon veis voltados a aplica es mais espec ficas e software livre O Joomla licenciado pela GNU GPL N o preciso pagar nada e nem piratear o software para usar o Joomla como base do seu website Al m disso o c digo fonte est aberto para ser alterado de acordo com suas exig ncias e Desprendimento com o desenvolvedor Um site feito em Joomla f cil de manter e evoluir e por ser um padr o qualquer profissional que trabalha com a ferramenta n o ter dificuldades em gerenciar o site desenvolvido por outra pessoa e Seguran a O Joomla implementado seguindo padr es de seguran a inclusos na ferramenta Al m dessa seguran a padr o existem plugins que podem se adiciona dos com a finalidade de deixar o site ainda mais seguro e Templates Para mudar o layout do site basta modificar ou editar o template do mesmo o qual pode ser baixado editado ou comprado O Joomla segue o padr o MVC Model View Controller que divide seu programa em camadas e torna mais f cil a inser o de mudan as no mesmo e Frontend traduz
141. l no desenvolvimento de sistemas de busca e recupera o de documentos ou informa es a partir de padr es textuais Extrair conhecimento de texto n o estruturado e transform lo em conhecimento estruturado o foco central na rea de extra o da informa o Refer ncias AntLR 2010 AntLR Parser Generator Dispon vel em http antlr org Fowler M 2010 Domain Specific Languages Addison Wesley Professional 2010 IntentSoft 2010 Intentional Software Corporation Dispon vel em http www intentsoft com MPS 2010 The Meta Programming System Dispon vel em http www jetbrains com mps Parr T 2007 The Definitive ANTLR Reference Building Domain Specific Languages The Pragmatic Programmers Dispon vel em http www pragprog com titles tpantlr the definitive antlr reference 99 Taha W 2008 Domain Specific Languages IEEE International Conference on Computer Engineering and Systems ICCES 2008 van Deursen A Klint P amp Visser J 2000 Domain specific languages an annotated bibliography ACM SIGPLAN Not Volume 35 6 New York NY USA 2000 VisualStudio 2010 Visual Studio Visualization and Modeling SDK was DSL SDK Disponivel em http code msdn microsoft com vsvmsdk 100 Cap tulo 6 Empreendedorismo e Gest o em TI Paulo C sar Coutinho dos Santos Abstract Imagine an organization without information technology today is very close to impossible
142. l padr o da MySQL AB e Apache O servidor Apache ou Servidor HTTP Apache Em ingl s Apache HTTP Server ou simplesmente Apache o mais bem sucedido servidor web livre Foi criado em 1995 por Rob McCool ent o funcion rio do NCSA National Center for Supercomputing Applications Numa pesquisa realizada em dezembro de 2007 foi constatada que a utiliza o do Apache representa 47 20 dos servidores ativos no mundo Em maio de 2010 o Apache serviu mais de 54 68 de todos os sites existentes e mais de 66 dos milh es de sites mais movimentados a principal tecnologia da Apache Software Foundation respons vel por mais de uma dezena de projetos envolvendo tecnologias de transmiss o via web processamento de dados e execu o de aplicativos distribu dos 3 5 Instala o do Joomla O download do Joomla pode ser feito em http www joomla org download O ideal sempre optar pela ltima vers o est vel Al m de usar o Joomla diretamente em uma hospedagem na Internet podemos instal lo em servidores locais apenas assegurando os pr requisitos citados no t pico 4 4 Para isso deve se descompactar os arquivos e coloc los na pasta que o servidor cria automaticamente para tal fim O envio dos arquivos do Joomla ao servidor deve ser realizado atrav s do protocolo FTP File Transfer Protocol Protocolo de Transfer ncia de Arquivos Um cliente de ftp muito popular e livre o file zilla que pode ser obtido em http filezill
143. lo de edi o de tabela alterada pelo desenvolvedor 2 No marcador para o comando path especificado o caminho em que encontram se todas as classes de suporte que ser o necess rias para execu o do teste Logicamente durante o in cio do ATDD apenas os testes ser o definidos ficando essa indica o para um momento posterior ap s a implementa o do programa desejado Ap s essas defini es temos que especificar algumas outras tabelas como por exemplo a tabela de importa o especificando o pacote da classe fixture respons vel pela liga o dos teste e do c digo execut vel al m da tabela do teste de aceita o do tri ngulo Os componentes existentes nessa parte s o e TrianguloFixture t tulo da tabela que vai representar o nome da classe da fixture que ser instanciada e JadoUm coluna com as entradas de valores inteiros do primeiro lado do tri ngulo associado a um m todo set na classe fixture e ladoDois coluna com as entradas de valores inteiros do segundo lado do tri ngulo associado a um m todo set na classe fixture eladoTres coluna com as entradas de valores inteiros do terceiro lado do tri ngulo associado a um m todo set na classe fixture etipo coluna com as sa das esperadas sobre o tipo de tri ngulo associado ao m todo return a partir do ponto de interroga o No preenchimento de uma tabela existem alguns bot es de formata es muito teis s pessoas que especificam testes
144. longo do curso O Cap tulo 2 leva ao estudo da otimiza o de algoritmos de vis o computacio nal Por quase sempre abordarem complexas estruturas de dados o processa mento desses algoritmos pode requerer um aux lio para a redu o de seu custo compu tacional A integra o de OpenCL que instrui execu es em m ltiplas inst ncias simultaneamente e CUDA levando o processamento gr fico unidade de hardware espec fica contribuem para a execu o mais precisa dos algoritmos aqui apresentados O Cap tulo 3 aborda se a ferramenta livre Joomla para cria o de websites Seu uso muito difundido na internet e diversas organiza es v m adotando a principalmente em seus ve culos de divulga o e comunica o Uma caracter stica que amplia sua ado o que n o se exige conhecimento em programa o por parte do usu rio de Joomla mesmo produzindo p ginas web na linguagem PHP O Cap tulo 4 volta se para desenvolvimento de software dirigido por testes de aceita o Apresenta se aqui uma pr tica de programa o muito mais relacionada a definir as expectativas quanto ao comportamento do c digo de um software e fazer com que isso guie a implementa o que est sob teste O Cap tulo 5 apresenta uma vis o geral das linguagens de dom nio espec fico do ingl s Domains Specific Languages DSLs e a ferramenta ANTLR ANother Tool for Language Recognition Esta direcionada para a constru o de tradutores e int
145. ltar que na vers o 1 5 n o era usado o login do administrador Entrava se com a senha e o usu rio criado era denominado admin Isso gerava um inconveniente pois era preciso mudar o nome do usu rio para garantir a seguran a do site Existe uma op o dispon vel para instalar exemplo de conte do Essa op o cria um exemplo de site com conte do categorias artigos menus etc Pessoalmente prefiro n o marcar essa op o pois ser necess rio apagar tudo depois Contudo para quem est querendo aprender a usar a ferra menta selecionar essa op o pode vir a ser interessante pois ela deixar tudo previamente configurado No ltimo passo preciso remover o diret rio installation Esse diret rio encontra se na mesma pasta onde foram copiados os arquivos do Joomla Ap s remov lo a ins tala o est conclu da e ser poss vel visualizar o site criado A rea administrativa acessada incluindo administrator no final do endere o http Ex Seja www nome do site com o nome do site Para se ter acesso rea de administra o digita se www nome do site com administrator 45 3 6 Frontend Backend Font size Bigger Reset Smaller Joomla Open Source Content Management Beta You are here Home Main Menu Home Home Login Form User Name Password Remember Me O Log in Forgot your username Greate an account Figura 3 3 Frontend do Joomla O Joomla tem duas faces reas uma para os usu
146. m bastante podendo disponibilizar a resolu o de problemas e novas funcionalidades Os usu rios que op tem por usar profissionalmente a ferramenta aconselh vel a associa o em clubes de templates para o desenvolvimento de designs diferenciados em cada site trabalhado Refer ncias 1 Webb Cory 2009 Beginning Joomla Web Site Development Wiley Publishing Inc 2 Graff Hagen 2006 Building Websites with Joomla Packt Publishing 3 Rahmel Dan 2007 Beginning Joomla From Novice to Professional Apress 4 Rahmel Dan 2007 Professional Joomla From Novice to Professional Apress 5 Dawson Brandon Canavan Tom Money making weapons for your Joomla web site Packt Publishing 6 Harwani B M 2009 Foundation Joomla Friendsof 7 Torres Jo o V tor 2006 Gest o de Conte dos com Joomla 8 Shreves Ric 2010 Joomla Bible Wiley Publishing Inc 9 Holzner Steven Conner Nancy 2009 Joomla For Dummies Wiley Publishing Inc 10 North Barrie 2007 Joomla Um Guia do Usu rio Construindo um Website Poderoso com o Joomla Prentice Hall Professional 11 Chapman Daniel 2009 Joomla 1 5x Customization Make Your Site Adapt to Your Needs Packt Publishing 12 Severdia Ron Crowder Kenneth 2010 Using Joomla Building Powerful and Efficient Websites O Reilly Media 13 Soares Hugo Joomla Vis o geral Para Programadores Componentes Creative Commons
147. m fun o do template utili zado Tamb m pode se alterar o c digo dos arquivos do template Faz se isso escolhendo a aba temas e clicando no nome do template a ser editado Feito isso aparecer o os arquivos que o comp e podendo se edit los entre outros Ainda no Gerenciador de Temas poss vel visualizar as posi es programa das para adicionar os m dulos na aba temas Para que a op o apare a clica se em op es marcando se ativado em Pr visualiza o de posi es de m dulos seguido de salvar Feito isso aparecer a op o Pr visualizar abaixo do nome do menu podendo se visualizar a distribui o das posi es do template figura 4 5 Nos templates s o personalizados o estilo do menu cones imagens e os locais dos m dulos como cabe alho esquerda direita rodap dentre outros Existem muitos templates dispon veis e gratuitos enquanto outros est o dispon veis para venda o com prador pode inclusive encomendar um template Existem ainda os clubes de templates onde os associados tem direito de baixar o conte do produzido pelo clube 3 8 Joomla no idioma de sua prefer ncia O Joomla tem suporte a pacote de idiomas permitindo tradu o do conte do do site simplesmente atrav s da adi o de arquivos do idioma desejado Esse suporte possibilita que operadores de nacionalidades diferentes possam trabalhar no mesmo site atrav s da escolha do idioma de sua prefer ncia Na frontend esse
148. m grande desafio da computa o paralela desenvolver um aplicativo escal vel ao aumento do n mero de n cleos da mesma forma que aplicativos gr ficos em 3D que possuem transpar ncia a grandes varia es no n mero de n cleos O CUDA proje tado para superar este desafio mantendo uma baixa curva de aprendizado para progra madores familiarizados com linguagens padr es como C Na ess ncia do CUDA existem basicamente tr s principais hierarquias Grupos de threads Mem ria Compartilhada e Sincroniza o expostas como um conjunto m nimo de extens es da linguagem como ilustrado na Figura 2 4 24 Figura 2 3 CUDA desenvolvido para ter suporte a varias linguagens Programa CUDA com threads paralelas EE EE y Eee too sono en 7 Figura 2 4 Escalabilidade Autom tica 2 2 1 Kernels CUDA C estende C permitindo ao programador definir fun es C chamadas kernels Es sas fun es quando chamadas s o executadas N vezes em paralelo por N threads CUDA Os kernels s o definidos utilizando se o modificador de acesso _ global no cabe alho da fun o e o n mero de threads CUDA definido na chamada do kernel Cada thread que executa o kernel possui um ID nico esse ID acess vel no kernel atrav s da vari vel threadIdx 1 As threads s o organizados em hierarquias Por defini o a vari vel threadldx um vetor de tr s componentes e o resultado da normaliza o destas componentes um valor nic
149. m m dulo de menu e opcionalmente a uma descri o Ap s preenchido clica se em Salvar gt Fechar A Cria o dos itens de menu feita acessando Menu gt Nome do Menu seguido pela op o Adicionar item de menu Por fim deve se preencher os campos ilus trados na figura 4 11 Alguns deles s o explicados a seguir e Tipo de item de Menu Clicando em selecionar aparecer as op es ilustra o na Figura 4 12 essas op es mudam de acordo com os m dulos instalados N o 54 T Gerenciador de Menus Novo Item de Menu B Bb 0 8 Ajuda Salar Salvar amp Fechar Salvar amp Novo Cancelar Detalhes v Op es de Tipos de Link Tipo de item de Menu Selecionar Atributos do T tulo Titulo do Menu Estilo css Apelido Imagem do Link Solecionar Limpar Nota Link Ter a mt Op es de Exibi o da P gina Estado Publicado gt Op es de meta dados Nivel de Acesso Public gt M dulo de Atribui o deste item de menu Localiza o do Menu Outro Menu tem Pai Meni item Root Janela Destino Pai Pagina Inicial e N o Sim Idioma Todos Tema de Estilo Usar Padr o ID o Figura 3 11 Cria o de Item de Menu caber neste momento a descri o de cada uma das op es por serem muitas e multiplicarem se com a adi o de novos m dulos Entretanto todas s o bem in tuitivas e quando selecionada uma op o surgir outras mais para o ajuste das configura es particulares ao menu escolhido
150. m novo modelo de autom vel o Astra por meio de uma campanha veiculada na Web antes de chegar outros tipos de propagandas e obteve um enorme sucesso com um aumento consider vel de visitas ao seu site Tudo resumi se a import ncia de ser direcionado ao usu rio final ou o consumidor web Por suas in meras op es e possibilidades de surfar a internet tornou se o determinante indispens vel e essencial do neg cio focado em usu rios se uma empresa n o agrada seus usu rios ela n o dura muito Por outro lado empresas que entregam o que o usu rio quer se beneficiam de um r pido aumento no n mero de visitantes que seu site recebe Larry Farrell especialista em empreendedorismo reconhecido internacionalmente escreve A principal vis o que todos os empreendedores devem ter um quadro claro de um grupo espec fico de clientes que precisam e est o dispostos a pagar por um conjunto espec fico de produtos e servi os N o h nada mais b sico para um empreendedor Farrell explica que um empreendedor de sucesso quase sempre tanto uma pessoa voltada a produtos quanto uma pessoa voltada a clientes Farrell conta a hist ria de Walt Disney o maior criador de produtos da hist ria da ind stria de entretenimento e conclui dizendo O truque tornar se apaixonadamente 103 especializado em seus pr prios produtos e consumidores Eles s o as duas id ias mais relevantes para seu neg cio
151. mente na poca p s bolha onde o mercado ainda estava ensaiando sua volta Quando surgiu a oportunidade de nacionalizar o modelo de neg cio do Threadless vi ali uma forma de criar o que viria a ser o meu novo empreendimento e ainda assim faz lo com risco bastante moderado e sem necessidade de capital de risco Eu poderia ter insistido em querer criar uma empresa baseada numa id ia inovadora e in dita eu pensava nisso obviamente mas teria sido rom ntico demais da minha parte Como empreendedor n o se pode ter d vidas de que sonhar em algum dia criar uma empresa de sucesso inovadora e in dita Crer se que esse o nirvana para qualquer empreendedor Ou seja o desenvolvimento da rede de VCs no Brasil ir permitir que mais empresas com id ias inovadoras e in ditas surjam e conquistem o mundo Mas n o menos empresas baseadas em modelos de neg cio criados por terceiros Portanto Acreditar que inova o mais abrangente do que somente criar algo novo a partir do nada papel crucial e inevit vel aqueles que v em nas startups modelos de neg cios promissores e valorosos A prova disso que se pode inovar criando uma solu o diferente e melhor para problemas que j existem e j foram resolvidos de outras formas Um exemplo bem real o iPod N o foi nem de longe o primeiro Mp3 player port til do mercado no entanto consideram no um produto inovador Ele apenas proveu uma solu o diferenciada em termos usabilidade de
152. na 1994 119 Santos P C C Os Novos Formatos de Empreendedorismo On Line Estudo do Empreendedorismo no Second Life 2009 Trabalho de Conclus o de Curso Bacharelado em Sistemas de Informa o Faculdade de Tecnologia do Piau FATEPI Teresina PI Dolabela Fernando Oficina do empreendedor 6 ed S o Paulo Cultura 1999 120 Cap tulo 7 Cloud Computing Montagem uma Infraestrutura Privada Julio Cesar Damasceno Fernando Antonio Aires Lins M rcio Almeida de Mac do Abstract Cloud Computing has proven to be a promising paradigm since there is the possibility to pay only for the used resources in a flexible way where it can scale more or less The advantage to choose for a private cloud where resources are available only to a limited group of users is motivated by the fact that it s construction can be made from current hardware with a reasonable cost This short course aims to show the technologies that support the infrastructure of private cloud and show through a practical example the setup using low cost hardware with open source tools Resumo A computa o em Nuvem ou Cloud Computing tem se mostrado um paradigma bastante promissor pois existe a possibilidade de pagar apenas pelos recursos utilizados de ma neira flex vel onde os mesmo podem escalar para mais ou para menos A vantagem para se optar por uma cloud privada onde os recursos s o disponibilizados apenas para um grupo restrito de usu rio
153. ncontram as classes e as libs de apoio para execu o dos testes A tabela possui o nome de LoginFixture Logicamente esse deve ser o mesmo nome da classe fixture a ser criada A tabela deve possuir tr s colunas e tr s linhas para refletir os testes especificados anteriormente As colunas devem representar os dados de entrada login e senha Deve haver tamb m uma coluna representando a sa da esperada no caso a mensagem a ser obtida com a execu o do teste 78 FrontPage TestTableLogin nusa Test variable defined TEST SYSTEM slim Edit Properties Refactor import fixtures Where Used Search LoginFixture Files login senha mensagem Versions admin admin Entrada no sistema efetuada com sucesso admin errada N o foi possivel realizar a entrada no sistema Recent Changes errada admin N o foi possivel realizar a entrada no sistema User Guide Test History Figura 4 33 Tabela FitNesse do teste de autentica o de login Criada a tabela do teste deve se criar a fixture para fazer a liga o com o sistema Para a implementa o do teste utilizaremos Java JAVA 2010 e Selenium SELENIUM 2010 O Selenium uma ferramenta para automa o de testes funcionais de aplica es Web A partir do seu uso poss vel manipular p ginas Web entrando com valores acionando comandos e obtendo os valores exibidos Ess
154. nteresse deve ser a orienta o de refer ncia igual a 0 35 K means OpenCL 16 14 12 10 Tempo em segundos oo 10 loops 20 loops 50 loops 100 loops Figura 2 14 Desempenho em segundos para quantidades de loops Em seguida cada magnitude calculada em torno do ponto de interesse atenuada segundo uma janela gaussiana com vari ncia s igual metade da largura da regi o ao redor do ponto de interesse O pr ximo passo consiste em definir n x n sub regi es de k x k pixels cada A partir da as magnitudes atenuadas s o acumuladas em um histograma de orienta es para cada sub regi o A magnitude acumulada em cada entrada do histograma de orienta es corresponde soma das magnitudes dos gradientes pr ximos dire o daquela entrada O procedimento de constru o do descritor ilustrado na figura 2 18 O descritor representado por um vetor de 32 elementos 2x2x8 O comprimento de cada seta na figura do lado direito corresponde soma das magnitudes dos gradientes pr ximos aquela dire o dentro de cada sub regi o O descritor ent o representado por todos os histogramas das sub regi es Esta representa o na forma de um vetor onde cada elemento do vetor corresponde a cada uma das dire es de cada um dos histogramas Por fim para que o descritor seja invariante ilumina o uma normaliza o aplicada de tal forma que o valor m ximo do vetor de caracter sticas
155. o Tipo de item de menu clica se em selecionar e escolha na aba artigo e na op o Cate goria como blog aparecer direita algumas op es de configura o em Configura es obrigat rias seleciona se a categoria desejada Nota se que pode ser adicionado um menu relacionado a apenas um artigo e um usu rio dentre v rias outras op es listadas na Fi gura 4 12 podendo serem adicionadas mais Artigos Arquivados Categoria de Artigos Categoria de Artigos Ultimas Not cias Artigos Newsflash Conte do Mais Lido Banners Breadcrumbs Personalizar HTML Mostrar Feed Rodap Seletor de idioma Login Menu Imagem randomica Artigos Artigos Relacionados Pesquisa Statistics Syndication Feeds Ultimos usuarios Weblinks Quem esta On line Wrapper oenereeeeeneeeeeeeeeee ee ee ee e Figura 3 13 Escolha de m dulos 3 15 M dulos O m dulo mostra na frontend os conte dos e op es Tem se m dulos para menu login de usu rio rel gio busca dentre outros O m dulo a parte mais interativa do usu rio com o site Estes trazem op es de lugares previamente definidos nos templates Isto ser exemplificado com a cria o de um m dulo para menu clicar em Extens es e escolher Gerenciador de M dulos Clica se em novo para criar um novo m dulo Em seguida surgir o as op es ilustradas na figura 4 13 v lido relembrar que podem ser instalados m dulos adicionais atrav s do Gerenciador de Extens es com
156. o que seus componentes sejam avaliados e redefinidos caso estejam fora do esperado Zz O Planejamento Estrat gico da Tecnologia da Informa o um processo din mico e interativo para estruturar estrat gica t tica e operacionalmente as informa es e conhecimentos organizacionais a TI e seus recursos hardware software sistemas de telecomunica es gest o de dados e informa o os sistemas de informa o e do conhecimento o perfil das pessoas envolvidas e a infra estrutura necess ria para o entendimento de todas as decis es a es e respectivos processos da 112 organiza o REZENDE 2002 Da a demonstra o da complexidade e a import ncia de um bom planejamento de um planejamento estrat gico da TI Podemos dizer que o planejamento estrat gicos da TI auxilia a organiza o a gerenciar e aplicar da melhor forma os recursos computacionais dispon veis visando a melhorias na forma de tratar disseminar e armazenar as informa es necess rias ao neg cio da institui o e dar suporte ao planejamento estrat gico empresarial em busca de seus objetivos Para obten o do sucesso fundamental que o Plano Estrat gico Empresarial e o planejamento estrat gico da TI estejam interligados entre si e que ambos sejam reavaliados com o decorrer do tempo e n o esquecidos dentro das gavetas das corpora es As metodologias para o Planejamento Estrat gico da TI s o importantes pois auxiliam nas decis es e defini
157. o Joomla manda um e mail de ativa o da conta Contudo a conta pode ser ativada diretamente pelo administrador e Grupos Atribu dos marcar os grupos aos quais o usu rio pertence O exemplo de cria o de usu rios para o caso aluno de engenharia da computa o neste deve se fornecer os dados do mesmo e na op o grupos atribu dos marcar Engenharia da Computa o Considera se ainda a situa o em que se deseja criar um usu rio professor de Engenharia da Computa o Este novo usu rio al m de ler o con te do marcado como Engenharia da Computa o poder alter lo e adicionar novos artigos Para isso devemos marcar tamb m o grupo Editor 3 11 Criando categorias e artigos com acessos diferenciados Sabendo que todo artigo deve pertencer a uma categoria cria se primeiro as categorias e depois os artigos Inicialmente ser criada a categoria atrav s do menu de Conte do acessando o sub menu Gerenciando Categorias e selecionando Nova Categoria Con siderando o exemplo de uma categoria de Programas em C e outra para programas em Python cujo n vel de acesso ser programa o Pode se ainda tomar a cria o de uma ca tegoria programa o como categoria pai a Figura 4 8 apresenta a hierarquia Para se obter essa estrutura primeiro cria se a categoria programa o e depois as demais obedecendo os n veis parentais Abaixo uma exposi o dos campos a serem preenchidos e T tulo t t
158. o da empresa exerce papel fundamental Assim o gerenciamento da tecnologia abrange a escolha de tecnologias apropriadas realidade organizacional da empresa pessoas estrutura administrativa e estrutura tecnol gica existente aliado a um ambiente inovativo e empreendedor que se caracterizam em estrat gia competitiva Esta realidade n o se apresenta diferente nas MPIs no entanto estas empresas que permanecem no mercado ap s o per odo de nascimento e procuram a consolida o s o MPIs inovadoras e que agregam valor aos seus produtos garantindo mercado Na maioria dos casos s o empresas flex veis possuem estrutura organizacional enxuta valorizam a criatividade e suas estrat gias s o informais por m focalizadas no seu neg cio Precisam vencer muitas dificuldades para vencer principalmente em termos de desenvolvimento tecnol gico gerenciamento e recursos financeiros Uma caracter stica marcante o fato destes empreendimentos refletirem a postura profissional e pessoal do propriet rio e muitas vezes constitui se num fator de sucesso Criatividade um processo que conduz produ o de id ias originais para a pessoa que est criando ou para um conjunto de pessoas e at para o mundo inteiro um sistema aberto no qual qualquer pessoa pode criar N o h limites para isto E podem dar id ias para qualquer campo de atividade humana Tamb m n o h restri o Por isto a criatividade tem a ver com o pensar Sua f
159. o devido a leis f sicas 21 A programa o paralela j se mostrou eficiente para a execu o de algoritmos com cargas de dados como os j mencionados por m a tecnologia se tornou mais vi vel para o meio cient fico devido ao seu custo Seu valor se justificava pela forma de como era realizado geralmente um computador principal que divide a execu o entre outros Placas gr ficas s o em maioria utilizadas como aceleradores de v deo e t m seu verdadeiro potencial limitado A tecnologia multi nuclear das mesmas motivo da evolu o no desempenho tem princ pios mais s lidos e n o est o restritos a processa mento de imagens As threads podem executar de forma independente linhas de c digo tal que funcionam como super computadores caracter stica ideal para a computa o de alto desempenho A nVidia fabricante de n cleos gr ficos para computa o desenvolveu a tecnolo gia CUDA Compute Unified Device Architecture uma arquitetura para computa o par alela Esta permite utiliza o dos n cleos da GPU de forma simult nea e independente para a execu o de blocos de c digos o que a levou a ser foco e ferramenta de trabalho A tecnologia diminuiu o custo de hardwares para estudo do paralelismo e desenvolvimento de softwares profissionais e cient ficos no setor de alto desempenho As aplica es para a tecnologia s o diversas simula es f sicas financeiras al m de qu micas pela din mica de mol culas
160. o no exemplo descrito na sess o 4 8 Neste exemplo o pacote de idiomas foi instalado mas qualquer outro m dulo poderia ter sido instalado seguindo o mesmo procedimento Conforme o tipo de m dulo temos configura es diferentes Mesmo assim n o foge a simplicidade das configura es que o ambiente Joomla oferece sendo bastante intuitivo at mesmo em m dulos dispon veis para download na internet No caso de sur girem problemas em algumas configura es deve se procurar no site onde foi realizado o download o arquivo correspondente ao manual de ajuda do pacote utilizado Seguindo com o exemplo ser criado um m dulo para menu Deve ser preen chido al m das informa es b sicas informa es relativas a localiza o do m dulo es sas posi es s o predefinidas e poder o serem identificadas na pr visualiza o do tem plate ver sess o 4 7 e no caso do menu selecionar a qual ser associado esta op o 56 encontra se a direita da tela em Op es B sicas 3 16 Considera es Finais Neste cap tulo foi abordado o uso da ferramenta Joomla para cria o de websites Visto como instalar configurar alguns conceitos relevantes cria o de categorias artigos web links e menus O conte do abordado possibilita a cria o de um website mas deve se procurar outras fontes para obten o de maiores funcionalidades as refer ncias podem ajudar Ao encontrar desafios ou dificuldade os grupos Web ajuda
161. o o qual a thread est relacionada O n mero de threads por bloco limitado pelo numero de n cleos do processador contudo o kernel pode ser executado por m lti plos blocos de forma semelhante Sendo assim o numero de threads executadas ser o n mero de blocos vezes o n mero de threads por bloco Blocos de threads podem ser organizados dentro de uma Grade Grid unidimen 25 sional ou bidimensional O n mero de blocos geralmente ditado pelo tamanho dos dados processados ou o n mero de processadores do sistema As threads dentro de blocos po dem cooperar entre si compartilhando dados atrav s da mem ria compartilhada shared memory sincronizando a execu o e coordenando o acesso mem ria 2 2 2 Hierarquia de Mem ria As threads CUDA podem acessar m ltiplos espa os de dados na mem ria durante a ex ecu o conforme ilustrado na figura 2 5 Cada thread possui sua pr pria mem ria local privada Cada bloco de threads tem uma mem ria compartilha vis vel por todas as threads do bloco e com o tempo de vida igual ao do bloco Todas as threads possuem acesso a mem ria global Thread a gt Mem ria Local por Thread Bloco de Thread SS Memoria Compartilhada gt por Bloco Grid 0 Mem ria Global Figura 2 5 Hierarquia de Mem ria H tamb m dois espa os adicionais de mem ria do tipo somente leitura acess veis a todos as threads espa os de mem ria constante e textura
162. o separados h um especificamente para GPUs e outro para CPUs de modo que ainda n o poss vel usufruir de todos os benef cios que o framework oferece de portabilidade entre tipos de dispositivos que executar o as kernels em OpenCL C Por ser uma tecnologia recente a bibliografia existente pouca boa parte da mesma restringindo se as fabricantes e desenvolvedores de tecnologia que a usam como AMD respons vel pela ATI Stream nVidia desenvolvedora da CUDA ambas mostrando timos resultados contudo a nVidia sendo pioneira no setor e possui maior suporte como a quest o do recurso de atomicidade de fun es restrita grupo nas placas habilitadas a tecnologia ATI Stream 2 4 Estado da Arte O CUDA e o OpenCL oferecem duas interfaces para programar GPUs O OpenCL uma interface padr o aberta que permite programar CPUs GPUs e outros dispositivos de diferentes vendedores enquanto o CUDA especifico das GPUs nVidia Entretanto OpenCL promete uma portabilidade de linguagem para programar em GPU Essa general idade implica em uma perda de desempenho As duas interfaces de programa o possuem funcionalidades similares no entanto o desempenho do kernel do OpenCL entre 13 e 64 mais lento que CUDA 7 No entanto em reas como seguran a computacional h uma preocupa o quanto utiliza o do poder computacional das GPUs Os autores de malwares buscam constan temente por novos m todos para evitar a detec o por an
163. oferecer Al m disso o endere o do site pode ser divulgado em outros meios deixando que a curiosidade guie o internauta ao seu s tio nesse cen rio que surge o Joomla O Joomla uma ferramenta capaz de criar sites de qualidade de maneira r pida permitindo ao usu rio concentrar se na elabora o do conte do sem preocupar se com muitos detalhes t cnicos Antes de aprendermos a usar o Joomla necess rio apresentar alguns conceitos fundamentais sobre o mesmo Para iniciarmos nosso aprendizado da ferramenta preci samos saber o que ela para que serve quais recursos est o dispon veis e em que casos usar Desse modo os seguintes t picos ser o abordados e O que Joomla e Conceito de Content Management System CMS e Explica o sucinta das ferramentas necess rias ao Joomla e Como instalar e configurar o Joomla e Algumas defini es e Como criar menu weblink grupos de usu rio e n vel de acesso e Exemplo de cria o de conte do e ger ncia de acesso e Novidades da vers o 1 6 3 1 O que Joomla O nome Joomla pronuncia se djumla tem origem de uma palavra Swahili Jumla que significa todos juntos Joomla software livre licenciado sobre a GNU GPL um Con tent Management System ver se o 4 2 derivado do Mambo escrito em PHP e executado em servidor Apache Usa banco de dados MySQL sendo v lido ressaltar que a intera o com o banco j se encontra implementada Outra caracter
164. ograma o e execu o de programas projetos Um exemplo inte ressante de Cloud que se encontra neste n vel o Google App Engine que oferece n o apenas recursos de armazenamento como um ambiente para programa o onde usu rios podem modelar e executar procedimentos na Cloud Embora conte com a reconhecida vantagem de se disponibilizar mais um servi o para o cliente um ponto tamb m deve ser considerado nesse contexto medida que em geral os recursos f sicos s o alocados e utilizados atrav s dos recursos de software do n vel de plataforma usu rios t m uma restri o na forma de utilizar a Cloud Por isso pode se afirmar que quanto mais elevado o n vel da Cloud maior o n mero de ser vi os prestados para o cliente e menor a flexibilidade para a utiliza o de recursos f sicos e de software presentes na mesma e SaaS Software as a Service usu rios finais podem acessar servi os que s o dis ponibilizados diretamente pela Cloud para ele Em geral os clientes acessam estes servi os atrav s de uma interface amig vel como um navegador Web Exemplos de servi os disponibilizados pela Cloud neste contexto s o o Google Maps e o Go ogle Docs Neste n vel o usu rio n o est interessado em desenvolver aplica es ou requisitar recursos f sicos seu desejo reside na execu o de aplica es simples ou compostas que agregam valor de neg cio para ele Um ponto relevante relacionado a estes conceitos reside na n
165. oid trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals equilatero triangulo 0 Figura 4 3 Classe de teste ap s falha no m todo tipo A parte do c digo que est em vermelho identifica que aquele m todo foi executado mas encontrou algum erro Nesse caso a falha encontrada foi causada pela diferen a entre a resposta esperada que deveria ser egiiil tero e o retorno do m todo que foi nulo Para corrigir esse erro o retorno do m todo alterado para a resposta desejada A Figura 4 4 mostra como deve ficar o m todo ap s a corre o Para verificar se a altera o teve efeito a classe de teste deve ser executada de novo Se o m todo ficar com a cor verde pode se concluir que o teste passou public String tipo return equilatero Figura 4 4 M todo alterado ap s teste falhar 63 public class TesteTriangulo public void triangquloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals eauilatero i triangulo tipo Figura 4 5 Classe de teste ap s a nova execu o No c digo exibido na Figura 4 5 foi criado o teste para verificar se a classifica o de um tri ngulo eq il tero feito com sucesso necess rio criar outros m todos de teste visando verificar as outras possibilidades existentes na classifica o de tri ngulos No entanto isso feito aos poucos para que o c digo evolua em um ritmo adequado mantendo sempre testes
166. omento de submet lo aos testes criados pelos usu rios finais da aplica o Nesse momento o c digo ligado aos testes de aceita o Eles s o executados gerando refatora es e mudan as no c digo at que ele esteja completamente operacional atendendo a todos os requisitos e passando nos testes de aceita o Se o software atender aos requisitos poder ser considerado pronto Caso contr rio todos os passos s o repetidos para modificar o programa para que possa atender todas as exig ncias e expectativas do cliente Acceptance test driven development Test driven development Failing acceptance Implement test an acceptance test Write acceptance tests for the story Write a user story Customer acceptance Refactoring Refactor Test Refactor Passing acceptance test Refactor Figura 4 14 Ciclo de funcionamento do ATDD e TDD 4 3 1 Iniciando o uso do ATDD Anteriormente vimos a aplica o de um exemplo utilizando o paradigma de Desenvolvimento Dirigido por Testes no contexto de uma aplica o para classificar um tri ngulo Agora iremos mostrar exemplo semelhante por m sob a tica do ATDD utilizando a ferramenta FitNesse como apoio para essa tarefa Na Figura 4 15 exibida a p gina inicial da FitNesse Para criar um teste basta criar uma tabela simples Para isso necess rio ter um conhecimento b sico de como funciona um wiki Depois de instalado o FitNesse o usu rio e
167. ontexto do projeto de pesquisa Ambiente de Gera o de Diagramas UML a partir de Descri es em Linguagem Natural desenvolvido no Laborat rio de Engenharia de Software e Inform tica Industrial EaSII da UFPI O prot tipo desenvolvido recebe uma descri o textual qualquer escrita em portugu s e ap s analisar alguns padr es textuais pr definidos gera as poss veis classes atributos e m todos A Figura 4 mostra uma vis o geral do processo 95 Descri es textuais Analisador Requisitos em Elementos UML linguagem natural portugu s Atributos M todos Classes Figura 4 Elementos UML a partir de descri es textuais vis o geral O prot tipo possui uma interface bastante simples com op es para criar abrir e salvar um documento al m de uma op o para executar a ferramenta de an lise Para a separa o das palavras tokens e para a especifica o dos padr es gramaticais foi usada a ferramenta ANTLR em conjunto com o ambiente NetBeans IDE Ap s o processo de separa o das palavras fase l xica faz se o processo de etiquetagem das palavras consultando uma estrutura do tipo HashMap que armazena o dicion rio de palavras Com as palavras classificadas a fase de an lise sint tica executada para identificar os poss veis padr es gramaticais da descri o Os padr es identificados s o apresentados ao usu rio na forma de listas com as poss veis classes atributos e m
168. ortar uma base de conectores podemos fazer o seguinte listagem 1 11 lt head gt lt connectorBase gt lt importBase alias conn baseURI connectorBase ncl gt lt connectorBase gt lt head gt Listagem 1 11 Importando base de conectores Um elo uma entidade NCM que possui duas propriedades adicionais um conector e um conjunto de associa es a este conector Soares e Rodrigues 2007 Os elos elemento lt link gt associam os objetos de m dia n s atrav s de conectores connectors que definem a sem ntica da associa o entre os n s Um elo criado utilizando se conectores e aplicando n s de m dia ou contexto a papeis roles estabelecidos pelo conector 11 lt body gt lt link id endVideolStartVideo2 xconnector conn onEndStart gt lt bind component videol role onEnd gt lt bind component video2 role start gt lt body gt lt link gt lt body gt Listagem 1 12 Defini o de elo utilizando um conector importado A listagem 1 12 acima descreve a cria o de um elo A NCL define id e xconnector como atributos de elos onde o primeiro o identificador do elo nico no documento e o segundo faz refer ncia ao conector que neste caso foi importado O elemento bind indica um elemento envolvido no elo indicando seu papel role no elo conforme a sem ntica do conector Um elo pode conter diversos elementos bind e deve conter pelo menos um bind para papel defin
169. os J na avalia o de TI existe uma metodologia denominada Control Objectives for Information and Related Tecnology ou somente COBIT Ela refer ncia para a gest o e controle de ambientes tecnol gicos seguros e utilizada para avaliar o alinhamento estrat gico de TI com as reas de neg cios da empresa aprimorando os processos desde a alta dire o at o departamento de TI A COBTT agrupa os processos de TI em quatro dom nios planejamento e organiza o aquisi o e implementa o entrega e suporte e monitora o Diversas formas de avaliar a Tecnologia da Informa o em suas diferentes manifesta es e denomina es processamento de dados inform tica sistemas de informa o etc foram apresentadas tanto na literatura acad mica como na de neg cios Segundo Moss 1993 h duas abordagens para a avalia o da TI Enfase na efici ncia Medida do desempenho com que as entradas inputs s o transformadas nas sa das outputs do sistema Foco na atividade de desenvolvimento de sistemas interno e predominantemente t cnico Exemplo n mero de linhas codificadas custo previsto contra custo real n mero de servi os prestados aos usu rios porcentagem de erros por fase do desenvolvimento tempo de conclus o dos projetos tempo de espera das solicita es na carteira Enfase na efic cia Medida de como as sa das do sistema atendem aos objetivos metas e requisitos do sistema Foco no impacto do si
170. os adaptativos s o exemplos de DSLs internas Outros exemplos desta abordagem s o uma linguagem de controle de rob embutida em Haskell e uma linguagem de desenho PIC like embutida em ML Quanto metodologia para projetar uma DSL utiliza se tr s etapas a saber e An lise compreende os seguintes passos 1 identificar o dom nio do problema ii obter o conhecimento relevante sobre esse dominio iii juntar esse conhecimento em no es sem nticas e opera es sobre elas combinadores e iv projetar uma DSL que descreve concisamente aplica es no dom nio e Implementa o t m se os passos v construir uma biblioteca API ou framework que implementa as no es sem nticas e vi projetar e implementar um compilador ou interpretador que traduz ou interpreta programas na DSL em uma sequ ncia de chamadas a bibliotecas e Utiliza o deve se vii escrever programas na DSL para todas as aplica es projetadas e compil las Existem v rias ferramentas para suporte a cria o de DSLs conhecidos na literatura como language workbenches S o exemplos dessas ferramentas e Intentional Software IntentSoft 2010 Usa uma abordagem radicalmente nova para cria o de software O conhecimento do especialista no dom nio do problema registrado em uma forma que pode ser transformado diretamente em c digo execut vel acelerando grande parte do processo de cria o de software e Microsoft Visual Studio 2010 DSL SDK
171. os por palavras e que cada palavra inicie com letra mai scula sem utilizar nenhum caractere especial para essa liga o Um exemplo de nome de tabela seguindo essas prescri es seria TestTableLogin Na Figura 4 16 podemos ver que foi adicionado o termo gt TesteTriangulo Ao salvarmos a p gina com essa altera o podemos notar que um novo link ser exibido na p gina original Figura 4 17 Ao clicar nesse link localizado ao lado do termo TesteTriangulo seremos direcionados para a edi o da nova p gina Figura 4 18 Essa 69 ser a p gina que utilizaremos para demonstrar o uso do ATDD para o exemplo da constru o de um programa para classificar tri ngulos amp FrontPage uau Se Test Wetcome To FitNesse Edit THE FULLY INTEGRATED STAND ALONE ACCEPTANCE TESTING FRAMEWORK AND WAKI Properties Where Used To add your first page click the Edit button and add a WikiWord to the page Search To Learn More Files What is FitNesse Start here f i Versions A brief example Read this one next Recent Changes User Guide Answer the rest of your questions here User Guide Acceptance Tests Fithesse s suite of Acceptance Tests Test History gt TesteTriangulo 7 Figura 4 17 Exemplo de p gina em cria o amp TesteTriangulo we Page porsw r exist Eorr Pace contents R2 g p f h Sae Spreadsheet to FilNesse FitNesse to Spreadsheet Format wrap Figura 4 18 Exemplo de edi
172. osicionamento e dimensionamento relativo entre regi es Os atributos height width left e top definem a altura largura a coordenada esquerda e superior da regi o Utilizamos valores em percentagem mas tamb m podemos inserir valores em pixels Podemos ainda definir ainda os seguintes atributos de regi es title titulo da regi o right coordenada direita da regi o bottom coordenada inferior da regi o zIndex utilizado para indicar no caso de regi es sobrepostas quais regi es aparecem sobre quais outras Vale ressaltar que os atributos de posicionamento left e width tem preced ncia sobre o atributo right assim como os atributos top e height tem proced ncia sobre o atributo bottom caso todos os eles estejam especificados Soares Neto 2007 1 6 2 Definindo Descritores atrav s de descritores que associamos uma m dia a uma regi o Mas tamb m atrav s dos descritores que podemos definir a forma como a m dia ser apresentada por exemplo o volume de uma m dia de udio o grau de transpar ncia de uma m dia de imagem dentre outras propriedades Os descritores devem ser definidos no cabe alho do programa lt head gt dentro da se o de base de descritores lt descriptorBase gt Toda m dia que usar aquele descritor estar associada regi o correspondente Na listagem 1 3 conferimos um exemplo de como definir um descritor lt head gt lt descriptorBase gt lt descriptor id descTel
173. ot N o not a Tabela 1 7 Operador de concatena o Operadores Significado Exemplo Concatena o a b 1 7 8 Estruturas de controle Em determinada circunst ncias necess rio executar algumas instru es baseadas em determinadas condi es Essas instru es ser o executadas se uma condi o for satisfeita ou repetir varias vezes a mesma estrutura at satisfazer uma condi o Lua prev algumas estruturas para controle do fluxo de execu o 1 7 8 1 If then else O comando if then representa uma tomada de decis o e permite a sele o de dois ou v rios caminhos distintos em uma execu o dependendo do retorno da express o analisada Se a express o avaliada for verdadeira a parte then executada sen o a estrutura do else executada local name ERCEMAPI ERCEMAPI then print name else print name n o igual a ERCEMAPI Listagem 1 23 estrutura de controle if 1 7 8 2 While O while realiza um teste na express o l gica na entrada da estrutura Enquanto o teste for verdadeiro o bloco executado bloco a ser executado se o teste passar Listagem 1 24 estrutura de controle while 1 7 8 3 Repeat A estrutura repeat until realiza um teste na express o l gica em until O bloco s termina depois da condi o de until for satisfeita 17 1 2 3 local i 1 repeat print t i 1 1
174. pace que ignora esse tipo de entrada Existem duas formas de se fazer isso A primeira colocando o token em um canal oculto O analisador s passa por um canal ignorando os demais O canal padr o O DEFAULT e o canal escondido padr o HIDDEN A segunda forma utilizar a fun o pr definida skip que n o gera o token A primeira op o consome mais mem ria mas til para quem deseja criar um debug para o usu rio da linguagem informando exatamente onde ocorreu o erro atrav s dos atributos pr definidos line que mostra a linha onde foi encontrado o token e pos que mostra a coluna onde foi encontrada o token Outro atributo pr definido importante o text que informa o texto que casou o token Atributos podem ser acessados dentro de a es atrav s do operador 90 RS n channel HIDDEN No nosso exemplo uma express o uma opera o aritm tica simples de inteiros ou vari veis envolvendo apenas os operadores mais e menos Pode se ter desde um simples operando at uma sequ ncia de adi es e subtra es expr atom MAIS MENOS atom atom INT ID E preciso ter cuidado ao definir regras que se auto referenciem pois elas podem levar a um loop infinito atrav s de recursividade esquerda como no exemplo abaixo expr expr MAIS MENOS atom O ambiente ANTLRWorks que incorpora a ferramenta ANTLR usada para facilitar a constru o de reconhecedore
175. para cada parte a ser desenvolvida A Figura 4 6 mostra mais um m todo adicionado na classe de teste Nesse caso o teste foi criado para verificar se um tri ngulo is sceles corretamente classificado Novamente o teste deve falhar at que o c digo da classe Triangulo seja corretamente alterado refletindo o que se pretende adicionar de comportamento public class TesteTriangulo public void trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquals equilatero triangulo tipo GTest public void trianguloEIsosceles Triangulo triangulo new Triangulo 3 3 4 assertEquals isosceles triangulo tipo k Figura 4 6 M todo de teste para verificar um tri ngulo is sceles public class TesteTriangulo Test public void trianguloEEquilatero Triangulo triangulo new Triangulo 3 3 3 assertEquais equilatero triangulo tipo Test public void trianguloEIsosceles Triangulo triangulo new Triangulo 3 3 4 assertEquals isosceles triangulo tipo Figura 4 7 Falha no m todo de teste para verificar um tri ngulo isosceles Ap s mais uma execu o dos testes pode se verificar que o teste falhou Figura 4 7 por que necess rio alterar o c digo da classe Tri ngulo para que o teste com os novos casos criados sejam atendidos Nesse caso a altera o deve ser mais do que alterar o retorno pois s assim n o seria poss vel passar nos dois testes demonstrado na
176. peti o Para estes autores a TI est afetando a competi o atrav s da mudan a na estrutura dos setores de atua o na cria o de vantagens competitivas e na cria o de novos produtos ou servi os A Glaxo Wellcome da Gr Bretanha uma das maiores empresas farmac uticas do mundo Ela descobriu em 1996 que uma combina o de dois de seus medicamentos o Epirir e o Retrovir eram eficazes no tratamento de alguns casos de AIDS M dicos do mundo todo come aram a prescrev los em massa Esse excesso de demanda acabou com os estoques dos dois medicamentos nas farm cias A Glaxo precisava produzir e embarcar Epirir e Retrovir rapidamente Mas a demanda incrementada usada para planejar a produ o a programa o de entregas e os n veis de estoque era muito dif cil de prever Para resolver o problema a Glaxo desenvolveu um sistema especial de informa es em rede abrangendo toda a empresa baseado em Tecnologia ROLAP processamento anal tico online relacional Basicamente esse sistema processa os dados assim que as transa es ocorrem O sistema trabalha com uma enorme quantidade de dados externos e internos Usando estes dados e modelos de Sistemas de Apoio a Decis o os analistas de mercado da Glaxo tiveram condi es de localizar e quantificar as origens de demanda gerando relat rios concisos e proje es em minutos A demanda projetada alimentou modelos de SAD para estabelecer planos de produ o adequados
177. prise Cloud powered by Eucalyptus Lale an LEJO netps 192 168 142 135 8443 conf eka l OQ EF Push Gmail Apple Yahoo Google Maps YouTube Wikipedia News 473 Popular Curso PCCC lo Limoeiro ubuntu enterprise cloi ocs e e A T RC EE Configuration VM Types c by Zi Eucalyptus Name CPUs Memory MB Disk GB m1 small 1 192 2 cf medium 1 256 5 milage 2 512 10 mixlage 2 1024 20 c4 xlarge 4 2088 z2 Save VmTypes Figura 7 13 Gerenciamento da Cloud Configura o de Par metos 80 Eucalyptus CC usr sbin euca conf options lt file gt here lt file gt is the configuration file etc eucalyptus eucalyptus local conf default help this message d lt dir gt point EUCALYPTUS to lt dir gt no rsync don t use rsync no p don t use scp skip scp hostcheck skip scp interactive host keycheck loca l sync force local key sync get credentials lt zipfile gt download credentials to lt zipfile gt register nodes host host add new nodes to EUCALYPTUS discover nodes find and add nodes on local network deregister nodes host host remove nodes from EUCALYPTUS name gt lt host gt add new cluster to EUCALYPTUS deregister cluster lt clustername gt remove cluster from EUCALYPTUS register walrus lt host gt add walrus to EUCALYPTUS deregister walrus lt host gt remove walrus from EUCALYPTUS regi
178. programa o de entregas e n veis de estoque ao longo de sua cadeia de suprimentos Em conseqii ncia a Glaxo tornou o seu processo de distribui o mais interligado eliminando para atacadistas e varejistas no mundo inteiro o risco da repentina falta de estoques de medicamentos de grande demanda como os citados acima Outra vantagem adicional foi a redu o dos custos operacionais Al m disso as informa es s o armazenadas de forma centralizada e assim podem ser difundidas e repassadas aos funcion rios da Glaxo de forma mais r pida e eficiente A solu o de TI unida a uma boa pr tica de gest o prop s empresa uma maximiza o de resultados de neg cios e ao mesmo tempo salvar vidas Sob esse aspecto a TI tem um importante papel para alavancar as estrat gias competitivas Investindo em sistemas de informa o avan ados e computadorizados para melhorar sua pr pria efici ncia as empresas conseguem desenvolver novos produtos e servi os e ou solu es que n o seriam poss veis sem uma forte capacidade de TI O fato que a Gest o da Tecnologia da Informa o associada a boas pol ticas corporativas possibilitam as empresas alavancarem seus investimentos anteriores em larga escala e ainda promoveram a felicidade de integrantes ou parceiros de neg cios Portanto a solu o informatizada de um problema empresarial pode exigir a integra o de dois os mais sistemas para dirimir ou resolver o s problema s surgi
179. r determinada funcionalidade do sistema Em suma Desenvolvimento Dirigido por Testes de Aceita o ajuda a coordenar projetos de software de uma maneira que permite aos desenvolvedores entregar exatamente o que o cliente quer quando ele quer Koskela 2008 A Figura 4 14 mostra a rela o do Desenvolvimento Dirigido por Testes de Aceita o e do Desenvolvimento Dirigido por Testes Koskela 2008 O ciclo inicia pela coleta de requisitos est rias a partir de v rias reuni es com os clientes nas quais s o descritas novas caracter sticas do software Todas as informa es coletadas s o especificadas para ent o serem escritos os testes de aceita o para os requisitos levantados tentando se obter a maior cobertura poss vel do cen rio em quest o Os testes de aceita o dever o ser falhos por n o possuir nenhuma liga o com o software a ser testado A partir do requisito especificado a equipe pode partir para o Desenvolvimento Dirigido por Testes iniciando o processo de codifica o do sistema Nessa fase do desenvolvimento o c digo testado e caso n o tenha resultado positivo alterado para que passe nos testes TDD sendo refatorado para melhorar sua estrutura sempre que 67 poss vel Esse ciclo continua at que o software passe em todos os testes criados pelos desenvolvedores e atinja uma estrutura aceit vel Uma vez que o c digo est funcional pelo menos sob a perspectiva dos desenvolvedores chegado o m
180. r dos estados do Cear Maranh o e Piau Apesar de sua nfase regional desde sua pri meira edi o contou com a participa o de convidados e palestrantes de diversas lo calidades do pais Esta escola regional promovida pela Sociedade Brasileira de Com puta o SBC Esta quarta edi o da ERCEMAP I foi a primeira a publicar em forma de livro os textos de apoio dos minicursos apresentados dentro da programa o do evento T picos re centes de pesquisa e temas atuais de interesse das comunidades dos estados do Cea r Maranh o e Piau s o abordados de forma pr tica e did tica Foram recebidas vinte e uma propostas de minicursos todas de muito bom n vel o que demandou um minucioso trabalho de sele o das mesmas A edi o de 2010 oferece sete minicursos aos participantes da ERCEMAPI com temas nas reas de aplica es para TV digital algoritmos de vis o computacional com OpenCl e CUDA desenvolvi mento web testes de aceita o tradu o e interpreta o de linguagens de dom nio es pec fico empreendedorismo e computa o em nuvens Este volume se inicia com uma discuss o sobre o desenvolvimento de aplica es de clarativas para TV digital na linguagem NCL mescladas com c digo imperativo em NCLua Primeiramente s o apresentados conceitos b sicos de NCL e Lua e em seguida abordados os paradigmas de autoria declarativa e imperativa entremeados por exemplos de crescente dificuldade descritos ao
181. ra ou token dentro da regra necess ria a utiliza o de labels para especificar a qual regra ou token estamos nos referindo O exemplo abaixo demonstra como seria a defini o de uma regra de condicional ifStmt se exprBool entao el expr senao e2 expr Tamb m pode utilizar um listLabel que salva uma lista de elementos atrav s do operador O exemplo abaixo demonstra como fazer uma declara o de mais de uma vari vel utilizando essa estrutura 92 defVariaveis INTEIRO ids ID VIRGULA ids ID PONTOEVIRGULA Sids Um escopo uma a o que permite definir um escopo din mico Para demonstrar a utiliza o do escopo segue um exemplo utilizando um escopo para criar uma tabela de s mbolos apenas em uma determinada regra defVariaveis scope List symbols INTEIRO ID PONTOEVIRGULA Para criar escopos globais basta definir um escopo nomeado fora da rea de uma regra como scope Escopo List symbols 5 3 3 rvore de sintaxe abstrata e gram tica de rvore rvores de sintaxe abstrata AST uma representa o intermedi ria utilizada pelo ANTLR e consiste em uma vers o condensada da entrada apenas com informa es relevantes removendo tokens como ponto e v rgula e delimitadores do tipo abre e fecha par nteses que n o cont m dados relevantes para processamento Al m de conter apenas os tokens relevantes uma AST deve ser f cil para o computador reconhecer e navegar ASTs geralment
182. ra teremos que definir quando esses elementos ser o apresentados E a primeira coisa a fazer definir qual o primeiro n do documento a ser apresentado Ent o deve se criar uma porta no contexto body para esse n A porta representada pelo elemento lt port gt um ponto de interface de um contexto Em outras palavras para termos acesso a um determinado n interno a um contexto este contexto deve possuir uma porta que leve ao n interno desejado Um exemplo de defini o de porta segue abaixo onde o atributo id define o nome da porta nico e o atributo component define que n ser acessado em um determinado contexto listagem 1 9 lt port id portaInicio component videoli gt Listagem 1 9 Defini o de porta Em uma aplica o hiperm dia mais elaborada requer que seja poss vel para o autor especificar relacionamentos entre m dias A NCL utiliza de relacionamentos do tipo quando come ar a exibi o da m dia X deve terminar a exibi o da m dia Y Esse relacionamento entre n s escrito em NCL por meio de elos lt link gt O comportamento desses elos dado por conectores onde s o definidas restri es ou senten as causais onde uma determinada a o realizada quando uma condi o satisfeita 10 No NCM e na NCL o sincronismo feito por mecanismos de casualidade e restri o definidos nos conectores connectors O conector define os papeis roles que os n s de origem e destino exer
183. res o sincronismo interm dia sem a intera o do usu rio deve ser t o ou mais importante que a interatividade o sincronismo de m dias em sua forma mais ampla e n o a interatividade deve ser o foco das linguagens declarativas como o caso da linguagem NCL proposta para o SBTVD Outro aspecto importante para as aplica es e a adaptabilidade Ao agregar capacidade computacional TV torna se poss vel fazer com que o terminal de acesso adapte o conte do de acordo com informa es de contexto referentes s prefer ncias ou localiza o do usu rio ou ainda disponibilidade atual do terminal de acesso capacidade de processamento mem ria dispon vel etc A adapta o pode n o envolver apenas o conte do de cada objeto de m dia individualmente mas tamb m a pr pria forma de apresenta o NCL prov suporte a ambos os tipos de adapta o O suporte a m ltiplos dispositivos de exibi o tamb m uma caracter stica importante no suporte interatividade em um sistema de TV digital Atrav s de m ltiplos dispositivos de exibi o ser poss vel por exemplo que a intera o de um usu rio com o programa de TV traga novos objetos a serem exibidos em seu dispositivo particular de intera o sem que apare am na tela da TV n o atrapalhando assim uma audi ncia coletiva 1 4 NCL Nested Context Language A linguagem NCL Nested Context Language uma linguagem declarativa para autoria de documentos hiperm dia
184. rida pelo aumento de frequ ncia nos processadores para incremento de n cleos que por teoria ampliaria o desempenho proporcionalmente Um determinado c digo pode assim ser repartido entre os n cleos existentes para que n o ocorra uma sobrecarga e demora na execu o A nova gera o de GPUs que s o respons veis pelo avan o da qualidade gr fica elevou a realidade de ambientes tridimensionais agora capazes de processar altas cargas de dados para renderizar imagens de modo que se assemelham a supercomputadores por utilizar tecnologias com o princ pio multi core Tal poder computacional pode ser utilizado n o s para processamento gr fico mas para uma nova gera o de softwares de alto desempenho 2 3 O desenvolvimento de arquiteturas diversas para o paralelismo impossibilitou a portabilidade entre softwares de desenvolvimento visto que cada entidade implementava suas pr prias rotinas de manipula o de dados e execu o Programadores que por ven tura fossem trabalhar com dispositivo de fabricantes diferentes teriam que reescrever o c digo fonte o que se tornou invi vel j que projetos complexos teriam que ser revistos elevando seu custo e tempo para lan amento O OpenCL surge do trabalho conjunto da Khronos Group iniciado pela Apple com as l deres de mercado do setor entre elas AMD nVidia e Intel como um novo framework padr o para programa o paralela com rotinas padr es 4 5 O OpenCL permite que c digos
185. rios padr o chamada frontend figura 4 3 e outra administrativa denominada de backend figura 4 4 A frontend onde aparece o site em si Nela poss vel limitar o acesso aos dados do site configurando grupos e n veis de acesso de modo a disponibilizar conte dos diferentes no mesmo site com base no perfil de um dado usu rio Na backend preciso obrigatoriamente fornecer User Name e Password para se ter acesso mesma Nela gerenciamos tudo do site artigos usu rios acesso ao banco de dados e configura o de ftp Esta tamb m poder ter acesso diferenciado o grupo de um usu rio define seu n vel de acesso Administration 5 Joomla Site Users Menus Content Components Extensions Help Al oLoggedin frontend d 1 Loggei nbectend OMessages ES View Ste O Logout gt Logged in Users Es ES LER ASA EEE Add Now Aricie Aricle Manager Category Manager Mesia Manager Menu Marager Super User Adminstrator a2 2010 10 1601 1531 gt Popular Articles gt Recently Added Articles User Manager Module Manager Extension Manager Language Manager Global Configuration Joomla is free software released under the GNU Genaral Pubic License Version 1 6 0 Figura 3 4 Backend do Joomla 3 7 Templates O template a apar ncia do Joomla Tanto a frontend como a backend possuem templates que podem ser alterados Esses s o independentes do conte do do site Na figura 4 3 podemos visualizar o template da frontend do Jooml
186. ro triangulo tipo REEL Neg i Figura 4 1 Classe de Teste do Tri ngulo Como pode ser visto na Figura 4 1 na linha 10 existe um erro que seria a n o exist ncia da classe Triangulo java no projeto Para corrigir esse erro criada a classe Triangulo java Essa classe tamb m pode ser criada no pacote default mas pelo mesmo motivo anterior criaremos em outro pacote que ser chamado tri ngulo Ap s a cria o da classe dois erros ser o acrescentados a inexist ncia do construtor com tr s par metros e a aus ncia do m todo tipo que tamb m n o foi implementado Para corrigir esses problemas o construtor e o m todo devem ser implementados A classe Triangulo java deve ficar conforme a Figura 4 2 62 package tri ngulo public class Triangulo int ladoUm int ladoDois int ladoTres public Triangulo int ladoUm int ladoDois int ladoTres this ladoUm ladoUm this ladoDois ladoDois this ladoTres ladoTres k public String tipo return null k Figura 4 2 Classe do Tri ngulo O retorno do m todo tipo deve ser nulo at o momento que o teste falhar Ap s a execu o do teste pode ser verificado que o teste falhou e com isso alterar o c digo A Figura 4 3 mostra como ficar a classe TesteTriangulo java quando o teste for executado package teste import static org junit Assert import org junit Test import tri ngulo Triangulo public class TesteTriangulo Test public v
187. rupos de usu rios trabalhando em ambiente controlado e teste beta em um ambiente n o controlado Neto et al 2007 Este cap tulo focado no teste de aceita o A realiza o de alguns tipos de testes como os testes funcionais e testes de aceita o normalmente feito ap s o desenvolvimento da aplica o todavia com o surgimento do paradigma de Desenvolvimento Dirigido por Testes TDD os testes s o desenvolvidos antecipadamente ao c digo sendo utilizados para auxiliar o levantamento de requisitos guiar o desenvolvimento automatizar a cria o de outros testes al m de auxiliar a gera o da documenta o do sistema e facilitar sua manuten o Essa t cnica simples e eficaz para desenvolvimento de software de alta qualidade a partir da flexibilidade de um projeto continuamente sendo melhorado Koskela 2008 O TDD foi estendido e deu origem ao Desenvolvimento Dirigido por Testes de Aceita o ATDD com intuito de guiar o desenvolvimento a partir da automa o dos testes criados pelos usu rios finais da aplica o feitos nos est gios iniciais do 60 desenvolvimento de software Azdic 2009 Crispin e Gregory 2009 Essa pr tica com testes de aceita o ainda recente e n o est totalmente difundida no entanto existem ferramentas para essa t cnica que facilitam a automa o desse tipo de teste a partir de mecanismos simples de defini o de testes e padr es para facilitar sua liga o a uma impl
188. s motivada pelo fato que a sua constru o pode ser feita a partir de hardware atual com um custo razo vel Este minicurso tem por objetivo mos trar as tecnologias que suportam a infraestrutura de cloud privada bem como mostrar atrav s de um exemplo pr tico a sua cria o utilizando hardware de baixo custo com ferramentas opensource 7 1 Introdu o Computa o em nuvem um modo de usar recursos computacionais apenas quando ne cess rio pelo tempo que for necess rio Como a Internet a base para a computa o em nuvem pois todos os servi os e recursos devem estar dispon veis a qualquer momento e em qualquer por m a deciss o de colocar dados sens veis na Internet pode criar um 121 novo problema relacionado a privacidade e a seguran a dos dados Uma possibilidade para amenizar estes problemas montar um infraestutura privada onde apenas um grupo restrito de usu rios ter acesso aos recursos desta nuvem Nas pr ximas se es ser o apresentados os conceitos b sicos para o entendimento do tema e apresentado de maneira detalhada como montar uma infraestrutura privada utilizando ferramentas opensource 7 2 Conceitos B sicos Nessa se o ser o introduzidos os conceitos e tecnologias b sicos para o entendimento do restante desse trabalho Inicialmente ser dada uma vis o geral sobre virtualiza o logo em seguida ser o abordadas as divis es e propriedades de computa o em nuvem ou cloud computing
189. s pontos de encontro Com base em tudo apresentado anteriormente em se tratando de empreendedorismo vale frisar que o empreendedorismo essencial para tornar a inova o acess vel assim como a inova o essencial para o empreendedorismo E gra as a isso que hoje a Web 2 0 um sucesso e certamente continuar sendo at a 3 0 Para os grandes empreendedores ou empreendedores que pensam grande as novas formas meios ou m dias ser o parte fundamental do planejamento de novos projetos para um futuro bem pr ximo assumindo importantes pap is como ponto de venda ve culo gerador de relacionamento com o consumidor ou prospect Pode se citar como exemplo de oportunidade surgida e aproveitada a onda das empresas de publicidade on line Estas surgiram para suprir uma necessidade mais que real de fazer com que a publicidade na web fosse mais agressiva e logicamente tornasse as organiza es mais competitivas exemplo disso foi a necessidade de se pensar em uma outra op o para o antigo banner tradicional de 7 5cm por 2 5cm contendo mensagens curtas e gr ficos simples n o conseguia passar informa es suficientes para uma boa exposi o da marca ou produto o que estimulou ainda mais as empresas investirem em seus pr prios sites pois surgiram outras formas de divulga o Outros meios alternativos de an ncios tamb m come aram a ser estudados como no caso da General Motors primeira montadora em todo o mundo a lan ar u
190. s ainda existem mas poss vel adicionar mais n veis edit los e relacion los com os grupos desejados Fazer um controle de acesso requer plane jamento para que tudo saia como esperado A seguir um exemplo de como controlar a visualiza o da publica o de conte dos por cursos Considere os alunos do curso de Engenharia da Computa o Os mesmos possuem acesso ao conte do de c lculo e pro grama o mas n o precisam visualizar artigos de outro curso como os da Odontologia por exemplo 3 10 1 Exemplo de ger ncia de acesso Nesse exemplo ser o criados dois grupos Engenharia da computa o e Economia e os n veis de acesso C lculo Programa o Hist ria e Tratamentos dent rios Vincularemos a esses n veis os grupos anteriormente citados de acordo com a afinidade de cada grupo Desta forma os alunos podem ser criados como usu rios e passam a pertencer ao grupo Engenharia da Computa o ou Economia 49 Engenharia da Computa o Economia Programa o P blico B Tratamentos dent rios Odontologia Figura 3 7 Exemplo de grupos de acesso Para se criar um grupo deve se clicar no menu usu rios escolher Gerenciador de Grupos e em seguida a op o Novo Em t tulo necess rio preencher o nome do grupo por exemplo Engenharia da Computa o e o grupo pai como registered Isso restringir os alunos apenas a leitura dos artigos Ap s preencher os campos deve se
191. s de linguagens Ele identifica poss veis loops na gram tica e sugere modifica es que eliminam tais problemas 5 3 2 A es Agora que a gram tica est pronta e que poss vel realizar a an lise l xica e sint tica vamos produzir a sa da desejada Essa sa da ser gerada atrav s de a es sem nticas A es s o peda os de c digos entre chaves escritos na linguagem alvo que podem ser embutidos na sua gram tica Uma a o pode ser inserida antes da classe gerada atrav s da palavra reservada header dentro das defini es de atributos atrav s da palavra members e de acordo com a sua posi o na gram tica quando definidas dentro de uma regra Para salvar os valores atribu dos a um identificador vamos criar uma tabela hash atrav s da classe Java HashMap Na rea da palavra header adicionamos os imports necess rios e no campo members definimos o nosso atributo memory que ir guardar os identificadores declarados e o respectivo valor Caso seja necess rio adicionar importa es no c digo do analisador l xico utiliza se a palavra lexer header Assim nosso c digo torna se Gheader 1 Import java util Map Import java util HashMap members HashMap lt String Integer gt memory new HashMap lt String Integer gt 91 Agora podemos atrav s de a es guardar os valores atribu dos as vari veis na mem ria e executar as opera es de adi o e subtra o Para recuperar os
192. s t m suporte a Unicode utilizando se os respectivos valores em hexadecimal A nomea o de literais permite dar um nome mais descritivo que o literal como por exemplo utilizar MOD como apelido para Tokens imagin rios s o tokens que n o est o associados a nenhum caractere da entrada e s o muito teis na cria o de rvores de sintaxe abstrata do ingl s Abstract SyntaxTree AST 89 tokens VARDEF IGUAL PONTOEVIRGULA INTEIRO inteiro IMPRIME imprime MAIS MENOS Vamos agora definir os tokens ID e INT atrav s de uma regra l xica Um identificador na nossa linguagem uma letra seguida por zero ou mais letras ou digitos Um inteiro uma sequ ncia de um ou mais digitos TDs E Cha ee RA EZ A ues ZA AE ue RAM LOS ge QV ome ap INT S BON a O tds Para obter mais legibilidade e reutiliza o vamos criar as regras LETRA e DIGITO e substitu las nas regras l xicas acima Como essas regras n o podem ser casadas individualmente vamos declar las com o modificador fragment que permite definir fragmentos que n o podem ser utilizados isoladamente LETRA Tares zo TAT a ANR DIGITO SO et ON 5 fragment fragment Gr at As regras ID e INT entao ficariam ID LETRA LETRA DIGITO INT DIGITO Um problema surge quando h um excesso de espa os ou quebras de linha para isso preciso definir o token WS White s
193. s testes de uma p gina Test History for FrontPage TesteTriangulo Test History FoR FRONTPAGE TESTETRIANGULO Purge gt 30days Purge gt 7days Purge All Page Pass Fail Latest Last 20 Results FrontPage TesteTriangulo 1 1 18 Oct 10 06 02 Figura 4 28 Exemplo de hist rico de execu es de testes de uma pagina A partir do hist rico de teste podemos ter algumas informa es relevantes para o processo de desenvolvimento tais como a quantidade de vezes que o teste foi bem sucedido e a quantidade de vezes que falhou al m de ter acesso a todos os testes executados Isso pode ser visualizado a partir do acionamento do link Last 20 Results Uma p gina de hist rico normalmente possui tr s comandos Purge gt 30 days que elimina do hist rico os registros de execu o com mais de 30 dias de execu o Purge gt 7 days que elimina os registros de execu o com mais de uma semana de execu o e Purge All que elimina todos os registros de execu o 76 4 3 2 Uso do ATDD em um Sistema de Informa o Na se o anterior exibimos o uso do ATDD em um exemplo simples referente classifica o de um tri ngulo Embora o exemplo seja v lido para demonstrar como usar a ferramenta ela n o apresenta a conex o a um sistema real Nesse exemplo iremos executar um teste de aceita o para autentica o de login de um sistema chamado Capriovi um software de controle zoot cnico e gen tico de capr
194. sas ligar os sistemas de computador em verdadeiras redes de trabalho Pessoas consiste no elemento importante na maior parte dos sistemas de informa o Incluem todas as pessoas que gerenciam executam programam e mant m o sistema de computador Procedimentos incluem as estrat gias pol ticas m todos e regras usadas pelo homem para gerar os sistemas Ex descrevem quando cada programa deve ser executado quem tem acesso a certos fatos em um BD dentre outros No mundo coorporativo a palavra de ordem competitividade Entre as empresas isso significa que seus processos desde a comercializa o at a presta o de servi o devem ser r pidos e eficientes sob pena de perca de mercado e assim now how sob seus clientes e fornecedores Assim sendo a tecnologia vem se tornando um aliado para que as organiza es tornem se mais geis e melhorem a qualidade se seus produtos e servi os Al m disso a TI melhora a produtividade de seus funcion rios e colaboradores e faz com que todos os processos internos ou externos sejam tratados de forma respeitosa e igualit ria pois recebem aten es cab veis em cada caso 110 6 6 Gest o da Tecnologia da Informa o Muitos autores pensam a TI como elemento estrat gico e modificador na disputa da concorr ncia podendo trazer vantagens competitivas atrav s do incremento da satisfa o dos clientes aumento da receita participa o no mercado bem como outras formas de atua o na com
195. seguida apresentou se um tutorial sobre a ferramenta ANTLR focado na constru o de um reconhecedor para uma gram tica de express es Um estudo de caso para identifica o de elementos UML a partir de padr es textuais foi utilizado para exemplificar o uso da ferramenta ANTLR em aplica es do mundo real A ferramenta ANTLR tem sido bastante utilizada para academia para a cria o de tradutores e reconhecedores de linguagens seja de prop sito geral ou espec fico Na UFPI os alunos de gradua o t m usado ANTLR nas atividades pr ticas da disciplina constru o de compiladores bem como para desenvolver atividades de pesquisa dentro do laborat rio de Engenharia de Software e Inform tica Industrial sobretudo para reconhecer padr es textuais em descri es de linguagem natural Trabalhos futuros sobre o estudo de caso apresentado incluem 1 identificar a mesma classe atributo e ou m todo quando se tratar de palavras no plural e no singular ii aprimorar os padr es gramaticais para identificar os elementos da UML iii gerar um ambiente gr fico com o diagrama conceitual da UML iv melhorar o prot tipo e realizar experimentos em cen rios reais de utiliza o e v realizar uma compara o dos resultados obtidos com outros trabalhos relacionados Como tema para trabalhos futuros encorajamos o estudo das ferramentas para cria o de DSLs bem como a explora o dessas ferramentas como facilitador do acesso informa o digita
196. sign para um problema que j existia e j havia sido solucionado Al m disso ele inovou na resolu o de um outro problema que faz parte da vida de quem usa um mp3 player port til conseguir as m sicas para o aparelho iTunes Tamb m considera se inova o adaptar uma solu o adotada em outro lugar para resolver problemas no contexto local do empreendedor 6 5 Tecnologia da Informa o e Sistemas de Informa o Desde a inven o do tel grafo el trico em 1837 passando pelos meios de comunica o de massa e at mais recentemente o surgimento da grande rede de comunica o Internet o ser humano tem de conviver e lidar com um crescimento exponencial do volume de dados dispon veis O dom nio da informa o dispon vel uma fonte de poder uma vez que permite analisar fatores do passado compreender o presente e principalmente antever o futuro 108 Para entender este dom nio precisamos observar a diferen a essencial entre um dado e uma informa o Um dado uma caracter stica qualquer obtida diretamente de um objeto um ser ou um sistema Uma informa o a consequ ncia do processamento aplicado a esses dados ou seja o resultado dos dados trabalhados e organizados E processar dados consiste em aplicar aos dados um conjunto de opera es l gicas e matem ticas que produzam uma informa o que pode ser usada para tomar decis es Em uma empresa dados s o n meros nomes gr
197. sistemas respons veis pela implementa o das aplica es interativas s o eles o Ginga NCL e o Ginga J O Ginga NCL utiliza uma linguagem declarativa baseada em XML chamada NCL Nested Context Language para especifica o de aspectos de interatividade sincronismo espa o temporal entre objetos de m dia adaptabilidade e suporte a m ltiplos dispositivos j o Ginga J utiliza a linguagem Java ara a constru o das aplica es Em um ambiente onde existem v rios tipos marcas e modelos diferentes de hardwares respons veis para a decodifica o do sinal digital set top box existe o problema da incompatibilidade entre os mesmos o que poderia ser um problema em se falando de constru o de aplica es que ser o distribu das indistintamente para todos os receptores Como garantir que uma aplica o que execute bem em determinado modelo de set top box funcione em outro Para responder essa pergunta e solucionar tal problema que surge o conceito de middleware O middleware uma camada de software que fica entre o sistema operacional e as aplica es Ele o respons vel por prover um conjunto de fun es comum padronizando o desenvolvimento de programas interativos Uma vez que todas as aplica es sejam constru das utilizando essas fun es comuns o middleware fica encarregado de se comunicar com os hardwares diferentes agindo como um interprete entre as aplica es escritas seguindo um padr o comum e os sistemas oper
198. spondidas e bem entendidas com certeza ser o teis na avalia o e sele o das melhores oportunidades para serem desenvolvidas e capitalizadas pelo empreendedor 6 3 Neg cios Digitais Com o aumento de usu rios com Internet banda larga e velocidades bem acima de 300kbps especificamente no Brasil novos m todos de comunica o e troca de arquivos se popularizaram no meio virtual Paralelamente a isso a Web cresceu e buscou cada vez mais uma participa o mais efetiva da audi ncia O termo Web 2 0 pode ser definido como uma segunda gera o da World Wide Web Sua principal caracter stica a potencializa o das formas de publica o compartilhamento e organiza o da informa o al m de ampliar os espa os para intera o entre os participantes A Web 2 0 refere se n o apenas a uma combina o de t cnicas inform ticas mas tamb m a um determinado per odo tecnol gico a um conjunto de novas estrat gias mercadol gicas e a processos de comunica o mediados pelo computador PINHO 2000 A id ia de que o ambiente on line torne se mais din mico e os usu rios colaborem com a organiza o dos conte dos o caso do Youtube Wikip dia Google Docs Orkut Meebo Bloglines Dropbox e Voo2Doo que representam alguns desses sites de compartilhamento potencializado e viraram mania em todo o mundo A defini o de uma segunda gera o Web trata se para muitos apenas de um golpe de 106 m
199. star habilitado a fazer qualquer cria o e edi o de p gina usando seu Web Browser Qualquer teste deve ser criado a partir da p gina inicial da Fitnesse Wecome To FitNesse THE FULLY INTEGRATED STAND ALONE ACCEPTANCE TESTING aa vs ANO WKI To add your first page click the Edit button and add a WikiWord to the page To Learn More Figura 4 15 P gina inicial da FitNesse 4 3 1 1 Cria o de uma p gina de teste Para se criar uma p gina necess ria inseri la em outra p gina j existente a partir da sua edi o Isso permite que seja criada uma p gina para se especificar um novo teste Nesse caso ent o necess rio clicar no bot o Edit situado no canto superior esquerdo da p gina FrontPage nica p gina existente no in cio do uso da FitNessse exibida na Figura 4 15 O usu rio ser redirecionado para a p gina de edi o conforme visto na Figura 4 16 amp FrontPage Oz Epir Pace sword to the page Save Spreadsheet to Fiesse _FitNesse to Spreadsheet Format wrap Figura 4 16 Exemplo de pagina em cria o Todo teste na FitNesse na verdade uma tabela contendo dados de entrada e sa das esperadas Assim para criar uma p gina que vai conter as tabelas utilizadas em um determinado teste devemos defini la utilizando uma conven o de nomenclatura Para nomes de tabelas devemos utilizar o formato CamelCase que prescreve que os nomes de uma tabela sejam formad
200. ste a partir do bot o test no canto superior esquerdo da p gina mesmo sem existir nenhuma implementa o de fixture para o teste Logicamente o resultado deve ser falho como mostrado na Figura 4 25 Isso acontece por que a FitNesse n o encontra nenhuma classe que fa a a liga o com uma implementa o logo o teste n o pode ser executado com sucesso 5 FrontPage amp TesteTriangulo 1 SS Test Renars history Tests Fret Assertions O right O wrong O ignored 43 exceptions i Em Refactor import umere usea fixture TrianguloFixture Could not invoke constructor for TrianguloFixture 0 ladoum ladoDots ladoTres tipo 3 The instance decistonTable 1 does not exist 3 The instance decistonTabie t does not exist 3 The instance decisionTable_1 does not exist equilatero The instance decistonTal Recent Changes 3 The instance decislonTable 1 does not exist 3 The instance dectsionTabte 1 does not exist 4 The instance decisionTabie 1 does not exist isosceles The instance dectstonTabt ros 3 The instance decisionTable_1 does not exist 4 The instance decistonTable 1 does not exist 5 The instance decislonTable 1 does not exist escaleno The instance decisionTabl restrito The Instance decistonTable 1 does not exist 2 The instance decislonTable 1 does not exist 3 The Instance decistonTable 1 does not exist invalido The Instance decisionTable Figura 4 25 Exemplo de teste falho Para
201. stema na organiza o em que se insere Exemplo grau de satisfa o dos usu rios impacto nos neg cios antes e depois da implanta o de um sistema de informa es compatibilidade dos projetos de sistemas de informa es com a estrat gia da empresa Outra classifica o que contribui para uma maior compreens o do processo de avalia o da TI foi elaborada por Hirscheim 1998 que al m de apresentar uma tipologia faz uma retrospectiva de diversas ideias t cnicas e modelos para avalia o da TI 115 Segundo estes autores h consenso que inicialmente predominaram as avalia es sob a tica da efici ncia Contudo com o aperfei oamento da TI e com a compreens o de que seu alcance seria muito maior do que a mera automa o de processos existentes passamos a procurar a efic cia como par metro para a avalia o da TI Desta forma podemos notar um panorama de crescente preocupa o com a avalia o da TI com a consci ncia de que se trata de um problema complexo que n o pode ser resolvido apenas com tradicionais abordagens de viabilidade econ mica de projetos Para Hirscheim 1998 h tr s zonas nas quais se podem incluir as diferentes formas de avaliar a TI da efici ncia da efic cia e da compreens o Zona da Ffici ncia Efficiency Zone Caracterizada por suposi es razoavelmente objetivas em rela o avalia o enfatizando desempenho e qualidade em rela o a padr es e ou especifica
202. ster sc lt clustername gt lt host gt add storage controller deregister sc lt clustername gt remove storage controller from EUCALYPTUS list valruses list registered walrus es list clusters list registered CCs list nodes list registered NCs list scs list registered SCs q no sync used only with register to skip syncing Figura 7 14 Gerenciamento da Cloud euca_conf 4 Encontrar a imagem desejada dentro das disponiveis 5 Instalar a imagem desejada utilizando o bot o install Ap s o download autom tico da imagem escolhida a mesma estara dispon vel para execu o Pode se verificar as imagens dispon veis atrav s da interface web na aba IMAGES ou pelo comando euca describe images via linha de comando no frontend A execu o da imagem poder ser feita via linha de comando diretamente do frontend 1 Antes de executar uma inst ncia da imagem sera necess rio criar um par de chaves chave SSH para acessar a inst ncia depois que ele iniciar Este processo devera 138 000 ubuntuef rontend S euca uca add group euca add keypair euca al locate address uca associate address uca attach vo lume uca authorize euca bund le image uca bund le vol euca conf uca conf irm product instance uca create snapshot euca create vo lume uca delete bundle euca delete group euca delete keypair uca delete snapshot uca delete vo lume euca deregister euca describe addresses uca describe avai lability
203. stica importante que o sistema de desenvolvimento do Joomla baseado em componentes onde determinado componente tem uma finalidade espec fica Existem muitos componentes j prontos tanto gratuitos como comerciais que podem ser adaptados a diversas aplica es Dentre esses componentes podemos citar galeria de fotos galeria de v deos menus com efeitos di versos intera o com redes sociais nuvem de palavras controle de formul rios entre outros Os componentes tamb m podem ser comprados ou feitos por voc mesmo caso 41 saiba PHP Tem se ainda a possibilidade de modificar o c digo dos componentes exis tentes Essa flexibilidade faz do Joomla uma boa ferramenta para desenvolvimento de S diversos tipos de sites Joomla Figura 3 1 Logo do Joomla 3 2 O que um Content Management System CMS Content Management System significa Sistema de Gest o de Conte do ou Sistema de Ge renciamento de Conte do Um CMS possui ferramentas necess rias para manter portais e websites em funcionamento sem a necessidade de um profissional qualificado na rea webmaster Nesses sistemas j encontram se implementadas fun es de incluir editar publicar e apagar textos Al m disso ele possibilita organizar o site por tipo de con te do e grupo de permiss es Desse modo poss vel definir quais usu rios ter o acesso a determinado tipo de artigo e suas permiss es controle total leitura ou sem acesso Um CMS
204. su rcis na asmnisra o 1 Mensagemins recusa Osu fm Gerenciador de M dia E us Visualiza o em Miniatura Pastas Arquivos A mesa O SE doco x Eat dy Enviar arquivos Tamanho m ximo 10 MB Figura 3 10 Gerenciador de M dia Para que os usu rios possam visualizar o conte do na frontend cria se menus as sociados categoria artigo weblink e outros Na vers o 1 6 esse processo foi melhorado ficando mais organizado e com mais op es Na cria o de menus existem duas op es e Criar Menu Menu gt Gerenciador de Menus gt Criar novo menu Nesta op o cria se menus associados a m dulos ver sess o 4 15 e um menu raiz que n o associ ado a nenhum conte do Na associa o com o m dulo pode se escolher onde este e suas op es ficar o e Criar item de menu Menu gt Nome do Menu Em seguida seleciona se a op o Adicionar item de menu Nessa op o pode ser criado um item de menu que faz parte de um menu raiz Depois de criado o Menu cria se os itens de menu O joomla por padr o tem o Main Menu um menu principal j criado para facilitar o trabalho de gerenciamento Em sites com apenas um menu n o necess rio criar o m dulo e associ lo apenas cria se os itens de menus no Main Menu Um menu criado em Menu gt Gerenciador de Menus gt Criar novo menu preen chendo com o t tulo do menu e seu nome para o sistema O nome ser usado para vincular u
205. suporte bastante relevante pois quem vai visitar seu site quer encontr lo no seu idioma ou pelo menos ter a op o de configur lo Os arquivos de tradu o do Joomla s o encontrados facilmente na Internet sendo necess rio apenas estar atento vers o escolhida Por exemplo para configurar o Joomla para o portugu s o usu rio deve clicar na op o Extensions e escolher Extension Manager figura 4 6 Em seguida o usu rio deve clicar em selecionar arquivo escolher o arquivo de tradu o e confirmar a op o de Upload amp Install Aparecer um aviso em azul indicando que o idioma foi instalado e logo abaixo um quadro com o termo de licen a de uso Alguns componentes requerem 47 Tamanho da fonte Maior Resetar Menor Joomla Open Source Content Management Beta Voc es 2 aque Home FECHAR A INFORMA O Main Menu pes bom J i pestior kopin For E PENAS debug i Dug Fen por Joonia Figura 3 5 Posi es no template uma pequena configura o Administra o Yi Joomla Site Usu rios Menus Conte do Componentes Extens es Ajuda Ousuaro s no site 1 usu rio s na administra o 4 Mensagemins EM Pr isuaizar Sar Gerenciador de Extens es Serenciacor ce wecuos AW Gerenciador de Plugins Op es Ajuda pyrighis desta tradu o OpenSourceMatiars e Jom os arquivos de idioma devem ser licenciados sob a licen a GNU
206. tenham condi es de avaliar os produtos gerados nas subfases registrando sua parcela de participa o para que o projeto seja de qualidade e contribua para o alinhamento do planejamento estrat gico da TI ao planejamento estrat gico empresarial REZENDE 2002 114 King e Teo 1997 apud REZENDE 2002 defendem que um dos elementos chaves do planejamento estrat gico de TI a integra o e o alinhamento com o planejamento estrat gico empresarial e as estrat gias da organiza o 6 7 Avalia o e Melhoria da Tecnologia da Informa o Ao considerar que um dos subsistemas de uma empresa pode ser a tecnologia foi desenvolvido um instrumento de avalia o multiescala baseado na teoria da difus o de inova o de Rogers 1995 A teoria prop e cinco atributos de uma inova o que influencia sua ado o que s o vantagem relativa compatibilidade complexidade habilidade para experimenta o e habilidade para a observa o Na discuss o de medi o da seguran a em TI foi criado o Crit rio de Avalia o da Seguran a de Tecnologia da Informa o do Reino Unido Information Technology Security Evaluation Criteria ITSEC UK De acordo com este crit rio a seguran a o aspecto essencial da TI e significa confidencialidade preven o da divulga o proibida de informa es integridade preven o da modifica o proibida da informa o disponibilidade preven o da reten o proibida da informa o ou recurs
207. tiv rus J existem duas t cnicas de c digo de blindagem que representam desafios significativos para sistemas de an lise e detec o de c digo malicioso s o eles a descompacta o e o polimorfismo em tempo de execu o 8 Na Biologia Molecular as unidades de processamento gr fico possibilitou a im plementa o do algoritmo de Smith Waterman que esteve dispon vel h mais de 25 anos explorando o imenso poder computacional das GPUs 9 2 4 1 Aglomera o em classes K Means Muitos dos algoritmos de reconhecimento se baseiam em padr es de pixels contudo uma imagem do mundo real n o possui um nico valor para cada tom de cor O espectro 32 vermelho conta com muitas combina es Alguns mais escuros que outros tendendo a outras tonalidades mas que ainda assim s o agrupados no conjunto que chamamos de vermelho Devido a essas varia es necess rio aglomerar as mesmas em uma respectiva classe que as englobem em fun o dos pixels encontrados na imagem De tal modo algoritmos em geral ser o mais produtivos em seus resultados excluindo dados que por ventura pudessem servir como obst culos na implementa o O K Means um algoritmo de aglomera o amplamente aceito pela comunidade cient fica Constitui em uma poderosa ferramenta para tratamento pr vio de imagens que ser o processadas com a finalidade de obten o de informa es espec ficas como orienta o angula es detec es em geral loc
208. todos da descri o A Figura 5 mostra as regras l xicas usadas para identificar os tokens do arquivo texto e a Figura 6 apresenta os padr es textuais usados para especificar as regras gramaticais dos elementos UML usados Nestas figuras a sintaxe utilizada est de acordo com a nota o EBNF Extended Backus Naur Form usada pelo ANTLR a 6 ANTLRWorks 13 1 o o ma File Edit Find GoTo Grammar Refactor Generate Run Window Help 1 CAUsers RMoura AntLR Exernplos PadroesTextuais g SSA 44 a ky PadroesTextuais g grammar PadroesTextuais LetrasAcentuadas tokens okens PALAVRA ART D VIRGULA Wa DOISPONTOS SUBST B PONTO VERBO D NUM PREP PRON di cong texto padroes Glexer header package padroestextuais Gheader package padroestextuais import java util HashMap members public static HashMap lt String Integer gt padroesIdentificados new HashMap framment Letrasdcentuadas apapa VETO pa paepe PEPE pip pipo DO Gp pg PALAVRA lal 2 At Z ILetras centuadas VIRGULA bos DOISPONTOS tz PONTO Ht CMM TON gt 1 1 101 194 3 CWS 1 Mth NES An channel HIDDEN Figura 5 Elementos UML regras l xicas para separar tokens 96 padroes CONJ DOISPONTOS VIRGULA si SUBST pi PREP ART s2 SUBST padroesIdentificados put si text pl text s2 text 1 CONJ DO
209. tr s fases ou etapas An lise ou diagn stico a an lise da situa o atual Processo ou planejamento defini o das entradas e sa das de informa o recursos e outros itens Procedimentos ou execu o implanta o das defini es e controle do cumprimento das metas por medidas de performance Nessas fases s o elaborados roteiros de planejamento de atividades de desempenho de defini o de pap is dos participantes de reuni es de trabalho e de revis es de a es Complementando os estudos Prenkumar e King 1991 apud AUDY e BRODBECK 2003 consideraram o planejamento estrat gico de TI como um processo e como fator determinante Para seu sucesso identificaram a exist ncia de planos integrados pelos seguintes componentes Miss o papel que a informa o e a TI exercem no contexto organizacional Avalia o dos objetivos implementados e extra o dos objetivos futuros e defini o dos objetivos futuros Regras gerais para orientar o desenvolvimento dos SI Dire o geral para o desenvolvimento dos sistemas e para a composi o da infraestrutura de suporte tecnol gico Programas de desenvolvimento atividades e regras que servem de guia para a implementa o dos SIs e da tecnologia disponibilizada Os modelos para elabora o de planejamento estrat gico de TI n o devem ser est ticos mas sim din micos flex veis adapt veis e inteligentes devem permitir que todos os envolvidos
210. tre si e aplicam uma mesma fun o Desta forma linhas de comando que estariam em loops de grandes repeti es s o executadas simultaneamente atrav s de GPUs ao inv s do tradicional sequenciamento No momento que a aplica o se mostrar pronta para execu o do kernel os dados s o movidos para VRAM da GPU e trabalhados pelos n cleos de cada unidade de forma s ncrona ou ass ncrona 3 de acordo com a necessidade do programa como esquemati zado na Figura 2 9 29 Compila o em tempo de execu o C digo do OpenCL Bibliotecas para compila o Otimiza o Execut vel para GPU Execut vel para CPU Figura 2 8 Esquema do processo de compila o do c digo OpenCL OpenCL C Kernel Code Grupo l Unit Unit Unit Unit Figura 2 9 Modelo de transfer ncia de c digo kernel para units 2 3 4 Arquitetura da mem ria A mem ria GPU se divide em mem ria global constante local e privada A primeira vis vel para todas as units podendo ser reescrita a segunda com o mesmo n vel da ante rior mas sem permiss o de altera o a terceira vis vel em um grupo e a ltima somente na pr pria thread 3 como ilustrado pela Figura 2 10 A separa o da mem ria l gica a diferen a est no escopo das mesmas e fisica mente est o localizadas no mesmo espa o Contudo devido aos procedimentos de acesso as de menor escopo t m maiores velocidades na comunica o com as units Devido ao fato dessa visibilid
211. type que define o tipo do objeto e o atributo descriptor identificador do descritor que controla a apresenta o do objeto de m dia Um exemplo de n de m dia o seguinte listagem 1 5 lt body gt lt media id videol descriptor descVideol type video mpeg src media videol mpg gt lt body gt Listagem 1 5 Defini o de um n de m dia Vimos que neste exemplo foi criado um n de m dia fazendo refer ncia atrav s do atributo src a um arquivo chamando videol mpg que se encontra no diret rio media Segundo a ABNT NBR 15606 2 2007 os URIs devem estar de acordo com a tabela 1 1 Tabela 1 1 URIs permitidos Esquema Parte especifica do esquema Uso file file_path fragment_identifier Para arquivos locais server_identifier file_path fragment_identifie Bare anally os Ceotto sbuscadoe pele http i canal de interatividade usando o protocolo http rstp server_identifier file_path fragment_identifie Para fluxos streams obtidos pelo canal T de interatividade usando o protocolo rstp server_identifier file_path fragment_identifie Para fluxos streams obtidos pelo canal rtp de interatividade usando o protocolo r rtp Para fluxos elementares recebidos pelo fluxo de transporte TS sbtvd ts program id Como vimos anteriormente contextos s o usados para estrutura o nosso documento hiperm dia Podemos definir contextos utilizando
212. ue recebe uma AST como entrada e realiza o processamento desta No campo options a op o token Vocab nome da gramatica permite utilizar tokens definidos por outra gram tica Para construir uma gram tica de rvore poss vel reusar as regras de reescritas definidas na gram tica sint tica ou combinada O exemplo abaixo mostra a cria o da regra de defini o de vari veis na gram tica de rvore a partir da regra de reescrita da gram tica combinada lt lt gram tica combinada gt gt stat INTEIRO ID gt VARDEF INTEIRO ID lt lt gram tica de rvore gt gt stat VARDEF INTEIRO ID As vezes preciso fazer uma pequena altera o nessa transi o como no exemplo de uma regra de condicional SE SENAO onde o sen o opcional lt lt gram tica combinada gt gt se se exprBool entao el expr senao e2 expr gt se exprBool Sel Se2 gt se exprBool Sel lt lt gramatica de arvore gt gt se se exprBool expr expr Com a gram tica de rvore gerada a pr xima etapa utilizar StringTemplate para gerar uma sa da desejada Um template basicamente uma string com buracos onde se pode colocar conte do desejado A discuss o sobre o uso de templates est fora do escopo deste trabalho por m exemplos de StringTemplate est o dispon veis em http stringtemplate org 5 4 Estudo de Caso Nesta se o apresentamos um estudo de caso desenvolvido no c
213. uitetura dos dados combinada com a necessidade de informa es da organiza o TE Information Engineering estabelece t cnicas para a constru o de modelos organizacionais modelos de dados e modelos de processos CSF Critical Success Factors procura identificar as necessidades de sistemas de informa o da alta administra o da organiza o em que principais fatores cr ticos de sucesso s o descritos para a gest o numa abordagem top down de cima para baixo ou seja do alto escal o para o baixo escal o empresarial Ela deve ser utilizada em conjunto com uma metodologia de planejamento estrat gico de TI pois ela n o uma metodologia propriamente dita 113 Abordagem por est gios de crescimento da organiza o apresenta uma metodologia com um crit rio de administra o da evolu o dos sistemas de informa o na organiza o Para Rezende e Abreu 2003 as metodologias s o ferramentas que possibilitam a defini o de estrat gias de a o ao longo de um per odo de aproximadamente um a tr s anos Alguns de seus objetivos s o Estabelecer ferramentas de controle de qualidade produtividade prazos e custos Elaborar plano de desenvolvimento ou aquisi o implanta o implementa o de Sistemas de Informa o Padronizar e simplificar a Tecnologia da Informa o O modelo de planejamento estrat gico em TI proposto por King em 1978 que serve de base para os atuais consta de
214. ulo da categoria e Codinome nome que ser usado para indexar a categoria n o deve conter caracte res especiais Esse campo pode ser deixado em branco passando a ser preenchido automaticamente e Pai usado quando se deseja que a categoria esteja vinculada uma pai assim pertencer a categoria pai ou seja estar contida na pai e Estado pode ser publicado despublicado arquivado ou lixeira e N vel de acesso definir um n vel de acesso e Idioma qual o idioma da categoria e Descri o nesse campo descrito quais os tipos de artigos contidos na categoria ou caso seja utilizada como menu conter uma descri o no nome A Figura 1 8 apresenta nas op es direita ver figura 4 9 as permiss es dis pon veis na Categoria Entretanto mesmo escolhendo o n vel de acesso anteriormente configurado vinculando os grupos pode se ainda alterar neste momento o acesso cate goria definindo os usu rios que podem criar remover e editar tornando o assim ainda 51 Programa o O 2 ProgramasemC Programas em Python Artigos Artigos Figura 3 8 Hierarquia de categorias do exemplo mais flex vel o controle das categorias Esta op o uma caracter stica nova encontrada na vers o 1 6 Retomando o exemplo cria se uma categoria com nome Programa o sem a categoria pai estado publicado e n vel de acesso Programa o Primeiro n vel da rvore da Figura 4 8 Clicando em Salvar e Novo criado n
215. vada a cada 06 meses aa venda Em a ficha de cadastro deve constar nome de o cliente endere o data de cadastro telefone e email 7 Lota Figura 7a Requisitos em linguagem natural Figura 7b Resultado da an lise Na Figura 7b note que o m todo locar foi encontrado porque o padr o Verbo Artigo Substantivo foi identificado na descri o textual locar uma quantidade As classes ficha loca o CDs meses loja cliente cadastro e venda foram identificadas devido ao padr o Substantivo na descri o Uma limita o do prot tipo desenvolvido que os atributos e m todos n o s o associados automaticamente s classes Esta associa o dever ser feita diretamente pelo usu rio Finalmente importante destacar que os elementos UML identificados s o apenas sugest es que este tipo de ferramenta apresenta ao usu rio No entanto a decis o final das classes m todos e atributos do sistema depende da interven o do usu rio Este estudo de caso mostra alguns resultados animadores por m muito trabalho ainda tem que ser realizado para atingir o objetivo principal do projeto de pesquisa Ambiente de Gera o de Diagramas UML a partir de Descri es em Linguagem Natural 98 5 5 Conclus o e Trabalhos Futuros Este trabalho mostrou uma vis o geral das linguagens de dom nio espec fico DSL destacando os principais conceitos da rea das DSLs bem como as principais refer ncias sobre o tema Em
216. ve Systems IEEE Computer Vol 39 No 10 Crispin L e Gregory J 2009 Agile Testing A Practical Guide for Testers and Agile Teams Addison Wesley Professional 81 CONCORDION Concordion is an open source tool for writing automated acceptance tests in Java http concordion org ltimo acesso em 15 10 2010 FIT Fit Framework for Integrated Test http fit c2 com ltimo acesso em 06 09 2010 FITNESSE The Fully Integrated Standalone Wiki and Acceptance Testing Framework UserGuide http fitnesse org ltimo acesso em 17 10 2010 Gamma E and Beck K Junit testing framework http www junit org ltimo acesso em 17 10 2010 JAVA http java com ltimo acesso em 19 10 2010 JUnit org http www junit org ltimo acesso em 10 10 2009 Koskela L 2008 Test Driven Practical TDD and Acceptance TDD for Java Developers Manning Publications Pressman R 2006 Engenharia de Software McGraw Hill 6 edition Neto P S de Sousa F V e Resende R 2007 Automa o de Teste de Software Escola Regional de Computa o da SBC Cear Maranh o Piau Fortaleza NIST 2002 Planning Report 02 3 National Institute of Standards and Technology http www nist gov director prog ofc report02 3 pdf ltimo acesso em setembro de 2009 SELENIUM Web application testing system http seleniumhq org ltimo acesso em 19 10 2010 82 C
217. vinculados 52 ao mesmo n vel de acesso Um controle de acesso com v rios n veis pode atingir certa complexidade dificuldade que poder ser amenizada com uma dedica o especial em um pr projeto de controle de acesso 3 11 1 Estados dos Artigos Existem quatro estados para os artigos bem como para os weblinks banner ou outro conte do Os artigos podem est publicados despublicados arquivados ou na lixeira Os publicados aparecem normalmente na frontend os despublicados n o aparecem Os arquivados n o aparecem normalmente na frontend mas podem ter menus especiais que os exibem Os artigos apagados v o para lixeixa podendo posteriormente ser restaurado ou apagado definitivamente Outro atributo de um artigo poder est ou n o em destaque os sites em destaque aparecem na p gina principal sendo mais facilmente visualizados e existem m dulos para listar artigos em destaque 3 12 Enviando imagens As imagens a serem adicionadas ao site devem ser enviadas ao servidor O ambiente Jo omla possui implementado um gerenciador de m dias que executa um controle completo exibindo os arquivos presentes no diret rio definindo quais arquivos poder o ser upados e o tamanho m ximo de cada arquivo O Gerenciador tem um atalho no painel de controle que tamb m pode ser encon trado atrav s da sequ ncia Conte do gt Gerenciador de M dia Os campos selecionados na Figura 4 10 indicam a sequ ncia necess ria para a cria
218. ware Matlab para c lculo num rico Lex e Yacc para gera o de analisadores l xicos e sint ticos SQL para consulta a banco de dados HTML para descri o de p ginas Web e at mesmo construtores de GUI Graphics User Interface podem ser vistos como uma DSL 85 As DSLs s o usualmente pequenas e oferecem somente um conjunto restrito de nota es e abstra es e podem ser classificadas em externas e internas DSLs externas s o escritas em uma linguagem diferente da linguagem principal da aplica o e s o transformadas nesta usando alguma forma de compilador ou interpretador A principal vantagem a possibilidade de expressar o dom nio em uma forma mais f cil para ler e modificar Uma desvantagem bvia que voc tem que construir o tradutor mas ferramentas como ANTLR ajudam bastante nesta atividade Entretanto a principal desvantagem das DSLs externas que elas falham na integra o simb lica pois a DSL n o realmente ligada linguagem base da aplica o O ambiente da linguagem base n o tem conhecimento do que se est fazendo As DSLs internas transformam a linguagem base em uma pr pria DSL Dessa forma elas eliminam o problema da integra o simb lica Tem se tamb m todo o poder de express o da linguagem base dispon vel e do conjunto de ferramentas existentes A principal desvantagem est na expressividade dos mecanismos simb licos limitados sintaxe e estrutura da linguagem base Lisp e modelos de objet
Download Pdf Manuals
Related Search
Related Contents
``3OO SERIE`` GEBRUIKSAANWIJZING Samsung LW22A13W Bruksanvisning XB-700Li Electric Bicycle/Moped Foresight DXM User Guide Fujifilm FinePix Z20fd Copyright © All rights reserved.
Failed to retrieve file