• Sonuç bulunamadı

Şekil-Uzay İlişkileri Yeteneği: Bu yetenek alanı şekil ve formlar arasındaki benzerlik ve farklıları ayırt etmeyi, şekilleri oluşturan temel olgu ve ilkeleri algılama,

İKİNCİ BÖLÜM 2 KURAMSAL ÇERÇEVE

3. Şekil-Uzay İlişkileri Yeteneği: Bu yetenek alanı şekil ve formlar arasındaki benzerlik ve farklıları ayırt etmeyi, şekilleri oluşturan temel olgu ve ilkeleri algılama,

doutorado apresentou um tipo de grafo orientado e bipartido com estados associados, com o objetivo de estudar a comunicac¸ ˜ao entre aut ˆomatos [Pet62].

De acordo com Reisig [Rei85], as redes de Petri s ˜ao formadas por dois tipos de componentes: um ativo denominado transic¸ ˜ao, correspondente a uma ac¸ ˜ao realizada dentro do sistema, e outro passivo. Uma rede de Petri recebe uma ou mais marcas (ou tokens) que podem estar em mais de um lugar ao mesmo tempo. O disparo de uma transic¸ ˜ao consome marcas, fazendo com que elas mudem de lugar [Sal03].

Os trabalhos aqui apresentados n ˜ao esgotam as discuss ˜oes sobre o tema, mas elencam algu- mas contribuic¸ ˜oes significativas para esta pesquisa.

3.2.1 M ´etodo de convers ˜ao de diagrama de sequ ˆencia e de estados em redes de Petri No m ´etodo de convers ˜ao apresentado por Bernardi et al [BDM02], ´e descrito um estudo so- bre a utilizac¸ ˜ao de diagramas de sequ ˆencia e diagramas de estados da UML para a validac¸˜ao e avaliac¸ ˜ao do desempenho de sistemas, a partir da convers ˜ao dos mesmos para uma rede de Petri. Para tal Bernardi et al [BDM02] assume que um sistema ´e especificado como um conjunto de es- tados (sequ ˆencia de gr ´aficos e diagramas), os quais s ˜ao usados para representar “Execuc¸ ˜oes de Interesse”.

Segundo Bernardi et al em [BDM02], a convers ˜ao deve-se ao fato da UML n ˜ao possuir uma sem ˆantica formal que possibilite a aplicac¸ ˜ao de uma forma direta de an ´alise matem ´atica no sistema modelado com o uso dessa linguagem. Assim a utilizac¸ ˜ao de formalismos, dentre eles as redes de Petri, possibilita a an ´alise matem ´atica do sistema.

A pesquisa prop ˜oe a convers ˜ao autom ´atica de diagramas de estados e diagramas de sequ ˆencia em GSPN (Generalized Stochastic Petri Nets - Redes de Petri Estoc ´asticas Generalizadas) [ABC+91], para que seja poss´ıvel a aplicac¸ ˜ao de m ´etodos matem ´aticos de avaliac¸ ˜ao de desempenho de sis- temas. Cabe ressaltar que os autores n ˜ao detalham em seu trabalho, quais ´ındices de desempenho ou probabilidades de ocorr ˆencia dos estados foram obtidos a partir da convers ˜ao dos diagramas.

De acordo com Bernardi et al [BDM02], a pesquisa tinha por objetivo analisar a coer ˆencia entre as duas descric¸ ˜oes e avaliar estocasticamente se o comportamento do sistema ´e consistente com os padr ˜oes de interac¸ ˜ao descritos pelos diagramas de sequ ˆencia e de estados.

A proposta de convers ˜ao n ˜ao leva em considerac¸ ˜ao a totalidade de elementos dos diagramas de sequ ˆencia e de estados. Nos diagramas de sequ ˆencia, os recursos n ˜ao considerados s ˜ao: iterac¸ ˜oes, temporalidade e restric¸ ˜oes. J ´a no diagrama de estados, n ˜ao s ˜ao considerados: estados compostos, pseudoestados e hist ´orico dos estados.

Maiores detalhes sobre os elementos que comp ˜oem os diagramas de estados e de sequ ˆencia podem ser encontrados em ”UML: guia do usu ´ario”[BRJ05]. As an ´alises do modelo obtido s ˜ao feitas segundo uma das duas t ´ecnicas denominadas por Bernardi et al em [BDM02], como The full case e The constrained case.

