MODELAGEM DINÂMICA OO: UMA ANÁLISE COMPARATIVA DE TÉCNICAS



Documentos relacionados
Transporte de solvente através de membranas: estado estacionário

Resumo da última aula. Compiladores. Conjuntos de itens LR(0) Exercício SLR(1) Análise semântica

Simbolicamente, para. e 1. a tem-se

Semelhança e áreas 1,5

Operadores momento e energia e o Princípio da Incerteza

1º semestre de Engenharia Civil/Mecânica Cálculo 1 Profa Olga (1º sem de 2015) Função Exponencial

1 Fórmulas de Newton-Cotes

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA Pró-Reitoria Acadêmica Setor de Pesquisa

Professores Edu Vicente e Marcos José Colégio Pedro II Departamento de Matemática Potências e Radicais

EXAME DE INGRESSO º Período

Regras. Resumo do Jogo Resumo do Jogo. Conteúdo. Conteúdo. Objetivo FRENTE do Jogo

Projecções Cotadas. Luís Miguel Cotrim Mateus, Assistente (2006)

SOCIEDADE EDUCACIONAL DE SANTA CATARINA INSTITUTO SUPERIOR TUPY

Acoplamento. Tipos de acoplamento. Acoplamento por dados. Acoplamento por imagem. Exemplo. É o grau de dependência entre dois módulos.

FUNCIONAL ENTORNO ELEMENTOS DE ENTORNO, CONSIDERANDO OS ATRIBUTOS DO LUGAR - MASSAS TOPOGRAFIA #8. fonte imagem: Google Earth

São possíveis ladrilhamentos com um único molde na forma de qualquer quadrilátero, de alguns tipos de pentágonos irregulares, etc.

UFU Universidade Federal de Uberlândia Faculdade de Computação Apostila de Lógica Proposicional (Fundamentos Básicos)

3. Cálculo integral em IR 3.1. Integral Indefinido Definição, Propriedades e Exemplos

Capítulo 3. Autómatos e respectivas linguagens

1. VARIÁVEL ALEATÓRIA 2. DISTRIBUIÇÃO DE PROBABILIDADE

Aula 8: Gramáticas Livres de Contexto

EQUAÇÕES INTENSIDADE / DURAÇÃO / PERÍODO DE RETORNO PARA ALTO GARÇAS (MT) - CAMPO ALEGRE DE GOIÁS (GO) E MORRINHOS (GO)

COPEL INSTRUÇÕES PARA CÁLCULO DA DEMANDA EM EDIFÍCIOS NTC

b 2 = 1: (resp. R2 e ab) 8.1B Calcule a área da região delimitada pelo eixo x, pelas retas x = B; B > 0; e pelo grá co da função y = x 2 exp

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Somos o que repetidamente fazemos. A excelência portanto, não é um feito, mas um hábito. Aristóteles

MANUAL DE USO DA MARCA DA FORÇA AÉREA BRASILEIRA

Aplicação da Técnica de Análise Object Modeling Technique (OMT) ao Problema da IFIP. por. Guillermo Bustos Reinoso

VETORES. Com as noções apresentadas, é possível, de maneira simplificada, conceituar-se o

CÂMARA MUNICIPAL DE FERREIRA DO ZÊZERE

3º Ciclo do Ensino Básico

Apoio à Decisão. Aula 3. Aula 3. Mônica Barros, D.Sc.

A ÁGUA COMO TEMA GERADOR PARA O ENSINO DE QUÍMICA

Aula 4: Autômatos Finitos Autômatos Finitos Não-Determinísticos

ESCOLA SECUNDÁRIA DE CALDAS TAIPAS CURSO PROFISSIONAL DE TÉCNICO DE COMÉRCIO. DISCIPLINA: ORGANIZAR E GERIR A EMPRESA (10º Ano Turma K)

, então ela é integrável em [ a, b] Interpretação geométrica: seja contínua e positiva em um intervalo [ a, b]

U04.6. Câmara Municipal da Amadora. Pág. 1 a. 00. Requerimento (Modelo 04.6/CMA/DAU/2009) 01. Documento comprovativo da legitimidade do requerente.

Representação de Transformadores Defasadores no Problema de Fluxo de Potência

Cálculo III-A Módulo 8

Pontos onde f (x) = 0 e a < x < b. Suponha que f (x 0 ) existe para a < x 0 < b. Se x 0 é um ponto extremo então f (x 0 ) = 0.

Manual de Operações Atualização do KIT I

a a 3,88965 $ % 7 $ % a 5, 03295

TRIGONOMETRIA. A trigonometria é uma parte importante da Matemática. Começaremos lembrando as relações trigonométricas num triângulo retângulo.

APONTAMENTOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA

Material envolvendo estudo de matrizes e determinantes

INFLUÊNCIA DO CLIMA (EL NIÑO E LA NIÑA) NO MANEJO DE DOENÇAS NA CULTURA DO ARROZ

Análise de Variância com Dois Factores

Comprimento de arco. Universidade de Brasília Departamento de Matemática

Desvio do comportamento ideal com aumento da concentração de soluto

Capítulo 1 Introdução à Física

Manual de Operação e Instalação

Algoritmos de Busca de Palavras em Texto

CDI-II. Resumo das Aulas Teóricas (Semana 12) y x 2 + y, 2. x x 2 + y 2), F 1 y = F 2

Programação Linear Introdução

Resolução A primeira frase pode ser equacionada como: QUESTÃO 3. Resolução QUESTÃO 2 QUESTÃO 4. Resolução

Licença de uso exclusiva para Petrobrás S.A. Licença de uso exclusiva para Petrobrás S.A. NBR 13434

Técnica das Construções Edmundo Rodrigues 9

Manual de instalação. Aquecedor de reserva de monobloco de baixa temperatura Daikin Altherma EKMBUHCA3V3 EKMBUHCA9W1. Manual de instalação

POLINÔMIOS. Definição: Um polinômio de grau n é uma função que pode ser escrita na forma. n em que cada a i é um número complexo (ou

Relações em triângulos retângulos semelhantes

TARIFÁRIO 2016 Operadora Nacional SEMPRE PERTO DE VOCÊ

RIO DE JANEIRO, RJ - BRASIL

& fé ISSN por Rodolfo Petrônio Unirio.

Administração Central Unidade de Ensino Médio e Técnico - Cetec. Habilitação Profissional: Técnica de nível médio de Auxiliar de Contabilidade

Rolamentos com uma fileira de esferas de contato oblíquo

Física 1 Capítulo 3 2. Acelerado v aumenta com o tempo. Se progressivo ( v positivo ) a m positiva Se retrógrado ( v negativo ) a m negativa

IMPLEMENTAÇÃO DE UMA REDE DE PETRI PARA DIAGNOSE ONLINE DE FALHAS EM CONTROLADORES LÓGICOS PROGRAMÁVEIS

Prezados Estudantes, Professores de Matemática e Diretores de Escola,

CINÉTICA QUÍMICA CINÉTICA QUÍMICA. Lei de Velocidade

Analisadores Sintáticos. Análise Recursiva com Retrocesso. Análise Recursiva Preditiva. Análise Recursiva Preditiva 05/04/2010

Gabarito - Matemática Grupo G

CPV O cursinho que mais aprova na GV

Trigonometria FÓRMULAS PARA AJUDÁ-LO EM TRIGONOMETRIA

Português. Manual de Instruções. Função USB. Transferindo padrões de bordado para a máquina Atualização fácil da sua máquina

TK-810 OBRIGADO SEU RECIBO VENHA DE NOVO! HAMBÚRGUER CAFÉ BATATAS FRITAS SANDUÍCHE SORVETE CAIXA REGISTRADORA ELETRÔNICA

WASTE TO ENERGY: UMA ALTERNATIVA VIÁVEL PARA O BRASIL? 01/10/2015 FIESP São Paulo/SP

Exercícios. setor Aula 25

FUNÇÕES. Mottola. 1) Se f(x) = 6 2x. é igual a (a) 1 (b) 2 (c) 3 (d) 4 (e) 5. 2) (UNIFOR) O gráfico abaixo. 0 x

