[ci2015] mbse

46

Upload: christopher-cerqueira

Post on 11-Aug-2015

79 views

Category:

Education


4 download

TRANSCRIPT

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

MDSEModel Driven System Engineering

22:24:33 4

Como é feita a engenharia

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.

Bemmmmmm e então!?

Modelo

Modelo

Modelo

Modelo → Equipamento Real

Equipamento

Equipamento

Tudo OK!

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.

Vídeo motivacional

• MBD MATLAB/SIMULINK

22:24:34 9MDSE

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

ENTENDENDO O PROBLEMA  A SER MODELADO

22:25:44 17

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 21

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

SysML - Modelos

Básico do SysML (System Modelling Language)

MODELANDO NO MATLAB

22:25:45 25

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

Exemplo de funcionamento: Controle power supply via simulink

22:25:46 27MATLAB

GRAPH BASED DESIGN LANGUAGE

22:25:46 28

Desafio: Como implantar

MBSE em uma etapa do ciclo de vida??(no estudo de

caso: Fase 0)

29

Perguntas:

1. Quais são as linguagens

computacionais para descrever

modelos!??!

2. Os engenheiros

tem facilidade de modelar

nas linguagens disponíveis!??!

3. Como simplificar o linguajar para descrição

de modelos? E tornar modelagem e simulação

natural para a engenharia...

E por fim4. Como aplicar este

linguajar a um cenário de engenharia espacial ?

Evolução das linguagens computacionais

Evolução das linguagens computacionais

36

Linguagens de design

Mudança de paradigma de design

38

Motor de decisão baseado em regras – if then (ASAP)

Sequência de atividades

Regras de construção (topologia)

Programando em lógica de design

Topologias x Interfaces entre os elementos de sistema

Grafo final de um

sistema

O que nós aprendemos hj?!!?

● 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

[email protected]

Satélite – 95. R:7321