OMG SysML
IST – 2006
M6661 - 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 multidisciplinar 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



Muitas disciplinas




Requisitos
Contexto (ambiente)
Tecnologia
Mais Tecnologia


Hardware, software, Factores Humanos, logistica, IT, modelação
de negócio, dominio, utilizadores/operadores, …
Rapida mudança de


Agilidade
Reutilização
Mais compromissos
Muito Mais Software


Para Desenvolver
Para Manter
SysML – “Model-Driven”

Desenvolvimento de Sistemas Orientados a Modelos (ModelDriven 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





Especificações
Requisitos de interface
Desenho do Sistema
Análise
Plano de Testes
Moving from document centric to model centric
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 –

Definição



Blocos: definição vs utilizaçã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


O bloco que define uma restrição
captura “equações” (expressões)



Disponibiliza suporte para analise (e.g.
performance, nivel de confiança)
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 –

Permite a representação
de comportamento
baseado em mensagens



Diagrama de Sequência
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 –


Representa relações que mapeiam
um elemento do modelo noutro
Existem vários tipos de
“alocações” :






“Allocations”
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 
O estereótipo «requirement» representa um requisito
baseado em texto (definido textualmente)





Requisitos
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 –

Gerir complexidade



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


Entre stakeholders internos/equipas e clientes
Reduzir ambiguidade e erros


Capacidade de abstrair detalhe. (“drill down for details”)
Melhor comunicação


Conclusão (benefícios)
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/SysMLTutorial-Baseline-to-INCOSE-060524low_res.pdf
Download

Slide 1