Post on 07-Apr-2016
OMG SysML
IST – 2006M6661 - Nuno Rosa
SysML - Objectivos Objectivos:
Compreender o valor que o SysML trás para o Desenvolvimento de Sistemas
Compreender os conceitos básicos do SysML
SysML – Sistema Um Sistema disponibiliza um
conjunto de serviços (que uma empresa usa para atingir os seus objectivos – missão). São componentes (elementos) de um Sistema: o hardware, o software, os dados, os colaboradores*
O processo de desenvolvimento de Sistemas é a abordagem multi-disciplinar que permite definir um Sistema (de Sistemas) incluindo componentes de hardware e software que colaboram para atingir os resultados desejados.
*Blanchard and Fabrycky, Systems Engineering and Analysis (3rd ed.), Prentice Hall, 1998
SysML - Motivação Alinhamento entre hardware / software
Agilidade Reutilização
Muitas disciplinas Hardware, software, Factores Humanos, logistica, IT,
modelação de negócio, dominio, utilizadores/operadores, …
Rapida mudança de Requisitos Contexto (ambiente) Tecnologia
Mais Tecnologia Mais compromissos
Muito Mais Software Para Desenvolver Para Manter
SysML – “Model-Driven” Desenvolvimento de Sistemas Orientados a Modelos
(Model-Driven Systems Development (MDSD) ) é uma framework que define um processo para o co-desenvolvimento de hardware e software em sistemas complexos
Usa modelos como artefactos (entidades) ao longo do ciclo de vida do processo de desenvolvimento
Facilita a comunicação entre os stakeholders na equipa de desenvolvimento
Disponibiliza mecanismos e abstrações que permitem tratar complexidade de uma forma disciplinada
SysML suporta cada um dos aspectos enunciados do MDSD e é uma parte, importante, no todo de uma abordagem MDSD global
SysML - Objectivos Objectivos:
Compreender o valor que o SysML trás para o Desenvolvimento de Sistemas
Compreender os conceitos básicos do SysML
SysML - Introdução
Moving from document centric to model centric
Especificações Requisitos de interface Desenho do Sistema Análise Plano de Testes
SysML - Definição Uma linguagem de modelação gráfica à
semelhança do “UML for Systems Engineering RFP” desenvolvido por OMG, INCOSE e AP233
um subconjunto do UML 2 com extensões Suporta a especificação, análise, desenho,
verificação e validação de sistemas o que inclui hardware, software, dados, pessoal, processos e infra-estrutura
Suporta XMI como forma de partilhar dados e modelos bem como o standard AP233 (em desenvolvimento)
SysML – Definição (cont.)
É uma linguagem de modelação visual (gráfica) que disponibiliza Semântica = significado Notatção = representação do significado
Não é uma metodologia ou uma ferramenta SysML é independente de qualquer
metodologia ou ferramenta
SysML – Definição (cont.)
SysML
SysML – Diagarams de Estrutura
SysML - Blocos Um conceito único para descrever a
estrutura de um qualquer elemento do sistema
Hardware Software Dados Procedimento Infra-estrutura Pessoa
Os vários compartimentos servem para descrever as características do bloco
Propriedades (“part”, referencias, valores) Operações Restrições Alocações ao bloco (e.g. actividades) Requisitos que o bloco satisfaz
SysML – Blocos: definição vs utilização
Definição Bloco é uma definição/tipo Captura propriedades, etc. Reutilizado em vários contextos
Utilização “part” é a utilização num
dado contexto Tipificado por um bloco Também conhecido como
“papel”
SysML - Portos Espsecifica pontos de interacção
em blocos e “parts” Suporta integração de
comportamento e estrutura Tipos de portos
Porto Standard (igual em UML) Especifica um conjunto de
operações e/ou recepção de sinais
Tipificado pelo elemento Interface de UML
Porto de Fluxo (Flow Port) Especifica o que pode fluir de ou
para um bloco/”part” Tipificado por uma especificação
de bloco ou fluxo
SysML - Parametrizações Utilizado para modelar restrições
(equações) entre caracteristicas Disponibiliza suporte para analise
(e.g. performance, nivel de confiança)
O bloco que define uma restrição captura “equações” (expressões)
A linguagem que expressa as restrições pode ser formal (e.g., MathML, OCL) ou informal
O Motor Computacional que faz análise sobre as restrições definidas é definido pela ferramenta de análise (qualquer que seja) e não pelo SysML
Um diagrama Parametrico representa a utilização das restrições definidas num contexto de análise
SysML – Diagramas de Comportamento
SysML – Diagrama de Actividades
Utilizado para especificar o fluxo de inputs/outputs e controlo, incluindo sequências e condições para coordenar actividades
Opcionalmente é possivel associar responsibilidades às actividades utilizando “swim lanes”
Extensões do SysML às Activitidades
Suporte para: “continuous flow modeling”
Alinhamento de actividades com: “Enhanced Functional Flow Block Diagram (EFFBD)”
SysML – Diagrama de Sequência
Permite a representação de comportamento baseado em mensagens
representa fluxo de controlo descreve interacções
Disponibiliza mecanismos para representar cenários complexos
referência de sequências lógica de controlo decomposição de linhas de
vida
SysML – Máquina de Estados
Tipicamente representa o ciclo de vida de um bloco
Suporta comportamento baseado em eventos (geralmente assincronos)
Um estado tem entrada, saída e execução
Pode incluir estados aninhados (sequenciais or concorrentes)
Pode enviar/receber sinais para estabelecer comunicação entre blocos durante a transição de estados, etc.
SysML – Casos de Uso
Permite descrever funcionalidades do sistema em termos de utilização/objectivos pelos/dos actores
SysML – “Cross-cutting Constructs”
SysML – “Allocations”
Representa relações que mapeiam um elemento do modelo noutro
Existem vários tipos de “alocações” :
de comportamento (i.e. função a componente)
de estrutura (i.e., lógico a físico) de Software a Hardware ….
“Alocação” explicita de actividades à estrutura via “swim lanes”
Existe representação gráfica e tabular
SysML - Requisitos
O estereótipo «requirement» representa um requisito baseado em texto (definido textualmente)
Inclui identificador e propriedades Pode ter propriedades definidas pelo utilizador(e.g.
método de verificação) Pode ter categorias definidas pelo utilizador (e.g.
funcional, de interface, de “performance” Hierarquia de requisitos descreve os requisitos
contidos numa especificação Relações entre requisitos incluem: DeriveReqt,
Satisfy, Verify, Refine, Trace, Copy
SysML – Requisitos (cont.)
SysML
SysML – Conclusão (benefícios)
Gerir complexidade Capacidade de abstrair detalhe. (“drill down for details”)
Melhor comunicação Entre stakeholders internos/equipas e clientes
Reduzir ambiguidade e erros Linguagens formais como SysML e UML oferecemm notações
precisas que deixam menos espaço a erros de interpretação “Cross cutting constructs” (alocações, requisitos) disponibilizam
mecanismos que garantem a consistencia e completude do modelo
Modelos podem servir de base ao desenho e consequente implementação
Elementos SysML podem ser transformados em UML para gerar componentes de software. A rastreabilidade pode ser mantida.
Modelos podem ser simulados, documentos não.
SysML – Notas Finais OMG – Object Management Group INCOSE – International Council on
Systems Engineering AP233 – Application Protocol 233
http://www.omgsysml.org/SysML-Tutorial-Baseline-to-INCOSE-060524-low_res.pdf