3 DECISÃO SOB INCERTEZA

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA GRUPO DE ESTUDO DE ANÁLISE E TÉCNICAS DE SISTEMAS DE POTÊNCIA CA E CC - GAT

Prof. Ms. Aldo Vieira Aluno:

Cálculo Integral em R

IP-09 INSTRUÇÃO DE PROJETO DE REFORÇO PARA RESTAURAÇÃO DE PAVIMENTOS FLEXÍVEIS

operation a b result operation a b MUX result sum i2 cin cout cout cin

Unidade 2 Geometria: ângulos

A Diretoria de Relações Internacionais da Fundação de Ensino e Pesquisa do Sul de Minas - 1. OBJETIVO 2. PRÉ-REQUISITOS. Re~ unis

ESTADO DO MARANHÃO MINISTÉRIO PÚBLICO PROCURADORIA GERAL DE JUSTIÇA a CENTRO DE APOIO OPERACIONAL DE MEIO AMBIENTE, URBANISMO E PATRIMÔNIO CULTURAL

Equivalência Estrutural

SERVIÇO PÚBLICO FEDERAL Ministério da Educação

Física. Resolução das atividades complementares. F4 Vetores: conceitos e definições. 1 Observe os vetores das figuras:

Desenvolvendo novas ferramentas pedagógicas para a formação de gestores de parques nacionais: jogos de papéis e simulação informática.

Wittgenstein e a importância dos jogos de linguagem na educação infantil*

Internação WEB BR Distribuidora v docx. Manual de Internação

Eleições Diretório Acadêmico Fisioterapia

Liberdade de expressão na mídia: seus prós e contras

Processo TIG. Eletrodo (negativo) Argônio. Arco elétrico Ar Ar + + e - Terra (positivo)

Eletrotécnica. Módulo III Parte I Motores CC. Prof. Sidelmo M. Silva, Dr. Sidelmo M. Silva, Dr.

Formas Quadráticas. FUNÇÕES QUADRÁTICAS: denominação de uma função especial, definida genericamente por: 1 2 n ij i j i,j 1.

Prova Escrita de MATEMÁTICA A - 12o Ano a Fase

1 As grandezas A, B e C são tais que A é diretamente proporcional a B e inversamente proporcional a C.

Transcrição:

MODELAGEM DINÂMICA OO: UMA ANÁLISE COMPARATIVA DE TÉCNICAS Guillermo Bustos Reinoso Crlos A. Heuser UFRGS/Instituto de Informátic Cix Postl 15064 91501-970 Porto Alegre RS e-mil: {gbustos heuser}@inf.ufgrs.br Abstrct In object-oriented systems modeling three perspectives re considered: the sttic or structurl perspective, the dynmic perspective nd the functionl perspective. Modeling of the sttic perspective uses estblished concepts developed in the re of semntic dt modeling. However, there re severl different proposls for dynmic modeling of OO systems. This pper reviews some representtive pproches nd compres them by severl criteri. Keywords: OO modeling, OO nlysis, dynmic Modeling 1 INTRODUÇÃO A Análise Orientd Objetos (AOO) é definid como construção de modelos do domínio do problem, identificndo e especificndo um conjunto de objetos semânticos 1, que colborm e comportm-se conforme os requisitos estbelecidos pr o sistem de objetos [Monrchi& Puhr92]. A AOO é centrd n construção de modelos. Ns diverss técnics de modelgem orientd objetos, dois spectos ortogonis ou dimensões são pr descrever um sistem: dimensão estruturl dos objetos e dimensão dinâmic do comportmento. A dimensão estruturl centr-se no specto estático ou pssivo do sistem de objetos e relcion-se com estrutur estátic dos mesmos. A dimensão dinâmic, por su vez, tem ver com o specto dinâmico ou tivo do sistem, descrevendo o comportmento do sistem de objetos. Pr modelr dinâmic de um sistem de objetos, é necessário considerr tmbém o specto estruturl. N dimensão estruturl, são usdos conceitos já estbelecidos como, identidde dos objetos constituintes, su clssificção, seu encpsulmento (incluindo tnto tributos como operções), sus ssocições estátics específics e seus construtores de gregção estruturl (clusters ou semelhntes), muitos deles originários d modelgem semântic de ddos. Já n dimensão dinâmic, há diverss proposts n litertur, bseds em diferentes conceitos. Este rtigo revis s técnics de modelgem n dimensão dinâmic, fzendo um comprção criterios entre s mesms. Pr isto, n seção 2 são presentdos os conceitos básicos d modelgem nest dimensão. A seguir, são descritos os enfoques lterntivos e s estrtégis de bordgem pr construção dos modelos dinâmicos. N seção 3, são estudds brevemente váris técnics de modelgem dinâmic usds n metodologis de AOO. Exemplos e notções pr cd cso tmbém são presentdos. Finlmente, n seção 4, é feito é relizd comprção entre s diferentes proposts. 2 MODELAGEM DINÂMICA NA ORIENTAÇÃO A OBJETOS A modelgem dinâmic OO e modelgem dinâmic for deste prdigm diferem no objeto ser modeldo. For d OO, model-se o comportmento do sistem como um todo. N OO, 1 Estes objetos semânticos são queles cujo significdo é determindo pelo domínio específico d plicção.

