UMA LINGUAGEM DE MARCAÇÃO PARA STATECHARTS PARA SER USADA EM AVALIAÇÃO DE DESEMPENHO BASEADA EM XML

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

Download "UMA LINGUAGEM DE MARCAÇÃO PARA STATECHARTS PARA SER USADA EM AVALIAÇÃO DE DESEMPENHO BASEADA EM XML"

Transcrição

1 UMA LINGUAGEM DE MARCAÇÃO PARA STATECHARTS PARA SER USADA EM AVALIAÇÃO DE DESEMPENHO BASEADA EM XML Ana Silvia Martins Serra do Amaral Laboratório Associado de Computação e Matemática Aplicada INPE S. J. Campos, SP, Brasil anasil@lac.inpe.br Renê Rodrigues Veloso Departamento de Ciência da computação PUC Poços de Caldas, MG, Brasil rene.veloso@comp.pucpcaldas.br Nandamudi Lankalapalli Vijaykumar Centro de Recursos Costeiros e Marinhos UCC, Cork, Irlanda n.vijaykumar@ucc.ie Carlos Renato Lisboa Francês Departamento de Engenharia Elétrica UFPA, Belém, PA, Brasil rfrances@ufpa.br Edvar da Luz Oliveira Departamento de Engenharia Elétrica UFPA, Belém, PA, Brasil edvar@ufpa.br Resumo O atual avanço tecnológico têm exigido desenvolvimento de sistemas cada vez mais complexos. Antes da implementação desses sistemas, os modelos de desempenho tem-se tornado essenciais para a avaliação de seus comportamentos, a fim de revelar gargalos e outros tipos de problemas permitindo, assim, economia de tempo e dinheiro. Normalmente, quando se adota abordagem analítica, são usadas soluções baseadas em cadeias de Markov. A estrutura da cadeia de Markov tem correspondência direta com Máquinas Finitas de Estados. Entretanto, no caso de sistemas complexos, a técnica Statecharts é mais adequada para a sua representação. Statecharts são uma elegante extensão de diagramas de estado que permitem a representação de hierarquia, concorrência e sincronismo. Esse artigo apresenta uma linguagem de marcação baseada em XML (extensible Markup Language) para especificação de um sistema complexo reativo e descreve procedimentos usados para o tratamento desta linguagem a fim de se obter medidas de desempenho. Palavras Chave: Modelos de desempenho, Statecharts, XML Abstract Nowadays, technological advances require development of more and more complex systems. Before the implementation phase, the use of performance models have become essential for the evaluation of the behavior of such systems, in order to find out bottlenecks and other related problems and thus saving money and time. Usually, when analytical approach is taken, Markov chain-based solutions are used. The Markov chain structure has a one-to-one correspondence with Finite State Machines. However, for complex systems, Statecharts are more adequate for representing them as they offer a graceful extension to finite-state machines by adding hierarchy, concurrency and synchronization. This paper presents a brief description of PerformCharts that associate a Statecharts representation to a Markov chain. It also covers a markup language (PcML) based on XML (extensible Markup Language) to specify a complex system and obtain its performance measurements. Keywords: Performance Models, Statecharts, XML

2 1. Introdução Normalmente, o comportamento de um sistema pode ser estudado a partir de sua modelagem e da avaliação de seu desempenho tornando possível detectar gargalos e outros tipos de problemas relacionados. A modelagem de sistemas do mundo real não é uma tarefa simples e, cada vez mais, sistemas com grande complexidade têm surgido, tornando a especificação de tais sistemas bastante difícil. Portanto modelagem de sistemas tem se tornado uma área importante de pesquisa pois a representação de um sistema, antes do mesmo ser construído, permite que se obtenha uma boa previsão do seu comportamento possibilitando, assim, sua melhoria. No contexto deste artigo, sistemas complexos são, também, considerados reativos pois são organizados como um conjunto de estados e transições entre esses estados, causadas por estímulos chamados eventos, tanto internos quanto internos. A fim de se avaliar o desempenho de um sistema, existem dois tipos de abordagens: analítica e simulação. O escopo desse trabalho concentra-se em soluções através de métodos analíticos baseados na teoria de Markov. Cadeias de Markov, normalmente, podem ser representadas usando diagramas de transição de estados onde os eventos devem seguir uma distribuição exponencial. Entretanto, o uso de diagramas de estado na representação de sistemas complexos reativos podem não ser o mais indicado, especialmente quando este sistema possui componentes paralelos. O trabalho aqui descrito, PerformCharts, é baseado na técnica Statecharts que, no caso de sistemas complexos, é mais adequada para a sua representação e essa representação é convertida para uma cadeia de Markov. O procedimento que explora Statecharts em a avaliação de desempenho começa com a especificação do sistema. O problema principal é que hoje não existe uma interface amigável (gráfica ou texto) para o uso da PerformCharts. A especificação do sistema deve ser feita através de um programa onde as estruturas de dados são construídas para gerar a cadeia de Markov. Assim, este trabalho propõe uma linguagem de marcação, PcML (PerformCharts Markup Language) para ser usada na especificação do sistema. Entretanto, o problema agora é como usar essa especificação em PcML para a obtenção das medidas de desempenho? Duas abordagens (em Java e Perl) são fornecidas para a conversão da especificação em PcML para o programa principal que, após ser compilado e linkado com a PerformCharts gera as medidas de desempenho. O artigo está organizado da seguinte forma: a seção 2 apresenta uma breve descrição da geração da cadeia de Markov a partir de uma especificação em Statecharts. A seção 3 discute alguns conceitos relacionados com XML e a linguagem de marcação PcML. A seção 4 descreve o uso da PcML a fim de se obter medidas de desempenho para o sistema reativo especificado. A seção 5 finaliza com algumas conclusões. 2. Statecharts e seu uso em modelagem de desempenho Statecharts é uma técnica formal de especificação do comportamento de sistemas reativos que extendem os diagramas de estados com: conceitos de decomposição hierárquica de estados fornecendo noções de profundidade (abstração); ortogonalidade que permite a representação de atividades paralelas; e interdependência e sincronismo através de comunicação do tipo broadcasting. Os elementos básicos dos Statecharts para a representação de um sistema são: configuração (estados ativos de cada componente ortogonal num determinado momento), events (externos explicitamente estimulados e internos automaticamente e imediatamente estimulados pela lógica interna dos Statecharts), condition, action, transition, expression, variable e label. Uma descrição mais completa dos elementos que formam a base da técnica Statecharts juntamente com sua características podem ser encontradas em [Drusinsky & Harel, 1989], [Harel, 1987], [Harel & Naamad, 1996], [Harel & Politi, 1998] e [Harel et al., 1987]. Da mesma forma que nos diagramas de estados, a definição de um estado inicial para cada componente é obrigatória. No caso da existência de componentes paralelos, a definiçao da configuração inicial do sistema é necessária. Esse estado ou configuração inicial será o ponto de partida da dinâmica do sistema reativo. Durante a dinâmica do sistema é possível usar o símbolo H dos Statecharts que indica que o estado ou configuração ativa deve ser relembrada no retorno ao componente. A notação geral de uma transição em Statecharts é: event[condition]/action, ou seja, caso a condição seja verdadeira e o evento esteja habilitado, execute a transição. Após a ocorrência da transição realize 751

