Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Caso de referência de engenharia de sistemas com base em modelo (MBSE): Parte 2. Desenvolva processos com foco em dados para análise e design de sistemas distribuídos

Mohit Choudhary, Systems Engineer, Author1 company
Mohit Choudhary é arquiteto de soluções com base em modelo com ampla experiência no desenvolvimento de sistemas com alto uso de software com tecnologia avançada. Ele tem 12 anos de experiência com captura, design, desenvolvimento e manutenção de requisitos para sistemas de combate naval com alto uso de software.

Resumo:  Sistemas distribuídos são inerentemente orientados aos dados, com entidades de dados ditando os limites do subsistema e interação de dados específica que define a característica dinâmica de um sistema. O foco sobre entidades de dados e seu comportamento em ambientes distribuídos não pode ser negligenciado. Dessa forma, o desvio das portas e interfaces (interações e atributos de dados) como uma consequência da análise funcional em um fluxo de trabalho MBSE típico, como o processo de engenharia de sistemas do IBM® Rational® Harmony, parece uma extravagância em um caso como esse. Neste artigo, exploramos como desenvolver um processo MBSE adequado para análise e design de sistemas distribuídos.

Visualizar mais conteúdo nesta série

Data:  09/Dez/2011
Nível:  Introdutório Também disponível em :   Inglês
Atividade:  776 visualizações
Comentários:  


Na parte 1 desta série, obtivemos o design do sistema de um controlador terrestre de UAV usando a engenharia de sistemas do IBM Rational Harmony como um processo nos orientando a mostrar os subsistemas e as interfaces lógicas. No entanto, o design dos sistemas distribuídos é frequentemente centrado em dados, onde as entidades de dados assumem o lugar de cidadãos de primeira classe no design de um sistema. Dessa forma, parece apenas óbvio aprimorar um pouco o processo de engenharia de sistemas do Rational Harmony a fim de permitir que o processo de design se concentre nas entidades de dados e ainda assim leve a qualidade de um processo MBSE maduro como a engenharia de sistemas do Rational Harmony para o design.

No design de sistemas distribuídos, é necessário definir essas interações de dados por meio de uma linguagem de interface evoluída que não apenas garante a consistência dos diversos subsistemas durante toda a interação, mas que também possa capturar a intenção e comportamento de interação do conjunto de dados na própria linguagem. Uma etapa como essa na linguagem de especificação de interface em evolução é a especificação de Data Distribution Service (DDS) do OMG (consulte Recursos). Embora o hand-off no final de um processo padrão de engenharia de sistemas do Rational Harmony (consulte Recursos) seja suficiente para mostrar o ICD operacional entre subsistemas das interfaces lógicas obtidas, o mapeamento dessas interfaces lógicas para os desenvolvimentos de troca de informações com Data Distribution Service (DDS) talvez não seja direto.

Neste artigo, tentamos aprimorar o fluxo de trabalho padrão do processo de engenharia de sistemas do Rational Harmony de modo que ele suporte a dissonância distribuída em vez do Rational Harmony. Primeiro, você verá desenvolvimentos da especificação DDS e a Análise de Problem-frame (consulte Recursos). Em seguida, executamos as etapas envolvidas no processo MBSE modificado que engloba o DDS completo durante todo processo de análise e design dos sistemas distribuídos. Finalmente, você poderá executar as etapas usando o mesmo caso de referência usado na parte 1 do artigo.

Entenda o DDS e a análise de problem-frame

A especificação de Data Distribution Service (DDS) do OMG é separada em camadas de arquitetura. A camada inferior é Data Centric Publish and Subscribe (DCPS), que contém interfaces de digitação segura para um mecanismo de comunicação de publicação e subscrição. A camada superior é Data Local Reconstruction Layer (DLRL), que permite aos desenvolvedores de aplicativo criar um modelo de objeto local sobre a camada DCPS, a fim de proteger o aplicativo contra o conhecimento de DCPS. O contexto deste artigo é limitado a alguns desenvolvimentos específicos de DCPS.