model-se o comportmento dos objetos e, trvés d colborção entre eles, o comportmento do sistem. Assim, o comportmento de um sistem orientdo objetos está fundmentlmente determindo pel colborção ou interção do comportmento dos objetos constituintes e, por su vez, est colborção depende do conjunto de comportmentos individuis exibidos por estes mesmos objetos. Assim, o comportmento de um sistem pode ser reduzido, em um primeir proximção, o comportmento individul de seus objetos. 2.1 Conceitos Básicos O modelo básico de comportmento de um objeto é máquin de estdos finitos (MEF). Um MEF é um máquin hipotétic que possui um conjunto finito de estdos. Em qulquer instnte do tempo, encontr-se em um único estdo. A notção mis comum pr representr um MEF é um digrm de trnsição de estdos, que utiliz os conceitos básicos de estdo, regr de trnsição (ou simplesmente trnsição), evento e ção. Os estdos correspondem estágios dentro do ciclo de vid do objeto, e podem ser definidos como pssivos ou tivos [dechmpeux93]. Um estdo é tivo qundo está determindo por um subconjunto de vlores específicos do domínio dos tributos do objeto. No decorrer do tempo, nd mud no objeto enqunto estiver neste tipo de estdo. Já um estdo é dito tivo qundo o objeto está envolvido em lgum tipo de processo. Est propriedde dos estdos tivos torn mis difícil definir qundo se entr ou si deles 2. No cso de um estdo tivo, um mudnç do vlor de um ou mis tributos pode determinr um mudnç de comportmento do objeto que possui tis tributos, o que necessrimente deve ser refletido como o psso de um estdo outro estdo. As trnsições representm, neste contexto, mudnçs nos vlores dos tributos, implicndo ssim em mudnçs de estdos. Ests trnsições são produzids como um reflexo incidentes ou ftos contecidos dentro ou for do próprio objeto. Neste último cso, os ftos podem ser gerdos por outros objetos ou ind podem ser gerdos no exterior do sistem. Estes ftos são conhecidos como eventos. As ções são tividdes ou operções que devem ser relizds pelo objeto, tis como cálculos, gerção de eventos pr outro(s) objeto(s) do sistem ou gente(s) externo(s) o mesmo, modificção de tributos ou de outros objetos. As ções podem ser definids como ocorrendo durnte um trnsição (que corresponde o modelo Mely d MEF com estdos pssivos) ou durnte permnênci em um estdo (que corresponde o modelo Moore d MEF com estdos tivos) [Dvis93]. Modelr o specto dinâmico de um sistem orientdo objetos implic em identificr os eventos que produzem s trnsições, s sequêncis dos eventos, os estdos que definem o contexto pr estes eventos, e orgnizção temporl destes eventos e estdos. Assim, torn-se necessário trnspor os limites d MEF dos objetos pr refletir interção ou colborção entre eles, considerndo o fluxo de eventos entre os objetos, pr conseguir um dequd representção do sistem. Isto mostr importânci de um conceito dicionl pr modelgem nest dimensão: form em que interção entre os objetos é relizd, isto é, quis os objetos que prticipm, como os objetos gem n interção, e qul nturez de tl interção. A modelgem dinâmic deve, portnto, trtr com dois níveis de bstrção: um nível de colborção entre os objetos, que lid com o controle no sistem, e troc de mensgens e os protocolos de comunicção entre os objetos; e 2 Este tipo de estdo gerlmente é expresso em lingugem nturl por meio de verbos n form de gerúndio (p. ex. clculndo). É interessnte destcr que é possível emulr um estdo tivo usndo um estdo pssivo e um trnsição sobre o mesmo estdo (vide [dechmpeux93] pr miores detlhes).

um nível de comportmento do objeto, que lid com os estdos, trnsições, eventos e ções, todos internos cd objeto. Sistem de Objetos Colborção B-A E1 T31 Colborção C-A Objeto A T32 T12 E3 E2 T23 Colborção A-C E1 T41 E1 Objeto B T12 T43 T21 E2 Colborção C-B Objeto C E3 T12 E4 E2 T24 Evento externo Respost gerd Figur 1 - Níveis de colborção e de comportmento do objeto n modelgem dinâmic. A figur 1 represent grficmente est crcterístic d modelgem dinâmic. O nível de comportmento do objeto diz relção com os estdos e trnsições do objeto. Por exemplo, os estdos E1 e E2, representdos por círculos no Objeto B (representdo, por su vez, pel cix sombred), e s trnsições T12 e T21 entre estes mesmos estdos, representds pels sets interns. O nível de colborção entre os objetos corresponde os eventos que fluem entre os objetos (representdos pels sets com pont dupl), como por exemplo s colborções B-A e C-B, que podem originr-se prtir de um estdo tivo (E1 do Objeto B) no primeiro cso, ou de um trnsição (T12 do Objeto C) no último cso. Tmbém neste nível interessm os eventos externos o sistem e s resposts gerds pr o exterior do sistem, como os mostrdos n figur (representdos por sets grosss), que fetm os Objetos B e C, respectivmente. Finlmente, um conceito dicionl é necessário pr modelgem dinâmic Trt-se d hierrquizção dos modelos trvés de mecnismos de prticionmento e/ou gregção. Mecnismos dest nturez são úteis, porque fornecem bstrções dos modelos, permitindo ocultr detlhes irrelevntes nos distintos níveis dentro d hierrqui. 2.2 Os Enfoques Alterntivos Há três enfoques lterntivos pr relizr modelgem dinâmic OO: comportmentl (behviorl), dirigido por eventos (event-driven) e bsedo em regrs (rule-bsed). No enfoque comportmentl, modelgem dinâmic é relizd prtir d identificção de interções típics do sistem com os gentes externos, tores ou usuários (ppéis de usuários n relidde). Isto define o comportmento externo que deve exibir o sistem como um todo. Considerndo este comportmento globl esperdo do sistem, expresso em termos de um conjunto de tipos de interção, é possível identificr posteriormente os objetos e sus colborções o interior do sistem. Cd tipo de interção define um modo específico de uso do sistem, um sequênci especil de trnsções relcionds relizds por um usuário e o sistem. O conjunto de tipos de interção deve especificr todos os modos existentes de uso do sistem. Diverss técnics de nálise usm este enfoque, entre els estão s de [Gibson90] e [Rubin&Goldberg92], que utilizm scripts de tividdes pr s interções, e propost de [Jcobson93], que introduz o use-cse model pr este mesmo fim. Um outr form de inicir modelgem dinâmic é trvés dos eventos específicos. O enfoque dirigido por eventos consiste n identificção de um conjunto de tipos de eventos, não

necessrimente no início d modelgem, pr especificr o comportmento e s colborções entre os objetos. De cordo com [Essink91], os tipos de eventos externos podem ser vistos como inputs pr o sistem de objetos, ocorrendo em um ponto específico do tempo e requerendo um processmento de evento específico que consiste em um execução de séries de trnsções nos objetos constituintes do sistem. Em dois spectos o enfoque de eventos diferenci-se do comportmentl: 1. nível de bstrção: os tipos de interções do enfoque comportmentl podem ser expressos mis detlhdmente como conjuntos de tipos de eventos, sendo ssim s interções mis bstrts que os eventos; e 2. critério de grupmento: os tipos de interções são grupdos n perspectiv dos usuários ou tores que usm o sistem de objetos, já os tipos de eventos são grupdos n perspectiv dos tipos de objetos do sistem. Conforme o nterior, é fácil ver que é possível mper os tipos de interções, grupdos por usuários, em tipos de eventos, grupdos por tipos de objetos. Um terceiro enfoque surge do uso de regrs pr especificr o comportmento do sistem de objetos. Um regr nd mis é do que um meio de especificr coordenção de sinis (mensgens gerds intern ou externmente que comunicm ocorrênci de um evento) e operções, definindo ssim s condições necessáris pr invocção ds operções [Tslgtidou& Loucopoulos91]. N modelgem dinâmic, s regrs ssumem gerlmente seguinte sintxe: WHEN <sinl> [IF <pré-condição>] THEN <prte ção> onde prte WHEN é compulsóri, implicndo que qundo o <sinl> é verddeiro, regr pode ser considerd. A prte opcionl IF d <pré-condição>, qundo verddeir, indic que prte do THEN pode ser executd. A <prte ção> corresponde à gerção de um sinl (mensgem) composto por um operção e prâmetros opcionis [D'Henens91]. As regrs podem ser válids pr o sistem como um todo, ou pr clsses, ou ind pr instâncis dests. Algums técnics, ind pouco desenvolvids, que usm este enfoque são s de [D'Henens91], que propõe um método de desenvolvimento usndo regrs, modelgem ER e orientção objetos, e propost de [Tslgtidou&Loucopoulos91] que us o conceito de ftos pr modelgem estátic e regrs representds grficmente com redes de Petri pr o specto dinâmico. 2.3 Alterntivs pr o processo de modelgem Como em outrs áres d engenhri de softwre há bsicmente três lterntivs pr executr o processo de modelgem: top-down, bottom-up e middle-out. Entende-se como estrtégi top-down à construção de modelos dinâmicos trvés de um refinmento sucessivo, em que cd refinmento crescent novos detlhes o modelo que erm bstrtos no refinmento nterior. Em OO, prte-se d modelgem d colborção entre objetos, pr modelgem do comportmento dos objetos. Este processo result gerlmente, porém não sempre, em um modelo hierrquizdo, em que cd nível ou cmd, no sentido do topo o fundo d hierrqui, é mis detlhdo, e portnto, menos bstrto. De form complementr, um estrtégi bottom-up é construção de modelos dinâmicos trvés de um gregção sucessiv, em que cd gregção crescent mior bstrção o modelo, escondendo detlhes que erm considerdos n gregção nterior. Em OO, isso signific prtir do comportmento dos objetos pr, depois, pssr colborção entre objetos. Este