3 a action associada com a mesma. Action pode ser uma alteração de variável ou expressão ou, ainda, um evento a ser disparado em outros componentes ortogonais. Na performcharts, o único tipo de ação permitida no momento é um evento do tipo interno [Vijaykumar, 1999] e [Vijaykumar et al, 2002]. Para o uso da técnica Statecharts na especificação do sistema para sua avaliação de desempenho, na PerformCharts os eventos externos estão associados com suas taxas de ocorrência e, como a solução adotada é baseada em cadeias de Markov, devem seguir uma distribuição exponencial. São considerados eventos internos os que ocorrem imediatamente após serem automaticamente estimulados (taxa zero). Tipos de eventos internos: true[condition], false[condition], entered[state], exit[state]. Na PerformCharts pode-se associar probabilidade a uma transição permitindo, assim, que essa transição ocorra saindo de um estado origem para mais de um estado destino evitando-se situações de conflito ou não determinismo. Portanto, a notação original foi alterada para: event[condition]{probability}/action [Vijaykumar, 1999] e [Vijaykumar et al., 2002]. A construção da cadeia de Markov segue os seguintes passos: A configuração inicial (conjunto de estados básicos ativos dentro de cada componente) é obtida; Reação a eventos internos (true, false, exit, entered), caso existam, é realizada conduzindo o sistema a uma nova configuração; A partir desta nova configuração, os eventos externos são obtidos; Para cada evento da lista, uma reação é realizada seguida de reações a eventos internos e ações; Esse processo persiste até que todas as configurações tenham sido expandidas. Como resultado, temse uma lista de estruturas contendo as configurações origem e destino e o evento estocástico associado (taxa de transição). Essa informação é uma cadeia de Markov com a qual pode-se obter as probabilidades limites, que representam a porcentagem de tempo ocupada por cada estado dentro do sistema especificado [Philippe et al., 1992] e [Silva & Muntz, 1992]. A fim de se esclarecer esse processo de representar um sistema usando Statecharts e obter suas medidas de desempenho, um exemplo será apresentado. Considere um sistema de redundância contendo duas máquinas e um reparador, como mostrado na figura 1. O paralelismo é obtido através do uso de linhas pontilhadas separando os componentes. Figura 1 Representação do comportamento de um sistema em Statecharts A configuração inicial do sistema é obtida através dos estados básicos iniciais (default) de cada componente paralelo indicados pela seta contendo um ponto escuro na ponta. Nesse exemplo, a configuração inicial é [W1,W2,WS]. Nesse momento, o algoritmo busca por eventos internos habilitados. Neste exemplo não há eventos internos habilitados para a configuração inicial. Os eventos habilitados são os eventos estocásticos a1 e a2. Após o evento a1 ser ativado, a configuração do 752

4 sistema passa a ser [P1,W2,WS] e, após a2, a nova configuracao passa a ser [P1,P2,WS]. Suponha que a configuração atual do sistema seja [B1,W2,WS]. Nesse caso, o evento imediato tr[in(b1)] que dispara uma transição movendo o sistema de WS para C1 está habilitado. Este processo continua até que se chegue a uma configuração após a reação a todos os eventos existentes na lista. A cadeia de Markov resultante deste exemplo é mostrada na figura 2. W1,W2,WS r1 a1 a2 r2 P1,W2,WS W1,P2,WS f1 a2 a1 s1 s2 f2 B1,W2,C1 r2 r1 W1,B2,C2 P1,P2,WS a2 f1 f2 a1 r2 r1 B1,P2,C1 s1 P1,B2,C2 s2 f2 f1 B1,B2,C1 s1 s2 B1,B2,C2 Figura 2 Cadeia de Markov correspondente ao modelo da figura 1 3. PcML PerformCharts Markup Language Como mencionado anteriormente, foi desenvolvido um software chamado PerformCharts que aplica a técnica de especificação de sistemas Statecharts em modelagem de desempenho. Entretanto, para se fazer uso deste software, é necessário criar o módulo principal na linguagem de programacao C++ para especificar o modelo para o qual se deseja fazer a avaliação de desempenho, fazendo chamadas a métodos necessários para converter essa representação em uma cadeia de Markov e calcular as medidas de desempenho. A solução mais amigável para se especificar um modelo de desempenho seria através de uma interface gráfica, ainda não disponível. Uma solução intermediária seria através de uma interface textual. Assim, uma linguagem de marcação baseada na tecnologia XML (extensible Markup Language) foi criada com o objetivo de especificar e tratar modelos de desempenho. XML é um tipo de meta linguagem que consiste de regras a serem usadas na formatação de textos a fim de se estruturar seus dados e, tem se tornado uma solução bastante popular e, extremamente, útil na área da interoperabilidade. Possui vantagens pois é: extensível, independente de plataforma e há esforços internacionais para fins de sua padronização. Além disso, por ser textual, tem-se acesso ao seu conteúdo através de qualquer editor de texto, não é necessário um software específico para esse fim. XML é similar ao HTML pois faz uso de tags e atributos. Por outro lado, no HTML, essas tags e atributos são usadas para a formatação e apresentação de um texto por um browser, enquanto que no caso do XML, elas são usadas para organizar um conjunto de dados e, a interpretação desses dados depende da aplicação que irá utilizá-los. Por exemplo, <p> em HTML indica parágrafo enquanto que, em XML, dependendo do contexto, pode indicar preço, parâmetro, pessoa, etc. No entanto, a falta de uma tag ou um atributo sem aspas provoca erros de sintaxe[bates, 2003]. XML possui módulos úteis para algumas tarefas, tais como: Xlink que permite acrescentar hyperlinks em arquivos XML; Xpointer e Xfragments são úteis para indicar partes do documento XML; CSS é uma linguagem de estilo, assim como HTML, para ser aplicados em arquivos XML; XSL é uma linguagem para 753

