280 likes | 515 Views
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.
E N D
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 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 - 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
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 – Blocos: definição vs utilização
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 – 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 – “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 – 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