MDSE (MODEL DRIVEN SYSTEM ENGINEERING)
Fundamentos
Modelagem com Máquinas de Estados em MATLAB
Christopher Cerqueira
22:24:33 2
Quests dessa manhã!
• Apresentar sobre MDSE (Model Driven System Engineering)
• O que estamos fazendo
• Entendendo o Problema
• Modelagem SysML
• Modelando no MATLAB
• Graph Based Design Language
22:24:33 3
Como é feita a engenharia
● Concepção de missão: são criado modelos, para verificar a viabilidade a missão.
● Requisitos/Arquitetura (Projeto Simplificado): são criado modelos, para especificar como o produto deve ser desenvolvido.
● Projeto detalhado: são criado modelos, específicos de como os equipamentos devem funcionar.
● Implementação: são realizados processos para concretizar os modelos.
● Integração: testa-se os objetos concretos frente aos modelos detalhados.
● Operação: utiliza-se os objetos.
3 Eras de escrita de requisitos:● Requisito textual
● Requisito diagramático
● Requisito dinâmico (modelo/simulação)
REQ001 – O churrasco do curso de inverno deve conter carne.
MD(S)E é uma mudança de paradigma
MDE Lectures – Prof. Jean Bézivin
22:24:34 10MDSE
Mudança de paradigma: unificação de objetos via modelos
Modelos
• Um modelo é uma imagem simplificada de um sistema.
• Sistema: “A system is a set of elements in interaction” (von Bertalanffy)(1)
• Modelo vem da palavra em latim “modullus”, diminutivo de “modus” (medida)
• As terminologias são recentes mas a ideia é antiga
(1) Model Based Systems Engineering: Fundamentals and Methods Por Patrice Micouin
22:24:34 11MDSE
MD(S)E
MD(S)E é um conjunto de práticas de engenharia, baseadas em ferramentas
que utilizam ao mesmo tempo meta-modelagem e transformações de
modelos para atingirem automaticamente objetivos em produção, manutenção ou operação de sistemas intensivos em
software.
22:24:34 12MDSE
Relações
Uma sistema, entidade, fenômeno ou processo
22:24:34 13MBSE
Um modelo pode ser transformado em outro modelo.É realizados através de mudanças conhecidas.
Três tipos principais de aplicações MDE
MDE
Geração automática Descoberta do Modelo Interoperabilidade de sistemas
22:24:35 14MDSE
Níveis de maturidade de MDE
What's Model Driven Engineering. (MDE) and How Can it Impact Process, People,Tools and Productivity. Mark R. Blackburn, Ph.D. Systems and Software
22:24:36 15MDSE
Múltiplos nomes
● MDD – Model Driven Development● MDSD – Model Driven Software Development● MDA – Model Driven Architect● MDSE – Model Driven Software Engineering● MDRE – Model Driven Reverse Engineering● MM – Model Management● ADM – Architecture Driven Modernization● DDD – Domain Driven Design● MBD – Model Based Development● DSL – Domain Specific Language● … → infinito
Exemplo de um projeto
• Representar o comportamento de um satélite simples através das ferramentas MatLab e JPlavisFSM.
• Projeto similar foi feito no Curso de Inverno 2014 – INPE. Com orientação de: Christopher, Paulo, Italo e Rodrigo. Utilizando LabView.
22:25:45 18Entendendo o problema
Identificando Eventos
• Iluminação* (não foi colocado)
• Ligado. (Sigla: E – Enable / nE – not Enable)
• Transmissão. (Sigla T – Transmit / nT – not Transmit)
• Filmagem. (Sigla: F – Film / nF – not Film)
• Estados possíveis = • 4 eventos binários = 16 estados possíveis (teóricos)
• Para simplificar ( e fazer sentido) utilizou-se 5 estados:• (1) Desligado, (2) Stand-by, (3) Transmitindo e Gravando, (4)
Transmitindo e (5) Gravando
22:25:45 19Entendendo o problema
Autômato do Satélite (JPlavisFSM)
22:25:45 20Entendendo o problema
Casos de testes gerados automaticamente:
SysML
22:25:45● SysML é uma linguagem de modelagem gráfica em resposta ao UML para
Engenharia de Sistemas
● SysML suporta especificação, análise, projeto, verificação e validação de sistemas incluindo hardware, software, dados, pessoal, procedimento e infraestruturas.
● Dados são salvos, em XML.
● http://www.omgsysml.org/
● SysML V1.4 Beta Specification – Março 2014
MATLAB e StateFlow
• Modeling environment, graphical components, and simulation engine for modeling and simulating complex logic
• Deterministic execution semantics with hierarchy, parallelism, temporal operators, and events
• State diagrams, state transition tables, and state transition matrices representing finite state machines
• Flow charts, MATLAB functions, and truth tables for representing algorithms
• State diagram animation, state activity logging, data logging, and integrated debugging for analyzing the design and detecting run-time errors
• Static and run-time checks for transition conflicts, cyclic problems, state inconsistencies, data-range violations, and overflow conditions
• Mealy and Moore finite-state machines
http://www.mathworks.com/products/stateflow/
22:24:38 26MATLAB
3. Como simplificar o linguajar para descrição
de modelos? E tornar modelagem e simulação
natural para a engenharia...
Motor de decisão baseado em regras – if then (ASAP)
Sequência de atividades
Regras de construção (topologia)
● Deve-se evoluir os modelos no ciclo de vida. REUSO = NÃO PERDER TEMPO
● Deve-se entender os papéis de cada um da sua instituição.
● Modelando PlavisFSM
●
●
●
Fundamentos e Modelagem
Msc. Christopher Cerqueira
fb.com/RVA.BR
Satélite – 95. R:7321