5 descrever estilos com a finalidade de modificar, adicionar e deletar tags e atributos; DOM permite tratar arquivos XML a partir de linguagens de programação; Schemas para auxiliar usuários na estruturação de formatos baseados em XML. Segue um exemplo de um documento em XML, onde são descritos o nome e endereço de um cliente: <cliente id= ProdOnLine-ID1 > <nome>jose da Silva Products Co. </nome> <endereco pais= Brasil > <rua>avenida do Espaco, 1758</rua> <cidade>cidade dos Astronautas</cidade> <estado>espaconave</estado> <postal>12245</postal> </endereco> </cliente> Todas as tags devem ter início e fim, como pode ser observado no exemplo, <nome> indica o início e </nome> indica o final dessa informação. A informação marcada por uma tag pode, conter atributos como país no exemplo acima é um atributo do elemento endereço. Sua sintaxe é bastante simples, além de ser facilmente compreensível pelo homem e facilmente processada pelas máquinas. XML é baseada em SGML e tem muitas similaridades com HTML. Figura 3 Diagrama da PcML 754

6 Essas propriedades do XML foram usadas a fim de se propor uma linguagem de marcação com o propósito de avaliação de desempenho de sistemas reativos baseados em sua representação em Statecharts. PcML [Amaral et al., 2004] é uma linguagem de marcação baseada em XML, cujas tags, atributos e outras características representam os elementos usados em Statecharts na especificação de sistemas reativos com o propósito de avaliação de desempenho [Ray, 2002],[Maruyama, 2002]. O diagrama da PcML é apresentado na figura 3 acima. Na figura, pode se observar que os elementos obrigatórios na especificação estão contidos em retângulos de linhas contínuas e elementos opcionais contidos em retângulos de linhas pontilhadas. A razão para isso é que os seguintes elementos básicos em Statecharts: states, events e transitions sempre devem aparecer na especificação de sistemas reativos, enquanto que conditions, actions e probabilities são opcionais. O símbolo -> que conecta alguns retângulos indica os elementos permitidos entre os tags de início e fim. Por exemplo, em conditions, os tags permitidos são: InState, NotCondition e Composed Condition. Da mesma forma, ANDCond e ORCond podem ser especificados dentro da ComposedCondition. 1.. indica que o número de ocorrências do elemento deve estar entre 1 e infinito. XML 1.0 fornece Document Type Definition (DTD) para definição de restrições no uso da linguagem de marcação [w3c,2002]. 4. Uso da PcML para avaliação de desempenho A especificação de alguns elementos em PcML (PerformCharts Markup Language) do sistema representado na figura 1, é apresentado a seguir como exemplo do uso desta linguagem. Dentro do elemento States especifica-se System como Root, juntamente com os componentes E1, E2, Supervisor. <?xml version= 1.0 encoding= ISO ?> <PcML Title= Manufacturing System Date= xmlns;xsl= xsi:nonamespaceschemalocation= PcML schema xsd > <States> <Root Name= System Type= AND > <State Name= E1 Type= XOR Default= W1 > <State Name= W1 Type= BASIC /> <State Name= P1 Type= BASIC /> <State Name= B1 Type= BASIC /> </State> //...especificação do Component E2... //...especificação do Componente Supervisor... </Root> </States> Abaixo são especificadas as conditions: Cond1 e Cond2 do tipo InState; Cond3 corresponde a NOT Cond1, ou seja, not [In(B1)]; Cond4 corresponde à condição Cond3 AND Cond2, ou seja, Not [In(B1)] AND [In(B2)]. <Conditions> <InState Name= Cond1 State= B1 /> <InState Name= Cond2 State= B2 /> <NotCondition Name= Cond3 Condition= Cond1 /> <ComposedCondition Name= Cond4 <ANDCond Cond1= Cond3 Cond2= Cond2 /> </ComposedCondition> </Conditions> A seguir vêem as actions, tratadas aqui como eventos internos. <Actions> <EventTriggerAction Name= etae1 Event= c1 /> 755

7 <EventTriggerAction Name= etae2 Event= c2 /> </Actions> Abaixo são especificados os eventos internos e externos(estocásticos com taxa diferente de zero): <Events> <TrueCondition Name= CC1 Condition= Cond1 /> <TrueCondition Name= CC2 Condition= Cond3 /> <Stochastic Name= a1 Value= 5.0 /> <Stochastic Name= s1 Value= 1.0 /> //...OUTROS EVENTOS ESTOCÁSTICOS:c1, r1, f1, a2, c2, r2, f2... </Events> E, finalmente, vêem as transições contendo os estados origem e destino; o evento que, quando disparado, causará a transição e, caso estejam presentes na transição, as ações e probabilidades associadas. <Transitions> <Transition Source= W1 Event= a1 Destination= P1 /> <Transition Source= P1 Event= r1 Destination= W1 /> <Transition Source= P1 Event= f1 Destination= B1 /> <Transition Source= B1 Event= c1 Destination= W1 /> //...Definições das transições no componente E2... //...Algumas transições no componente Supervisor <Transition Source= WS Event= CC1 Destination= C1 /> <Transition Source= WS Event= CC2 Destination= C2 /> <Transiton Source= C1 Event= s1 Action= etae1 Destination= WS /> </Transitions> </PcML> Como mencionado anteriormente, agora é o momento de transformar essa especificação em PcML do sistema em um programa em C++ a fim de gerar as suas medidas de desempenho. Para isso, foram criadas aplicações nas linguagens Java e Perl. O programa em C++ gerado consiste, basicamente, de chamadas a funções para: (i) criar as estruturas de dados que correspondem à representação do sistema em Statecharts; (ii) simular a dinâmica do sistema através de estímulos dos eventos e criar a cadeia de Markov; (iii) resolver a cadeia de Markov a fim de obter as probabilidades limites que são a base das medidas de desempenho. Ambas as aplicações, em Java e Perl, fazem uso de recursos próprios da linguagem, para tratar os elementos XML [Veloso, 2003], [Ray, 2002] e [Maruyama, 2002], como, por exemplo, DOM(Document Object Model). O código escrito em Perl, faz buscas no documento pelos elementos e seus respectivos valores e atributos gerando, então, linhas de código consistindo de chamadas a funções que, no final, serão gravadas num arquivo do tipo texto. Em Java, uma vez criada uma árvore hierárquica de nós/objetos, a busca aos nós é feita através do uso de expressões XPath. A seguir, são mostradas algumas linhas da descrição do sistema em PcML e o código correspondente em C++ gerado. Primeiramente deve-se definir o nome do macro estado estado raiz (o ponto inicial da representação hierárquica Statecharts) com seu respectivo tipo e estado inicial (default) em PcML: <Root Name= System Type= AND > <State Name= E1 Type= XOR Default= W1 /> As linhas correspondentes em C++ geradas pelas duas linhas em PcML acima são: Statechart System; 756