Publicação e subscrição centrada nos dados

A camada DCPS dissemina dados de publicadores para assinantes interessados. Ela é implementada usando os conceitos de publicador e produtor de dados no lado remetente e assinante e leitor de dados no lado receptor. A camada DCPS é composta por um ou mais domínios de dados, cada um deles contendo publicadores e assinantes que se comunicam via DDS. Cada publicador e assinante pertence a um domínio. Em qualquer domínio de dados, os dados são identificados por um tópico, que é um segmento de domínio específico ao tipo e permite aos publicadores e assinantes consultar os dados sem ambiguidade.

Dentro de um domínio, um tópico associa um nome de tópico, tipo de dados exclusivo e um conjunto de políticas de qualidade de serviço (QoS) com os próprios dados. Cada tópico é associado a um tipo de dados, embora diversos tópicos diferentes possam publicar o mesmo tipo de dados. O comportamento de publicadores é determinado pelas políticas de QoS associadas ao publicador, produtor de dados e elementos do tópico para uma origem de dados específica. Igualmente, o comportamento dos assinantes é determinado pelas políticas de QoS associadas ao assinante, leitor de dados e elementos de tópico para um coletor de dados. Algumas das políticas e operações de QoS especificadas na linguagem e usadas no caso de referência são exibidas na Tabela 1 e 2 respectivamente. As políticas e operações de QoS.


Tabela 1. Documentando as políticas relevantes de QoS do DDS
QoSDescrição
Vivacidade Verifique isso para ter certeza de que as entidades esperadas no sistema ainda estão ativas.
Confiabilidade Determina o nível de confiabilidade exigida para a entrega de amostras.
Histórico Controla o que acontece a uma instância cujo
valor muda antes de ser comunicado aos assinantes.
Tempo de vida
Evita o fornecimento de dados "obsoletos" para o aplicativo.
Prazo final Estabelece a expectativa de que cada instância do tópico seja atualizada periodicamente dentro do prazo.


Tabela 2. Documentando as operações de DDS relevantes
OperaçãoDescrição
Read
Acessa uma coleção de valores dos dados do leitor de dados.
Take Remove uma amostra do leitor de dados de modo que as operações de leitura ou de tomada não possam ser realizadas nele.
Wait set &
Listener
Avisa o aplicativo sobre as alterações no status de comunicação do DCPS.
Content filter Filtra as amostras de tópico recebido com base em atributos.
Data_Available
Sinalizador de mudança de status que indica a disponibilidade dos dados no leitor.
Read with
condition
Tem acesso de "leitura" às amostras que correspondem aos critérios especificados na condição. A condição pode ser uma condição de leitura ou uma condição de consulta.

Análise de Problem-frame

A abordagem de Problem Frames é uma abordagem de análise de requisitos. Ela permite que você categorize os requisitos do sistema como um conjunto de problemas pré-definidos análogo aos padrões de design no espaço da solução. Após a categorização, os problemas podem ser facilmente explicados respondendo um conjunto de perguntas padrão associado a cada quadro de problemas. A Figura 1 mostra como a técnica foi usada neste artigo para documentar os artefatos do caso de referência.


Figura 1. Documentação por meio de quadros de problemas

Visualização maior da Figura 1.

Fluxo de trabalho proposto

O fluxo de trabalho proposto para o processo é exibido na Figura 2.


Figura 2. Fluxo de trabalho para o processo MBSE

Após definir os casos de referência no nível do sistema na fase de análise dos requisitos, o processo tem como objetivo definir as entidades de dados, atributos e operações para cada um dos casos de uso do sistema por meio da análise de quadro de problemas. É possível usar o quadro de problemas de informação para desenvolver as entidades do modelo e seus atributos, os quadros de problema de conexão e transformação para definição do comportamento dessas entidades e o quadro de problema de material para desenvolver as operações nas entidades definidas.