processo tmbém pode resultr em um modelo hierrquizdo, de tl form que é impossível determinr se foi construído de form top-down ou bottom-up. A terceir lterntiv é middle-out. Est estrtégi consiste n identificção liner dos elementos do modelo, i.e. construção dos modelos não segue o sentido verticl entre os níveis d hierrqui, (como contece ns estrtégis top-down e bottom-up), senão o sentido horizontl, crescentndo e relcionndo novos elementos do mesmo nível de bstrção e detlhe. Assim, o modelo é construído por extensão e não por hierrquizção. A modelgem pode começr por definir o comportmento de um objeto e, trvés dos eventos gerdos (ou recebidos), continur com construção do(s) modelo(s) de comportmento do(s) objeto(s) que recebe(m) (ou ger(m)) os eventos, e ssim sucessivmente. 3 TÉCNICAS DE MODELAGEM DINÂMICA A seguir considermos s seguintes técnics de modelgem dinâmic: Object Communiction Digrm & Object Life-History Digrms de [Yourdon94], Event Flow Digrms & Stte Digrms de [Rumbugh91], Stte Trnsition Digrms & Event Digrm de [Mrtin&Odell93], Stte Model & Object Communiction Model de [Shler&Mellor92], Stte Nets & Object-Interction Model de [Embley92], e Object/Behvior Digrms de [Kppel&Schrefl91]. Como exemplo específico pr mostrr s diferentes representções 3 sugerids pels técnics é usd um porção do problem de orgnizção de conferêncis d IFIP [Olle82]. É considerdo o rtigo como um clsse, cujos objetos presentm o seguinte conjunto mínimo de estdos: {recebido, em vlição, ceito, rejeitdo}. Adicionlmente, é usd interção dos objetos dest clsse com os de outrs clsses, como por exemplo utores e vlidores (referees) ou gentes externos o sistem, como por exemplo o comitê de progrm. 3.1 Object Communiction Digrm & Object Life-History Digrms A propost de [Yourdon94] corresponde um evolução d propost de [Cod&Yourdon92]. Nel são borddos mbos os níveis d modelgem dinâmic: pr o nível de colborção entre os objetos us o object communiction digrm, e pr o nível de comportmento do objeto us os object life-history digrms. O enfoque utilizdo é dirigido por eventos. A ordem n bordgem sugere que est é um técnic de estrtégi bottom-up. No object communiction digrm são especificds s comunicções (conexões de mensgens) entre os objetos e s clsses. Isto é relizdo pós modelgem dos estdos e operções de cd objeto. A seqüênci ds mensgens pode ser indicd crescentndo numerção às mensgens. A figur 2 mostr exemplos de conexões de mensgem entre três objetos ds clsses, Autor e Avlidor (representds pels cixs de cntos rredonddos). A mensgem d direit origin-se em um instânci d clsse (indicdo pel set que si d bord extern d clsse que represent justmente s instâncis dquel clsse), e tem como destino clsse Autor (indicdo pel set que cheg bord interior que represent clsse). A conexão d esquerd é entre instâncis. 3 As notções utilizds em cd técnic revist são tão fieis qunto possível às proposts pelos respectivos utores.

Avlidor no existe rtigo envir mensgem crir utor Crir Distribuir Crir Selecionr Figur 2 - Exemplo específico de conexões de mensgem no object communiction digrm envir mensgem de [Yourdon94]. ssocir vlidor rtigo é ceito ceito recebido em vlição rtigo é rejeitdo rtigo é ceito distribuição recebid rtigo é rejeitdo rejeitdo Figur 3 - Exemplo de um object life-history digrm de [Yourdon94], pr o objeto. Pr o cso dos object life-history digrms, o procedimento d técnic consiste essencilmente n identificção de estdos (pssivos) dos objetos ns diferentes clsses. Pr isto, os utores indicm que deve exminr-se os vlores potenciis dos tributos pr determinr se implicm mudnçs no comportmento do objeto. Os object life-history digrms resultntes (que correspondem um MEF do modelo Mely) utilizm representções pr estdos (cixs com nome), trnsições (sets que indicm o sentido d mudnç de estdo), condições (notds em cd trnsição cim d linh horizontl) e ções (notds sob linh horizontl). A figur 3 mostr representção resultnte pr o exemplo pdrão. 3.2 Event Flow Digrms & Stte Digrms N propost de [Rumbugh91], modelgem dinâmic é trtd nos dois níveis: o nível de colborção entre os objetos usndo os event flow digrms, e o nível de comportmento do objeto usndo os stte digrms. Ambs s ferrments fzem prte do dynmic model. Est é um técnic que dot um enfoque dirigido por eventos e um estrtégi top-down. A modelgem do specto dinâmico é relizd em dus fses: n primeir são considerdos cenários de interção entre objetos, est interção é mped nos event flow digrms; e n segund são construídos stte digrms pr cd objeto de comportmento não-trivil, considerndo troc de eventos definid previmente. inclusão(, Autores), seleção(, Decisão) verificção(autores), inclusão(autor) Comitê de Progrm Autor inclusão O.K., inclusão flh, seleção O.K., seleção flh verificção(avlidores) Avlidores O.K., Avlidores flhm Autores O.K., Autor flh, inclusão Autor O.K., inclusão Autor flh Os event flow digrms permitem representr interção entre os objetos em termos de eventos, prtir de cenários de interção típic entre os objetos e entre os objetos e os gentes externos. Os event flow digrms não indicm seqüênci, pens indicm emissão e recepção de todos os eventos possíveis entre os objetos, e entre estes e os gentes externos. Os event flow digrms utilizm cixs pr representr os objetos e os gentes externos (não são diferencidos), e utilizm sets pr representr o fluxo dos eventos. A figur 4 mostr representção resultnte pr interção Autor Avlidor Figur 4 - Exemplo específico de um event flow digrm de [Rumbugh91].