8 System.createRoot ( System, AND ); System.createSonState ( E1, OR, System ); System.setDefaultEntry ( E1, W1 ); A condição, verdadeira, caso um determinado estado esteja ativo é definida em PcML como: <InState Name= Cond1 State= B1 /> e, em C++: InStateCondition *InCond1 = System.createInStateCondition ( B1 ); Action, (no contexto de modelagem de desempenho, corresponde a um evento interno, ou seja, sem taxa estocástica) que pode interferir em outros componentes ortogonais é definida em PcML como: <EventTriggerAction Name= etae1 Event= c1 /> e, gerada pelas aplicacoes em Javas e Perl em C++ como: System.createPrimEvent ( c1 ); EventTriggeringAction * etae1=system.createeventtrigaction ( c1 ); Um evento imediato, como por exemplo uma true condition, associada a uma condição, como por exemplo InStateCondition já definida anteriormente, deve ser descrito em PcML como: <TrueConditionName= CC1 Condition= Cond1 /> Gerando, assim, as seguintes linhas em C++: TrueCondEvent * tevcc1 = System.createTrueCondEvent ( *InCond1 ); Abaixo, um exemplo de definição de um evento estocástico juntamente com sua taxa, em PcMl e descrito como: <Stochastic Name= a1 Value= 5.0 /> e a linha de código gerada em C++ é: System.createPrimEvent ( a1, 5.0 ); Uma transição contendo apenas os estados origem e destino e um evento é definida em PcML como: <Transition Source= W1 Event= a1 Destination= P1 /> e, o código correspondente em C++: Transition * transw1_p1 = System.createTransition ( a1 ); System.addSourceNode ( *transw1_p1, W1 ); System.addDestinationNode ( *transw1_p1, P1 ); Uma transição baseada em um evento imediato em PcML é definida como: <Transition Source= WS Event= CC1 Destination= C1 /> e o seu código correspondente gerado em C++: Transition * transws_c1 = System.createTransition ( *tevcc1 ); System.addSourceNode ( *transws_c1, WS ); System.addDestinationNode ( *transws_c1, C1 ); Agora, um exemplo de transição com uma ação associada é definida em PcML como: <Transiton Source= C1 Event= s1 Action= etae1 Destination= WS /> em C++: Transition * transc1_ws = System.createTransition ( s1, *eta1e1 ); System.addSourceNode ( *transc1_ws, C1 ); System.addDestinationNode ( *transc1_ws, WS ); No final, as aplicações em Java e Perl, geram linhas correspondentes a outras chamadas de funções a fim de gerar a cadeia de Markov correspondente ao sistema especificado a ser resolvido para fornecer as probabilidades limites. O código em C++ que gera o grafo e a solução da cadeia de Markov é o seguinte: GraphBase gb; GraphGenerator gen; // Perform reaction generate Markov Chain 757

9 gen.generategraph ( System, gb ); // Determine steady-state probabilities MarkovChainGenerator mk ( gb ); mk.generatelimitingprobabilities ( ); Então, o arquivo de saída gerado pelas aplicações em Perl e Java pode ser compilado e linkado com o restante das classes para se gerar o código executável através do qual obtem-se as medidas de desempenho tal como a ocupação de cada estado em função do tempo. A idéia de se explorar XML como base para uma interface para tratar modelagem de desempenho em Statecharts surgiu como um trabalho de curso de pós graduação realizado em menos de três meses. PcML também incorporou recursos dos Statecharts não discutidos nesse artigo tal como entry by history usado para sobrepor o estado inicial (default) usado quando se deseja que o último estado ativo daquele macro estado possa ser lembrado quando num eventual retorno. 5. Conclusões Este trabalho descreveu uma adaptação da técnica Statecharts a ser usada na especificação e tratamento de modelos de desempenho. Foi apresentada uma linguagem de marcação usada na especificação do modelo, baseada na tecnologia XML (extensible Markup Language), atualmente bastante popular e extremamente útil na área da interoperabilidade como também os procedimentos usados para se obter as medidas de desempenho necessárias. Statecharts foi, originalmente, criada para representar sistemas de tempo real. Entretanto, graças aos seus recursos visuais e formalismo, tornou-se útil em outros tipos de aplicações. Por exemplo, vários sistemas orientados a objeto fazem uso desta técnica para representar o comportamento das classes e, também, tem sido utilizada na representação de lógicas complexas de sistemas reativos modernos. Pensando nisso, foi criada uma ferramenta chamada PerformCharts, onde esta técnica foi daptada para representar e tratar, analiticamente, modelagem de desempenho. Vários sistemas (de vários tipos de aplicações) foram testados e comparados com outros onde a representação é feita usando redes de Petri e redes de filas. A PerformCharts inclui os recursos entry by History e estados parametrizados da Statecharts. Além disso, a PerformCharts incluiu transições probabilísticas, não existentes no formalismo Statecharts mas necessárias em avaliação de desempenho. Porém, Para se fazer uso da PerformCharts é necessário que se escreva um programa na linguagem de programação C++, através do qual, se faz chamadas a funções para a criação de estruturas de dados contendo a especificação do sistema propriamente dito como, também, gerar a cadeia de Markov juntamente com as probabilidades limites. Mas, dependendo da complexidade do sistema reativo, esta tarefa pode se tornar bastante trabalhosa. Para se resolver esse problema uma interface gráfica está sendo desenvolvida. Como solução intermediária, graças a popularidade da XML, surgiu a PcML como trabalho do curso de pós graduação aplicações baseadas em HiperMídia, que é uma linguagem de marcação baseada em XML, para especificação de sistemas reativos usando Statecharts para modelagem de desempenho. Mas o problema ainda não estava totalmente resolvido somente com a criação dessa linguagem, pois era necessário converter essa especificação em PcML para o programa na linguagem C++, interface com a PerformCharts. Para isso foram desenvolvidas aplicações nas linguagens Java e Perl. Futuros planos incluem a possibilidade de executar a PerformCharts através de uma aplicação Web, onde a entrada seria em PcML e, posteriormente, través de uma interface gráfica. Um projeto em andamento é a adaptação da PerformCharts para ser usada em geração automática de casos de teste. Existem várias ferramentas que geram casos de teste de sistemas especificados em máquinas finitas de estados extendidas. Assim, a idéia nesse projeto é converter a especificação em Statecharts para uma máquina finita de estados extendida ao invés de uma cadeia de Markov. 758