Em seguida, precisamos definir o modelo de informações do sistema com base nas entidades identificadas na fase de análise de quadro de problemas. O artefato produzido por essa análise é o modelo de tópico que define o nome, o tipo e a qualidade de serviço de tópicos DDS identificados. Como temos o modelo de tópico, na próxima fase da análise funcional de entidade você se concentrará na realização de análises funcionais que envolvem as operações de ciclo de vida das entidades de modelo de tópico identificadas. É possível usar o diagrama de atividades de caixa preta para capturar os fluxos paralelos de ciclo de vida de cada uma das entidades identificadas. Além disso, você precisa gerar os cenários de caso de uso de caixa preta combinando um ou mais fluxos a fim de estabelecer os fluxos funcionais reais como diagramas de sequência. Use a sequência para gerar as portas e interfaces do bloco de caso de referência. Em seguida, capture o comportamento com base no estado do caso de referência e verifique os diagramas de sequência gerados, comparando-os aos diagramas de sequência de cenário de caixa preta.

A síntese do design começa realizando a decomposição estrutural do sistema, não apenas com base nas principais funções, mas também nas próprias entidades de modelo. Na próxima etapa, enquanto descreve o diagrama de atividades de caixa branca, você precisa incluir DDS-Data-space como um dos componentes do subsistema a fim de corrigir os fluxos funcionais independentes. A definição do DDS-Data-space como um componente do subsistema permite que a máquina de estado de caixa branca execute como um modelo executável, preservando a separação no tempo e espaço desejado por meio do uso de DDS. Agora, é possível verificar esse modelo executável comparando os diagramas de sequência que geramos com base naqueles produzidos com cenários de caixa branca. Por fim, você precisa gerar o Internal block diagram (IBD) do sistema que mostra as portas e interfaces de caixa branca. Como era previsível, as interfaces nesse caso mapeiam individualmente para os tópicos no modelo de informações que já definiu adequadamente os atributos e seus comportamentos.

Análise de Problem-frame

O escopo dessa análise, definido pelo caso de referência Perform Area Search, é a detecção de UAVs em voo, atribuindo áreas de pesquisa aos UAVs, adquirindo dados de controle dos sensores e armazenando isso em um modelo de informações. A análise realizada é exibida nas Tabelas 3 e 4.


Tabela 3. Análise do quadro de problema de informação e de conexão
EntidadeAtributos e descrição
UAVInfo: Veículo aéreo não tripulado.
  1. Mundo real: modela as características dos UAVs em voo
    1. Objetos
      1. UAV
    2. Eventos nos objetos e reação no modelo de informações
      1. UAV sem contato
        1. Atualização da posição do UAV não disponível dentro de um prazo final.
        2. Atualizações perdidas são perdidas.
  2. Atributos
    1. Identificação
      1. ID do veículo, enviado pelo UAV
      2. Nenhum outro atributo de identificação, não gerado pelo sistema
    2. Informações sobre horário
      1. Atualizar horário – informações do horário da posição atualizadas
      2. Tempo de voo disponível – informações do tempo restante no voo
    3. UAVstate
      1. Procura designada
      2. Procura não designada
    4. informações do sensor
      1. Lista de sensores disponíveis com atributos
    5. Dados do próprio veículo
      1. Dados da posição
      2. Dados da movimentação
  3. Dados
    1. nenhum histórico de atualizações. Somente valor instantâneo.
Sensor: usado pelo UAV para detectar trilhas.
  1. Tipos de sensor
    1. SAR
    2. FLIR
    3. OPTICAL
  2. Atributos do sensor
    1. Hora de início do sensor – usado para determinar se o sensor está ativo.
    2. Estado
      1. Ativo
      2. Inativo

Controles do sensor: um conjunto de medidas de um alvo específico por meio do qual a posição e a movimentação do alvo podem ser computadas.

