Linguagens de Modelagem (cont.) (IV) Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br Graph Transformation e UML Graph Transformation e UML • Diagrama estendidos – Diagrama de case de uso -> Diagrama UER – Diagrama de classe • Propõe o uso de transformações aplicadas a gráficos para descrever o sistema antes e depois da execução de um caso de uso • Fase de requisitos • Fase de análise (foca na troca de mensagens) • Fase de design (foca na execução do agente) Software Engineering Lab (LES) – PUC-Rio Mensagem x Operação • Mensagem: – Agentes enviam e recebem mensagens • Operação: – Agentes executam operações – Não são chamadas por outros agentes/objetos – São invocadas pelo próprio agente para atingir um objetivo • As mensagens recebidas, são analisadas e o agente executa ou não uma operação de acordo com a mensagem Software Engineering Lab (LES) – PUC-Rio Fase de Requisitos (foco: caso de uso) • Diagrama de caso de uso • Diagrama de classe – Agentes entidades ativas – Agentes possuem atributos e responsabilidades • Diagrama de transformação – Transformações como conseqüência da ocorrência de um caso de uso • Diagrama de seqüência – Usado para complementar a descrição de casos de uso Software Engineering Lab (LES) – PUC-Rio Diagrama UER • Diagrama de caso de uso para modelar agentes e objetivos objetivos agente Software Engineering Lab (LES) – PUC-Rio Diagrama de classe agente Software Engineering Lab (LES) – PUC-Rio Diagrama de transformação caso de uso Software Engineering Lab (LES) – PUC-Rio sai de uma conta para a outra Diagrama de seqüência mensagens com atos da fala Software Engineering Lab (LES) – PUC-Rio Fase de análise (foco: mensagens) • Modelo estrutural – Diagrama de classes – Especificam as mensagem dos agentes • Modelo funcional – Diagrama de transformação – Transformações decorrentes da aplicação de mensagens – Regras de transformação podem estar incompletas • Modelo dinâmico – Diagrama de seqüência – Descreve a comunicação associada a um protocolo – Reforça a semântica em relação ao diagrama da fase de requisitos Software Engineering Lab (LES) – PUC-Rio Diagrama de classe mensagens Software Engineering Lab (LES) – PUC-Rio Diagrama de seqüência Software Engineering Lab (LES) – PUC-Rio Fase de design (foco: operações) • Modelo estrutural – Diagrama de classes – Adiciona operações autônomas • Modelo funcional – Diagrama de transformação – Descreve a conseqüência da aplicação de uma operação • Modelo dinâmico – Diagrama de estado – Especifica a ordem de operações Software Engineering Lab (LES) – PUC-Rio Diagrama de classe operações Software Engineering Lab (LES) – PUC-Rio Diagrama de transformação operação Software Engineering Lab (LES) – PUC-Rio Diagrama de estado nome da operação Software Engineering Lab (LES) – PUC-Rio Fipa Modeling Fipa Modeling Agent Classifier classified instance classifier 1..* Agent Class supporting basic class 0..* Structured Classifier (from Composite Structures) Instance Specification (from Kernel) Classifier (from Kernel) 0..* permitted roles Agent Role Class 0..* group roles Software Engineering Lab (LES) – PUC-Rio Agent 1..* /group member 0..* Agentified Group /group Group 0..* assigned group 1..* Non-Agentified Group