10 Referências Bibliográficas [Amaral et al., 2004] Amaral, A.S.M.S.; Veloso R.R. & Vijaykumar, N.L., PcML Reference Manual, Relatório Técnico a ser publicado, Instituto Nacional de Pesquisas Espaciais, São José dos Campos, SP, Brazil. [Bates, 2003] Bates, C., XML in Theory & Practice, John Wiley Computer, [Drusinsky & Harel, 1989] Drusinsky, D. & Harel, D., Using Statecharts for Hardware Description and Synthesis, IEEE Transactions on Computer-Aided Design, 8(7), , [Harel, 1987] Harel, D., Statecharts: a visual formalism for complex systems, Science of Computer Programming, 1987, 8, [Harel & Naamad, 1996] Harel, D. & Naamad, A., The STATEMATE Semantics of Statecharts, ACM Transactions on Software Engineering, 1996, 5(4), [Harel et al., 1987] Harel, D.; Pnueli; A., Schmidt, J.,& Sherman, R., On formal semantics of Statecharts, IEEE Symposium on Logic in Computer Science, Ithaca, USA., [Harel & Politi, 1998] Harel, D. & Politi, M., Modeling Reactive Systems with Statecharts: the Statemate Approach, McGraw-Hill, USA, [Maruyama, 2002] Maruyama, H., XML and Java Developing Web Application. CA: Addison Wesley, [Philippe et al., 1992] Philippe, B., Saad, Y., Stewart, W.J.. Numerical Methods in Markov Chain modeling. Operations Research, 1992, 40 (6) [Ray, 2002] Ray, E. T., Perl and XML, USA: O Reilly & Associates, Inc., [Silva & Muntz] Silva, E. A. S., Muntz, R. R. Computational methods to solve Markov Chains: Applications to computing and communication systems. 1992, UFRGS, Gramado, RS, Brazil. (In portuguese).. [Veloso, 2003] R. R. Veloso, Java e Xml Guia de consulta rápida. Brazil: Novatec editora, [Vijaykumar, 1999] Vijaykumar, N.L., Statecharts: Their use in specifying and dealing with Performance Models, Ph.D. Thesis Aeronautical Institute of Technology (ITA), 1999, São José dos Campos, SP, Brazil. [Vijaykumar et al., 2002] Vijaykumar, N. L.; Carvalho & S.V., Abdurahiman, V., On proposing Statecharts to specify Performance Models, International Transactions in Operational Research, 2002, 9(3), [w3c, 2002] tech. Rep., WORLD WIDE WEB CONSORTIUM, Sept Extensible Markup Language (XML) 759

Extensão da capacidade da PerformCharts visando Geração Automática de Casos de Teste de sistemas através da CONDADO

Extensão da capacidade da PerformCharts visando Geração Automática de Casos de Teste de sistemas através da CONDADO Ana Silvia Martins Serra do Amaral LAC/INPE N.L.Vijaykumar - LAC/INPE Eliane Martins - IC/Unicamp São José dos Campos, Brasil INPE Workshop ATIFS 05/Dezembro/2003 Este trabalho apresenta uma metodologia

Leia mais

GTSC: Geração Automática de Casos de Teste Baseada em Statecharts

GTSC: Geração Automática de Casos de Teste Baseada em Statecharts GTSC: Geração Automática de Casos de Teste Baseada em Statecharts Manual do Usuário INPE Instituto Nacional de Pesquisas Espaciais São José dos Campos Maio/2012 Página 1 1 Descrição do Software Este documento

Leia mais

Simulador de Eventos modelados em Statecharts

Simulador de Eventos modelados em Statecharts Simulador de Eventos modelados em Statecharts Uma Simulação de Temperaturas Atmosféricas Aluno: António Augusto Tavares Martins Miranda Supervisor: Ana Cristina Vieira de Melo Instituto de Matemática e

Leia mais

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr. XSL - extemsible Stylesheet Language Prof. Antonio Almeida de Barros Jr. Agenda Conceitos XSLT - XSL Transformations Iteração e Classificação Processamento Condicional Copiando Nodos Variáveis Estude de

Leia mais

4 Linguagens de Modelagem de IHC

4 Linguagens de Modelagem de IHC 4 Linguagens de Modelagem de IHC A ferramenta proposta no atual trabalho visa englobar algumas linguagens visuais comuns na área de Interação Humano-Computador. São elas: Concur Task Trees (CTT), MoLIC