O controle existirá como uma estrutura de informações separada somente se houver dados adicionais necessários no nível de um controle que não estejam disponíveis em uma determinada amostra para esse controle.

  1. Mundo real: modela as informações do controle de sensor enviadas pelo sensor.
    1. Objetos
      1. Emissores/contatos detectados por um sensor
      2. Medidas enviadas pelo sensor. Há uma periodicidade associada às medidas.
    2. Eventos nos objetos e reação no modelo de informações
      1. Sensor sem contato
        1. Medida do controle não disponível dentro de um prazo final.
        2. Medidas de controle perdidas são perdidas, o controle de sensor continua com as medidas a partir do ponto no qual conseguimos a conexão novamente.
      2. O sensor não pode mais contatar o controle – medida de controle não disponível dentro de um prazo final.
      3. O sensor recupera um controle – medida de controle disponível novamente.
      4. Diferenciar entre sensores sem capacidade de controle versus sensor sem contato?
        1. Disponibilidade do status de vivacidade do sensor
  2. Atributos
    1. Identificação
      1. ID, enviado por sensor externo, – composto por
      2. ID do sensor
      3. ID do controle, valor numérico de 1 a 50.
      4. Nenhum outro atributo de identificação, nenhum ID gerado pelo sistema
    2. Informações sobre o horário - <armazenar histórico de cada transição de estado em termos de registro de data e hora do ocorrido.>
      1. Horário da criação – são as informações do horário de medido do sensor, primeira medida para o controle.
      2. Idade do controle – é o tempo decorrido desde a última atualização de medida.
    3. Estado do controle - dependendo da indicação do prazo final das medidas associadas
      1. Ativo
      2. Perdido
    4. Sensor de origem – do ID do sensor em qualquer medição, normalmente definido com base na primeira amostra
  3. Dados
    1. Compostos por uma ou mais medições de controle
    2. Armazena o histórico das medições por um período de 30 minutos
    3. As medições anteriores a esse período são excluídas?
  4. Atributos específicos do sensor
    1. Informações gerais sobre esses atributos: quase todos esses dados são obtidos diretamente dos dados recebidos do sensor e usados para exibir aos usuários.
4. Medidas de controle do sensor
  1. Mundo real: modela uma única amostra de dados enviada por um sensor
  2. Atributos
    1. Identificação – enviada pelo sensor
      1. ID do Sensor
      2. ID do controle – enviado pelo sensor
    2. ID da medição - Número de sequência
    3. Horário da amostra – enviado pelo sensor, precisa ser mantido
    4. Dados válidos ou inválidos (bom/ruim/atrasado) – exige a transformação com base nas validações de intervalo de dados, com base no sensor. Medidas inválidas são rejeitadas pelo sistema.
    5. Dados – uma amostra pode conter um ou mais do seguinte:
      1. Posição – Latitude e Longitude
      2. Projeção usada
      3. Velocidade
  3. Características
    1. Medidas de controle são emitidas por sensores a uma frequência de 1 Hz


Tabela 4. Análise do quadro de problemas de material
Entidade Análise
Informações estáticas
  1. Há alguma informação estática relacionada aos controles de sensor?
    1. Características dos sensores
      1. Os valores RMS dos sensores para erros etc., normalmente uma tabela, usados no sistema para computação
Controles de sensor como problemas de material <operações em uma entidade realizada>
  1. Ações conduzidas pelo operador
    1. Criação
      1. Criação direta das medições do sensor
        1. Idade do controle calculada a partir da atualização da última medição
        2. Primeira medida usada para obter o ID do controle
    2. Selecione um controle de sensor para transformá-lo em um controle do sistema
  2. Relacionado ao ciclo de vida
    1. Atualizando um controle de sensor em uma nova atualização disponível (medição) para o controle.
    2. Limpeza automática dos controles do sensor sem medições no histórico de 30 min.
    3. Arquivamento
      1. Sem requisitos
