O documento apresenta um resumo sobre o formalismo de STATECHARTS, descrevendo seus principais conceitos como estados, eventos, condições, clustering, refinamento, ortogonalidade e aplicações como um exemplo de chamada telefônica e relógio digital.
Este documento descreve os procedimentos para análise granulométrica de solos através de peneiramento e sedimentação. A análise granulométrica determina a distribuição de tamanhos de partículas em um solo e é realizada separando a amostra em frações através de peneiramento para partículas maiores que 0,075mm e sedimentação para partículas menores. Os resultados são usados para classificar o solo e determinar suas características.
1) O documento discute o conceito de centro de massa para sistemas de pontos materiais.
2) O centro de massa é definido como o ponto em que a soma dos momentos de força de cada ponto material é nula, e também como o ponto em que, se suspendido um sistema de pontos, este fica em equilíbrio.
3) As coordenadas cartesianas do centro de massa são dadas por médias ponderadas das coordenadas de cada ponto material, onde os pesos são as respectivas massas.
a) A energia mecânica da partícula é:
EM = EC + EPEL
Dado: EC = 1/2mv2 = 1/2 · 0,1 · (4)2 = 0,8 J
EPEL = 1/2kx2 = 1/2 · 20 · (0,1)2 = 0,1 J
Portanto, EM = EC + EPEL = 0,8 + 0,1 = 0,9 J
b) A amplitude do movimento é A = 10 cm = 0,1 m
3) (PUC) A energia potencial associada à força é dada por:
Ep = 25
O documento descreve choques unidimensionais, onde a quantidade de movimento é conservada. Apresenta três tipos de choque: perfeitamente elástico, onde a energia é conservada; parcialmente elástico, onde há alguma deformação e não há conservação total de energia; e totalmente inelástico, onde os corpos se unem e a energia não é conservada. Explica também que em um choque perfeitamente elástico unidimensional, a direção e módulo da quantidade de movimento são conservados, com inversão de
O documento descreve a ONG ADAPTSURF, que promove o surf adaptado para pessoas com deficiência no Rio de Janeiro desde 2007. A ONG busca inclusão social através do contato com a natureza e já recebe turistas interessados em aulas de surf adaptado. Ela conta com parcerias do governo estadual e empresas privadas para continuar seu trabalho.
1) O documento apresenta 17 questões sobre aplicação das leis de Newton em situações envolvendo forças, massas e acelerações.
2) As questões abordam temas como forças de tração em sistemas de corpos ligados por fios e molas, aceleração em planos inclinados, equilíbrio de forças em situações estáticas e dinâmicas.
3) São solicitados cálculos de grandezas como aceleração, força, constante elástica e intervalo de tempo.
O documento discute lançamento vertical e queda livre. Explica que durante um lançamento vertical, a velocidade de um objeto lançado para cima diminui até se tornar zero no ponto mais alto, e então aumenta novamente à medida que cai. Também apresenta as equações que descrevem lançamento vertical e queda livre, incluindo que a aceleração da gravidade é aproximadamente 9,8 m/s2.
A canção "The Last Resort" fala sobre uma mulher que veio de Providence, Rhode Island em busca de um lugar chamado de paraíso, onde as pessoas eram sorridentes. No entanto, ela encontrou apenas bares barulhentos e montanhas destruídas para dar lugar a prédios, enquanto os ricos exploravam a terra. A canção critica como os lugares paradisíacos são destruídos em nome do progresso e do lucro.
Este documento descreve os procedimentos para análise granulométrica de solos através de peneiramento e sedimentação. A análise granulométrica determina a distribuição de tamanhos de partículas em um solo e é realizada separando a amostra em frações através de peneiramento para partículas maiores que 0,075mm e sedimentação para partículas menores. Os resultados são usados para classificar o solo e determinar suas características.
1) O documento discute o conceito de centro de massa para sistemas de pontos materiais.
2) O centro de massa é definido como o ponto em que a soma dos momentos de força de cada ponto material é nula, e também como o ponto em que, se suspendido um sistema de pontos, este fica em equilíbrio.
3) As coordenadas cartesianas do centro de massa são dadas por médias ponderadas das coordenadas de cada ponto material, onde os pesos são as respectivas massas.
a) A energia mecânica da partícula é:
EM = EC + EPEL
Dado: EC = 1/2mv2 = 1/2 · 0,1 · (4)2 = 0,8 J
EPEL = 1/2kx2 = 1/2 · 20 · (0,1)2 = 0,1 J
Portanto, EM = EC + EPEL = 0,8 + 0,1 = 0,9 J
b) A amplitude do movimento é A = 10 cm = 0,1 m
3) (PUC) A energia potencial associada à força é dada por:
Ep = 25
O documento descreve choques unidimensionais, onde a quantidade de movimento é conservada. Apresenta três tipos de choque: perfeitamente elástico, onde a energia é conservada; parcialmente elástico, onde há alguma deformação e não há conservação total de energia; e totalmente inelástico, onde os corpos se unem e a energia não é conservada. Explica também que em um choque perfeitamente elástico unidimensional, a direção e módulo da quantidade de movimento são conservados, com inversão de
O documento descreve a ONG ADAPTSURF, que promove o surf adaptado para pessoas com deficiência no Rio de Janeiro desde 2007. A ONG busca inclusão social através do contato com a natureza e já recebe turistas interessados em aulas de surf adaptado. Ela conta com parcerias do governo estadual e empresas privadas para continuar seu trabalho.
1) O documento apresenta 17 questões sobre aplicação das leis de Newton em situações envolvendo forças, massas e acelerações.
2) As questões abordam temas como forças de tração em sistemas de corpos ligados por fios e molas, aceleração em planos inclinados, equilíbrio de forças em situações estáticas e dinâmicas.
3) São solicitados cálculos de grandezas como aceleração, força, constante elástica e intervalo de tempo.
O documento discute lançamento vertical e queda livre. Explica que durante um lançamento vertical, a velocidade de um objeto lançado para cima diminui até se tornar zero no ponto mais alto, e então aumenta novamente à medida que cai. Também apresenta as equações que descrevem lançamento vertical e queda livre, incluindo que a aceleração da gravidade é aproximadamente 9,8 m/s2.
A canção "The Last Resort" fala sobre uma mulher que veio de Providence, Rhode Island em busca de um lugar chamado de paraíso, onde as pessoas eram sorridentes. No entanto, ela encontrou apenas bares barulhentos e montanhas destruídas para dar lugar a prédios, enquanto os ricos exploravam a terra. A canção critica como os lugares paradisíacos são destruídos em nome do progresso e do lucro.
Este documento descreve os diagramas de estados, incluindo sua representação, elementos, transições e exemplos. Os diagramas de estados ilustram o comportamento interno de objetos através de seus possíveis estados e transições entre eles como resposta a eventos.
O documento descreve o framework Drools Expert, que é um sistema gerenciador de regras de negócio. Ele permite implementar a lógica de negócio de uma maneira declarativa através de regras, separando o conhecimento do código. O Drools é composto por vários módulos integrados que fornecem funcionalidades como processos de negócio, processamento de eventos complexos e gerenciamento de regras de negócio.
Palestra de abertura da vigésima SEMTEC - Semana de Tecnologia da Faeterj Rio de Janeiro, abordando os tópicos e os protocolos utilizados nas Redes Industriais e as suas diferenças em relação as as Redes de Comunicação tradicionais.
O Rational Unified Process (RUP) é um processo de engenharia de software que captura as principais boas práticas da área. Ele consiste em fases, iterções e disciplinas bem definidas para garantir a produção de software de qualidade de acordo com as necessidades dos usuários.
O documento introduz conceitos básicos de automação industrial, incluindo sistemas automatizados no dia-a-dia, objetivos da automação, e tecnologias disponíveis como instrumentação inteligente, computadores no processo, controladores lógicos programáveis, sistemas digitais de controle distribuído e sistemas SCADA. É explicado como esses sistemas permitem o monitoramento e controle de processos industriais de forma remota.
O documento discute conceitos importantes de sincronização e comunicação entre processos, incluindo semáforos, monitores, troca de mensagens e deadlock. Semáforos são usados para exclusão mútua e sincronização condicional através de operações wait e signal. Monitores fornecem exclusão mútua automática e sincronização condicional com variáveis de condição e procedimentos. A troca de mensagens permite a comunicação direta e indireta entre processos. Deadlock ocorre quando um processo aguarda um recurso que nunca
O documento discute sistemas embarcados, incluindo suas características, áreas de aplicação, arquitetura e projeto. Sistemas embarcados são sistemas computacionais inseridos em máquinas ou equipamentos para controlá-los. Eles são encontrados em diversas aplicações como celulares, automóveis e eletrodomésticos.
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
O documento apresenta uma abordagem para construir rapidamente um microserviço Java usando modelagem em UML textual (TextUML) e geração de código. Apresenta uma aplicação exemplo de reembolso de despesas modelada em TextUML e discute como entidades, relacionamentos, ações e outros elementos seriam mapeados para código Java usando JPA, JAX-RS e outras tecnologias. A solução proposta visa aumentar a produtividade reduzindo o tempo de desenvolvimento inicial.
Este documento fornece um resumo sobre programação orientada a regras e o framework Drools Expert. Ele discute quando aplicar programação orientada a regras, apresenta os principais componentes do Drools Expert e fornece exemplos de uso de regras para validação, cálculos, monitoramento e regras de negócio.
-Algoritmo
- Linguagens de Programação
-Variáveis e Tipos de Dados
- Operandos
- Comando de Atribuição.
- Estruturas de Controle Condicional
- Estrutura de Repetição
O documento discute conceitos de alta disponibilidade, incluindo: (1) aplicações que se tornam indisponíveis podem causar prejuízos financeiros ou riscos à vida humana, (2) envolve tanto hardware quanto software para remover falhas e fornecer redundância, (3) pode ser alcançada em vários níveis como aplicação, infraestrutura e data center.
1) O documento discute os semáforos, seus usos para ocultar interrupções, resolver o problema dos filósofos famintos e exemplos de má utilização.
2) É explicado sobre monitores e como eles garantem exclusão mútua.
3) Os algoritmos de escalonamento e suas categorias são descritos, incluindo FIRST COME FIRST SERVED e MENOR JOB PRIMEIRO.
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
O documento apresenta uma introdução à processamento de eventos complexos em sistemas distribuídos. Ele discute conceitos como escalabilidade, elasticidade e tolerância a falhas em sistemas CEP e descreve a arquitetura genérica desses sistemas. Além disso, exemplifica a operação de "scale out" no sistema SEEP e lista algumas referências e pesquisas em andamento na área.
O documento fornece uma visão geral de técnicas e abordagens de teste de qualidade ágil, incluindo matrizes de teste, níveis de teste, tipos de teste comuns, técnicas de especificação e estrutura-baseadas, e abordagens como teste baseado em comportamento e risco. Ele também discute mitos comuns sobre teste e fornece referências adicionais.
O documento descreve o sistema REPETRO SYS, que fornece controle do regime aduaneiro especial REPETRO. O sistema identifica e controla bens importados e exportados para pesquisa e extração de petróleo e gás natural. O sistema permite controle de importações, estoques, contratos e gera relatórios para auditoria conforme regulamentos alfandegários.
O documento descreve conceitos sobre subalgoritmos (funções) em JavaScript, incluindo:
1) As vantagens de centralizar código em funções para evitar repetições e facilitar manutenção;
2) Como declarar e invocar funções, passando parâmetros e retornando valores;
3) Que as funções executam de forma independente do código que as invocou.
O documento descreve um curso de modelagem e simulação usando o software ProModel. Ele apresenta os principais conceitos de modelo, modelagem, simulação e os elementos-chave do ProModel, como locais, entidades, processos e recursos.
Este documento introduz os testes de desempenho de sistemas, discutindo sua motivação, conceitos, metodologia e erros comuns. É apresentada uma visão geral do processo de teste, incluindo modelagem do tráfego, monitoramento, execução dos testes e geração de relatórios. O objetivo é entender o comportamento do sistema sob carga e identificar gargalos para melhorias.
Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...Ricardo Luis dos Santos
The document proposes strategies to identify the root causes of failures in IT changes through an interactive diagnosis process. It presents a conceptual architecture with a root cause analyzer that selects questions using different strategies, including only considering completed diagnostics, all diagnostics, the age of diagnostics, and questions' popularity. A case study demonstrates the diagnosis workflows generated for a failure occurring during a change involving installing new servers. The solution allows reusing operators' knowledge and flexibility in diagnostics generated.
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Ricardo Luis dos Santos
The document proposes a solution for identifying the root cause of problems in IT change management. It involves developing an interactive root cause analysis tool that considers the infrastructure context and historical diagnosis data. The proposed approach includes a diagnosis process, information model, conceptual architecture and root cause analyzer. The tool would guide operators through iterative questioning to identify the most likely root cause, helping optimize the root cause identification process.
Este documento descreve os diagramas de estados, incluindo sua representação, elementos, transições e exemplos. Os diagramas de estados ilustram o comportamento interno de objetos através de seus possíveis estados e transições entre eles como resposta a eventos.
O documento descreve o framework Drools Expert, que é um sistema gerenciador de regras de negócio. Ele permite implementar a lógica de negócio de uma maneira declarativa através de regras, separando o conhecimento do código. O Drools é composto por vários módulos integrados que fornecem funcionalidades como processos de negócio, processamento de eventos complexos e gerenciamento de regras de negócio.
Palestra de abertura da vigésima SEMTEC - Semana de Tecnologia da Faeterj Rio de Janeiro, abordando os tópicos e os protocolos utilizados nas Redes Industriais e as suas diferenças em relação as as Redes de Comunicação tradicionais.
O Rational Unified Process (RUP) é um processo de engenharia de software que captura as principais boas práticas da área. Ele consiste em fases, iterções e disciplinas bem definidas para garantir a produção de software de qualidade de acordo com as necessidades dos usuários.
O documento introduz conceitos básicos de automação industrial, incluindo sistemas automatizados no dia-a-dia, objetivos da automação, e tecnologias disponíveis como instrumentação inteligente, computadores no processo, controladores lógicos programáveis, sistemas digitais de controle distribuído e sistemas SCADA. É explicado como esses sistemas permitem o monitoramento e controle de processos industriais de forma remota.
O documento discute conceitos importantes de sincronização e comunicação entre processos, incluindo semáforos, monitores, troca de mensagens e deadlock. Semáforos são usados para exclusão mútua e sincronização condicional através de operações wait e signal. Monitores fornecem exclusão mútua automática e sincronização condicional com variáveis de condição e procedimentos. A troca de mensagens permite a comunicação direta e indireta entre processos. Deadlock ocorre quando um processo aguarda um recurso que nunca
O documento discute sistemas embarcados, incluindo suas características, áreas de aplicação, arquitetura e projeto. Sistemas embarcados são sistemas computacionais inseridos em máquinas ou equipamentos para controlá-los. Eles são encontrados em diversas aplicações como celulares, automóveis e eletrodomésticos.
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
O documento apresenta uma abordagem para construir rapidamente um microserviço Java usando modelagem em UML textual (TextUML) e geração de código. Apresenta uma aplicação exemplo de reembolso de despesas modelada em TextUML e discute como entidades, relacionamentos, ações e outros elementos seriam mapeados para código Java usando JPA, JAX-RS e outras tecnologias. A solução proposta visa aumentar a produtividade reduzindo o tempo de desenvolvimento inicial.
Este documento fornece um resumo sobre programação orientada a regras e o framework Drools Expert. Ele discute quando aplicar programação orientada a regras, apresenta os principais componentes do Drools Expert e fornece exemplos de uso de regras para validação, cálculos, monitoramento e regras de negócio.
-Algoritmo
- Linguagens de Programação
-Variáveis e Tipos de Dados
- Operandos
- Comando de Atribuição.
- Estruturas de Controle Condicional
- Estrutura de Repetição
O documento discute conceitos de alta disponibilidade, incluindo: (1) aplicações que se tornam indisponíveis podem causar prejuízos financeiros ou riscos à vida humana, (2) envolve tanto hardware quanto software para remover falhas e fornecer redundância, (3) pode ser alcançada em vários níveis como aplicação, infraestrutura e data center.
1) O documento discute os semáforos, seus usos para ocultar interrupções, resolver o problema dos filósofos famintos e exemplos de má utilização.
2) É explicado sobre monitores e como eles garantem exclusão mútua.
3) Os algoritmos de escalonamento e suas categorias são descritos, incluindo FIRST COME FIRST SERVED e MENOR JOB PRIMEIRO.
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
O documento apresenta uma introdução à processamento de eventos complexos em sistemas distribuídos. Ele discute conceitos como escalabilidade, elasticidade e tolerância a falhas em sistemas CEP e descreve a arquitetura genérica desses sistemas. Além disso, exemplifica a operação de "scale out" no sistema SEEP e lista algumas referências e pesquisas em andamento na área.
O documento fornece uma visão geral de técnicas e abordagens de teste de qualidade ágil, incluindo matrizes de teste, níveis de teste, tipos de teste comuns, técnicas de especificação e estrutura-baseadas, e abordagens como teste baseado em comportamento e risco. Ele também discute mitos comuns sobre teste e fornece referências adicionais.
O documento descreve o sistema REPETRO SYS, que fornece controle do regime aduaneiro especial REPETRO. O sistema identifica e controla bens importados e exportados para pesquisa e extração de petróleo e gás natural. O sistema permite controle de importações, estoques, contratos e gera relatórios para auditoria conforme regulamentos alfandegários.
O documento descreve conceitos sobre subalgoritmos (funções) em JavaScript, incluindo:
1) As vantagens de centralizar código em funções para evitar repetições e facilitar manutenção;
2) Como declarar e invocar funções, passando parâmetros e retornando valores;
3) Que as funções executam de forma independente do código que as invocou.
O documento descreve um curso de modelagem e simulação usando o software ProModel. Ele apresenta os principais conceitos de modelo, modelagem, simulação e os elementos-chave do ProModel, como locais, entidades, processos e recursos.
Este documento introduz os testes de desempenho de sistemas, discutindo sua motivação, conceitos, metodologia e erros comuns. É apresentada uma visão geral do processo de teste, incluindo modelagem do tráfego, monitoramento, execução dos testes e geração de relatórios. O objetivo é entender o comportamento do sistema sob carga e identificar gargalos para melhorias.
Identifying the Root Cause of Failures in IT Changes: Novel Strategies and Tr...Ricardo Luis dos Santos
The document proposes strategies to identify the root causes of failures in IT changes through an interactive diagnosis process. It presents a conceptual architecture with a root cause analyzer that selects questions using different strategies, including only considering completed diagnostics, all diagnostics, the age of diagnostics, and questions' popularity. A case study demonstrates the diagnosis workflows generated for a failure occurring during a change involving installing new servers. The solution allows reusing operators' knowledge and flexibility in diagnostics generated.
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Ricardo Luis dos Santos
The document proposes a solution for identifying the root cause of problems in IT change management. It involves developing an interactive root cause analysis tool that considers the infrastructure context and historical diagnosis data. The proposed approach includes a diagnosis process, information model, conceptual architecture and root cause analyzer. The tool would guide operators through iterative questioning to identify the most likely root cause, helping optimize the root cause identification process.
A Solution for Identifying the Root Cause of Problems in IT Change ManagementRicardo Luis dos Santos
The document proposes a solution for identifying the root cause of problems in IT change management. It involves developing an interactive root cause analysis method that considers information from previous diagnoses and the affected IT infrastructure. The proposed approach includes a diagnosis process, an information model, a conceptual architecture, and a root cause analyzer component. The root cause analyzer identifies potential root causes and questions based on weights and selects the question with the highest weight to iteratively diagnose the problem. The goal is to optimize root cause identification and enable knowledge reuse from past diagnoses.
As três frases são:
1) O documento discute árvores de decisão, que representam conhecimento através de exemplos para classificar registros.
2) Os algoritmos ID3 e C4.5 constroem árvores de decisão selecionando atributos que melhor dividem os exemplos usando métricas como entropia e ganho de informação.
3) Um exemplo calcula esses valores para atributos em uma tabela sobre o clima e decide se deve ou não jogar, ilustrando a construção da árvore de decisão.
Identificação Interativa da Causa Raiz de Problemas no Gerenciamento de Mudan...Ricardo Luis dos Santos
O documento apresenta uma solução proposta para identificar causas raízes de problemas em mudanças de TI de forma interativa. A solução inclui um processo de diagnóstico, uma arquitetura conceitual com um analisador de causas raízes e um modelo de informação para selecionar perguntas. O objetivo é otimizar o processo de identificação de causas raízes de falhas em mudanças e permitir que casos sejam adaptados a falhas similares.
O documento discute o gerenciamento de incidentes e problemas. Ele define incidentes e problemas, e descreve os processos de gerenciamento de incidentes e problemas, incluindo fluxos de trabalho, categorização, priorização e técnicas para determinar a causa raiz como Kepner-Tregoe e diagramas de Ishikawa.
- O documento discute as MIBs DISMAN, que permitem controlar e monitorar tarefas nos agentes SNMP de forma distribuída. As MIBs DISMAN incluem abordagens baseadas em MIBs, operações remotas e scripts.
Este documento apresenta uma agenda sobre programabilidade em redes virtualizadas. Ele discute introdução à virtualização de redes e programabilidade de redes, propostas históricas como redes ativas e agentes móveis, e propostas atuais como IOS, JunOS, Click e OpenFlow. O status do projeto é descrito, com atividades concluídas, em desenvolvimento e próximas etapas.
1. Um breve estudo sobre STATECHARTS
Ricardo Luis dos Santos
MÉTODOS FORMAIS
Prof. Dr. Daltro José Nunes
Instituto de Informática – UFRGS
2. Agenda
• Introdução
• Formalismo Visual de STATECHARTS
– Conceitos Básicos
– Clustering
– Refinamento
– Estado default
– Entrada-pela-história
– Ortogonalidade
– Entradas de Seleção e Condição
– Delays e Timeouts
– Ações e Atividades
• Exemplos de aplicações
– Chamada Telefônica
– Relógio Digital
2
3. Introdução
• Concebido e desenvolvido por David Harel
• Seu trabalho envolvia pessoas com diferentes conhecimentos
– Pilotos
– Engenheiros elétricos
– Experts em comunicação
– Experts em defesa
– Experts em armas
• A grande diversidade de conhecimentos criou a necessidade
para o desenvolvimento de um método simples e de fácil
compreensão
• Statecharts são indicados para sistemas complexos do tipo
reativo
3
4. Introdução
• Segundo Harel, para que uma técnica possa representar um
sistema reativo de forma satisfatória, deve ser capaz de
descrever eficientemente as seguintes situações
– Clustering - Estando o avião em qualquer estado, quando a alavanca
amarela for acionada, o assento deverá ser ejetado
– Independência ou concorrência de estados - O estado da caixa de
câmbio de um carro é independente do sistema de freios
– Transições genéricas - Quando o botão de seleção é acionado, entrar
no modo que foi selecionado
– Refinamento - Modo-de-exibição consiste de exibição-da-hora,
exibição-da-data e exibição-do-cronômetro
4
5. Formalismo Visual
statechats = diagramas de estados + profundidade +
ortogonalidade + comunicação broadcast
• Comparação entre uma especificação utilizando DTE e
STATECHARTS
5
6. Formalismo Visual
• Conceitos Básicos
– Estado - é a situação em que um sistema se encontra em um
determinado instante do tempo. Tal informação é representada por
um retângulo com cantos arredondados
– Evento – é um acontecimento que ocorre externa ou internamente e
provocam transições de estados. Tal informação é representada
através das setas que interligam os diferentes estados de um sistema
– Condição -- é um predicado opcional associado a um evento que
habilita o sistema a efetuar uma transição de estado. Tal informação é
representada entre parênteses “( )”
6
7. Formalismo Visual
• Clustering
– Mecanismo que permite agrupar estados semelhantes (superestados)
– Possibilita capturar tanto a profundidade, quanto a hierarquia
– A semântica do superestado criado é um XOR entre os estados
internos
7
8. Formalismo Visual
• Refinamento
– Mecanismo que permite detalhar superestados
– Processo inverso do mecanismo de clustering
– O especificador busca analisar e melhor compreender o
funcionamento de um estado dos sistema
8
9. Formalismo Visual
• Estado default
– Mecanismo que permite explicitar o estado inicial do sistema
– Possibilita definir um estado inicial para um sistema e para cada
superestado
9
10. Formalismo Visual
• Entrada-pela-história
– Ao reentrar em um superestado, o estado mais recentemente visitado
é retornado
– Possibilita analisar o último estado em diferentes níveis de abstração
10
11. Formalismo Visual
• Ortogonalidade
– O mecanismo de clustering descreve superestados que internamente
possuem um único estado ativo
– Porém, em muitos casos, o especificador precisa representar
conjuntos de estados concorrentes que utilizem sincronismo ou
independência
– Permite simplificar sistemas com estados concorrentes
11
12. Formalismo Visual
• Ortogonalidade
– Menor quantidade de estados para representar o mesmo sistema
– Menor quantidade de transições
– Agrupamento de transições semelhantes
– Y é o produto ortogonal de A e D
12
13. Formalismo Visual
• Ortogonalidade
– Produtos ortogonais podem resultar em um drástico aumento da
complexidade de uma especificação
– Mecanismo de zoom-out com setas ultrapassando as bordas dos estados
13
14. Formalismo Visual
• Entradas de Seleção e Condição
– O mecanismo de entradas de condição visa agregar eventos
semelhantes (porém, não idênticos), reduzindo a complexidade
– Basicamente, são eventos idênticos, porém com condições diferentes
para cada estado
14
15. Formalismo Visual
• Entradas de Seleção e Condição
– O mecanismo de entradas de seleção visa agregar transições simples
para a seleção de um “valor”
15
16. Formalismo Visual
• Delays e Timeouts
– É possível modelar tanto delays e timeouts explicitando isso no evento
ocorrido
– Porém, segundo Harel, isso torna a especificação de sistemas de
tempo real altamente complexa, visto que tais eventos ocorrem
habitualmente nesses sistemas
– É possível especificar tempos diferentes através da sintaxe t1 < t2
16
17. Formalismo Visual
• Ações e Atividades
– Até o momento os statecharts possibilitam apenas alterar a configuração
interna em resposta à ocorrência de eventos e condições
– Por definição
• Ações são instantâneas
• Atividades são executadas em um tempo diferente de 0
– Sintaxe de uma ação é α (P) / S
– A representação de ações e atividades tanto nas transições, quanto
dentro dos superestados
• Entry - ações que deve ser executadas ao entrar em um superestado
• Exit - ações que deve ser executadas ao sair em um superestado
• Throughout - determina ações que deve ser executadas enquanto
estiver em um superestado
17
20. Exemplos de Aplicação
• Ferramentas
– Por ser suportado pela UML, o formalismo STATECHARTS é largamente
utilizado
– Encontrar ferramentas que possibilitem criar statecharts é relativamente
fácil
• Betterstate – Versão Limitada
• YAKINDU – Plugin gratuito para o Eclipse
• ArgoUML – Ferramenta sobre a licensa GPL
• Edraw – Versão limitada disponível para testes por 30 dias
• Creately – Versão on-line, para ser utilizada no navegador
• NetBeans UML – Plugin gratuito para o NetBeans
20
21. Exemplos de Aplicação
• Exemplo de uma conversa entre duas pessoas pelo telefone
– Ao levantar o telefone do gancho, é emitido um som para indicar que
está aguardando a discagem do número de destino (dial tone)
– Ao passar 15 segundos, ocorre uma transição para um estado timeout ou
o sistema transita para o estado discando (dialing)
– Caso o número discado seja inválido, o sistema transita para o estado
invalid emitindo uma mensagem de telefone inválido
– Ao digitar um número correto, o sistema tenta conectar com o
destinatário (connecting)
– Se o destinatário estiver ocupado, o sistema emitirá um som informado
ao originador da chamada (busy)
– Caso o destinatário não esteja ocupado, o sistema passará a emitir um
som informando que está chamando (ringing)
– O destinatário atende a chamada e a conversa inicia (talking)
21
23. Exemplos de Aplicação
• Exemplo do Relógio Digital
– O exemplo aqui detalhado refere-se a um relógio digital que possui 4
botões representados pelos eventos a, b, c e d
– O evento a representa o botão sendo pressionado, enquanto que o
evento â representa o botão retornando ao estado inicial
– O relógio a ser especificado possui as características indicadas à seguir
• Permite exibir a hora atual
• Permite exibir a data atual
• Possui a opção para habilitar/desabilitar o chime (beep que dura 2 segundos
a cada hora exata)
• Dois alarmes independentes
• Um cronômetro
• Uma luz para iluminação
• Um indicador para bateria fraca
23