Leia mais

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML 1 INTRODUÇÃO TECNOLOGIA WEB Começaremos desvendando o poder do desenvolvimento de aplicações baseadas na Web com a XHTML (Extensible HyperText Markup

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Guia de Bolso HTML e XHTML

Guia de Bolso HTML e XHTML Guia de Bolso HTML e XHTML Este guia de bolso oferece uma listagem concisa, porém abrangente, dos elementos e atributos especificados nas Recomendações HTML 4.01 e XHTML 1.0. O texto utiliza a abreviação

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

Leia mais

Introdução XML. Vanessa Braganholo

Introdução XML. Vanessa Braganholo Introdução XML Vanessa Braganholo {vanessa@ic.uff.br} Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo O que é XML? } XML = extensible Markup

Leia mais

5a. Aula - XML 2013.2

5a. Aula - XML 2013.2 5a. Aula -XML 2013.2 Introdução Criando Documentos XML Validando Documentos XML DTD ( Documents Type Definition) XML Schema ConsultandoXML com Xpath com XQuery Modularizando XML Namespaces Entities TransformandoXML

Leia mais

ESTUDO DO ESTOQUE DE PEÇAS SEMI-ACABADAS NUMA CÉLULA FLEXÍVEL DE MANUFATURA COMPOSTA DE DUAS MÁQUINAS E UM ROBÔ.

ESTUDO DO ESTOQUE DE PEÇAS SEMI-ACABADAS NUMA CÉLULA FLEXÍVEL DE MANUFATURA COMPOSTA DE DUAS MÁQUINAS E UM ROBÔ. ESTUDO DO ESTOQUE DE PEÇAS SEMI-ACABADAS NUMA CÉLULA FLEXÍVEL DE MANUFATURA COMPOSTA DE DUAS MÁQUINAS E UM ROBÔ. Solou Venâncio de Carvalho Nandamudi Lankalapalli Vijaykumar Acioli Antonio de Olivo Instituto

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Especificação de Sistemas de Software e a UML

Especificação de Sistemas de Software e a UML Modelagem de sistema Especificação de Sistemas de Software e a UML A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => visão simplificada e abstrata de um sistema

Leia mais

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 Prof. Carlos Henrique Q. Forster Estagiário Wesley M. Telles Instruções Gerais 1o. Bimestre Para

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

O USO COMBINADO DE STATECHARTS E PROCESSO MARKOVIANO DE DECISÃO NO PROCESSO DE AVALIAÇÃO DE DESEMPENHO DE SISTEMAS

O USO COMBINADO DE STATECHARTS E PROCESSO MARKOVIANO DE DECISÃO NO PROCESSO DE AVALIAÇÃO DE DESEMPENHO DE SISTEMAS O USO COMBINADO DE STATECHARTS E PROCESSO MARKOVIANO DE DECISÃO NO PROCESSO DE AVALIAÇÃO DE DESEMPENHO DE SISTEMAS Marcelino S. da Silva 1, Nandamudi L. Vijaykumar 2, Carlos R. L. Francês 1, Solon V. de

Leia mais

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE Relatório parcial PIBIC Bolsista: Eduardo Rohde Eras e-mail: eduardorohdeeras@gmail.com Responsável: Prof. Dr. Nandamudi L. Vijaykumar e-mail: vijay@lac.inpe.br

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

MODELO DE SIMULAÇÃO DE UMA SOLUÇÃO DE INTEGRAÇÃO USANDO TEORIA DAS FILAS 1 SIMULATION MODEL OF AN INTEGRATION SOLUTION USING QUEUE THEORY

MODELO DE SIMULAÇÃO DE UMA SOLUÇÃO DE INTEGRAÇÃO USANDO TEORIA DAS FILAS 1 SIMULATION MODEL OF AN INTEGRATION SOLUTION USING QUEUE THEORY MODELO DE SIMULAÇÃO DE UMA SOLUÇÃO DE INTEGRAÇÃO USANDO TEORIA DAS FILAS 1 SIMULATION MODEL OF AN INTEGRATION SOLUTION USING QUEUE THEORY Félix Hoffmann Sebastiany 2, Sandro Sawicki 3 1 Projeto de pesquisa

Leia mais

Prof. Lorí Viali, Dr.

Prof. Lorí Viali, Dr. Prof. Lorí Viali, Dr. viali@pucrs.br http://www.pucrs.br/famat/viali/ Dentre a grande variedade de sistemas que podem ser modelados e para os quais a simulação pode ser aplicada com proveito, uma classe

Leia mais

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos

Leia mais

Especificação, Modelação e Projecto de Sistemas Embutidos

Especificação, Modelação e Projecto de Sistemas Embutidos Especificação, Modelação e Projecto de Sistemas Embutidos Linguagens de especificação: StateCharts Paulo Pedreiras, Luís Almeida {pbrp,lda}@ua.pt Departamento de Electrónica, Telecomunicações e Informática

Leia mais

XML. Prof. Júlio Machado

XML. Prof. Júlio Machado XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido

Leia mais

Protótipo de um sistema para elaboração e manutenção de um manual da qualidade usando tecnologia XML e Docbook

Protótipo de um sistema para elaboração e manutenção de um manual da qualidade usando tecnologia XML e Docbook Protótipo de um sistema para elaboração e manutenção de um manual da qualidade usando tecnologia XML e Docbook Marco Rodrigues e Jenny F erreira mei03016@fe.up.pt e mei03003@fe.up.pt Faculdade de Engenharia

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

Oficina de Integração 2 Métodos de representação (Introdução) Prof. César M.V. Benítez 2018b

Oficina de Integração 2 Métodos de representação (Introdução) Prof. César M.V. Benítez 2018b Oficina de Integração 2 Métodos de representação (Introdução) Prof. César M.V. Benítez 2018b Qual o problema? Como descrever as partes e o comportamento de um sistema? Antes e durante o desenvolvimento

Leia mais

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Engenharia de Software Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas Thiago P. da Silva thiagosilva@ufmt.br Agenda Modelagem de Sistemas Modelos de contexto Diagramas de Atividades Modelos

Leia mais

2 Metodologias para Projetos de Aplicações Hipermidia

2 Metodologias para Projetos de Aplicações Hipermidia 2 Metodologias para Projetos de Aplicações Hipermidia O processo de desenvolvimento de aplicações é o objeto de diversas pesquisas, principalmente no caso das aplicações voltadas para a Internet, que diferem