Medidas do controle de sensor como problema de material
  1. Ações conduzidas pelo operador
    1. Nil – de propriedade do sensor
  2. Relacionado ao ciclo de vida
    1. Indicando um prazo perdido pela atualização
    2. Limpeza automática de medidas mais antigas do que o histórico de 30 min.
    3. Arquivamento
      1. Sem requisitos

Análise do modelo de informações

Nessa etapa, você precisa realizar a análise do modelo de informações usando a análise do quadro de problemas de informações e de conexão da fase anterior. O objetivo desta fase é identificar os tópicos DDS que representam as entidades de dados e seu comportamento. Cada tópico forma a unidade de interação em um ambiente DDS. A representação correta de seu comportamento pode reduzir bastante a responsabilidade dos subsistemas com relação à limpeza e ao gerenciamento genérico. Um subconjunto de modelo de informações representativo do caso de referência é exibido na Figura 2.

É possível ver um exemplo dessa redução no comportamento definido para o tópico "SensorTrackMeasure". A descrição da chave (a lista de campos de dados cujo valor forma a chave) definida neste tópico é uma estrutura composta formada pelo SensorID e trackID. Valores de dados diferentes com o mesmo valor de chave representam valores sucessivos para a mesma instância, enquanto valores de dados diferentes com valores de chave diferentes representam instâncias diferentes. Além disso, o HistoryQosPolicy do tópico é definido como KEEP_ALL com uma profundidade de 1800 para indicar que no máximo 1800 amostras de cada instância é mantida no espaço de dados (a atualização de 1 Hz por 30 minutos). Finalmente, o LifespanQosPolicy com uma duração correspondente a 30 minutos, especifica a duração máxima da validade da amostra de dados no espaço DDS, sendo automaticamente descartada depois disso. A definição desse comportamento sobre a entidade SensorTrackMeasure define sem equívoco o serviço DDS para assumir a responsabilidade do gerenciamento do histórico para a entidade. Agora, seria redundante modelar essa funcionalidade no caso de referência.


Figura 3. Representação do modelo do tópico
Nome do tópico (descrição)Definição do tópicoPolíticas de qualidade de serviçoLógica da qualidade de serviço
<<UC01_04 Medida do controle de sensor >>
este tópico publicará informações sobre a medida do controle de sensor struct idendity
{
unsigned long ulsensorID ;
unsigned long ultrackID;
};
typedef unsigned long measure_ID;
struct SensorTrackMeasure
{
Identity ulSourceID; // owner of meassage
measure_ID ulSeq_no;
unsigned long ullSystemTimemilliSecs; // current time in milliseconds
float fLatitudeDeg; // latitude
float fLongitude Deg; // Longitude
double dXSpeedMtrs; // X coordinate
double dYSpeedMtrs; // Y coordinate
};
#pragma keylist SensorTrackMeasure ulSourseID

Prazo final 1 seg
Ordem de destino BY_SOURCE_TIMESTAMP
Durabilidade Volátil
HistóricoKEEP_ALL
Profundidade do histórico 30
Tempo de vida 1800000 ms
Vivacidade AUTOMATIC
Orçamento de latência 30 ms
Propriedade COMPARTILHADA
ConfiabilidadeBEST_EFFORT
Limite de recurso Padrão
max_samples,
max_instances,
max_samples_per_instance (todos definidos como LENGTH_UNLIMITED)
Prioridade de transporte 1
Serviço de durabilidade Padrão
Observações:

O modelo de tópico representativo na figura 2 descreve o nome, o tipo e as políticas de qualidade de serviço relacionadas ao tópico "SensorTrackMeasure". Usamos um exercício parecido para o restante do caso de referência para descrever os seguintes tópicos:

  • UAVInfo
  • SensorTrack
  • SensorTrackMeasure
  • Command

É importante observar que nem todas as entidades de modelo identificadas durante a fase de análise de quadro de problemas têm correspondência individual ao modelo do tópico.