A primeira t ´ecnica ´e baseada na construc¸ ˜ao de um modelo completo do diagrama de atividades e do diagrama de sequ ˆencia para a gerac¸ ˜ao da LGSPN (Labeled Generalized Stochastic Petri Nets

50 CAP´ıTULO 3. REDES DE AUT ˆOMATOS ESTOC ´ASTICOS

- Redes de Petri Estoc ´asticas Generalizadas Rotuladas) resultante. Na segunda t ´ecnica, Bernardi et al [BDM02] define os poss´ıveis caminhos na rede de Petri, a partir de alterac¸ ˜oes na sua estrutura, assim, os resultados obtidos s ˜ao analisados na pesquisa, de acordo com um comportamento do sistema, definido pelos pesquisadores.

Nos dois casos, os modelos foram submetidos, afim de se obter os ´ındices de desempenho do modelo, a uma ferramenta denominada GREATSPN (GRaphical Editor and Analyzer for Timed and Stochastic Petri Net), ferramenta desenvolvida pelo departamento de Inform ´atica da Universidade de Torino, para a modelagem, validac¸ ˜ao e avaliac¸ ˜ao de desempenho de sistemas distribu´ıdos, usando Redes de Petri Estoc ´asticas Generalizadas e sua extens ˜ao colorida1[Dep08].

Essa pesquisa contribuiu para a definic¸ ˜ao dos primeiros passos para a convers ˜ao de diagramas de atividades, pois com base nessa pesquisa defini-se que as atividades seriam convertidos em estados de um modelo SAN. Outra contribuic¸ ˜ao dessa pesquisa, foi a definic¸ ˜ao de que n ˜ao seria poss´ıvel utilizar todos os elementos do diagrama de atividades no momento da convers ˜ao. Como contribuic¸ ˜ao, cita-se tamb ´em a definic¸˜ao de transic¸ ˜oes entre os estados bem como os eventos que disparam essas transic¸ ˜oes.

3.2.2 M ´etodo de convers ˜ao de diagrama de atividades para redes de Petri com base em QVT

O m ´etodo proposto por Lachtermacher et al em [LSP+08] tem por objetivo converter diagramas de atividades da UML em redes de Petri, baseado em uma especificac¸ ˜ao definida pela OMG (Ob- ject Modeling Group), denominada de MOF/QVT (Meta Object Facility/Query View Transformation) [OMG08b], que visa a convers ˜ao de um modelo UML em um modelo matem ´atico. O processo de convers ˜ao proposto ´e executado considerando os seguintes aspectos [LSP+08]:

o elemento Atividade no diagrama de atividades ´e convertido em transic¸ ˜ao em uma rede de Petri;

o elemento Estado Inicial do diagrama de atividades e o elemento Decis ˜ao s ˜ao convertidos em elemento Lugar, na rede de Petri, sem nenhuma marca;

os elementos Fork (separac¸ ˜ao) e Join (junc¸ ˜ao) s ˜ao mapeados como uma transic¸ ˜ao na rede de Petri;

os elementos Final de Fluxo e Final de Atividade s ˜ao mapeados para um lugar que n ˜ao tem sa´ıda, chamado de Sink;

o elemento Objeto ´e mapeado para um lugar com uma marca que representa a mudanc¸a de estado do objeto.

1Redes de Petri coloridas permitem que tokens individualizados (coloridos) representem diferentes proces-

3.2. TRABALHOS RELACIONADOS AO FORMALISMO MARKOVIANO 51

Em sua pesquisa, Lachtermacher et al [LSP+08] afirma que para atender a especificac¸ ˜ao da

OMG foram desenvolvidos dois metamodelos, um contendo as definic¸ ˜oes para a composic¸ ˜ao de um diagrama de atividades e o outro contendo as definic¸ ˜oes para a composic¸ ˜ao de uma rede de Petri.

Um metamodelo ´e uma descric¸ ˜ao, ou seja, a definic¸ ˜ao de regras para criac¸ ˜ao de novos modelos, a partir de um modelo padr ˜ao. As regras para a convers ˜ao, nas quais o metamodelo se baseia, foram especificadas com o uso da linguagem (Object Constraint Language) [OMG08a] e o uso de uma ferramenta opensourse denominada MediniQVT [IKV08].