dos objetos, Autor, Avlidor e o gente externo Comitê de Progrm. N figur, os eventos (que tmbém incluem erros) podem ser indicdos com prâmetros, ssim por exemplo o evento inclusão(autor), entre s clsses e Autor, tem como prâmetro os vlores dos tributos pr um novo objeto d clsse Autor. inclusão(, Autores) do: verificção() flh / inclusão flh seleção(, Decisão) / seleção flh Autores O.K. / inclusão O.K. O.K. do: verificção(autores) Autor flh Avlidores flhm / distribuição flh Recebido inclusão Autor O.K. distribuição(, Avlidores) do: inclusão(autor) inclusão Autor flh / inclusão flh do: verificção(avlidores) distribuição(, Avlidores) / distribuição flh Avlidores O.K. / distribuição O.K. Em vlição seleção(, Decisão) [Decisão=rejeitdo] / seleção O.K. Rejeitdo Avlido seleção(, Decisão) [Decisão=rejeitdo] / seleção O.K. distribuição(, Avlidores) / distribuição flh seleção(, Decisão) [Decisão=ceito] / seleção O.K. seleção(, Decisão) [Decisão=ceito] / seleção O.K. Aceito Figur 5 - Exemplo de um stte digrm de [Rumbugh91], pr o objeto. Por su vez, os stte digrms propostos correspondem um extensão (combinndo os modelos Mely e Moore ds MEF) dos sttechrts de [Hrel87]. Como estes últimos permitem concorrênci, est é possível o interior de um objeto. A figur 5 mostr um stte digrm pr o exemplo pdrão. Nele pode observr-se lgums ds proprieddes e extensões em relção os sttechrts. Os stte digrms têm em comum com os sttechrts representção dos estdos (cixs de cntos rredonddos) e superestdos (cixs de cntos rredonddos que contêm outros estdos), trnsições nomeds (sets) e trnsição inicil (pequeno círculo preto). As extensões e notções especiis não existentes nos sttechrts são usds nqueles estdos que possuem tividdes (indicdos com do:), trnsições finis (círculos com um círculo preto menor no interior), trnsições disprds por eventos que germ outros eventos (indicdos como evento_que_dispr/evento_que_é_gerdo), eventos condiciondos (indicdos como evento[condição]), eventos prmetrizdos (indicdos como evento(prâmetro)) e combinção dos nteriores (n figur s trnsições entre o estdo em vlição e os estdos rejeitdo e ceito combinm tods s notções pr os eventos). 3.3 Stte Trnsition Digrms & Event Digrm A propost de [Mrtin&Odell93] trt de mbos os níveis d modelgem dinâmic: os stte trnsition digrms pr o nível de comportmento do objeto, e o event digrm pr o nível de colborção. Contudo, o event digrm contém implicitmente os estdos e trnsições mostrdos no stte trnsition digrm, ssim este último é utilizdo mis como um complemento de documentção do que como um ferrment em si mesm. Est técnic trblh por excelênci sob o enfoque dirigido por eventos e opt por um estrtégi middle-out.

Os stte trnsition digrms mostrm os estdos (pssivos) dos objetos e tods s possíveis trnsições que podem ocorrer entre eles. Recebido Em vlição Aceito Rejeitdo Figur 6 - Exemplo de um stte trnsition digrm de [Mrtin&Odell93], pr o objeto. Utilizm um esquem extremmente simples como pode ser observdo n figur 6 do exemplo pdrão. Cd estdo é representdo por um linh horizontl com seu nome o ldo. Cd trnsição é notd com um set do estdo origem o estdo destino. Não existe seqüênci estbelecid, nem especificção dos eventos que produzem ests trnsições. O event digrm mostr um conjunto de operções e eventos ssocidos do sistem de objetos, orgnizdos seqüencil e concorrentemente. Um exemplo de event digrm é mostrdo n figur 7, onde os eventos (n relidde tipos de eventos, segundo os utores) são representdos pelos pequenos triângulos sólidos junto às cixs de rests rredondds, ests denotndo operções. A operção corresponde um unidde de processmento que pode ser invocd e seu procedimento é implementdo com um método. Se operção produz um mudnç de estdo, o evento ssocido ocorre. As operções com sombr (como por exemplo Submeter ) representm operções externs o sistem. As sets que unem os eventos às operções são s regrs de gtilho, que desencdeim outrs operções. Qundo mis de um evento concorrer um operção, queles são entendidos como lterntivos, como por exemplo contece com operção extern Distribuir, que pode ser relizd se o evento recebido ocorrer ou se ocorrer Avlidor flh. Os tipos de eventos podem presentr subtipos pr reproveitr regrs de gtilho, como é mostrdo no exemplo d figur: o cso do tipo de evento Verificção relizd que corresponde n verdde os subtipos de eventos mutumente exclusivos Avlidores verificdos e Avlidor flh. Os losngos ssocidos à recepção de eventos por prte de um operção (como contece com operção Selecionr e os eventos rejeitdo e ceito do exemplo d figur), indicm condições de controle (neste cso notds diretmente no digrm d figur) que devem ser verificds ntes de invocr operção (no exemplo: só o rtigo ceito pode ser rejeitdo e vice-vers). Submeter submetido Incluir Autores Autores incluídos Receber recebido Distribuir pr distribuição Verificr Avlidores SE decisão é ceitr rtigo ENTÃO Selecionr Verificção relizd Avlidores verificdos Selecionr seleciondo como rejeitdo Avlidor flh SE decisão é rejeitr rtigo ENTÃO Selecionr Figur 7 - Exemplo específico de um event digrm de [Mrtin&Odell93]. 3.4 Stte Model & Object Communiction Model ceito

A propost de [Shler&Mellor92] pr modelgem dinâmic consiste em dois modelos: o stte model (composto pelos stte trnsition digrms e stte trnsition tbles) pr o nível de comportmento do objeto, e o object communiction model pr o nível de colborção entre os objetos. Ao ser o desenvolvimento no sentido do comportmento à colborção, indic que est técnic dot um estrtégi bottom-up. Utiliz tmbém o enfoque dirigido por eventos. O stte model represent o ciclo de vid de um objeto. Pr isto, represent estdos (tivos e pssivos), eventos e ções pr cd objeto constituinte do sistem n form do modelo Moore ds MEF. O stte model ssume dus forms: 1) stte trnsition digrm que express grficmente o ciclo de vid como um rede de estdos, trnsições entre estes estdos e ções que estão ssocids os estdos, e 2) stte trnsition tble que mostr tods s possíveis relções entre estdos e eventos. A figur 8 present um exemplo de stte trnsition digrm onde os estdos são representdos por cixs numerds, e s trnsições são representds por sets nomeds que unem os estdos. As ções precem sob os estdos. As trnsições ssumem s seguintes convenções: são identificds com um código (por exemplo A de e um correltivo), o nome do evento (significdo) e os identificdores dos objetos como prâmetros. Assim por exemplo, pr trnsição A1 são precisos como prâmetros os identificdores do rtigo e de todos os n utores do rtigo. Por su vez, o stte trnsition tble, pesr de possuir muit informção redundnte em relção o stte trnsition digrm, é julgdo necessário pelos utores porque permite verificr mis fcilmente completez e consistênci ds trnsições. Preencher tbel implic consider os efeitos pr tods s combinções de estdos e eventos. Em compensção, form tbulr é pouco útil pr compreensão do ciclo de vid do objeto. A tbel 1 é um stte trnsition tble que represent situção d figur 8. As fils mostrm os estdos e s coluns os eventos. As entrds d tbel são preenchids conforme s seguintes lterntivs: 1) número de estdo que conduz trnsição d colun prtir do estdo d fil; 2) indicção de ocorrer, se est combinção estdo-evento ocorrer n relidde do sistem, dicionlmente é recomendd incluir um referênci pr um not explictiv; e 3) indicção de evento ignordo, qundo o objeto não rege à recepção do evento.