Análise funcional de entidade

Os dados na fase de análise funcional de entidade são o modelo de tópico e o modelo de análise de quadro de problema de material. Essa fase se concentra na realização da análise funcional das operações de ciclo de vida dos tópicos identificados. Os artefatos produzidos nesta etapa são o diagrama de atividades de caixa preta, os cenários e os gráficos de estado do caso de referência. O diagrama de atividade de caixa preta para o caso de referência é exibido na figura 4, enquanto os cenários representativos e os gráficos de estado são exibidos nas figuras 5 e 6 respectivamente.

O diagrama de atividade de caixa preta representa as ações baseadas em desenvolvimentos DDS como read, write, content_filter ou read_with_query_condition. Esses desenvolvimentos são meios de simplificar os fluxos funcionais. Levar essa ligação ao fluxo de atividades é considerado essencial para conseguir a eficiência funcional por meio do uso de DDS. Por outro lado, os cenários de caixa preta são criados para representar os cenários de mundo real fazendo referência a uma sequência diferente de fluxos gerados na sequência principal que representa o cenário. Essa etapa é muito importante para garantir que os requisitos, entendidos por meio da fase de análise de requisitos, sejam atendidos. Isso, por sua vez, nos ajuda a realizar a análise de suficiência dos tópicos detalhados e das operações que os cercam.

No caso de qualquer incompatibilidade, considera-se essencial voltar e mudar o modelo de informações até que as sequências funcionais desejadas do mundo real sejam alcançadas. Além disso, a obtenção da máquina de estado do caso de uso é bastante direta. A máquina de estado do caso de uso é composta por diversos estados ‘AND' com cada um representando o comportamento do estado dos fluxos funcionais independentes no diagrama de atividades. Enquanto cada um dos fluxos é representado por um estado AND e, dessa forma, é independente em sua execução, ainda assim são unidos por meio dos fluxos de evento de um estado AND para outro, aguarde os subestados para permitir a execução da máquina de estado como um todo. Isso é necessário para verificar as sequências geradas automaticamente por meio da execução do modelo com base nos cenários de caixa preta produzidos anteriormente.


Figura 4. Diagrama de atividades de caixa preta (orientada aos dados)

Visualização maior da Figura 4.


Figura 5. Cenários de caixa preta (orientados aos dados)

Visualização maior da figura 5.


Figura 6. Gráfico de estado de caixa preta (orientado aos dados)

Visualização maior da figura 6.

Síntese de design

A decomposição estrutural do sistema nessa abordagem tem base não apenas na identificação das principais funções do sistema, mas também no modelo de tópico derivado. Além disso, a alocação de funções a partir do diagrama de atividade de caixa branca é realizada por meio da alocação independente de um fluxo completo a partir do diagrama de atividade de caixa preta para uma swimlane. Uma alocação como essa é possível devido à acessibilidade das instâncias e amostras de tópico derivadas entre limites de subsistema por meio do espaço de dados global DDS.

O diagrama de atividades de caixa preta derivado para o caso de uso é exibido na Figura 7. A funcionalidade alocada para a swimlane representando o espaço de dados DDS é a de costurar o restante dos componentes por meio do paradigma de publicação/assinatura. Essa representação é considerada necessária para unir os subsistemas a fim de participar em cenários do mundo real no nível do modelo e também dar vida à máquina de estado de caixa branca executável. A próxima etapa no processo é desenvolver os cenários de caixa branca para o caso de uso, representando a visualização de caixa branca dos cenários de caixa preta. Um cenário de caixa branca representativo é exibido na Figura 8.

Finalmente, nós obtemos as portas e interfaces a partir dos cenários de caixa branca e chegamos ao comportamento de estado de caixa branca dos componentes do subsistema em preparação para o hand-off. O comportamento de estado representativo e as portas e interfaces de caixa branca dos subsistemas são exibidos na Figura 9 e 10, respectivamente.