Leia mais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais 1 Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais Fabiano Fagundes, Parcilene F. Brito, Fernando L. Oliveira, Jackson G. Souza, Carlos H. Tolentino Resumo O desenvolvimento colaborativo

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA XML Mário Meireles Teixeira DEINF-UFMA XML Motivação XML extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org XML 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation,

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Rui Carneiro, Rui Pereira, Tiago Orfão

Rui Carneiro, Rui Pereira, Tiago Orfão Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt

Leia mais

Universidade do Minho

Universidade do Minho Universidade do Minho Testes de interfaces gráficas com o recurso a mutações Documentação de Bolsa de Investigação Luís Miguel Pinto pg27756@alunos.uminho.pt Resumo Versão 0.4 Braga, 30 de Outubro de 2015

Leia mais

Definição da Sintaxe Abstrata de Potigol em XML

Definição da Sintaxe Abstrata de Potigol em XML Definição da Sintaxe Abstrata de Potigol em XML Alessandro O. Anjos¹, Leonardo Lucena² 1 Graduando em Tec em Análise e Desenvolvimento de Sistemas IFRN. Bolsista do CNPq. E-mail: alessandro.anjos@academico.ifrn.edu.br

Leia mais

Arquitetura de Software: Documentação

Arquitetura de Software: Documentação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SSC-0527 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa Tiago Volpato Introdução

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros Conclusão e Trabalhos Futuros 123 7 Conclusão e Trabalhos Futuros Esta dissertação apresenta a linguagem X-SMIL para autoria declarativa de documentos hipermídia. Nessa direção, o primeiro passo do trabalho

Leia mais

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO Introdução Resolução de problemas Encontrar uma maneira de descrever este problema de uma forma clara e precisa. Encontremos uma seqüência

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet I 4. XML Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Standard do W3C (www.w3c.org) Formato de ficheiros de texto derivado de SGML (Standard Generalized Markup Language)

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Informática I. Aula 14. Aula 14-10/10/2007 1

Informática I. Aula 14.  Aula 14-10/10/2007 1 Informática I Aula 14 http://www.ic.uff.br/~bianca/informatica1/ Aula 14-10/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

Conceitos de HTML 5 Aula 1

Conceitos de HTML 5 Aula 1 Prof. João Augusto da Silva Bueno (joao.augusto@ifsc.edu.br) Conceitos de HTML 5 Aula 1 World Wide Web É um serviço da Internet que reúne vários documentos de todas as partes do mundo e esses documentos

Leia mais

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA SISTEMAS DE INFORMAÇÃO Resumo do Trabalho de Conclusão de Curso Entitulado Um Tradutor de Esquemas Relacionais

Leia mais

Síntese de programas utilizando a linguagem Alloy

Síntese de programas utilizando a linguagem Alloy Universidade Federal de Pernambuco Centro de Informátiva Graduação em Ciência da Computação Síntese de programas utilizando a linguagem Alloy Proposta de Trabalho de Graduação Aluno: João Pedro Marcolino

Leia mais

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Versão 1.0.0 1 ÍNDICE Sumário INTRODUÇÃO... 3 PRINCIPAIS CARACTERÍSTICA DA ASTAH... 3 COMO BAIXAR... 4 PRINCIPAIS FUNCIONALIDADES...

Leia mais

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir: INFORMÁTICA Prova de Agente Fiscal de Rendas do ICMS-SP/2013 - FCC. Por Ana Lucia Castilho* Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir: A equipe de TI da empresa

Leia mais

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA O USO COMBINADO DE STATECHARTS E PROCESSO MARKOVIANO DE DECISÃO NO PROCESSO DE AVALIAÇÃO DE DESEMPENHO

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Tecnologias de Desenvolvimento de Páginas web

Tecnologias de Desenvolvimento de Páginas web Tecnologias de Desenvolvimento de Páginas web HTML DHTML CSS Javascript Visual Basic Script Java HTML Hypertext Markup Language HTML Hypertext Markup Language Linguagem com a qual se definem as páginas

Leia mais

Visão Geral do RUP.

Visão Geral do RUP. Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos

Leia mais

CP Compiladores I Prof. Msc.. Carlos de Salles

CP Compiladores I Prof. Msc.. Carlos de Salles CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

Noções de XML. Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017

Noções de XML. Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017 Noções de XML Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017 O que é o XML? Características XML significa Extensible Markup Language XML é uma linguagem de marcadores (tags)

Leia mais

Spectrum Miner. Versão 8.0. Quadstone Metadata Markup Language

Spectrum Miner. Versão 8.0. Quadstone Metadata Markup Language Spectrum Miner Versão 8.0 Conteúdo 1 - Introdução Objetivo 4 Quem deve ler este manual 4 Documentação relacionada 4 2 - Formatos de Quadstone Metadata Markup Language (QMML) Formatos XML 6 Definição do

Leia mais

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE

DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE DIAGRAMAS UML NA VERIFICAÇÃO FORMAL DE SOFTWARE Relatório final PIBIC Bolsista: Eduardo Rohde Eras e-mail: eduardorohdeeras@gmail.com Responsável: Prof. Dr. Nandamudi L. Vijaykumar e-mail: vijay@lac.inpe.br

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes Richard Werneck de Carvalho Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título

Leia mais

Modelos Probabilísticos

Modelos Probabilísticos Modelos Probabilísticos Somente para lembrar... Modelos são extremamente importantes para o estudo do desempenho de um sistema antes de implementá-lo na prática! Foguete proposto tem confiabilidade? Devemos

Leia mais

Tipos para uma Linguagem de Transformação

Tipos para uma Linguagem de Transformação Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração

Leia mais

Sistemas Multimídia. ð Linguagens de autoria. Sistemas Multimídia. ð Principal vantagem do HTML é simplicidade => SUCESSO. Sistemas Multimídia

Sistemas Multimídia. ð Linguagens de autoria. Sistemas Multimídia. ð Principal vantagem do HTML é simplicidade => SUCESSO. Sistemas Multimídia Departamento de Ciência da Computação - UFF Hipermídia na Web Hipermídia na Web ð Linguagens de autoria Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br 1 2 ð HyperText Markup Language ð