A1: submetido (rtigo ID, utor_1 ID, utor_2 ID,..., utor_n ID) 1. Incluindo utores Incluir utores 2. Recebido A2: Autores incluídos (rtigo ID) A3: pr distribuição (rtigo ID, vlidor_1 ID, vlidor_2 ID,..., vlidor_n ID) A7: Avlidor flh (rtigo ID) 3. Verificndo vlidores Verificr vlidores 4. Em vlição A4: Avlidores verificdos (rtigo ID) A5: seleciondo como ceito (rtigo ID) 5. Aceito A6: seleciondo como rejeitdo (rtigo ID) A6: seleciondo como rejeitdo (rtigo ID) A5: seleciondo como ceito (rtigo ID) 6. Rejeitdo Figur 8 - Exemplo de um stte trnsition digrm de [Shler&Mellor92], pr o objeto. 1. Incluindo utores 2. Recebido 3. Verificndo vlidores 4. Em vlição A1: submetido ocorrer [1] ocorrer [1] ocorrer [1] ocorrer [1] 5. Aceito ocorrer [1] 6. Rejeitdo ocorrer [1] A2: Autores incluídos evento ignordo ocorrer [2] ocorrer [2] ocorrer [2] ocorrer [2] Nots: [1] já foi submetido [2] já foi recebido A3: pr distribuição 2 ocorrer [8] ocorrer [3] A4: Avlidores verificdos ocorrer [8] 3 ocorrer [4] evento ocorrer [3] ignordo ocorrer [3] ocorrer [5] ocorrer [3] ocorrer [5] [3] já foi pr distribuição [4] não foi pr distribuição [5] já foi vlido A5: seleciondo como ceito ocorrer [8] ocorrer [6] 4 ocorrer [6] A6: seleciondo como rejeitdo ocorrer [8] ocorrer [6] ocorrer [6] A7: Avlidor flh ocorrer [8] ocorrer [4] 2 5 6 ocorrer [7] evento 6 ignordo ocorrer [5] 5 evento ignordo ocorrer [5] [6] não foi vlido [7] já foi distribuído [8] não foi recebido Tbel 1 - Exemplo de um stte trnsition tble de [Shler&Mellor92], pr o objeto. O object communiction model express comunicção de eventos entre os stte models e os gentes externos o sistem. Pr isto, é necessário ter modeldo previmente os comportmentos independentes dos objetos em termos dos stte trnsition digrms e stte trnsition tbles. Assim, eventos recebidos e eventos gerdos (ções) em um stte model precem como entrds e síds nos objetos do object communiction model. A figur 9 mostr um object communiction model em que os stte models são representdos por cixs de cntos rredonddos (por exemplo, represent o stte model d figur 8 e d tbel 1). Cd gente externo é representdo por um cix simples (como Comitê de Progrm n figur). Os eventos que fluem entre estes elementos são representdos por sets com indicção do código do evento, conforme quem o recebe, e o nome e os identificdores dos objetos envolvidos (opcionlmente). Por

exemplo, o evento AU1 (AU de AUtor) é gerdo por (onde é um ção) e é recebido por Autor com os identificdores dos utores do rtigo. Comitê de Progrm A3: pr distribuição (rtigo ID, vlidor_1 ID, vlidor_2 ID,..., vlidor_n ID) A5: seleciondo como ceito (rtigo ID) A1: submetido (rtigo ID, utor_1 ID, utor_2 ID,..., utor_n ID) A6: seleciondo como rejeitdo (rtigo ID) AV1: Verificr vlidores (vlidor_1 ID, vlidor_2 ID,... vlidor_n ID) A7: Avlidor flh (rtigo ID) A2: Autores incluídos (rtigo ID) AU1: Incluir utores (utor_1 ID, utor_2 ID,... utor_n ID) Avlidor Autor A4: Avlidores verificdos (rtigo ID) Figur 9 - Exemplo específico de um object communiction model de [Shler&Mellor92]. 3.5 Stte Nets & Object-Interction Model A propost de [Embley92] contempl mbos os níveis d modelgem dinâmic: os stte nets (que fzem prte do object-behvior model) pr o nível de comportmento do objeto, e o object-interction model pr o nível de colborção entre os objetos. Est técnic ssume um enfoque dirigido por eventos e um estrtégi bottom-up. Os stte nets modelm o comportmento de cd objeto em form independente e ssumindo o modelo Mely ds MEF. Ests redes são construíds prtir d identificção dos estdos (tivos e pssivos), e definição ds trnsições e s exceções. As trnsições nos stte nets possuem um identificdor, um trigger 4 e um ção. Podem existir trnsições iniciis e finis em um stte net. Os estdos podem ser múltiplos, tnto nteriores um trnsição qunto posteriores el, neste último cso pode ou não existir opção de escolh entre os estdos. Existe tmbém possibilidde de um trnsição ser disprd produzindo um seqüênci prlel de tivção de estdos e trnsições, permitindo ssim concorrênci o interior do objeto. A figur 10 mostr um stte net possível pr o objeto. Est rede represent os estdos como cixs de cntos rredonddos e s trnsições como cixs biprtids. O sentido d trnsição é indicdo por sets. No lto d trnsição existe um identificdor numérico único dentro do stte net. Cd trnsição é definid por um trigger n metde superior e um ou mis ções n metde inferior. A prte do trigger que é precedid por um @ corresponde um evento. Assim, no cso d trnsição de número [6] lê-se qundo se selecion rtigo e decisão é ceito, se deve indicr seleção O.K., gerndo mudnç do estdo em vlição pr o estdo ceito. As sets que possuem um trço perpendiculr representm um pth pr um trnsição que model um comportmento de exceção, gerlmente indicndo situções de erro, como por exemplo qundo um vlidor flh n verificção pr vlir um rtigo (trnsição de número [4]). 4 O trigger pode ser bsedo em eventos, ms não necessrimente.

[2] @utores O.K. indicr recepção O.K. incluir utores [1] @recebe rtigo recebido [4] @vlidor flh indicr distribuição flh [3] @distribui rtigo [6] @selecion rtigo ^ decisão é ceito ceito [5] verificr vlidores @vlidores O.K. indicr distribuição O.K. em vlição indicr seleção O.K. [7] @selecion rtigo ^ decisão é rejeitdo [8] @selecion rtigo ^ decisão é rejeitdo indicr seleção O.K. [9] @selecion rtigo ^ decisão é ceito indicr seleção O.K. indicr seleção O.K. rejeitdo receber distribuir selecionr Figur 10 - Exemplo de um stte net de [Embley92], do objeto. (mensgens) incluir verificr...... Por su vez, no objectinterction model são presentds s comunicções entre os objetos. As interções entre os objetos são modelds pós definido o comportmento destes objetos usndo os stte nets. As interções podem ser trvés de tividdes (ções) ou lists de objetos, podem ser síncrons ou ssíncrons (usndo repositórios neste último cso), múltipls (váris origens e/ou vários destinos), ter objetos de origem e/ou destino especificdos, ser bidirecionis ou ser contínus, entre outrs proprieddes. A figur 11 mostr um exemplo de interção entre os objetos (representd pel sets quebrds) dos objetos, Autor e Avlidor (representdos pels cixs). A comunicção incluir, entre e Autor, e comunicção verificr, entre e Avlidor, são múltipls, i.e. vários objetos destinos recebem mensgem (no exemplo, vários utores de um rtigo e vários vlidores do rtigo). As mensgens receber, distribuir e selecionr são gerds por gentes externos nônimos. O destino d list de objetos (mensgens) tmbém é externo o modelo. 3.6 Object/Behvior Digrms A propost de [Kppel&Schrefl91] trt dos níveis d modelgem dinâmic d seguinte mneir: us os behvior digrms pr o nível de comportmento do objeto, e um vrição destes, os ctivity specifiction digrms, pr o nível de colborção entre os objetos. O enfoque dirigido por eventos é o dotdo por est técnic. Apesr de utilizr refinmento sucessivo pr o comportmento dos objetos (o que implicri, pelo menos prcilmente, um estrtégi top-down) e derivr s colborções pós definição do comportmento (o que indicri um estrtégi bottom-up), est propost constrói o modelo dinâmico no sentido horizontl no nível ds colborções, o que implic um estrtégi middle-out. Contudo, est propost está mis centrd n digrmção de sistems orientdos objetos e não present, portnto, procedimentos explícitos pr modelgem. Autor Avlidor Figur 11 - Exemplo específico de um object-interction model de [Embley92].