O objetivo da pesquisa foi realizar um estudo sobre QVT, visando auxiliar o desenvolvedor de software a utilizar o diagrama de atividades para finalidades as quais ele foi estruturado para realizar, que ´e a de demonstrar o fluxo de execuc¸ ˜ao de processos ou de um algoritmo que comp ˜oem um sistema [FoS08].

Para alcanc¸ar o objetivo proposto, Lachtermacher et al [LSP+08] realizou a convers ˜ao de mode-

los UML para redes de Petri, afim de demonstrar a viabilidade de convers ˜ao de modelos. A pesquisa n ˜ao teve por objetivo extrair nenhum ´ındice de desempenho ou probabilidades a partir dos mode- los gerados. As contribuic¸ ˜oes dessa pesquisa para a construc¸ ˜ao do m ´etodo proposto podem ser descritas da seguinte forma:

O processo de transcric¸ ˜ao do elemento atividade ´e o mesmo tanto na pesquisa de [LSP+08], onde o referido elemento ´e transcrito como um lugar em uma rede de Petri, quanto na dissertac¸ ˜ao aqui apresentada, pois esse elemento representa um estado em uma SAN. O elemento decis ˜ao e uni ˜ao s ˜ao mapeado como um lugar sem marcas na rede de Petri. No m ´etodo aqui proposto, esses elementos s ˜ao mapeados como sendo transic¸ ˜oes entre estados do modelo SAN.

Outra contribuic¸ ˜ao deste trabalho ´e em ralac¸ ˜ao ao elemento fork, que tanto neste trabalho rela- cionado, quanto no m ´etodo proposto ´e mapeado como sendo uma transic¸ ˜ao.

3.2.3 M ´etodo de convers ˜ao de diagrama de atividades para redes de Petri

Na pesquisa apresentada por L ´opez-Grao et al [LGMC04] ´e descrito um m ´etodo de convers ˜ao de diagramas de atividades em uma rede de Petri, adotando uma sem ˆantica formal que possibilite transformar cada elemento de um diagrama de atividades em um elemento equivalente em LGSPN (Labeled Generalized Stochastic Petri Nets).

O resultado da composic¸ ˜ao ´e uma nova LGSPN que representa um modelo para avaliac¸ ˜ao de desempenho do sistema com um razo ´avel grau de expressividade para lidar com a descric¸ ˜ao e avaliac¸ ˜ao da din ˆamica de sistemas grandes e complexos.

O objetivo do m ´etodo de convers ˜ao proposto por L ´opez-Grao ´e formalizar uma sem ˆantica que permita traduzir diagramas de atividades em modelos de Redes de Petri Estoc ´aticas Generalizadas analis ´aveis.

A pesquisa buscou uma traduc¸ ˜ao do digrama de atividades em um modelo estoc ´astico baseado em redes de Petri, o qual permita verificar propriedades l ´ogicas, bem como calcular os ´ındices de desempenho. Os autores n ˜ao informam, no material pesquisado, quais ´ındices de desempenho podem ser extra´ıdos a partir do modelo gerado.

52 CAP´ıTULO 3. REDES DE AUT ˆOMATOS ESTOC ´ASTICOS

da ferramenta que implementa o m ´etodo de convers ˜ao proposto pelos autores. A convers ˜ao de cada um dos elementos do diagrama de atividades para a rede de Petri pode ser resumida como um processo executado em tr ˆes etapas, obedecendo regras de transic¸ ˜ao definidas com o uso da linguagem OCL [OMG08a] e podendo ser descrita da seguinte forma:

• inicialmente as transic¸ ˜oes s ˜ao identificadas e para cada tipo de transic¸ ˜ao uma regra ´e aplicada;

• posteriormente ´e gerada a rede de Petri correspondente ao diagrama;

• finalmente, em um terceiro passo, uma nova LGSPN ´e gerada considerando-se, caso existam, pseudo estados como fork e join.

L ´opez-Grao et al relata em [LGMC04] que com o objetivo de automatizar o processo de con- vers ˜ao foi desenvolvida uma ferramenta, utilizando-se a linguagem Java, que coleta informac¸ ˜oes em arquivo .xmi. O XMI combina os benef´ıcios da XML para definic¸ ˜ao, validac¸ ˜ao e compartil- hamento de formatos de documentos com os benef´ıcios da linguagem de modelagem visual UML para especificac¸ ˜ao, visualizac¸ ˜ao, construc¸ ˜ao e documentac¸˜ao de objetos constru´ıdos tamb ´em a par- tir de modelos UML [w3c08].