Os gráficos de estado do subsistema nesse caso, usam exatamente o mesmo padrão que os correspondentes de caixa preta. A única diferença entre os dois é que os eventos que acionam a transição a partir do estado de espera do subsistema são gerados pelo componente DDS-Data-space. A máquina de estado do componente DDS-Data-space é uma representação simulada a fim de permitir a execução de diferentes componentes desacoplados. As máquinas de estado de caixa branca são executadas para comparar os diagramas de sequência gerados com os cenários de caixa branca a fim de estabelecer uma linha de base do modelo para hand-off. Finalmente, as interfaces do subsistema com mapeamento claro para o modelo de tópico são geradas a partir do modelo de linha de base, como mostra a Tabela 5.


Figura 7. Diagrama de atividade de caixa branca (orientada aos dados)

Visualização maior da figura 7.

Figura 8. Diagrama de sequência de caixa branca (orientado aos dados)

Visualização maior da Figura 8.

Figura 9. Comportamento do estado da caixa branca (orientado aos dados)

Visualização maior da figura 9.

Figura 10. Portas e interfaces de caixa branca (orientado aos dados)

Visualização maior da figura 10.


Tabela 5. Lista de interface de caixa branca
BlocoNome da portaTipo de I/FEvento da interfaceNome/Descrição do tópico

MMIController

pOperator

Fornecido

reqSelectUAV

Seleção do operador por meio da interrupção de hardware

reqAbortSearch

Seleção do operador por meio da interrupção de hardware

reqSelectSearchArea

Seleção do operador por meio da interrupção de hardware

reqExecuteSearch

Seleção do operador por meio da interrupção de hardware

pDDSDataSpace

Obrigatório

reqPublishCommand

CommandTopic

SensorTrackManager

pDDSDataSpace

Fornecido

reqOnDataAvailable

SensorTrackMeasureTopic

Obrigatório

reqPublishSensorTrack

SensorTrackTopic

UAVBridge

pDDSDataSpace

Fornecido

reqOnDataAvailable

CommandTopic

Obrigatório

reqPublishUAVInfo

UAVInfoTopic

reqPublishSensorTrackMeasure

SensorTrackMeasureTopic

pUAV

Fornecido

reqRecieveUAVInfo

Mensagem de UAVInfo no link do UAV

reqRecieveSensorTrackMeasure

Medição de SensorTrack no link do UAV

Obrigatório

evSendCommand

Mensagem de comando no link do UAV

DisplayController

pDDSDataSpace

Fornecido

reqOnDataAvailable

SensorTrackTopic

reqOnDataAvailable

UAVInfoTopic

pDisplay

Obrigatório

evUpdateDisplay

Interface no link de exibição

DDSDataSpace

pMMIController

Fornecido

reqPublishCommand

CommandTopic

pUAVBridge

Fornecido

reqPublishUAVInfo

UAVInfoTopic

reqPublishSensorTrackMeasure

SensorTrackMeasureTopic

Obrigatório

reqOnDataAvailable

CommandTopic

pDisplayController

Obrigatório

reqOnDataAvailable

SensorTrackTopic

reqOnDataAvailable

UAVInfoTopic

pSensorTrackManager

Fornecido

reqPublishSensorTrack

SensorTrackTopic

Obrigatório

reqOnDataAvailable

SensorTrackMeasureTopic



Conclusão