vlidorflh submete utoresincluídos distribuição vlidoresverificdos incluindoautores incluiautor recebido verificndoavlidores verificavlidor rtigoaceito rtigorejeitdo ceito emavlição rtigorejeitdo rtigoaceito rejeitdo Figur 12 - Exemplo de um behvior digrm de [Kppel&Schrefl91], pr o objeto. Os object/behvior digrms consistem em um combinção de object digrms, bsedos nos conceitos d modelgem semântic de ddos, que descrevem s proprieddes estruturis dos objetos, e os behvior digrms, que bseim-se ns redes de Petri [Heuser90]. Os behvior digrms são utilizdos pr representr o comportmento de objetos, modelndo o ciclo de vid ds instâncis de um tipo de objeto. Um behvior digrm consiste em um conjunto de estdos (tivos e pssivos) do objeto e um conjunto de tividdes. Os estdos são representdos pels cixs miores 5, com o nome do objeto n prte superior e o nome do estdo n prte inferior; e s tividdes são representds pels cixs menores que unem os estdos com sets (vide figur 12). Cd tividde possui input e output ports, por onde fluem tokens (denotdos por pr o cso de d figur 12) ssocidos às instâncis do tipo do objeto. Estes ports precem como pequens cixs à esquerd d tividde n bord intern (input), e à direit d mesm n bord extern (output). É trvés ds tividdes com ports que é representd interção dos objetos. Assim, os ctivity specifiction digrms mostrm s tividdes (que nos behvior digrms precem pens dndo seqüênci os estdos no ciclo de vid do objeto), como relcionds com outros ciclos de vid. Estes ctivity specifiction digrms correspondem às operções dos objetos. A operção é definid pr s instâncis do tipo do objeto do primry port, que lig os pré e pósestdos (pré e pós-condições) do objeto. Os restntes inputs ports representm prâmetros formis d operção e seus pré-estdos podem ser interpretdos como pré-condições destes prâmetros. O vlor de retorno d operção é representdo por um return port e seus pós-estdos podem ser interpretdos como pós-condições que o vlor retorndo deve stisfzer. Os restntes output ports representm efeitos colteris d operção. 5 Est notção pr os objetos é derivd dos object digrms onde é usd composição gráfic pr representr lguns relcionmentos estáticos (vide [Kppel&Schrefl91]).

incluiautor verificavlidor ut v incluindoautores incluindoautores verificndoavlidores verificndoavlidores AUTOR AVALIADOR AVALIADOR v existe disponível disponível () (b) vlidorflh verificndoavlidores recebido AVALIADOR v indisponível (c) Figur 13 - Exemplos de ctivity specifiction digrm de [Kppel&Schrefl91], pr o objeto : () incluiautor, (b) verificavlidor, e (c) vlidorflh. As notções pr todos estes ports podem ser observds n figur 13. Nel precem s três relções entre o objeto com os objetos Autor e Avlidor. No ctivity specifiction digrm d figur 13(), os primry ports são representdos por ports pretos e o return port é representdo pelo pequeno semicírculo. Este digrm deve ser interpretdo como inclusão de novos utores enqunto o rtigo está no estdo incluindoautores. No cso do ctivity specifiction digrm d figur 13(b), o input port pr o pré-estdo de Avlidor é representdo pel cixinh brnc e s linhs descontínus indicm que ocorre pens um leitur. Este digrm corresponde à situção em que um vlidor é encrregdo de reltr um rtigo. O cso d figur 13(c) contece qundo o vlidor correspondente não está disponível e portnto flh n su tenttiv de vlição. Em todos estes ctivity specifiction digrms existe um token pr cd tipo de objeto que flui trvés d tividde: pr, ut pr Autor, e v pr Avlidor. 4 ANÁLISE COMPARATIVA DAS TÉCNICAS Est seção nlis de form comprtiv s técnics presentds segundo critérios listdos seguir. A tbel 2 compr s técnics no que refere modelgem do comportmento do objeto. Já tbel 3 consider modelgem d colborção entre os objetos. N tbel 2 os critérios utilizdos pr comprção ds técnics de modelgem são os seguintes: Ações em estdos e trnsições: define ções tnto em estdos qunto em trnsições. Prâmetros e condições nos eventos: define eventos prmetrizdos e sujeitos condições dicionis pr tivr s trnsições. Eventos sobre outros estdos: verific os efeitos d ocorrênci dos eventos em todos os estdos possíveis. Identificdores dos objetos: indic se é necessário especificr identificdores. Representção: us representção n form de um rede ou estruturdmente. Comportmento de exceção: define explicitmente comportmentos de exceção.

Concorrênci: permite concorrênci o interior do objeto. Hierrquizção: indic forms de hierrquizr complexidde do comportmento. TÉCNICAS DE MODELAGEM CRITÉRIOS Object Life-History Digrm [Yourdon94] Stte Digrm [Rumbugh91] Stte Trnsition Digrm [Mrtin&Odell93] Stte Model [Shler&Mellor92] Stte Net [Embley92] Object/Behvior Digrm [Kppel&Schrefl91] (3) Ações em estdos e trnsições Prâmetros e condições nos eventos Eventos sobre outros estdos Identificdores dos objetos Representção de rede (5) (3) (4) (1) (2) (3) (4) (3) (1) em estdos (2) somente (3) em trnsições (4) somente (5) prcilmente prâmetros condições Tbel 2 - Comprtivo de técnics pr o nível de comportmento do objeto n modelgem dinâmic. CRITÉRIOS TÉCNICAS DE MODELAGEM Object Communiction Digrm [Yourdon94] Event Flow Digrm [Rumbugh91] Event Digrm [Mrtin&Odell93] Object Communiction Model [Shler&Mellor92] Object-Interction Model [Embley92] Object/Behvior Digrm [Kppel&Schrefl91] Representção estruturd Comportmento de exceção Concorrênci Hierrquizção Comunicção clsseinstânci Mensgens ssíncrons Múltiplos origens e destinos Qulificção ds mensgens Seqüencição ds mensgens Mensgens de exceção Agentes externos Identificdores de objetos Hierrquizção (1) (1) (2) (1) derivd d modelgem estátic (2) pelos tokens Tbel 3 - Comprtivo de técnics pr o nível de colborção entre os objetos n modelgem dinâmic. N tbel 3, os critérios utilizdos pr s técnics de modelgem são: Comunicção clsse-instânci: permite comunicção entre clsses, entre clsses e instâncis, e entre instâncis. Mensgens ssíncrons: é possível ter mensgens ssíncrons entre os objetos. Múltiplos origens e destinos: mensgens gerds e/ou recebids por múltipls instâncis. Qulificção ds mensgens: especific objetos origens e/ou destinos. Seqüencição ds mensgens: dá um seqüênci pr emissão ds mensgens. Mensgens de exceção: define explicitmente mensgens de exceção. Identificdores dos objetos: pr queles envolvidos n mensgem. Agentes externos: permite interção explícit com gentes externos o sistem.