Os arquivos .xmi citados por Lop ´ez-Grao et al em [LGMC04] foram gerados com o uso da fer- ramenta ArgoUML [Tig08], que segundo os autores, apresenta limitac¸ ˜oes de modelagem que foram compensadas durante o desenvolvimento da ferramenta proposta. A rede de Petri resultante dessa pesquisa tem seus ´ındices de desempenho extra´ıdos com o uso da ferramenta GreatSPN [Dep08].

As contribuic¸ ˜oes dessa pesquisa para a construc¸ ˜ao do m ´etodo proposto podem ser descritas da seguinte forma:

• o elemento decis ˜ao ´e substitu´ıdo por transic¸ ˜oes de sa´ıda equivalente a estados de ac¸ ˜ao, preservando as propriedades inerentes ao desempenho da rede gerada. No m ´etodo proposto esse elemento tamb ´em ´e transcrito da mesma forma;

o elemento merge tanto na pesquisa de [LGMC04] quanto no m ´etodo proposto s ˜ao transcritos como transic¸ ˜ao entre os estados;

o elemento fork, tanto na pesquisa quanto no m ´etodo proposto, ´e mapeado como transic¸ ˜oes que no caso de SAN ´e feita entre os estados;

3.2.4 O m ´etodo de convers ˜ao de diagrama de estados para SAN

A pesquisa apresentada por Barros [Bar06] teve como objetivo obter um modelo de uso do sis- tema a ser constru´ıdo, baseado em diagrama de estados da UML, sobre o qual, com o uso de SAN seria poss´ıvel efetuar an ´alises de comportamento do software.

Na pesquisa de Barros [Bar06], inicialmente define-se um m ´etodo de convers ˜ao dos elementos do diagrama de estados para uma estrutura correspondente em SAN e as taxas de transic¸ ˜ao a serem utilizadas nesse mesmo modelo. As informac¸ ˜oes referentes aos eventos (nome e tipo) foram

3.2. TRABALHOS RELACIONADOS AO FORMALISMO MARKOVIANO 53

compostas a partir de informac¸ ˜oes coletadas com base nos estados envolvidos em cada transic¸ ˜ao, considerando-se o contexto em que essa transic¸ ˜ao ocorre.

O processo de transcric¸ ˜ao do diagrama UML para o modelo SAN ocorre considerando-se cada estado do diagrama como sendo um estado de um aut ˆomato. As transic¸ ˜oes existentes no diagrama s ˜ao modeladas como eventos locais, ou eventos sincronizantes, podendo ser associadas taxas fun- cionais aos eventos que disparam essa transic¸ ˜ao, quando da exist ˆencia de condic¸ ˜oes de guarda associadas ao diagrama de estados.

Como resultado final de sua pesquisa Barros [Bar06] apresenta uma ferramenta que executa o processo de convers ˜ao de diagramas UML para SAN, a partir de informac¸ ˜oes extra´ıdas de um arquivo .xmi [w3c08], gerando um arquivo com extens ˜ao .san, que posteriormente ´e submetido a ferramenta PEPS (Performance Evaluation of Parallel Systems) [BMF+03].

As contribuic¸ ˜oes dessa pesquisa para a construc¸ ˜ao do m ´etodo proposto, podem ser descritas da seguinte forma:

o elemento fork, em SAN, ´e modelado com a utilizac¸ ˜ao de eventos sincronizantes que asse- guram a execuc¸ ˜ao simult ˆanea de cada uma das regi ˜oes, sendo que cada regi ˜ao ´e modelada por um aut ˆomato distinto. No m ´etodo proposto cada transic¸ ˜ao oriunda de um elemento fork tamb ´em ´e modelada como um aut ˆomato distinto;

• o tratamento de condic¸ ˜oes de guarda que tanto nesta pesquisa quanto no m ´etodo s ˜ao tratadas de maneira que a presenc¸a de condic¸˜oes de guarda em determinadas transic¸ ˜oes sugere a inclus ˜ao de uma estrutura (um aut ˆomato), que avalie a restric¸ ˜ao, para ent ˜ao permitir (ou n ˜ao) o disparo dessa transic¸ ˜ao.

No cap´ıtulo seguinte, apresentamos o m ´etodo de convers ˜ao de diagramas de atividades para Redes de Aut ˆomatos Estoc ´asticos (SAN).

55