A principal preocupação ao agrupar a arquitetura de um sistema distribuído com base em componente é poder definir sem ambiguidade as funções de negócio e suas interfaces entre os subsistemas. Podemos resolver adequadamente essas questões se o sistema aderir aos seguintes princípios de Arquitetura aberta da arquitetura orientada a serviços (SOA) (veja Recursos):

  • Modularidade: isso implica em uma arquitetura que particionou cuidadosamente as funções de negócio e técnicas de uma forma que permita o acesso independente a elas com o mínimo de necessidade de manter o estado entre as interações. O uso do paradigma de publicação e subscrição no design de um sistema distribuído promove de forma inerente o uso da natureza sem estado do design do subsistema. Como fica evidente no caso de referência do documento, cada um dos fluxos de atividade independente representam naturalmente um estado AND do componente, enquanto o único estado predominante em cada estado AND é o estado de espera de cada fluxo. O comportamento fica amplamente sem estado depois disso, resultando na criação ou atualização de uma entidade definida, que por si só é exposta ao restante do sistema por meio de uma operação de gravação e nunca é preservada. Um design como esse naturalmente exibe as propriedades de um sistema modular que preserva o estado mínimo entre as interações.
  • Padrões abertos: o uso de padrões abertos afeta mais o design do sistema distribuído onde esses padrões precisam lidar com a descrição de serviço, descoberta e acesso de funcionalidade. SysML é uma linguagem de modelagem com base em um padrão aberto, assim como a especificação DDS. SysML é a linguagem para definição clara da funcionalidade do sistema ou do subsistema. Embora DDS seja uma linguagem para definição clara de interfaces de subsistema, ela também encapsula magicamente os mecanismos de descoberta e acesso.
  • Interoperabilidade: nos sistemas distribuídos, a interoperabilidade depende de uma sintaxe e semântica de interface bem definida. DDS, como uma linguagem de interface, não apenas expõe claramente a capacidade da interface com relação a o que ela faz, mas também a semântica e o comportamento relevante do modelo de dados. Isso não deixa escopo para interpretações equivocadas dos dados por meio da aplicação do contexto errado em sua interpretação.

Dessa forma, unir os dois ativadores, ou seja, DDS e SysML, em um processo MBSE parece definitivamente uma história de sucesso para a análise e design de sistemas distribuídos, uma que segue de perto o caminho definido por um processo maduro como a engenharia de sistemas do Rational Harmony, que tem base nas melhores práticas de engenharia de sistemas.


Recursos

Aprender

  • Visite a área do software Rational no developerWorks para obter recursos técnicos e boas práticas para os produtos do Rational Software Delivery Platform.

  • Fique por dentro doseventos técnicos e webcasts do developerWorks com foco em uma variedade de produtos IBM e tópicos do segmento de mercado de TI.
  • Melhore suas qualificações. Consulte o Treinamento e certificação do Rational que inclui muitos tipos de cursos em uma ampla variedade de tópicos. É possível realizar alguns deles em qualquer local, a qualquer momento, e muitos dos cursos para iniciantes são gratuitos.

  • Leia "Serviço de distribuição de dados para sistemas em tempo real, versão 1.2 "Especificação formal disponível de OMG /07-01-01.

  • Systems Engineering Best Practices with the Rational Solution for Systems and Software Engineering por Hans Peter Hoffman; release impresso

  • Leia, de Michael Jackson, "Problem Frames: Analyzing & Structuring Software Development Problems"

  • Leia "Open Architecture Technical Principals and Guidelines 1.5.8" escrito por Eric M. Nelson.

Obter produtos e tecnologias

  • Faça download de uma versão gratuita do software Rational.

  • Avalie outros produtos de software da IBM da forma que melhor lhe convier: faça o download da versão de avaliação, experimente-a on-line, use-a em um ambiente de nuvem ou passe algumas horas no SOA Sandbox aprendendo a implementar Arquitetura Orientada a Serviços de forma eficiente.

Discutir

Sobre o autor

Mohit Choudhary é arquiteto de soluções com base em modelo com ampla experiência no desenvolvimento de sistemas com alto uso de software com tecnologia avançada. Ele tem 12 anos de experiência com captura, design, desenvolvimento e manutenção de requisitos para sistemas de combate naval com alto uso de software.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=780019
ArticleTitle=Caso de referência de engenharia de sistemas com base em modelo (MBSE): Parte 2. Desenvolva processos com foco em dados para análise e design de sistemas distribuídos
publish-date=12092011

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).