Hierrquizção: hierrquiz complexidde d colborção entre os objetos. 4 CONCLUSÕES E COMENTÁRIOS Foi presentd um visão gerl d modelgem dinâmic OO, trvés d definição dos conceitos básicos, os enfoques lterntivos e s estrtégis de bordgem. As técnics mis representtivs pr modelr o specto dinâmico sob orientção objetos form brevemente descrits e contrstds. O enfoque dirigido por eventos é usdo mis frequentemente, pel simplicidde de ssocir os eventos os objetos. O enfoque comportmentl poderi ser dotdo como um psso prévio à identificção dos eventos específicos pr os objetos. Em relção o processo de modelgem, não form identificds lterntivs preferids. O estdo d rte descrito pels técnics, enfoques e estrtégis, mostr reltiv imturidde d modelgem dinâmic n orientção objetos: s proposts pr modelr o specto dinâmico tem sido tods dptds de for do prdigm, trzendo com isto lgums dificulddes. A mior dels surge d integrção dos spectos estáticos e dinâmicos, tnto for como dentro do prdigm d orientção objetos. Existe um tendênci, devido principlmente à grnde complexidde que podem tingir os sistems de objetos, trtr os spectos estáticos e dinâmicos com reltiv independênci. As técnics vists trtm este problem dividindo: fornecem ferrments específics pr dimensão dinâmic e outrs pr dimensão estátic Observndo s representções ds diferentes técnics, vê-se que não existe mior diversidde de modelos e notções: são tods bseds em redes de trnsição de estdos ( prtir d concepção ds MEF) com vrições menores, sendo mior dels presentd com os sttechrts. A únic exceção corresponde às redes de Petri. Considerndo os critérios geris usdos ns tbels comprtivs, pode indicr-se técnic dos stte digrms de [Rumbugh91] como mis complet no nível de comportmento do objeto ( extensão os sttechrts explic prcilmente est completez). Qunto o nível de colborção entre os objetos, técnic do object-interction model de [Embley92] é mis complet, já que fornece um poderoso conjunto de elementos de modelgem e notções especiis. Considerndo os escssos critérios de comprção e plicção utilizdos, pens é possível indicr propost mis complet pr os diferentes níveis d modelgem dinâmic, o que não necessrimente torn melhor técnic. Finlmente, lgums linhs de pesquiss que podem ser visulizds prtir deste trblho são s seguintes: técnics de modelgem especificmente pr orientção objetos, mecnismos pr o desenvolvimento por refinmento sucessivo dos modelos dinâmicos, tnto pr o nível de colborção qunto o de comportmento, técnics integrlmente dinâmics orientds objetos, que inclum os spectos estáticos como csos prticulres dos spectos dinâmicos, pr resolver lguns dos problems de integrção existentes té hoje, e introduzir em form complementr, representções tbelres e/ou bseds em regrs pr fcilitr consistênci e completez dos modelos dinâmicos. REFERÊNCIAS BIBLIOGRÁFICAS [Cod&Yourdon92] Cod, P. & E. Yourdon. Análise Bsed em Objetos. Rio de Jneiro: Cmpus, 1992. [Dvis93] Dvis, A. M. Softwre Requirements: Objects, Functions, & Sttes. Englewood Cliffs: Prentice-Hll, 1993. [dechmpeux93] de Chmpeux, D.; D. Le & P. Fure. Object-Oriented System Development. Reding: Addison-Wesley, 1993.

[D'Henens91] D'Henens, I.; F. Vn Assche; E. Hlpin & B. Krkosts. Experiences With Rule-Bsed Dynmic Modeling. In: Dynmic Modelling of Informtion Systems, H. G. Sol & K. M. vn Hee (eds.), North-Hollnd: Amsterdm, pp.289-301, 1991. [Embley92] Embley, D.; B. Kurtz & S. Woodfield. Object-Oriented System Anlysis: A Model Driven Approch. Englewood Cliffs: Prentice-Hll, 1992. [Essink91] Essink, L. Dynmic Modelling: An Exmple of n Event-Driven Approch. In: Dynmic Modelling of Informtion Systems, H. G. Sol & K. M. vn Hee (eds.), North-Hollnd: Amsterdm, pp.89-119, 1991. [Gibson90] Gibson, E. Objects - Born nd Bred. Byte, Peterborough, v.15, n.10, pp.245-254, Oct. 1990. [Hrel87] Hrel, D. Sttechrts: A Visul Formlism for Complex Systems. Science of Computer Progrmming, Amsterdm, v.8, n.3, pp.231-274, Jun. 1987. [Heuser90] Heuser, C. Modelgem Conceitul de Sistems: Redes de Petri. Kpelusz: Buenos Aires, 1990. [Jcobson93] Jcobson, I.; M. Christerson; P. Jonsson & G. Övergrd. Object-Oriented Softwre Engineering: A Use Cse Driven Approch. 4 th revised printing. Wokinghm: Addison-Wesley, 1993. [Kppel&Schrefl91] Kppel, G. & M. Schrefl. Using n Object-Oriented Digrm Technique for the Design of Informtion Systems. In: Dynmic Modelling of Informtion Systems, H. G. Sol & K. M. vn Hee (eds.), North-Hollnd: Amsterdm, pp.121-164, 1991. [Mrtin&Odell93] Mrtin, J. & J. Odell. Principles of Object-Oriented Anlysis nd Design. Englewood Cliffs: Preintice-Hll, 1993. [Monrchi&Puhr92] Monrchi, D. & G. Puhr. A Reserch Typology for Object-Oriented Anlysis nd Design. Communictions of the ACM, New York, v.35, n.9, pp.35-47, Sep. 1992. [Olle82] Olle, T. W. Comprtive Review of Informtion Systems Design Methodologies: Problem Definition. In: IFIP WG 8.1 Working Conference on Comprtive Review of Informtion Systems Design Methodlogies, 1982, Noordwijkerhout. Proceedings... Amsterdm: North-Hollnd, pp.8-9, 1982. [Rubin&Goldberg92] Rubin, K. & A. Goldberg. Object Behvior Anlysis. Communictions of the ACM, New York, v.35, n.9, pp.48-62, Sep. 1992. [Rumbugh91] Rumbugh, J.; M. Blh; W. Premerlni; F. Eddy & W. Lorensen. Object-Oriented Modeling nd Design. Englewood Cliffs: Prentice-Hll, 1991. [Shler&Mellor92] Shler, S. & S. Mellor. Object Life Cycles: Modeling the World in Sttes. Englewood Cliffs: Prentice-Hll, 1992. [Tslgtidou&Loucopoulos91] Tslgtidou, A. & P. Loucopoulos. An Object-Oriented Rule-Bsed Approch to the Dynmic Modelling of Informtion Systems. In: Dynmic Modelling of Informtion Systems, H. G. Sol & K. M. vn Hee (eds.), North-Hollnd: Amsterdm, pp.165-188, 1991. [Yourdon94] Yourdon, E. Object-Oriented Systems Design: A Integrted Approch. Englewood Cliffs: Prentice- Hll, 1994.