Leia mais

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde: Dados da Web Introdução de XML Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Leia mais

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

Pesquisa de Iniciação Científica desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI 2

Pesquisa de Iniciação Científica desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI 2 AMBIENTE DE EXPERIMENTAÇÃO PARA PLATAFORMAS DE INTEGRAÇÃO DE APLICAÇÕES EMPRESARIAIS 1 AN EXPERIMENTAL ENVIRONMENT FOR ENTERPRISE APPLICATIONS INTEGRATION PLATFORMS Matheus Henrique Rehbein 2, Rafael Z.

Leia mais

PROJETO DE INTERFACES PARA ÁLGEBRA DE MAPAS EM GEOPROCESSAMENTO NO AMBIENTE SPRING

PROJETO DE INTERFACES PARA ÁLGEBRA DE MAPAS EM GEOPROCESSAMENTO NO AMBIENTE SPRING MINISTÉRIO DA CIÊNCIA E TECNOLOGIA INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS INPE-9307-TDI/820 PROJETO DE INTERFACES PARA ÁLGEBRA DE MAPAS EM GEOPROCESSAMENTO NO AMBIENTE SPRING Ivan Soares de Lucena Dissertação

Leia mais

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte UTILIZANDO ANÁLISE DE MUTANTES PARA REALIZAR O TESTE DE DOCUMENTOS XML SCHEMA Ledyvânia Franzotte Orientadora: Silvia Regina Vergilio Roteiro Introdução XML e Tecnologias XML, DTD, XML Schema e JDOM Testes

Leia mais

Alexsandro Queiroz Lencina 2, Fabricia Roos-Frantz 3.

Alexsandro Queiroz Lencina 2, Fabricia Roos-Frantz 3. AS REDES DE PETRI COMO INSTRUMENTO PARA MODELAGEM MATEMÁTICA DE UM PROBLEMA DE INTEGRAÇÃO DO SISTEMA DE CURRÍCULOS DA AGÊNCIA NACIONAL E TECNOLOGIA DE PORTUGAL 1 Alexsandro Queiroz Lencina 2, Fabricia

Leia mais

Redes de Petri (RdP) Petri Nets

Redes de Petri (RdP) Petri Nets Sumário Redes de Petri (RdP) Petri Nets Armando Jorge Sousa Versão 11, 15 Dez 2005 Apresentação: notação gráfica inc. marcação Concorrência, conflito e confusão Sincronização e recursos críticos Extensões

Leia mais

Análise de Documentos Hipermídia. Joel André Ferreira dos Santos

Análise de Documentos Hipermídia. Joel André Ferreira dos Santos Análise de Documentos Hipermídia Joel André Ferreira dos Santos Agenda Introdução Análise de Documentos Especificação de Requisitos Trabalhos Relacionados Ferramenta de Análise Conclusão Introdução Linguagens

Leia mais

PotiML: A Linguagem de Programação Abstrata de Potigol. PotiML: The Programming Language Abstract of Potigol

PotiML: A Linguagem de Programação Abstrata de Potigol. PotiML: The Programming Language Abstract of Potigol PotiML: A Linguagem de Programação Abstrata de Potigol A. O. Anjos 1 e L. R. Lucena 2 E-mail: alessandro.anjos@academico.ifrn.edu.br 1 ; Leonardo.lucena@ifrn.edu.br 2 RESUMO O Núcleo de Desenvolvimento

Leia mais

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO Bruno Loureiro Rezende Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós-graduação em Informática

Leia mais

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Engenharia de Computação. Disciplina: Programação para WEB

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Engenharia de Computação. Disciplina: Programação para WEB Roteiro 01 Professor: Prof. M.Sc. Odilon Corrêa da Silva Curso: Engenharia de Computação Disciplina: Programação para WEB Roteiro 01 Objetivos Apresentar os conceitos básicos do HTML Criar listas em páginas

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto

Leia mais

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Arquitetura de Software Thaís Batista Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Engenharia de Software para Sistemas Embarcados

Engenharia de Software para Sistemas Embarcados Engenharia de Software para Sistemas Embarcados (Introdução) Prof. Julio Arakaki (jarakaki@pucsp.br) Depto. de Computação Faculdade de Ciências Exatas e Tecnologia Pontifícia Universidade Católica de São

Leia mais

RESPOSTAS AOS RECURSOS CARGO: TÉCNOLOGO/ÁREA: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

RESPOSTAS AOS RECURSOS CARGO: TÉCNOLOGO/ÁREA: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS RESPOSTAS AOS RECURSOS CARGO: TÉCNOLOGO/ÁREA: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ## PROTOCOLO: 350 Inscrição: 101161 Candidato: DOUGLAS DA SILVA PARNOFF Dt.Envio: 20/05/2014 00:40:53 Questão: 5 Bibliografia:

Leia mais

Módulo III Introdução a XML

Módulo III Introdução a XML Módulo III Introdução a XML Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III XML SGML - Standard Generalized Markup Language XML - Extensible Markup

Leia mais

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML Tópicos Apresentando a família XML Prof.Tiago Lopes Telecken telecken@gmail.com IFRS Rio Grande HTML XML A família de tecnologias XML (DTD, XML Schemas, XHTML, SVG, MathML, MusicML, XMI, CSS, XSLT, XLINK,

Leia mais

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Linguagem de Programação I Prof. Tiago Eugenio de Melo. Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a

Leia mais

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS Departamento de Documentação Curso de Arquivologia - extensible Markup Language Definida pela W3C - World Wide Web Consortium Activity Grupos de trabalho que desenvolvem,

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

Padrão para Especificação de Requisitos de Produto de Multimídia

Padrão para Especificação de Requisitos de Produto de Multimídia Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta

Leia mais

XSLT e recursividade estrutural. Gestão e Tratamento de Informação DEI IST

XSLT e recursividade estrutural. Gestão e Tratamento de Informação DEI IST XSLT e recursividade estrutural Gestão e Tratamento de Informação DEI IST Agenda Recursividade estrutural XSLT Agenda Recursividade estrutural XSLT Recursividade estrutural: um paradigma diferente Dados

Leia mais

Aula 11 Introdução ao Java Script

Aula 11 Introdução ao Java Script Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais