Relatório Descritivo da Patente de Invenção para SISTEMA DE ANÁLISE E COMENTÁRIO DE DOCUMENTO BASEADO EM SINTAXE E PRODUTO.
Antecedentes da Invenção
Campo da Técnica [001] A presente invenção refere-se à análise de documento.
Especificamente, esta invenção se refere à análise talhada de tipos de documento específicos, como, por exemplo, especificações de exigências.
Técnica Relacionada [002] Os rápidos desenvolvimentos na tecnologia de computador suscitaram a adoção muito difundida de aplicações de autoria de documento. Hoje, uma parte significativa da moderna força de trabalho gera documentos usando um processador de texto. Infelizmente, a habilidade de escrita do indivíduo típico não foi aperfeiçoada em lugar algum próximo ao passo da tecnologia. Como um resultado, a tecnologia de computador frequentemente resulta em geração mais rápida de documentos mal escritos, em vez da produção eficiente de produto de trabalho claro, consistente e sem ambiguidade.
[003] Ao mesmo tempo, há desafios técnicos significativos na análise e no provimento de realimentação construtivo em documentos. Os próprios documentos variam amplamente em propósito, formato, e conteúdo, e não há uma estrutura adaptável e flexível no lugar para análise de documento, comentário, ou relatório específico. As aplicações de autoria de documento proporcionam apenas ferramentas básicas que cooperam com os autores para aperfeiçoar a qualidade do documento. Coma ocorrências, as ferramentas análises como, por exemplo, verificadores de ortografia e verificadores de gramática proporcionam apenas análise em um nível geral, como, por exemplo, verificações das regras fundamentais de um determinado idioma. Em
Petição 870190099218, de 03/10/2019, pág. 5/94
2/64 outras palavras, a natureza especializada de muitos documentos anula a análise mais específica que poderia proporcionar crítica significativa em um documento e aperfeiçoar amplamente o conteúdo substancial de um documento.
[004] Os documentos mal escritos são dotados de muitas consequências adversas e caras. Os termos vagos ou ambíguos criam desentendimentos e interpretações erradas. A má formatação frustra procedimentos de teste e validação. A falha em separar claramente os conceitos resulta em trabalho extra necessário para desemaranhar e fatorar conceitos em partes individuais. Declarações contraditórias, que surgem frequentemente em documentos extensos e complexos, criam trabalho extra para solucionar o significado e o propósito pretendido das passagens no documento. Os termos inconsistentes deixam leitores diferentes com diferentes, possivelmente inconsistentes, expectativas com relação partes específicas do documento.
[005] Uma aplicação específica do sistema abaixo descrito é analisar documentos de exigências. Os documentos de exigências mediam entre objetivos de depositário de dinheiro apostado e a solução que os desenvolvedores irão criar para alcançar os objetivos. Um processo de exigências bem-sucedido é aquele que cria documento de exigências que capta as necessidades do depositário de dinheiro apostado, ajusta as expectativas do depositário de dinheiro apostado, e pode ser usado pelos desenvolvedores para cria uma solução que satisfaça as necessidades e as expectativas do depositário de dinheiro apostado. Os processos de exigências malsucedidos resultam, em exigências que não asseguram que os depositários de dinheiro apostado compreendam o que irão obter ou o que os desenvolvedores irão construir algo que irá finalmente satisfazer suas necessidades.
[006] Embora a criação de um documento bom de exigências claras possa soar honesto, não o é. Para grandes sistemas de software
Petição 870190099218, de 03/10/2019, pág. 6/94
3/64 é extremamente difícil criar bons documentos de exigências. Além disso, as imperfeições no processo de exigências são muito dispendiosas. As exigências incorretas, incompletas ou confusas são as causas mais comuns das imperfeições do software, e os problemas resultantes de imperfeições de exigências são também os tipos mais dispendiosos de erros para solucionar.
[007] Algumas ferramentas existentes se concentram principalmente na manutenção de exigências e scripts de teste após ter sido definido um conjunto de exigências de linha de base. Contudo, isto é apenas parte da história. Muitos dos defeitos de exigências mais caros acontecem durante o processo de definição, resultando em uma linha de base que é de má qualidade, e as ferramentas anteriores são agnósticas à qualidade das exigências ou do processo de definição e, portanto, não proporcionam nenhum auxílio com relação a isso.
[008] É necessário ferramentas de análise de documento aperfeiçoadas que sejam direcionadas aos problemas observados acima e outros anteriormente experimentados.
Sumário da Invenção [009] A análise de documento, comentário, e sistema de relatório proporcionam ferramentas que automatizem a segurança da qualidade da análise talhada para tipos de documentos específicos. Como uma ocorrência, o tipo de documento específico pode ser uma especificação de exigências. Nesse papel, o sistema pode juntar partes diferentes de exigências, incluindo atores entidades, modos, e um remanescente. Contudo, a flexibilidade dos sistemas permite análise de qualquer outro tipo de documento, como, por exemplo, contratos ou pedidos de patente. Os sistemas auxiliam a evitar confusão sobre o documento quando o mesmo é transmitido devido aos termos não padrões, linguagem ambígua, conflitos entre as seções do documento, descrições incompletas ou imprecisas, tamanho e complexidade do
Petição 870190099218, de 03/10/2019, pág. 7/94
4/64 documento, e outros pontos.
[0010] O sistema proporciona muitos benefícios. Coma ocorrências, o sistema pode auxiliar a reduzir a repetição de um trabalho pelo aperfeiçoamento da precisão, inteireza, e clareza dos documentos; pode reduzir o tempo gasto na criação do documento; e pode reduzir tempo para competência para criadores de documento inexperientes. Como outras ocorrências, o sistema pode aumentar os resultados das tarefas que confiam no documento, devido à precisão, inteireza, e clareza aperfeiçoadas do documento; aumentar a moral da equipe e a memória do escritor, resultando de reduções na comunicação errada, confusão e caos do projeto que resulta dos defeitos do documento; e aumento da satisfação do cliente, resultando dos projetos que transmitem mais consistentemente o que o cliente realmente precisa, no tempo e no orçamento.
[0011] O sistema programa uma linguagem baseada em análise que detecta e critica práticas de linguagem inferior como, por exemplo: uso de termos ambíguos (por exemplo, 'rapidamente', 'bem', 'suficiente') e o uso de conjunções e disjunções para combinar estruturas de documento diferentes. O sistema também proporciona um domínio de conhecimento com base em análise que auxilia a reforça um vocabulário padrão de entidades e ações, encontra conflitos entre estruturas de documento, e encontra conflitos entre estrutura de documento e regras de negócio. O sistema sustenta muitos tipos diferentes de documentos e gera relatórios significativos por agente, ou outro conteúdo de documento.
[0012] Em uma implementação, o sistema pode ser um Visual Basic para Aplicações plug-in para o processador de texto Word 2007 (TM). A esse respeito, o sistema pode proporcionar uma interface de fita específica. O sistema pode ser implementado de muitas outras maneiras, contudo, como, por exemplo, uma aplicação dedicada, um
Petição 870190099218, de 03/10/2019, pág. 8/94
5/64 serviço da web, uma biblioteca de função compartilhada.
[0013] Outros sistemas, métodos, características e vantagens serão, ou se tornarão evidentes para aquele versado na técnica ao examinar as figuras e a descrição detalhada que se seguem. Todos esses sistemas adicionais, métodos, características e vantagens estão incluídos nesse relatório, estão dentro do escopo da invenção, e estão protegidos pelas reivindicações que se seguem.
Breve Descrição dos Desenhos [0014] O sistema pode ser mais bem compreendido com referência aos desenhos e descrição. Os elementos nas figuras não são necessariamente para escalar, enfatizar em vez disso sendo colocados na ilustração dos princípios do sistema. Nas figuras, referências numéricas semelhantes designam partes correspondentes por todas as diferentes vistas.
[0015] A Figura 1 ilustra uma rede incluindo um sistema de análise de documento em comunicação com outros sistemas.
[0016] A Figura 2 ilustra uma ocorrência de um glossário de agente.
[0017] A Figura 3 ilustra uma ocorrência de um glossário de modo.
[0018] A Figura 4 ilustra uma ocorrência de um glossário de ação.
[0019] A Figura 5 ilustra uma ocorrência de um glossário de expressões problemas.
[0020] A Figura 6 ilustra uma ocorrência de um identificador de estrutura e uma definição de sintaxe.
[0021] A Figura 7 ilustra um sistema de análise de exigências.
[0022] A Figura 8 ilustra uma interface com o usuário de uma análise de exigência.
[0023] A Figura 9 ilustra um fluxo lógico para um sistema de análise de exigências.
[0024] A Figura 10 ilustra um sistema de comentário de exigências.
[0025] A Figura 11 ilustra mensagens de análise embutidas em um
Petição 870190099218, de 03/10/2019, pág. 9/94
6/64 documento sob análise.
[0026] A Figura 12 ilustra fluxo lógico para um sistema de comentário de exigências.
[0027] A Figura 13 ilustra um sistema gerador de relatório.
[0028] A Figura 13 ilustra uma ocorrência de relatório.
[0029] A Figura 15 ilustra um fluxo lógico para um sistema gerador de relatório.
[0030] A Figura 16 ilustra uma ocorrência de uma taxonomia de agente.
[0031] A Figura 17 ilustra uma ocorrência de uma taxonomia de ação.
[0032] A Figura 18 ilustra uma ocorrência de um modelo de ontologia.
[0033] A Figura 19 ilustra um sistema de análise de ontologia.
[0034] A Figura 20 ilustra um fluxo lógico para um sistema de análise de ontologia.
[0035] A Figura 21 ilustra uma ocorrência de um glossário de relação de exigências.
[0036] A Figura 22 ilustra um sistema de grafia de exigências.
[0037] A Figura 23 ilustra uma ocorrência de uma hierarquia de ontologia de núcleo.
[0038] A Figura 24 ilustra uma ocorrência de uma hierarquia de ontologia específica de documento.
[0039] Descrição Detalhada das Modalidades Preferidas [0040] A Figura 1 ilustra uma rede 100 incluindo um sistema de análise, comentário e relatório de documento 102 (sistema 102). O sistema 102 é conectado à infraestrutura de rede 104. Através da infraestrutura de rede 104, o sistema 102 pode se comunicar com uma máquina de inferência 106, como, por exemplo, uma interface de serviços da web 108, e com outras entidades como, por exemplo, o
Petição 870190099218, de 03/10/2019, pág. 10/94
7/64 provedor de glossário 110. O sistema 100 pode analisar uma ampla variação de tipos de documento, com análise talhada para o tipo de documento específico em questão. Em uma implementação, o sistema 100 inclui os conjuntos de parâmetro de documento que talha análise para qualquer tipo de documento específico. Contudo, em outras implementações, o sistema 100 pode receber novos conjuntos de parâmetro de documento ou atualizar os conjuntos de parâmetro de documento existentes pela coordenação com o provedor de glossário 110. Para esse fim, o provedor de glossário 110 pode manter uma base de dados de muitos conjuntos de parâmetro específico de documento, dois dos quis estão rotulados 112 e 114.
[0041] O sistema 102 inclui um processador 116, uma memória 118, uma interface de rede 120, dispositivos I/O, e uma base de dados de análise de documento 124. O sistema 102 também inclui um monitor 126 no qual as interfaces com usuário gráficas (GUIs) e os relatórios de análise são transmitidos, conforme observado abaixo. A base de dados de análise de documento 124 pode armazenar conjuntos de parâmetro de documento que talha a operação do sistema 102 para qualquer tipo de documento desejado.
[0042] Na ocorrência ilustrado na Figura 1, a memória 118 inclui um módulo de análise 126, um módulo de comentário 128, e um módulo de relatório 130. Cada um dos módulos de 126 a 130 é descrito mais detalhadamente abaixo, e cada módulo pode ser usado isolado ou em combinação com outros módulos para avaliar um documento sob análise 132 (documento 132). O documento 132 pode ser qualquer forma de documento, como, por exemplo, um documento processador de texto, um documento de planilha eletrônica, ou arquivo de texto. Além disso, o documento pode ser qualquer tipo específico de documento, como, por exemplo, uma especificação de exigências, um pedido de patente, um contrato, uma construção de relatório, ou outro tipo de
Petição 870190099218, de 03/10/2019, pág. 11/94
8/64 documento.
[0043] Conforme será descrito mais detalhadamente abaixo, o documento 132 inclui qualquer número de ocorrências de estrutura de documento (por exemplo, ocorrências de estrutura de documento 134 e 136). Cada um das ocorrências de estrutura de documento representa uma unidade de conteúdo para análise pelos módulos de 126 a 130. Coma ocorrências, uma ocorrência de estrutura de documento pode ser uma palavra, expressão, sentença, ou parágrafo. Outras ocorrências de ocorrências de estrutura de documento incluem sequências arbitrarias de caracteres (por exemplo, números de série, endereços de e-mail, ou chaves de criptografia).
[0044] Ainda outra ocorrência de ocorrências de estrutura de documento são relatórios de exigências. Os relatórios de exigências podem tomar qualquer número de formas, como, por exemplo, um identificador de relatório de exigências, seguido de uma sentença de exigência contendo um ator, um verbo modal, ação, e um remanescente de relatório. O comentário abaixo usa ocorrências de processamento em relatórios de exigências encontrados nos documentos de exigências. Contudo, o sistema 102 pode analisar qualquer tipo de documento específico, qualquer forma particular de ocorrências de estrutura de documento.
[0045] Os módulos de 126 a 130 analisam o documento 132 em uma maneira talhada para o tipo de documento. Para esse fim, os módulos de 126 a 130 acessam um conjunto de parâmetro específico de documento que pode ser recuperado da base de dados de análise de documento 124, pré-configurado em um processador de texto ou outra aplicação, predefinido como arquivos individuais armazenados na memória, ou de outro modo obtido ou proporcionado para os módulos de 126 a 130. A Figura 1 ilustra uma ocorrência de um conjunto de parâmetro específico de documento 138. Qualquer
Petição 870190099218, de 03/10/2019, pág. 12/94
9/64 informação no conjunto de parâmetro específico de documento 138 pode ser feita apenas de leitura, leitura e escrita, ou ser dotada de permissões de controle de acesso anexadas para usuários ou grupos específicos.
[0046] O conjunto de parâmetro específico de documento 138 pode incluir um ou mais glossários para analisar um documento. Os glossários podem ser glossários em linguagem falada, glossários em linguagem escrita, glossários específicos de idioma, glossários de propriedade de documento, ou outros tipos de glossários, que possam armazenar componentes como, por exemplo, palavras, expressões, ou outras construções de linguagem para análise. Ocorrências de glossários em linguagem falada incluem glossários sendo dotados de palavras da língua inglesa, palavras da língua russa, palavras da língua japonesa, ou palavras provenientes de Línguas Latinas ou não latinas. Os glossários em linguagem falada também podem incluir palavras de múltiplos idiomas falados diferentes. Assim, o sistema pode realizar uma análise de múltiplos idiomas em um documento que inclua muitos idiomas sem ser preciso carregar ou descarregar glossários específicos para cada idioma e realizar separadamente múltiplos passos de processamento.
[0047] Ocorrências de glossários de linguagem escrita incluem glossários sendo dotados de palavras do idioma inglês, palavras do idioma russo, ou palavras de língua latina ou não latina. Um glossário de linguagem escrita pode ser dotado de palavras descritas print, script, cursiva, ou qualquer outra fonte. Em outras palavras, o glossário de linguagem escrita pode incluir indícios de linguagem visual que o sistema pode analisar para determinar, por exemplo, se uma construção de linguagem é vaga ou ambígua. Um glossário de linguagem escrita pode também incluir palavras de um ou mais idiomas escritos, ou de palavras contidas em um glossário de linguagem falada. Assim, o
Petição 870190099218, de 03/10/2019, pág. 13/94
10/64 sistema pode também realizar múltiplas análises de linguagens com linguagens escritas.
[0048] Ocorrências de glossários específicos de linguagem incluem glossários sendo dotados de palavras provenientes de linguagens de programação de computador, palavras construídas de símbolos ou outros caracteres que não sejam alfanuméricos, ou componentes de quaisquer outras linguagens não escritas ou não faladas. Ocorrências de glossários de propriedade de documento incluem glossários sendo dotados de palavras descrevendo propriedades de documento, como, por exemplo, as margens de um documento, o número de páginas em um documento, as fontes de permissividade ou não permissividade em um documento, ou outra propriedade de documento. Como um resultado, o sistema pode estender seu processamento para propriedades de documento além das construções de linguagem, para auxiliar a crítica em um documento em outras maneiras significativas.
[0049] Em uma modalidade, o conjunto de parâmetro específico de documento 138 inclui um glossário de agente 140, um glossário de ação 142, um glossário de modo 144, e um glossário de expressões 146. O conjunto de parâmetro específico de documento 138 também inclui um identificador de estrutura 148 e uma definição de sintaxe 150. O identificador de estrutura 148 pode definir um rótulo que indica uma parte de um documento como uma ocorrência de estrutura para análise. A definição de sintaxe 150 pode definir a sintaxe esperada para a ocorrência de estrutura. Em uma implementação, o sistema 102 analisa um documento recebido para determinar um tipo de documento, e então recupera o conjunto de parâmetro específico de documento 138 correspondente ao tipo de documento determinado. Por exemplo, o sistema 102 pode recuperar a definição de sintaxe 150, o identificador de estrutura 148, os glossários de 140 a 146, ou outros
Petição 870190099218, de 03/10/2019, pág. 14/94
11/64 parâmetros de documento correspondentes ao tipo de documento determinado. Uma ocorrência de um tipo de documento é um documento de exigências.
[0050] Em um contexto de uma especificação de exigências, o identificador de estrutura 148 pode ser uma expressão regular, como, por exemplo, [A-Za-z0-9]*[0-9]. A expressão regular especifica que qualquer combinação de letras em caixa alta, letras em caixa baixa, e dígitos, seguidos de um dígito, indicam a sentença seguinte como uma exigência para análise. Uma ocorrência de definição de sintaxe é [agente] [modo] [ação] [remanescente]. A definição de sintaxe especifica os componentes da categoria de estrutura para a estrutura do documento. Nessa ocorrência, os componentes da categoria de estrutura incluem um agente, seguido de um verbo modal, seguido de uma ação, seguida pelo restante da sentença.
[0051] O glossário de agente 140 define os agentes permissíveis. O glossário de modo 144 define verbos modais permissíveis. O glossário de ação 142 define as ações permissíveis. O sistema 102 pode reforçar a sintaxe, pela realização do processamento apenas naquelas sentenças que atendem a sintaxe com os agentes, modos, e ações definidas nos glossários de 140 a 144, ou podem realizar o processamento em uma sentença que parcial ou inteiramente atende a sintaxe. Por exemplo, mesmo se estiver faltando um ator ou esteja presente um ator não reconhecido, o sistema 102 ainda pode analisar o remanescente para termos ambíguos.
[0052] A Figura 2 ilustra uma ocorrência do glossário de agente 140.
Na ocorrência ilustrada na Figura 2, o glossário de agente 140 define um campo de agente 202, um campo de explicação 204, um campo principal 206, e um campo de notas 208. O campo de agente 202 define agentes componentes permissíveis para a sintaxe de ocorrência de estrutura, como, por exemplo, Desenvolvedores e Equipe de
Petição 870190099218, de 03/10/2019, pág. 15/94
12/64
Desenvolvimento. O campo de explicação 204 proporciona informação diagnostica relevante para o agente, como o agente realiza seu trabalho, ou outra informação relacionada ao agente. O campo principal 206 pode ser usado para indicar um parâmetro de hierarquia componente para construir hierarquias de agentes, conforme será descrito mais detalhadamente abaixo. O campo de notas adicional 208 proporciona um local onde os desenvolvedores podem inserir informações referentes a um agente específico e sua presença no glossário de agente 140. Um dos usos do glossário de agente 140 é verificar que o documento de exigências apenas especifique que determinados atores realizam ações.
[0053] A Figura 3 ilustra uma ocorrência de um glossário de modo
144. Na ocorrência ilustrada na Figura 3, o glossário de modo 144 define um campo de modo 302, um campo de explicação 304, e um campo de notas 306. O campo de exigências 302 define modos componentes permissíveis para as ações que o agente pode escolher, como, por exemplo, precisa, ou irá, enquanto o campo de explicação 304 proporciona informação diagnóstica relacionada ao modo. A informação diagnóstica pode expressar pontos ou preocupações sobre determinados modos, pode recomendar ou encorajar determinados modos, ou pode proporcionar outra informações e realimentação relacionadas ao modo.
[0054] A Figura 4 ilustra uma ocorrência de um glossário de ação
142. Na ocorrência ilustrada na Figura 4, o glossário de ação 142 define um campo de ação 402, um campo de explicação 404, um campo principal 406, e um campo de notas 408. O campo de ação 402 define ações componentes permissíveis para a sintaxe de ocorrência de estrutura, como, por exemplo, Definir e Juntar. O campo de explicação 404 proporciona informação diagnóstica relevante para a ação, como um agente realiza a ação, ou outra informação
Petição 870190099218, de 03/10/2019, pág. 16/94
13/64 relacionada à ação. O campo principal 406 pode ser usado para construir hierarquias de ações, conforme será descrito mais detalhadamente abaixo. O campo de notas adicionais 408 proporciona um local onde os desenvolvedores podem inserir informação referente a uma ação particular e sua presença no glossário de ação 142. O sistema 102 pode usar o glossário de ação 142 para verificar que apenas determinadas ações sejam especificadas no documento de exigências.
[0055] A Figura 5 ilustra uma ocorrência de um glossário de expressões 146. Na ocorrência ilustrada na Figura 5, o glossário de expressões 146 define um campo de expressão problema 502, um campo de explicação 504, um campo de sugestão 506, um campo prioritário 508, e um campo de notas 510. O campo de expressão problema 502 define palavras ou combinações ou palavras que frequentemente suscitam relatórios problemáticos. Tais expressões problemas podem definir palavras ambíguas ou inapropriadas, como, por exemplo, poderia, ou aperfeiçoado, especificamente no contexto do tipo de documento específico. As expressões problemas podem também incluir expressões da indústria, domínio, ou tecnologia, como, por exemplo, Windows Móvel ou criptografia forte. Assim, os conjuntos de parâmetro específico de documento talham a análise do sistema 102 para o tipo de documento específico.
[0056] O campo de explicação 504 proporciona uma descrição do porque a expressão problema faz surgir dificuldades. Por exemplo, a expressão problema poderia pode estar associada com a explicação correspondente de é ambígua. O glossário de expressões 146 pode também definir sugestões no campo de sugestão 506, no campo de explicação 504, ou ambos, para como aperfeiçoar a expressão problema para um estado menos problemático. Por exemplo, o campo de sugestões 506 pode sugerir que fácil poderia ser substituído por
Petição 870190099218, de 03/10/2019, pág. 17/94
14/64 linguagem específica, como, por exemplo, O sistema irá reduzir e x% o esforço requerido para <funcionar>. O revisor de documento pode então adotar a sugestão, completar o campo <funcionar>, e especificar u valor para 'x' para aperfeiçoar o relatório.
[0057] O campo da prioridade 508 atribui um valor de prioridade para uma expressão problema. O sistema 102 pode então priorizar a análise e avaliação das expressões problemas. Coma ocorrências, o sistema 102 pode determinar quis as cores ou padrões usar para realçar as expressões problemas de acordo com o valor de prioridade. Como outra ocorrência, o sistema 102 pode encorajar mais fortemente o revisor a modificar a expressão problema, proporcionar sugestões adicionais, ou tomar outras ações conduzido pelo valor de prioridade. O campo das notas adicionais 510 proporciona um local onde os desenvolvedores podem inserir informação referente a uma expressão problema particular e sua presença no glossário de expressões 146.
[0058] A Figura 6 ilustra ocorrências de um identificador de estrutura 148 e uma definição de sintaxe 150 para especificação de exigências. O identificador de estrutura 148 é a expressão regular [AZa-z0-9*0-9] 602. A expressão regular especifica que qualquer combinação de caracteres alfanuméricos, seguida de um dígito, indica a sentença seguinte como uma exigência de análise. A definição de sintaxe 150 é: [agente] [modo] [ação] [remanescente]. Os componentes de categoria de estrutura especificados pela definição de sintaxe são um componente agente 604, seguido de um componente de verbo modal 606, seguido por um componente de ação 608, seguido por um componente remanescente 610 do restante da sentença.
[0059] A Figura 6 também ilustra uma ocorrência de exigência 612:
R01: Os desenvolvedores podem criar uma interface com o usuário aperfeiçoada, encontrada no texto do documento 132. O sistema 102
Petição 870190099218, de 03/10/2019, pág. 18/94
15/64 analisa o texto do documento, encontrando primeiro o identificador de estrutura R01 que combine com o identificador de estrutura 148. Assim, a sentença de exigência seguinte é a seguir verificada em comparação com a definição de sintaxe 150. Nessa ocorrência, a definição de sintaxe, sustentada pelos glossários 140 -144 analisa a sentença como se segue: Agente = Desenvolvedores, Modo = poder, Ação = criar, e Remanescente = interface com o usuário aperfeiçoada.
[0060] O sistema 102 pode realizar operações de análise de documento com base na análise das ocorrências de estrutura de documento. Na ocorrência ilustrada na Figura 6, o sistema 102 realça cada componente de categoria de estrutura, usando uma linha fina 614 para o agente, uma linha média 616 para o verbo modal, e um peso de linha pesada 618 para a ação. O sistema 102 usa uma linha tracejada 620 para o remanescente.
[0061] Além disso, o sistema 102 aplica o glossário de expressões
146 em comparação com a sentença de exigência. Como um resultado, o sistema 102 identifica o termo ambíguo aperfeiçoado na sentença de exigência, e aplica um realce itálico 622 para enfatizar a presença da palavra problemática. O sistema 102 pode usar qualquer combinação de quaisquer cores desejadas, pesos de linha, padrões de linha, sons, animações, ícones, ou outros indícios para realçar quaisquer componentes de estrutura, expressões problemas, identificadores de estrutura ou outras partes do documento.
[0062] Além da definição de sintaxe ilustrada na Figura 6, são também possíveis definições de sintaxe adicionais. Por exemplo, a definição de sintaxe 150 pode definir as definições de sintaxe adicionais ou definições de sintaxe característica. A tabela 1 abaixo lista diferentes ocorrências de definições de sintaxe que podem ser definidas pela definição de sintaxe 150.
Petição 870190099218, de 03/10/2019, pág. 19/94
16/64
Tabela 1
|
Tipo de Sintaxe |
Ocorrência de Definição de Sintaxe |
Ocorrência de Ocorrência de Estrutura |
|
Relatório |
[agente] [modo] [ação] [remanescente] |
O sistema de processamento de ordem irá enviar uma mensagem para o gerente de obtenção.
O usuário irá clicar o botão |
|
Condicional |
Quando [condição], [agente] [modo] [ação] [remanescente] |
Quando o usuário clica o botão, o sistema de processamento de ordem irá enviar uma mensagem para o gerente de obtenção. |
|
Condicional |
Se [condição] então [agente] [modo] [ação] [pausa] |
Se o usuário clicar o botão, o sistema de processamento de ordem irá enviar uma mensagem para o gerente de obtenção. |
|
Característica |
[sistema-agente] [modo] [remanescente] |
A interface com a entrada de ordem será dotada de um botão 'cancelar'. |
[0063] Em uma implementação, a definição de sintaxe 150 define ainda definições de sintaxe de acordo com um conjunto de sintaxes de ocorrência de estrutura de documento controlado. Por exemplo, a definição de sintaxe 150 pode definir uma ocorrência de estrutura de documento como uma exigência de ocorrência de estrutura de documento. A exigência de ocorrência de estrutura de documento pode então ser definido como uma exigência condicional de ocorrência de estrutura de documento ou como uma exigência simples de ocorrência de estrutura de documento. O conjunto de sintaxes de ocorrência de estrutura de documento controlado pode também definir sintaxes adicionais para a exigência simples de ocorrência de estrutura de documento ou a exigência condicional de ocorrência de estrutura de documento. Por exemplo, o conjunto de sintaxes de ocorrência de
Petição 870190099218, de 03/10/2019, pág. 20/94
17/64 estrutura de documento pode definir a exigência simples de ocorrência de estrutura de documento como uma exigência padrão de ocorrência de estrutura de documento, como uma regra de negócio de ocorrência de estrutura de documento, ou como qualquer outro tipo de ocorrência de estrutura de documento. A tabela 2 ilustra uma ocorrência de um conjunto de sintaxes de estrutura de documento controlado que pode ser definido de acordo com a definição de sintaxe 150. Outros tipos de sintaxe podem também ser definidos.
Tabela 2
|
Tipo de Sintaxe |
Identificador de Sintaxe |
Sintaxe |
Breve Explicação |
|
Exigênc ia |
Exigência |
Exigência>Exigênci a Condicional | Exigência Simples |
Uma Exigência pode ser uma Exigência simples ou uma Exigência condicional |
|
Condici onal |
Exigência Condicional |
[se][condicional] [então] [Exigência Simples]; ou
[se][condicional] [então] [Exigência Simples] [diferente] [Exigência Simples]; ou [quando [condição] [exigência simples] |
Uma exigência condicional pode ser uma se-então, seentão-diferente, ou quando tipo de ocorrência de estrutura diferente. Pode ser ou uma exigência funcional ou regra de negócio dependendo do texto da ocorrência de estrutura de documento. |
|
Padrão |
Exigência Padrão |
[Agente] [Palavra Modal] [Ação] [Pausa] |
Uma exigência padrão pode ser um agente seguido por uma palavra modal, seguido de uma ação (verbo), seguido da ocorrência de estrutura de documento. |
Petição 870190099218, de 03/10/2019, pág. 21/94
18/64
|
Tipo de Sintaxe |
Identificador de Sintaxe |
Sintaxe |
Breve Explicação |
|
Regra de Negóci o |
Regra de
Negócio |
[todas | apenas | exatamente'] [Pausa] |
Uma regra de negócio pode ser quaisquer ocorrências de estrutura de documento que inicie com todos, apenas ou exatamente. |
|
Reman escente |
Pausa |
[pausa]->[Agente Secundário | Ação Secundária] |
A pausa de sentença pode conter um número de agentes secundários e ações dos seus respectivos glossários. |
|
[0064] |
A Figura 7 ilus |
tra uma ocorrência de um sistema de análise |
de exigências 702. Na ocorrência ilustrada na Figura 7, o sistema de análise de exigências 702 inclui o módulo de análise de documento 126 em comunicação com um documento sob análise 132 e o primeiro conjunto de parâmetro específico de documento 138. O módulo de análise de documento 126 também pode estar em comunicação com a base de dados de análise de documento 124 para recuperar um ou mais conjuntos de parâmetro específico de documento 706 - 708. O módulo de análise 126 também está em comunicação com o processador 116, a interface de rede 120 e vários dispositivos de entrada / saída 122. Conforme ilustrado na Figura 7, o módulo de análise específico de documento está em comunicação com o monitor 126, que pode exibir uma representação eletrônica 710 do documento sob análise 132 e uma interface com o usuário gráfica 712 para interação com o módulo de análise de documento 126.
[0065] Em geral, o módulo de análise de documento 126 é operativo para analisar as ocorrências de documento 134 - 136 do documento sob análise 132. Por exemplo, ao analisar a ocorrência de estrutura de documento 134, o módulo de análise de documento 126 pode determinar se a ocorrência de estrutura de documento 134 é um
Petição 870190099218, de 03/10/2019, pág. 22/94
19/64 relatório de exigência. Os pseudocódigos abaixo ilustram vários métodos que o módulo de análise de documento 126 pode realizar na determinação se a ocorrência de estrutura de documento 134 é um relatório de exigência de acordo com a definição de sintaxe 150. O primeiro pseudocódigo abaixo ilustra um método que o módulo de análise de documento 126 pode usar para determinar se a ocorrência de estrutura de documento 134 contém um identificador de estrutura.
é Exigência (Ocorrência de estrutura de documento s) se a primeira palavra da ocorrência de estrutura de documento s for dotada de um identificador de estrutura:
retorna verdadeiro término se diferente retorna falso término diferente término é Exigência [0066] Além disso, o módulo de análise de documento 126 pode determinar se a ocorrência de estrutura de documento 134 - 136 inclui quaisquer dos componentes nos glossários 140 -146 consistentes com a definição de sintaxe 150. Especificamente, o módulo de análise de documento 126 pode determinar se uma ocorrência de estrutura de documento 134, como, por exemplo, um relatório de exigências de um documento de exigências, inclui um componente do glossário de agente 140. Em uma ocorrência alternativo, o módulo de análise de documento 126 pode determinar se uma ocorrência de estrutura de documento 134 inclui um componente de um glossário de expressões 146, do glossário de modo 144, do glossário de ação 142, ou outro glossário de outro conjunto de parâmetro de documento 704 - 708.
[0067] O pseudocódigo abaixo ilustra um método para identificar se a ocorrência de estrutura de documento 134 contém um componente de
Petição 870190099218, de 03/10/2019, pág. 23/94
20/64 agente:
Encontrar Agente (Ocorrência de estrutura de documento s) Para cada agente, no Glossário de Agente
Se agentei for a primeira expressão na ocorrência de estrutura de documento após o identificador de estrutura retornar verdadeiro término se término para retornar falso término Encontrar Agente [0068] O pseudocódigo abaixo ilustra um método para identificar se a ocorrência de estrutura de documento 134 contém um componente de modo:
[0069] Encontrar Modo (Ocorrência de estrutura de documento s) [0070] Para cada modo no Glossário de Modo [0071] Se o modo for a segunda expressão na ocorrência de estrutura de documento após a expressão de agente
Retornar verdadeiro término se término para retornar falso término Encontrar Modo [0072] O pseudocódigo abaixo ilustra um método para identificar se a ocorrência de estrutura de documento 134 contém um componente de ação [0073] Encontrar Ação (Ocorrência de estrutura de documento s) [0074] Para cada ação no Glossário de Ação [0075] Se a ação for a terceira expressão na ocorrência de estrutura de documento após a expressão de modo retornar verdadeiro
Petição 870190099218, de 03/10/2019, pág. 24/94
21/64 término se término para retornar falso término Encontrar Ação [0076] O pseudocódigo abaixo ilustra um método para identificar se a ocorrência de estrutura de documento 134 contém um componente do glossário de expressão 146:
[0077] Encontrar Expressão (Ocorrência de estrutura de documento
s) [0078] Para cada expressão, no Glossário de Expressão [0079] Se a expressãoi ocorrer na ocorrência de estrutura de documento retornar verdadeiro término se término para retornar falso término Encontrar Expressão [0080] O módulo de análise de documento 126 pode adicionalmente realizar uma operação de análise de documento com base se as ocorrências de estrutura de documento 134 - 136 incluem quaisquer componentes no glossário 140 - 146 consistentes com a definição de sintaxe 150. Ocorrências para a realização de uma operação de análise de documento incluem identificar um componente problemático, identificar um componente dos glossários 140-146 contidos nas ocorrências de estrutura de documento 134-136, identificar que as ocorrências de estrutura de documento 134 - 136 não contêm um componente dos glossários 140-146, ou identificar se as ocorrências de estrutura de documento 134-136 são consistentes com a definição de sintaxe 150. Além disso, onde o módulo de análise de documento 126 identifica um erro ou ponto na ocorrência de estrutura de documento
Petição 870190099218, de 03/10/2019, pág. 25/94
22/64 analisado, o módulo de análise de documento 126 pode proporcionar uma sugestão para correção ou retificação do erro ou ponto identificado. [0081] O módulo de análise de documento 126 pode também se comunicar com a máquina de inferência 106 para determinar se um ou mais ocorrências de estrutura de documento 134-136 conflitam usando o conjunto de parâmetro de documento 138. Por exemplo, o conjunto de parâmetro de documento 138 pode incluir uma ou mais regras de estrutura de documento relacionadas à natureza substantiva das ocorrências de estrutura de documento 134-136. O módulo de análise de documento 126 pode transmitir as ocorrências de estrutura de documento 134-136, juntamente com as regras de estrutura de documento, para a máquina de inferência 106 para determinar se as ocorrências de estrutura de documento 134-136 conflitam substancialmente.
[0082] Por exemplo, suponha que as regras de estrutura de documento incluam uma regra declarando que Criptografia retarda uma mensagem por cinco segundos, e as ocorrências de estrutura de documento incluam primeiro uma ocorrência de estrutura de documento declarando que O sistema irá codificar todas as mensagens e um segunda ocorrência de estrutura de documento declarando que O sistema irá enviar todas as mensagens em menos de cinco segundos. Transmitindo a regra de estrutura de documento juntamente com as duas ocorrências de estrutura de documento da ocorrência acima para a máquina de inferência 106, o módulo de análise de documento 126 é capaz de relatar que as ocorrências de estrutura de documento conflitam um com o outro.
[0083] O módulo de análise de documento 126 pode também usar um parâmetro de hierarquia de componente, como, por exemplo, o campo principal 206 do agente 140, ao analisar as ocorrências de estrutura de documento 134-136. O módulo de análise de documento
Petição 870190099218, de 03/10/2019, pág. 26/94
23/64
126 pode usar o parâmetro de hierarquia de componente para identificar se as ocorrências de estrutura de documento 134-136 conflitam com a regra de estrutura de documento. Por exemplo, conforme ilustrado na Figura 2, o campo principal 206 do glossário de agente 140 identifica que os desenvolvedores estão subordinados à equipe de desenvolvimento. Quando uma estrutura de documento declara que Apenas uma equipe de desenvolvimento irá contatar os fornecedores e uma ocorrência de estrutura de documento declara que os Desenvolvedores irão contatar os fornecedores, o módulo de análise de documento 126 determina que a ocorrência de estrutura de documento não conflita com a regra de estrutura de documento.
[0084] Como outra ocorrência do uso das regras de estrutura de documento para analisar ocorrências de estrutura de documento, suponha que uma primeira regra de negócio declare que se uma ordem deva ser transmitida, o cliente deve pagar pela dedução da folha de pagamento e uma segunda ordem de negócio declare que Apenas os empregados permanentes podem registrar para dedução da folha de pagamento para qualquer compra de empresa. O sistema 102 pode então inferir que a regra de negócio inferida da primeira e segunda regra de negócio é que Apenas um empregado permanente pode especificar que uma ordem pode ser coletada. Assim, o módulo de análise de documento 126 pode transmitir um alerta quando uma ocorrência de estrutura de documento declarar que O cliente deve especificar se a ordem deva ser coletada ou transmitida. O módulo de análise de documento 126 pode também se comunicar com a máquina de inferência 106 para realizar a análise nas ocorrências de estrutura de documento 134-136 usando as regras de estrutura de documento.
[0085] O módulo de análise de documento 126 pode também determinar se o documento sob análise 132 contém as ocorrências de estrutura de documento 134-136 de um tipo específico de ocorrência de
Petição 870190099218, de 03/10/2019, pág. 27/94
24/64 estrutura de documento. Por exemplo, o módulo de análise de documento 126 pode comparar o conjunto de parâmetro de documento 138 para determinar que o documento sob análise 132 não contenha as ocorrências de estrutura de documento de um tipo de segurança. O módulo de análise de documento 126 pode também determinar se as ocorrências de estrutura de documento 134-136 estão completos. Por exemplo, uma ocorrência de estrutura de documento conformando com uma definição de sintaxe condicional pode ser dotado de um relatório se e nenhum relatório diferente. Nessa ocorrência, o módulo de análise de documento 126 pode emitir um alerta indicando que a ocorrência de estrutura de documento é uma ocorrência de estrutura condicional incompleta.
[0086] O módulo de análise de documento 126 pode também determinar se as ocorrências de estrutura de documento satisfazem uma prioridade fornecida para uma propriedade ou outra ocorrência de estrutura de documento. Por exemplo, o conjunto de parâmetro de documento 138 pode especificar que seja fornecido o nível mais alto de prioridade para as ocorrências de estrutura de documento de interface com o usuário. Na análise do documento sob análise 132, o módulo de análise de documento 126 pode determinar e identificar se quaisquer ocorrências de estrutura de documento estão direcionadas para uma interface com o usuário.
[0087] Além disso, o módulo de análise de documento 126 pode também identificar as ocorrências de estrutura de documento para os quis pareça estar faltando uma ocorrência de estrutura de documento complementar. Por exemplo, uma ocorrência de estrutura de documento pode especificar que O sistema X irá enviar uma alerta para o /sistema Y. O módulo de análise de documento 126 é operativo para determinar se uma ocorrência de estrutura de documento declara que o Sistema Y deva processar alertas enviados pelo Sistema X.
Petição 870190099218, de 03/10/2019, pág. 28/94
25/64 [0088] O módulo de análise de documento 126 também pode estar em comunicação com a interface com o usuário gráfica 712 para comunicar as mensagens de análise referentes à análise das ocorrências de estrutura de documento 134-136. A Figura 8 ilustra uma ocorrência de uma interface com o usuário gráfica 712 para comunicar mensagens de análise referentes à análise de uma ocorrência de estrutura de documento. A interface com o usuário gráfica 712 ilustrada na Figura 8 foi configurada para comunicar as mensagens de análise associadas ao glossário de expressões 146. Outras interfaces com o usuário gráficas podem também estar configuradas para cada dos outros glossários, incluindo o glossário de agente 140, o glossário de ações 141, e o glossário de modo 144.
[0089] A interface com o usuário gráfica 712 associada ao glossário de expressões 146 inclui vários parâmetros de controle de 814-822, incluindo um parâmetro de controle ignorar essa exigência 814, um parâmetro de controle de alterar 820, e um parâmetro de controle desfazer 816, um parâmetro de controle cancelar 818, e um parâmetro de controle reverter para original 822. Cada parâmetro de controle de 814 a 822 está associado a uma instrução para o módulo de análise de documento 126. Por exemplo, selecionado o parâmetro de controle ignorar essa exigência 814 instrui o módulo de análise de documento 126 a ignorar a ocorrência de estrutura de documento analisado; selecionando o parâmetro de controle de alterar 820 instrui o módulo de análise de documento 126 a alterar a ocorrência de estrutura de documento; selecionado o parâmetro de controle desfazer instrui o módulo de análise 126 a desfazer a última alteração aplicada à ocorrência de estrutura de documento; selecionando o parâmetro de controle cancelar 818 instrui o módulo de análise de documento 126 a cancelar a análise da ocorrência de estrutura de documento; e selecionando o reverter para o parâmetro de controle original 822 instrui
Petição 870190099218, de 03/10/2019, pág. 29/94
26/64 o módulo de análise de documento 126 a reverter a ocorrência de estrutura de documento para sua forma original conforme a mesma aparece antes da análise pelo módulo de análise de documento 126.
[0090] A interface com o usuário gráfica 712 também inclui vários campos diferentes de texto de 824 a 830. Os campos de texto de 824 a 830 incluem um campo de texto de ocorrência de estrutura de documento 824, campo de texto de explicação 826, um campo de texto de instrução 828, e um campo de texto de alteração sugerida 830. Os campos de texto de 824 a 830 podem estar associados aos campos de 502 a 506 do glossário de expressões 146, com campos do conjunto de parâmetro de documento 138, ou com campos da base de dados de análise de documento 124. Por exemplo, conforme ilustrado na Figura 8, o campo de texto sugerido 830 da interface com o usuário gráfica 712 está associado ao campo de sugestão 506 do glossário de expressões 146. Similarmente, o campo de texto de explicação 826 está associado ao campo de explicação 504 do glossário de expressões 146. O módulo de análise de documento 146 é operativo para ocupar os campos de texto de 828 a 830 com as mensagens de análise dos seus campos associados. Outras interfaces com o usuário gráficas associadas ao glossário de 140 a 144 podem incluir parâmetros adicionais ou em menor número, ou campos de texto adicionais ou em menor número.
[0091] Na Figura 8, módulo de análise de documento 126 está analisando as ocorrências de estrutura de documento 832 usando o componente fácil do glossário de expressões 146. O módulo de análise de documento 126 identificou uma expressão ambígua 834 em uma das ocorrências de estrutura de documento. Tendo identificado um componente do glossário de expressões 146, o módulo de análise de documento 126 recuperou várias mensagens de análise associadas ao componente fácil e ocupou os campos de texto de 824 a 830 da interface com o usuário gráfica 712 com essas mensagens de análise.
Petição 870190099218, de 03/10/2019, pág. 30/94
27/64
O módulo de análise de documento 126 ocupou o campo de texto da ocorrência de estrutura de documento 824 com o texto da ocorrência de estrutura de documento sendo dotado do componente descoberto. O módulo de análise de documento 126 também ocupou o campo de texto de explicação 826 com a mensagem de análise indicando o motivo para identificar o componente da ocorrência de estrutura de documento. O módulo de análise de documento 126 também ocupou o campo de texto de instrução 828 com a mensagem de análise indicando como solucionar o ponto apresentado no campo de texto de explicação 826, e o módulo de análise de documento 126 ocupou o campo de texto sugerido 830 com as mensagens de análise para substituir o texto do componente identificado ou o texto da ocorrência de estrutura de documento analisado.
[0092] Os campos de texto de 824 a 830 podem também estar associados aos parâmetros de controle de 814 a 822. Por exemplo, em uma implementação, o campo de texto sugerido 830 está associado ao parâmetro de controle de alteração 820. Por conseguinte, quando uma mensagem analisada é selecionada do campo de texto sugerido 830 e o parâmetro de controle de alteração 820 é ativado, o módulo de análise de documento 126 pode substituir o texto da ocorrência de estrutura de documento no campo de texto de ocorrência de estrutura de documento 824 com a mensagem de análise selecionada do campo de texto sugerido 830. O módulo de análise de documento 126 pode também alterar o documento sob análise para refletir as alterações feitas na ocorrência de estrutura de documento analisado do documento sob análise.
[0093] Além da interface com o usuário gráfica 712 da Figura 8 poder indicar que o módulo de análise de documento 126 encontrou um componente do glossário de expressões 146 na ocorrência de estrutura de documento analisado, outras interfaces com o usuário gráficas
Petição 870190099218, de 03/10/2019, pág. 31/94
28/64 podem indica que o módulo de análise de documento 126 não encontrou um componente dos outros glossários. Por exemplo, uma interface com o usuário gráfica associada ao glossário de agente 140 pode apresentar uma mensagem de análise indicando que o módulo de análise de documento 126 não encontrou um componente de agente na ocorrência de documento analisado. Similarmente, uma interface com o usuário gráfica associada ao glossário de ação 140 pode apresentar uma mensagem de análise indicando que o módulo de análise de documento 126 não encontrou um componente na ocorrência de documento analisado. Geralmente, o sistema de análise de exigências 702 pode ser configurado de maneira que uma interface com o usuário gráfica esteja associada com cada parâmetro de documento dos conjuntos de parâmetro específico de documento para exibir a análise do módulo de análise de documento 126.
[0094] A Figura 9 ilustra um fluxo lógico para o sistema de análise de exigências 702. O módulo de análise de documento 126 recebe os parâmetros de documento, como, por exemplo, os glossários de 140 a 146 dos componentes dos glossários de 140 a 146, do conjunto de parâmetro de documento 138 (902). O módulo de análise de documento 126 então recebe o documento para análise (904). Ao iniciar a análise do documento, o módulo de análise de documento identifica uma primeira ocorrência de estrutura de documento, como, por exemplo, ocorrência de estrutura de documento 134 (906). O módulo de análise de documento 126 pode não identificar quaisquer conjuntos de parâmetro específico de documento, em cujo caso, o módulo de análise de documento 126 pode exibir uma interface com o usuário gráfica com uma mensagem de análise indicando que o módulo de análise de documento 126 não identificou nenhuma ocorrência de estrutura de documento.
[0095] Quando o módulo de análise de documento 126 identifica
Petição 870190099218, de 03/10/2019, pág. 32/94
29/64 uma ocorrência de estrutura de documento, o módulo de análise de documento 126 então identifica um primeiro glossário no conjunto de parâmetro específico de documento (908). O primeiro glossário pode ser qualquer dos glossários de 140 a 146. O primeiro glossário pode também ser armazenado na base de dados de análise de documento 124. Alternativamente, ou, além disso, o módulo de análise de documento 126 pode receber um valor de seleção de componente de categoria de estrutura que indique o componente de categoria de estrutura para iniciar a análise. Por exemplo, o módulo de análise de documento 126 pode receber um valor de seleção de componente de categoria de estrutura para o componente de categoria de ação, em cujo caso, o módulo de análise de documento 126 começa a análise da ocorrência de estrutura de documento com o glossário de ação 142.
[0096] O módulo de análise de documento 126 então começa a analisar a ocorrência de estrutura de documento para determinar se a ocorrência de estrutura de documento contém quaisquer dos componentes no primeiro glossário (910). Em uma implementação, o módulo de análise de documento 126 compara cada componente do primeiro glossário com a ocorrência de estrutura de documento. Após a análise, o módulo de análise de documento 126 apresenta os resultados da análise, como, por exemplo, através da interface com o usuário gráfica 712 (912).
[0097] Com base nos resultados da análise, o módulo de análise de documento 126 pode decidir realizar uma operação de análise de documento, pré-configurada ou de outro modo, com base nos resultados da análise (914). Ocorrências de realização de uma operação de análise de documento incluem alguns das ocorrências anteriormente mencionados acima, mas também incluem, a exibição de uma interface com o usuário gráfica, recuperando uma mensagem de análise, ou terminando a operação de análise da ocorrência de estrutura
Petição 870190099218, de 03/10/2019, pág. 33/94
30/64 de documento. Quando o módulo de análise de documento 126 decide realizar uma operação de análise de documento (916), o módulo de análise de documento 126 pode usar a interface com o usuário gráfica 712 para apresentar uma mensagem de análise associada aos resultados da análise. Por exemplo, quando o módulo de análise de documento 126 determina que a ocorrência de estrutura de documento não é dotado de um componente de ação do glossário de ação 142, o módulo de análise de documento 126 usa a interface com o usuário gráfica 712 para apresentar uma mensagem de análise referente à ausência do componente de ação e um parâmetro de controle para adicionar um componente de ação à ocorrência de estrutura de documento analisado. Alternativamente, ou, além disso, o módulo de análise de documento 126 pode ser pré-configurado para aplicar uma alteração na análise de estrutura de documento com base nos resultados da análise e do componente de categoria associado ao primeiro glossário. O módulo de análise de documento 126 pode realizar mais do que uma operação de análise de documento na ocorrência de estrutura de documento analisado.
[0098] O módulo de análise de documento 126 pode então determinar se o conjunto de parâmetro de documento conte glossários adicionais (918), em caso afirmativo, identifica o glossário seguinte no conjunto de parâmetro de documento que usa na análise da ocorrência de estrutura de documento (920). Quando a análise de documento 126 determina que não nos glossários adicionais que possa usar na análise da ocorrência de estrutura de documento, o módulo de análise de documento 126 então prossegue para determinar se há ocorrências de estrutura de documento adicionais para identificar (922). Em caso afirmativo, o módulo de análise de documento 126 identifica outra ocorrência de estrutura de documento (922), e prossegue através da análise da ocorrência de estrutura de documento identificado adicional,
Petição 870190099218, de 03/10/2019, pág. 34/94
31/64 conforme descrito acima. Após o módulo de análise de documento 126 determinar que não haja ocorrências de estrutura de documento adicionais para analisar, o módulo de análise de documento 126 termina sua análise do documento recebido.
[0099] A Figura 10 ilustra um sistema de comentário de exigência
1002. No sistema ilustrado na Figura 10, o sistema de comentário de exigência 1002 inclui componentes similares aqueles descritos com relação à Figura 7 e o sistema de análise de exigências 702. Contudo, o sistema de comentário de exigência 1002 pode também incluir o módulo de comentário de documento 128.
[00100] Em geral, o módulo de comentário de documento 128 é operativo para comentar as ocorrências de documento de 134 a 136 do documento sob análise 132. Por exemplo, o módulo de comentário de documento 128 pode determinar se a ocorrência de estrutura de documento de 134 a 136 inclui quaisquer dos componentes nos glossários de 140 a 146 com a definição de sintaxe 150. Especificamente, o módulo de comentário de documento 128 pode determinar se uma ocorrência de estrutura de documento 134, como, por exemplo, um relatório de exigências de um documento de exigências, inclui um componente do glossário de agente 140. Em uma ocorrência alternativo, o módulo de comentário de documento 128 pode determinar se uma ocorrência de estrutura de documento 134 inclui um componente do glossário de expressões 146, do glossário de modo 144, do glossário de ação 142, ou outro glossário de outro conjunto de parâmetro de documento de 704 a 708.
[00101] O módulo de comentário de documento 128 pode também transmitir uma mensagem de análise com base na análise realizada pelo módulo de análise de documento 126. Em uma implementação, a transmissão de uma mensagem de análise inclui uma mensagem de análise embutida como um comentário na representação eletrônica 710
Petição 870190099218, de 03/10/2019, pág. 35/94
32/64 do documento sob análise. O pseudocódigo abaixo ilustra um método realizável pelo módulo de comentário de documento 128 na recuperação de mensagens de análise e embutindo as mensagens de análise como comentários na representação eletrônica 710 do documento sob análise 132:
Exigências de Processo (Documento de Exigência)
Para cada ocorrência de estrutura de documento s no
Documento de Exigência
Se (éExigência(s) for verdadeira)
Se(Encontrar Agente(s) = verdadeiro)
Marcar agente
Diferente
Transferir(Nenhum Agente Encontrado) retornar
Término se
Se(encontrar Modo(s) = verdadeiro)
Marcar modo
Diferente
Transferir(Nenhum Modo Encontrado)
Retornar
Término se
Se (encontrar Ação(s) = verdadeiro)
Marcar ação
Diferente
Transferir(Nenhuma Ação Encontrada) retornar
Término se
Marcar resto da frase
Se(encontrar Expressão (s) = verdadeiro)
Marcar expressão
Petição 870190099218, de 03/10/2019, pág. 36/94
33/64
Transferir(Expressão usada na exigência
Término se Término se Término Para Fim das Exigências do Processo [00102] O módulo de comentário de documento 128 pode também realizar uma ou mais das análises conforme descrito acima com relação ao módulo de análise de documento 126.
[00103] A Figura 11 ilustra mensagens de análise embutidas como comentários 1102 - 1108 em uma representação eletrônica 710 de um documento sob análise 132. Os comentários embutidos 1102 - 1108 incluem um comentário embutido de expressão 1102, um comentário embutido de agente 1104, e comentários embutidos de ação 1106 1108. Cada comentário embutido é dotado de mensagens de análise associadas ao glossário 140, 142 e 146. Por exemplo, o comentário embutido de expressão 1102 é dotado de mensagens de análise associadas ao glossário de expressões 146, o comentário embutido de agente 1104 é dotado de mensagens de análise associadas ao glossário de agente 140, e os comentários embutidos de ação 1106 1108 são dotados de mensagens de análise associadas ao glossário de ação 142. Além disso, o módulo de comentário de documento 128 pode identificar um componente específico através dos comentários embutidos 1102 - 1108, como, por exemplo, identificação do componente fácil, conforme ilustrado na Figura 11.
[00104] Ademais, o módulo de comentário de documento 128 pode indicar na representação eletrônica 710 o componente de categoria de estrutura das ocorrências de documento do documento sob análise 132 com as marcações de 614 a 620. Usando as marcações de 614 a 620, conforme comentado acima com relação à Figura 6, o módulo de comentário de documento 128 pode usar uma linha fina 614 para o
Petição 870190099218, de 03/10/2019, pág. 37/94
34/64 agente, uma linha media 616 para o verbo modal, e um peso de linha pesado 618 para a ação. O módulo de comentário de documento 128 pode também usar uma linha tracejada para o remanescente.
[00105] A Figura 12 ilustra um fluxo lógico para o sistema de comentário de exigências 1002. O módulo de comentário de documento 128 recebe os parâmetros e documento, como, por exemplo, os glossários de 140 a 146 ou os componentes dos glossários de 140 a 146, do conjunto de parâmetro de documento 138 (1202). O módulo de comentário de documento 128 então recebe o documento par análise (1204). Ao iniciar a análise do documento, o módulo de comentário de documento 128 identifica uma primeira ocorrência de estrutura de documento, como, por exemplo, uma ocorrência de estrutura de documento 134 (1206). O módulo de comentário de documento 128 pode não identificar quaisquer ocorrências de estrutura de documento, em cujo caso, o módulo de comentário de documento 128 pode exibir uma mensagem de análise indicando que não foi identificado nenhuma ocorrência de estrutura de documento.
[00106] Quando o módulo de comentário de documento 128 identifica uma ocorrência de estrutura de documento, o módulo de comentário de documento 128 então identifica um primeiro glossário no conjunto de parâmetro específico de documento (1008). O primeiro glossário pode ser qualquer dos glossários de 140 a 146. O primeiro glossário pode também, ser um glossário armazenado na base de dados de análise de documento 125. Alternativamente, o módulo de comentário de documento 128 pode receber um valor de seleção de componente de categoria de estrutura que indique o componente de categoria de estrutura para iniciar a análise. Por exemplo, o módulo de comentário de documento 128 pode receber um valor de seleção de componente de categoria de estrutura correspondente ao componente de categoria de ação, em cujo caso, o módulo de comentário de
Petição 870190099218, de 03/10/2019, pág. 38/94
35/64 documento 128 começa a análise da ocorrência de estrutura de documento com o glossário de ação 142.
[00107] O módulo de comentário de documento 128 então começa a analisar a ocorrência de estrutura de documento para determinar se a ocorrência de estrutura de documento contém quaisquer componentes no primeiro glossário (1210). Em outra implementação, o módulo de comentário de documento 128 compara cada componente do primeiro glossário com a ocorrência de estrutura de documento (1212).
[00108] Quando o módulo de comentário de documento 128 determina que a ocorrência de estrutura de documento contenha um componente do primeiro glossário, o módulo de comentário de documento 128 então prossegue para determinar se a ocorrência de estrutura de documento deve conter o componente (1214). Se o módulo de comentário de documento 128 determinar que a ocorrência de estrutura de documento deva conter o componente identificado, o módulo de comentário de documento 128 indica na ocorrência de estrutura de documento o componente identificado (1216). Por exemplo, a definição de sintaxe 150 define que o relatório de exigência deve conter um componente de categoria de ação. Assim, o módulo de comentário de documento 128 irá marcar uma ocorrência de estrutura de documento onde o módulo de comentário de documento 128 encontre um componente de ação na ocorrência de estrutura de documento.
[00109] Contudo, se o módulo de comentário de documento 128 determinar que a ocorrência de estrutura de documento não deva conter o componente identificado, o módulo de comentário de documento 128 recupera uma mensagem de análise do conjunto de parâmetro de documento 138 e embute a mensagem de análise na representação eletrônica 710 do documento sob análise 132 (1218). Por exemplo, o glossário de expressões 146 contém componentes que não devem aparecer em uma ocorrência de estrutura de documento. Nessa
Petição 870190099218, de 03/10/2019, pág. 39/94
36/64 ocorrência, onde o módulo de comentário de documento 128 identifica um componente do glossário de expressões 146 na ocorrência de estrutura de documento, o módulo de comentário de documento 128 embute uma mensagem de análise associada ao componente identificado.
[00110] Alternativamente, o módulo de comentário de documento 128 pode determinar que a ocorrência de estrutura de documento não contém um componente do primeiro glossário. Nesse caso, o módulo de comentário de documento 128 determina se a estrutura de ocorrência de documento deva conter um componente do glossário, Se a ocorrência de estrutura de documento deva conter um componente do glossário, o módulo de comentário de documento 128 recupera uma mensagem de análise associada ao componente ausente ou glossário, e embute a mensagem de analise na representação eletrônica 710 do documento sob análise 132 (1218). Alternativamente, se a ocorrência de estrutura de documento deva conter um componente do glossário, o módulo de comentário de documento 128 então prossegue para determinar se há glossários adicionais (1220) no conjunto de parâmetro de documento 138.
[00111] Como uma ocorrência do fluxo lógico acima descrito, a definição de sintaxe 150 define que o relatório de exigências deve conter um componente de categoria de ação. Quando o módulo de comentário de documento 128 identifica um relatório de exigência, mas também identifica que o relatório de exigências está ausente no componente de categoria de ação, o módulo de comentário de documento 128 embute uma mensagem de análise na representação eletrônica 710 do documento sob análise 132 indicando que o não há um relatório de exigências no componente de categoria de ação.
[00112] Após marcar a ocorrência de estrutura de documento (1216), embutir uma mensagem de análise (1218), ou determinar que a
Petição 870190099218, de 03/10/2019, pág. 40/94
37/64 ocorrência de estrutura de documento não deva conter um componente do primeiro glossário (1220), o módulo de comentário de documento 128 prossegue para determinar se há glossários adicionais no conjunto de parâmetro de documento (1220). Se o módulo de comentário de documento 128 determinar que não haja glossários adicionais, o módulo de comentário de documento 128 identifica o glossário seguinte (1222) e prossegue para analisar a ocorrência de estrutura de documento usando o glossário identificado (1210). Contudo, se o módulo de comentário de documento 128 determinar que não haja glossários remanescentes para usar na análise da ocorrência de estrutura de documento identificado, o módulo de comentário de documento 128 prossegue para determinar se há ocorrências de estrutura de documento adicionais remanescentes no documento sob análise 132 (1224). Se houver ocorrências de estrutura de documento remanescentes, o módulo de comentário de documento 128 identifica a ocorrência de estrutura de documento seguinte (1226) e prossegue para analisar a ocorrência de estrutura de documento seguinte identificado, conforme descrito acima. Quando não há nenhuma ocorrência de estrutura de documento remanescente e nenhum glossário remanescente, o módulo de comentário de documento 128 encerra sua análise e comentário.
[00113] Apesar do fluxo lógico acima descrito ilustrar algumas das ações do módulo de comentário de documento 128, as ações descritas não são exaustivas. Por exemplo, o módulo de comentário de documento 128 pode marcar um componente remanescente das ocorrências de estrutura de documento.
[00114] A Figura 13 ilustra um sistema gerador de relatório 1302. No sistema ilustrado na Figura 13, o sistema gerador de relatório 1002 inclui componentes similares aqueles descritos com relação à Figura 7 e o sistema de análise de exigências 702. Contudo, o sistema gerador de
Petição 870190099218, de 03/10/2019, pág. 41/94
38/64 relatório 1302 pode também incluir o módulo de relatório de documento 130. O módulo de relatório de documento 130 pode estar configurado para analisar documentos eletrônicos e ocorrências de estrutura de documento, conforme descrito acima com relação ao módulo de análise de documento 126.
[00115] Em geral, o módulo de relatório de documento 130 é operativo para gerar relatórios pelo componente e ocorrência de estrutura de documento do módulo de relatório de documento 130. Especificamente, o módulo de relatório de documento 130 é operativo para gerar um relatório de associação de componentes com as ocorrências de estrutura de documento que contenham aqueles componentes e sejam consistentes com a definição de sintaxe 150. Em gral, o módulo de relatório de documento 130 é operativo para receber um valor de componente de categoria de estrutura e gerar um relatório usando o valor de componente de categoria de estrutura recebido.
[00116] A Figura 14 ilustra uma ocorrência de relatório 1402 gerado pelo módulo de relatório de documento 130 usando um valor de componente de categoria de ação. A ocorrência de relatório 1402 contém uma coluna componente 1404 e uma coluna de relatório de exigências identificadas 1406. Na ocorrência de relatório 1402, a coluna de componente 1404 contém fileiras de componentes de agente e a coluna de relatório de exigências 1406 contém fileiras de relatórios de exigência associadas ao componente de agente identificado na coluna de componente 1404. Contudo, a coluna de componente 1404 pode incluir outros componentes como, por exemplo, componentes de ação, componentes de modo, ou outros componentes, dependendo do valor de componente de categoria de estrutura recebido pelo módulo de relatório de documento 130. O módulo de relatório de documento 130 pode também ser pré-configurado para gerar um relatório usando um componente e categoria de estrutura de documento específico.
Petição 870190099218, de 03/10/2019, pág. 42/94
39/64 [00117] A Figura 15 ilustra um fluxo lógico para o sistema gerador de relatório 1302. O módulo de relatório de documento 130 recebe os parâmetros de documento, como, por exemplo, os glossários de 140 a 146 ou os componentes do glossário de 140 a 146, do conjunto de parâmetro de documento 138 (1502). O módulo de relatório de documento 130 então recebe o documento para análise (1504). Em seguida, o módulo de relatório de documento 130 recebe um valor de seleção de componente de categoria de estrutura para selecionar um glossário pelo qual analisar o documento recebido (1506).
[00118] Ao iniciar o relatório do documento recebido, o módulo de relatório de documento 130 seleciona um primeiro componente do glossário selecionado (1508). O módulo de relatório de documento 130 então compara o primeiro componente selecionado com as ocorrências de estrutura de documento do documento recebido (1510). Quando o módulo de relatório de documento 130 está comparando o primeiro componente selecionado com as ocorrências de estrutura de documento, o módulo de relatório de documento 130 mantém uma lista das ocorrências de estrutura de documento que contenham o primeiro componente selecionado de acordo com a definição de sintaxe 150. É possível que nenhuma das ocorrências de estrutura de documento contenha o primeiro componente selecionado ou contenha o primeiro componente selecionado consistente com a definição de sintaxe 150.
[00119] Após compara o primeiro componente selecionado com as ocorrências de estrutura de documento, o módulo de relatório de documento 130 então determina se há componentes adicionais no glossário selecionado (1514). Quando o módulo de relatório de documento 130 determina que haja componentes adicionais no glossário selecionado, o módulo de relatório de documento 130 seleciona o componente seguinte no glossário selecionado (1516), e prossegue para comparar o componente seguinte selecionado com as
Petição 870190099218, de 03/10/2019, pág. 43/94
40/64 ocorrências de estrutura de documento no documento recebido (1510). O módulo de relatório de documento 1530 também mantêm uma lista de ocorrências de estrutura de documento que contenham o componente seguinte selecionado com a definição de sintaxe 150.
[00120] Quando o módulo de relatório de documento 130 determina que o glossário selecionado não contenha componentes adicionais, o módulo de relatório de documento 130 emite um relatório contendo a lista de componentes do glossário selecionado e as listas mantidas das ocorrências de estrutura de documento contendo os componentes consistentes com a definição de sintaxe 150 (1518). Em algumas ocorrências, a lista associada a um componente pode ser uma lista vazia. O módulo de relatório de documento 130 pode emitir mais de um relatório dependendo do número de glossários selecionados e do número de documentos recebidos.
[00121] A Figura 16 ilustra uma ocorrência de uma taxonomia de agente 1602. A taxonomia de agente 1602 ilustra uma relação hierárquica entre os componentes de agente contidos em um glossário de agente 140. Por exemplo, a taxonomia de agente 1602 ilustra que um gerente supridor é um tipo de Gerente. Similarmente, a Figura 17 ilustra uma ocorrência de uma taxonomia de ação 1702. A taxonomia de ação 1702 ilustra uma relação hierárquica entre os componentes de ação contidos em um glossário de ação 142. Por exemplo, a taxonomia de ação 1702 ilustra que o verbo e-mail é um verbo mais específico para Enviar. A taxonomia de agente 1602 ou taxonomia de ação 1702 podem ser usadas como parte de uma análise baseada no conhecimento de domínio para determinar se há conflito entre ocorrências de estrutura de documento, ou, especificamente, relatórios de exigências. Por exemplo, o sistema de análise, comentário, e relatório de documento 102 pode incluir uma ou mais regras de negócios para solucionar conflitos entre os relatórios de exigência usando um
Petição 870190099218, de 03/10/2019, pág. 44/94
41/64 glossário de agente 140 configurado com a taxonomia de agente 1602, o glossário de ação 142 configurado com a taxonomia de ação 1702, ou outro glossário configurado com outro tipo de taxonomia. O sistema de análise, comentário, e relatório de documento 102 pode também ser configurado para identificar ocorrência de estrutura de documento similares, como, por exemplo, O sistema de aquisição envia a ordem para o usuário e O sistema de aquisição envia uma ordem por fax para o usuário, usando a taxonomia de agente 1602, a taxonomia de ação 1702, ou uma taxonomia adicional ou alternativa.
[00122] A Figura 18 ilustra uma ocorrência de um modelo de ontologia 1800. Em uma implementação, o modelo de ontologia 1800 define uma hierarquia de ontologia 1802. O modelo de ontologia 1800 pode ser descrito usando a Linguagem de Ontologia da Web OWL. Contudo, o modelo de ontologia 1800 pode também ser descrito usando outras linguagens como, por exemplo, Estrutura de Descrição de Recurso (RDF) ou o Formato de Intercambio de Conhecimento (KIF).
[00123] A hierarquia de ontologia 1802 compreende classes de ocorrência de estrutura de documento relacionadas como classes raízes e classes filho. Por exemplo, a Figura 18 ilustra que a hierarquia de ontologia 1802 inicia com uma classe de exigência raiz 1804 e que a classe de exigência raiz 1804 é dotada de duas classes filho, uma classe de exigência de segurança 1806 e uma classe de exigência de tempo 1820. Além disso, a classe de exigência de segurança 1806 é uma classe-raiz de duas classes filho, uma classe de codificação 1808 e uma classe de autenticação 1814. Similarmente, a classe de exigência de tempo 1820 é uma classe-raiz de duas classes de filho, uma classe de tempo de resposta 1822 e uma classe de tempo de rede 1824. As classes filho adicionais incluem uma classe SSH 1810, uma classe RSA 1812, uma classe de indicação de segurança 1816, e uma classe de senha 1818. Conforme ilustrado na Figura 18, a classe SSH 1810 e a
Petição 870190099218, de 03/10/2019, pág. 45/94
42/64 classe RSA 1812 são classes filho da classe de codificação 1808, e a classe de indicação de segurança 1816 e a senha 1818 são classes filho da classe de autenticação 1814.
[00124] A Figura 18 também ilustra que a hierarquia de ontologia 1802 define as relações de classe entre as classes raiz e suas classes filho associadas. Por exemplo, a Figura 18 ilustra que o modelo de ontologia 1800 inclui uma relação de definição de classe horizontal 1828 e uma relação de definição de classe vertical 1826. Em geral, as relações de definição de classe horizontal definem as relações entre classes não relacionadas à hierarquia, e as relações de definição de classe vertical definem as relações hierárquicas entre as classes. Na ocorrência ilustrada na Figura 18, a relação de definição de classe horizontal 1828 é uma relação afeta, e ilustra que a classe de exigência de segurança 1806 afeta a classe de exigência de tempo 1820. Além disso, a Figura 18 ilustra que a relação de definição de classe vertical 1826 é uma relação isA que ilustra que a classe de exigência de tempo 1820 é uma classe-filho da classe de exigência 1804. Ocorrências de relações de definição de classe estão ilustrados abaixo na Tabela 3.
Tabela 3
|
Tipo de Relação |
Descrição |
|
Afeta |
Classificações que afetam uma outra |
|
Contradiz |
Classificações que contradizem uma outra |
|
Dependência |
Classificações que dependem uma da outra |
|
Implementa |
Classificações que implementam uma classificação de nível mais elevado |
|
Similaridade |
Classificações que são similares ou a outra |
|
isA |
Classificações que são casos especiais de outras Classificações |
Petição 870190099218, de 03/10/2019, pág. 46/94
43/64 [00125] A Figura 18 também ilustra que o modelo de ontologia 1800 pode também incluir ocorrências de termos de pesquisa de classe que facilitam a análise das ocorrências de estrutura de documento comparado com o modelo de ontologia 1800. As ocorrências dos termos de pesquisa de classe de ocorrência são os termos de pesquisa de classe de codificação 1830 codificar e codificado. Os termos de pesquisa de classe de ocorrência podem ser usados para associar ocorrências de estrutura de documento a uma classe. Outras ocorrências de termos de pesquisa de classe de ocorrência podem ser SSH, RSA, autenticar, senha, ou outro termo de pesquisa associado às classes incluídas no modelo de ontologia 1800. Contudo, podem ser usadas outras propriedades para associar uma ocorrência de estrutura de documento com uma ou mais classes.
[00126] A seguir, a Figura 19 é uma ocorrência de um sistema de análise de ontologia 1900. O sistema de análise de ontologia 1900 inclui um ou mais componentes do sistema de análise, comentário e relatório de documento 102. Em uma implementação, a memória 118 armazena lógica de classificação 1902 e lógica de análise de relação 1906 para analisar um documento sob análise 132 usando o modelo de ontologia 1800. A base de dados de análise de documento 124 pode também incluir modelos de ontologia adicionais diferentes do modelo de ontologia 1800.
[00127] Conforme ilustrado na Figura 19, o modelo de ontologia 1800 inclui uma classe-raiz 1910, como, por exemplo, a classe de exigência 1804, e classes filho 1912, como, por exemplo, a classe de exigência de segurança 1806 e a classe de exigência de tempo 1820. O modelo de ontologia também inclui relações de definição de classe 1914, como, por exemplo, relação horizontal 1828 e relações verticais 1826, e inclui termos de pesquisa de ocorrência, como, por exemplo, os termos de pesquisa de classe de ocorrência de codificação 1830.
Petição 870190099218, de 03/10/2019, pág. 47/94
44/64 [00128] A lógica de classificação 1902 é operativa para analisar as ocorrências de estrutura de documento de 134 a 136 comparados com o modelo de ontologia 1800 para determinar classificações para as ocorrências de estrutura de documento entre as classes de ocorrência de estrutura de documento. Em uma implementação, a lógica de classificação 1902 examina cada ocorrência de estrutura de 134 a 136 em um documento sob análise 132, e quando uma ocorrência de estrutura de documento inclui um termo de pesquisa associado a uma classe no modelo de ontologia 1800, a lógica de classificação 1902 designa uma classificação ocorrência para a ocorrência de estrutura de documento com base no termo de pesquisa encontrado e a classe associada ao termo de pesquisa encontrado. Contudo, a lógica de classificação 1902 pode designar uma classificação a ocorrência para uma estrutura de documento usando outra propriedade da ocorrência de estrutura de documento diferente do termo de pesquisa.
[00129] Além disso, a lógica de classificação 1902 pode se comunicar com a máquina de inferência 106 para usar um modelo de conhecimento para determinar que a ocorrência de estrutura de documento é uma ocorrência de uma classe associada ao termo de pesquisa encontrado. Em uma implementação, a máquina de inferência 106 é uma máquina de inferência Jena, disponível de Hewlett-Packard Development Company, LP situada em Palo Alto, Califórnia. Contudo, a máquina de inferência 106 pode ser outras máquinas de argumentação como Jess, disponível de Sandia National Laboratories situada em Livermore, Califórnia ou Oracle 10G, disponível de Oracle Corporation situada em Redwood Shores, Califórnia. O pseudocódigo abaixo ilustra uma implementação da lógica de classificação 1902 quando a lógica de classificação 1902 usada os termos de pesquisa de ocorrência de criptografia 1830:
Criar ocorrência de Exigência (Exigência R, Ontologia Ont,
Petição 870190099218, de 03/10/2019, pág. 48/94
45/64
Modelo m)
Para cada classe, na Ontologia ont
Se classei ou termos de pesquisa (classi) ocorre em R m.declara (R é uma ocorrência de classei) término se término Para término Criar ocorrência onde: termos de pesquisa (classei) é lista de termos e pesquisa para uma classe em uma ontologia, como, por exemplo, {codificar, codificado}.
[00130] Como uma ocorrência da lógica de classificação 1902 em operação, suponha que uma primeira ocorrência de estrutura de documento declare que A o sistema de mensagem irá codificar todas as suas respostas usando SSH e um segunda ocorrência de estrutura de documento declare que O sistema de mensagem terá um tempo de resposta de 5 milésimos de segundo. Nessa ocorrência, a lógica de classificação 1902 irá declarar p primeira ocorrência de estrutura de documento como uma ocorrência de classe de codificação 1808 e a classe SSH 1810. A lógica de classificação 1902 irá também declarar a segunda ocorrência de estrutura de documento como uma ocorrência da classe de tempo de resposta 1822. A lógica de classificação 1902 pode também manter essas declarações como parte das classificações de ocorrência 1904.
[00131] Além da lógica de classificação 1902, a lógica de análise de relação 1906 é operativa para se as ocorrências de estrutura de documento de 134 a 136 afetarem uns aos outros. A lógica de análise de relação 1906 pode também operar em combinação com a lógica de classificação 1902 para determinar as ocorrências de estrutura de documento de 134 a 136 que afetam uns aos outros. A lógica de análise de relação 1906 pode também usar um modelo de conhecimento para
Petição 870190099218, de 03/10/2019, pág. 49/94
46/64 determinar as ocorrências de estrutura de documento de 134 a 136 que afetam uns aos outros. A lógica de análise de relação 1906 podem também encontrar ocorrências de estrutura de documento relacionados, ocorrências de estrutura de documento complementares, ou outras ocorrências de estrutura de documento. O pseudocódigo abaixo ilustra uma ocorrência da lógica de análise de relação 1906:
Encontrar Exigências Afetadas (Documento d, Ontologia ont, Modelo m)
m.carga de Ontologia (ont)
Para cada exigência r em um documento
Criar ocorrência de Exigência (R, ont, m)
Término Para
m.Executar Dívida(Selecionar ?R1, ?R2 ONDE {?R1 Tipo
Exigência RDF ?R2 Tipo Exigência RDF ?R1 afeta ?R2})
Término Encontra Exigências Afetadas
Onde: a m.executa Sumida é uma dúvida SPARQL que retorna quaisquer dois ocorrências de Exigência de classe (R1 e R2) que afete um ao outro.
[00132] Conforme ilustrado acima, a lógica de análise de relação 1906 usa a linguagem de dúvida SPARQL. Contudo, a lógica de análise de relação 1906 pode usar outras linguagens de dúvida, como, por exemplo, SQL, a linguagem de Regras JESS, LISP, ou qualquer outra linguagem de dúvida.
[00133] A Figura 20 ilustra um fluxo lógico para um sistema de análise de ontologia 1900. O sistema de análise de ontologia 1900 inicialmente recupera um ou mais conjuntos de parâmetro de documento da base de dados de análise de documento 124 (2002). Conforme anteriormente comentado, um conjunto de parâmetro de documento pode incluir um ou mais glossários, identificações de estrutura, definições de sintaxe, ou outros parâmetros. O sistema de
Petição 870190099218, de 03/10/2019, pág. 50/94
47/64 análise de ontologia 1900 então recebe o documento sob análise 132 (2004). Em seguida o sistema de análise de ontologia 1900 recupera um modelo de ontologia 1800 (2006). O sistema de análise de ontologia 1900 pode também recuperar modelos de ontologia adicionais da base de dados de análise de documento 124.
[00134] Usando o modelo de ontologia recuperado e a lógica de classificação 1902, o sistema de análise de ontologia 1900 classifica as ocorrências de estrutura de documento do documento sob análise 132 com base em se as ocorrências de estrutura de documento contêm termos de pesquisa de classe de ocorrência associados 1916 (2008). Por exemplo, a lógica de classificação 1902 pode ser operável para operar para pesquisar os termos de pesquisa de classe de ocorrência 1926 em um ou mais ocorrências de estrutura de documento. O sistema de análise de ontologia 1900 pode manter um conjunto de classificações ocorrência 1904 que pode ser identificadores ou outros dados que designam uma ou mais classes para uma ocorrência de estrutura de documento.
[00135] Após classificar as ocorrências de estrutura de documento, o sistema de análise de ontologia 1900 pode então usar a lógica de análise de relação 1906 para determinar se há relações de definição de classe horizontal entre as ocorrências de estrutura de documento usando as classificações ocorrência 1904 e o modelo de ontologia 1800 (2010). O sistema de análise de ontologia 1900 pode também se comunicar com uma máquina de inferência 106 para classificar as ocorrências de estrutura de documento ou para analisar as relações de definição de classe entre as ocorrências de estrutura de documento.
[00136] Seguindo a classificação (2008) e a análise de relação (2010) das ocorrências de estrutura de documento, o sistema de análise de ontologia 1900 pode emitir um resultado de análise mostrando os resultados da classificação e a análise de relação (2012). Como uma
Petição 870190099218, de 03/10/2019, pág. 51/94
48/64 ocorrência do resultado da análise, o sistema de análise de ontologia 1900 pode inserir uma mensagem de notificação de relação no documento do documento sob análise 132. São também possíveis tipos adicionais de resultados de análise.
[00137] A descrição acima explicou a função de vários tipos de glossários de 140 a 146, como, por exemplo, o glossário de agente 140 que define os agentes permissíveis. Além dos glossários de 140 a 146, o sistema de análise, comentário e relatório de documento 102 pode também incluir outros tipos de glossários, como, por exemplo, um glossário de relação de exigências. A Figura 21 ilustra uma ocorrência de um glossário de relação de exigências 2102. O glossário de relação de exigências pode definir as relações entre as classes de um modelo de ontologia. O glossário de relação de exigências 2102 pode também definir as relações entre os componentes de categoria de estrutura de uma ocorrência de estrutura de documento.
[00138] Em uma implementação, o glossário de relação de exigências 2102 inclui uma categoria de classe 2104, uma categoria de classe principal 2106, categoria de palavras-chave 2108, e uma categoria de relação 2110. Outras implementações do glossário de relação de exigências 2102 podem incluir outras categorias. A categoria de classe 2104 pode identificar uma classe de um modelo de ontologia. A categoria de classe principal 2106 pode identificar uma classe principal para uma determinada classe de uma categoria de classe 2104. A categoria de palavras-chave 2108 pode incluir palavras-chave que facilitem a análise das ocorrências de estrutura de documento. Ocorrências de palavras-chave associadas a uma classe de autenticação podem incluir senhas, indicação, autenticação, e Kerberos. As palavras-chave podem ser usadas para associar ocorrências de estrutura de documento a uma classe. Alternativamente, ou, além disso, as palavras-chave podem ser usadas para associar um
Petição 870190099218, de 03/10/2019, pág. 52/94
49/64 componente de categoria de estrutura a uma classe. A categoria de relação 2110 pode identificar se uma determinada classe é dotada de uma relação com outra classe. Por exemplo, um componente de categoria de estrutura de classe de segurança pode afetar um componente de categoria de estrutura de tempo.
[00139] A Figura 22 é uma ocorrência de um sistema de grafia de exigências 2202. Na ocorrência ilustrada na Figura 22, o sistema de grafia de exigências 2202 inclui um módulo de grafia 2204 em comunicação com um documento sob análise 132 e um conjunto de parâmetro de documento 2206. O módulo de grafia 2204 pode também estar em comunicação com a base de dados de análise de documento 124 para recuperar um ou mais conjuntos de parâmetro específico de documento de 706 a 708. Em uma implementação, o módulo de grafia 2204 está em comunicação com o conjunto de parâmetro de documento 2206 que inclui o glossário de agente 140, o glossário de modo 144, e os identificadores de estrutura 148, o glossário de ação 142, o glossário de expressões 146, as definições de sintaxe 150, e o glossário de relação 2102. O módulo de grafia 2204 pode também estar em comunicação com o processador 116, a interface de rede 120 e vários outros dispositivos de entrada / saída 122. Conforme ilustrado na Figura 22, o módulo de grafia 2204 está em comunicação com o monitor 126, que pode exibir uma representação eletrônica 2208 de uma hierarquia de ontologia para o documento sob análise 132.
[00140] Apesar do módulo de grafia 2204 ser conhecido como integrado como parte do sistema de grafia de exigências 2202, o módulo de grafia 2204 pode estar integrado como parte de qualquer outro sistema. Por exemplo, o módulo de grafia 2204 pode ser incorporado no sistema de análise, comentário e relatório de documento 102, o sistema de análise de exigências 702, o sistema de comentário de exigências 1002, o sistema gerador de relatório 1302, ou o sistema de análise de
Petição 870190099218, de 03/10/2019, pág. 53/94
50/64 ontologia 1900. Em outras implementações, o modulo de grafia 2204 é acessado através de chamadas de procedimento remoto, serviços da web, ou outras interfaces para obter uma imagem para transmitir no monitor 126.
[00141] O módulo de grafia 2204 inclui lógica que gera ou modifica uma hierarquia de ontologia usando o conjunto de parâmetro de documento 2206 e as ocorrências de documento de 134 a 136 do documento sob análise 132. Por exemplo, o módulo de grafia 2204 pode primeiro identificar uma ocorrência de estrutura de documento no documento sob análise 132 (2210). O módulo de grafia 2204 pode então selecionar ou identificar um componente de categoria de estrutura da ocorrência de estrutura de documento identificado, como, por exemplo, uma ação de agente ou outro componente de categoria de estrutura (2212). Após isso, o módulo de grafia 2204 pode gerar uma hierarquia de ontologia que inclui o componente de categoria de estrutura identificado (2214). Em uma implementação, o módulo de grafia 2204 é operativo para gerar uma hierarquia de ontologia que inclui cada componente de categoria de estrutura da ocorrência de estrutura de documento (2216). Em outra implementação, o módulo de grafia 2204 é operativo para gerar uma hierarquia de ontologia que inclui cada componente de categoria de estrutura de cada ocorrência de estrutura de documento de 134 a 136 do documento sob análise 132 (2218).
[00142] Em uma implementação adicional, o módulo de grafia 2204 gera uma hierarquia de ontologia de núcleo que é dotada de classes raiz comuns, classes filho, e relações. O módulo de grafia 2204 pode ser configurado para usar a hierarquia de ontologia de núcleo para gerar uma hierarquia de ontologia específica de documento. Por exemplo, o módulo de grafia 2204 pode acessar os vários glossários, como, por exemplo, o glossário de agente 140 e o glossário de ação 142, para modificar a hierarquia de ontologia de núcleo para incluir classes de
Petição 870190099218, de 03/10/2019, pág. 54/94
51/64 agente e de ação e ocorrências específicos para glossário de agente 140 e o glossário de ação 142. O módulo de grafia 2204 pode então acessar o glossário de relação 2102 para construir e estabelecer relações entre as classes da hierarquia de ontologia de núcleo modificada. Após isso, o módulo de grafia 2204 pode extrair os componentes de categoria de estrutura das ocorrências de estrutura de documento de 134 a 136 para adicionar ocorrências ou identificadores das ocorrências de estrutura de documento para a hierarquia de ontologia de núcleo modificada. Em outras implementações, o módulo de grafia 2204 pode ser configurada para se comunicar com outros módulos, como, por exemplo, o modo de análise 126, para adicionar ocorrências ou identificadores das ocorrências de estrutura de documento de 134 a 136 para a hierarquia de ontologia de núcleo modificada. A hierarquia de ontologia de núcleo modificada pode então ser designada como a hierarquia de ontologia específica de documento. [00143] O módulo de grafia 2204 pode exibir uma ou mais hierarquias de ontologia de núcleo como a saída 2208 no monitor 126. Por exemplo, o módulo de grafia 2204 pode exibir a hierarquia de ontologia de núcleo, a hierarquia de ontologia de específica de documento, ou qualquer outra hierarquia. As hierarquias podem ser exibidas em qualquer tempo incluindo enquanto está sendo gerado pelo módulo de grafia 2204, após ser gerado pelo módulo de grafia, ou sendo gerado de outra fonte, como, por exemplo, um dispositivo de memória ou outro sistema de computador.
[00144] A Figura 23 ilustra uma ocorrência de uma hierarquia de ontologia de núcleo 2302. A hierarquia de ontologia de núcleo 2301 pode ser pré-configurada ou gerada pelo módulo de grafia 2304. Em uma implementação, a hierarquia de ontologia de núcleo 2302 é gerada como a saída 2208. Em geral, a hierarquia de ontologia de núcleo 2302 ilustra as várias relações entre classes e exigências. A hierarquia de
Petição 870190099218, de 03/10/2019, pág. 55/94
52/64 ontologia de núcleo 2302 pode ser descrita usando a linguagem de Ontologia da Web OWL. Contudo, a hierarquia de ontologia de núcleo 2302 pode também ser descrita usando outras linguagens como, por exemplo, A Estrutura de Descrição de Recurso (RDF) ou o Formato de Intercambio de Conhecimento (KIF).
[00145] A hierarquia de ontologia de núcleo 2302 compreende classes de ocorrência de estrutura de documento relacionados como classes raiz e classes filho. Por exemplo, a Figura 23 ilustra que a hierarquia de ontologia de núcleo 2302 começa com uma classe de exigência raiz 2304 e aquela classe de exigência raiz 2304 é dotada de quatro classes filho: uma classe de Tipo de Exigência 2306, uma classe de Exigência 2308, uma classe de Agente 2310, e uma classe de Ação 2312. A classe Tipo Exigência 2306 é também dotada de duas classes filho: uma classe Funcional 2314 e uma classe Não-Funcional 2316. A classe Não-Funcional 2316 é também uma classe-raiz para duas classes filho: uma classe de Tempo 2318 e uma classe de Segurança 2320. A classe de Segurança 2320 é também dotada de duas classes filho: uma classe de Autenticação 2322 e uma classe de Codificação 2324.
[00146] A classe de Exigência 2308 é também dotada de classes filho. Em uma implementação, a classe de Exigência é dotada de uma classe de Exigência Simples 2326 e uma classe de Exigência Condicional 2328. A classe de Exigência Simples 2326 é dotada de duas classes filho: uma classe de Regra de Negócio e uma classe de Exigência Padrão 2332.
[00147] Como a classe de Exigência 2308, a classe de Agente 2310 é dotada de uma classe de Usuário 2334 e uma classe de Sistema 2336 como classes filho. A classe de Ação 2312 pode ou não ser dotada de classes filho.
[00148] As classes secundárias para uma classe principal pode ser
Petição 870190099218, de 03/10/2019, pág. 56/94
53/64 diferente dependendo do contexto da hierarquia de ontologia. Por exemplo, ocorrências de outras classes Não-Funcionais incluem uma classe de Indicações Seguras, uma classe de Protocolo de Mensagem, ou outras classes. As outras classes principais podem também ser dotadas de classes secundárias alternativas dependendo também do contexto da hierarquia de ontologia. A tabela 4 lista algumas dessas classes ilustradas pela hierarquia de ontologia 2302. Em outras implementações, a hierarquia de ontologia de núcleo 2302 inclui classes alternativas.
Tabela 4
|
Classe |
Descrição |
|
Raiz |
A raiz do modelo de ontologia |
|
Tipo de Exigência |
A classe que define o tipo de exigência |
|
Exigência |
Uma classe que define uma exigência |
|
Agente |
Uma classe que define agentes |
|
Ação |
Uma classe que define ações |
|
Funcional |
Uma classe que define exigências funcionais |
|
Não-Funcional |
Uma classe que define exigências nãofuncionais |
|
Tempo |
Uma classe que define tempo |
|
Segurança |
Uma classe que define segurança |
|
Autenticação |
Uma classe que define autenticação |
|
Codificação |
Uma classe que define codificação |
|
Exigência Simples |
Uma classe que define todas as exigências que não são condicionais |
|
Exigência
Condicional |
Uma classe que define exigências condicionais |
Petição 870190099218, de 03/10/2019, pág. 57/94
54/64
|
Classe |
Descrição |
|
Regra de Negócio |
Uma classe que define aquelas exigências que são regras de negócio |
|
Exigência Padrão |
Uma classe que define exigência padrão sendo dotada de uma fórmula: [agente][modal][palavra][ação][pausa] |
|
Usuário |
Uma classe que define um usuário |
|
Sistema |
Uma classe que define um sistema |
[00149] A Figura 23 também ilustra que a hierarquia de ontologia de núcleo 2302 define relações de classe entre as classes raiz e suas classes filho associadas. Por exemplo, a Figura 23 ilustra que o modelo de ontologia 2302 inclui uma relação de definição de classe horizontal 2338 e uma relação de definição de classe vertical 2340. Em geral, as relações de definição de classe horizontal definem relações entre classes não relacionadas à hierarquia, e as relações de definição de classe vertical definem relações hierárquicas entre classes. Em uma ocorrência ilustrado na Figura 23, a relação de definição de classe horizontal é uma relação dotada de Tipo de Exigência, e ilustra que a classe de exigência 2308 é dotada de um tipo de exigência da classe de Tipo de Exigência 2306. Além disso, a Figura 23 ilustra que a relação de definição de classe vertical 2340 é uma relação dotada de classe secundária que ilustra que a classe de exigência de raiz tempo 2304 é dotada de quatro classes filho. Essas relações não são exaustivas e são também possíveis outras relações. Ocorrências de relações de definição de classe estão ilustrados abaixo na Tabela 5.
Tabela 5
|
Relação |
Descrição |
|
Afeta |
Classificações que afetam umas as outras |
Petição 870190099218, de 03/10/2019, pág. 58/94
55/64
|
Relação |
Descrição |
|
Contradiz |
Classificações que contradizem umas as outras |
|
Dependência |
Classificações que dependem umas das outras |
|
Implementa |
Classificações que implementam uma classificação de nível mais alto |
|
Similaridade |
Classificações que são similares uma a outra |
|
isA |
Classificações que são casos especiais de outras classificações |
|
é dotada de classe secundária |
Classificações onde uma classe secundária é uma especialização as classe principal. Por exemplo, uma principal é uma classe secundária de humano, que significa que principal é um grupo secundário especial de todos os humanos que são principais |
|
é dotada de Tipo de Exigência |
Classificações que definem o tipo de exigência. Em geral a classe pode ser uma classe funcional ou uma classe nãofuncional |
|
é dotada de Agente |
Classificações onde a classe é o agente da exigência |
|
é dotada de ocorrência |
Classificações que exemplificam uma classe. Em outras palavras, a classificação da ocorrência é a forma específica da classe geral que a classe-ocorrência está exemplificando |
Petição 870190099218, de 03/10/2019, pág. 59/94
56/64
|
Relação |
Descrição |
|
é dotada de Ação |
Classificações quando a classe é a ação da ocorrência |
|
Afeta |
Classificações que afetam umas as outras |
|
é dotada de Agente
Secundário |
Agente Secundário de uma exigência |
|
é dotada de algoritmo de Codificação |
Algoritmo de Codificação usado pelo
Sistema (por exemplo, SSH, RSA) |
[00150] A hierarquia de ontologia de núcleo 2302 pode incluir, ou estar integrada com uma ou mais ontologias específicas de domínio. A ontologia específica de domínio pode incluir um ou mais classes específicas de domínio. Por exemplo, a hierarquia de ontologia de núcleo 2302 inclui uma ontologia específica de domínio 2342 que compreende uma classe de Tempo 2318, uma classe de Segurança 2320, uma classe de Autenticação 2322, e uma classe de Codificação 2324. A ontologia específica de domínio 2342 está associada à classe Não-Funcional 2316 da hierarquia de ontologia de núcleo 2302. Outras ocorrências de ontologias específicas de domínio incluem uma ontologia específica de domínio móvel que é dotada de classes associadas aos dispositivos móveis e uma ontologia específica de domínio de sistema SAP associada aos sistemas SAP. Outras ontologias específicas de domínio podem também estar configuradas para outros sistemas.
[00151] As ontologias específicas de domínio podem estar associadas a outras classes. Por exemplo, a hierarquia de ontologia de núcleo pode ser dotada de uma ontologia específica de domínio associada à classe Funcional 2324, uma ontologia específica de domínio associada à classe de Exigência 2308, uma ontologia específica de domínio associada à classe de Agente, e uma ontologia específica de domínio associada à classe de Ação 2312. Em outras
Petição 870190099218, de 03/10/2019, pág. 60/94
57/64 palavras, uma ontologia específica de domínio pode estar associada a qualquer classe da hierarquia de ontologia de núcleo 2302.
[00152] Conforme comentado acima, o módulo de grafia 2204 é operativo para gerar uma hierarquia de ontologia específica de documento usando o documento sob análise 112 e a hierarquia de ontologia de núcleo 2302. A Figura 24 ilustra uma ocorrência de uma hierarquia de ontologia específica de documento 2402. Na ocorrência ilustrada na Figura 24, a hierarquia de ontologia específica de documento 2402 gera a hierarquia de ontologia específica de documento 2402 usando os dois ocorrências de estrutura de documento que se seguem: 1) O Servidor da Web irá codificar todas as suas respostas usando SSH; e 2) o Servidor da Web será dotado de um tempo de resposta de 5 milésimos de segundo ou menos.
[00153] A hierarquia de ontologia específica de documento 2402 inclui identificadores de ocorrência de hierarquia de 2404 a 2412 que identificam e estabelecem relações entre os componentes de categoria de estrutura dessas duas ocorrências de estrutura de documento. Por exemplo, a hierarquia de ontologia específica de documento 2402 inclui um identificador de ocorrência de hierarquia de agente 2404 que identifica o agente Servidor da Web, um identificador de ocorrência de hierarquia de exigência 2406 que identifica o tempo de resposta de 5 milésimos de segundo, um identificador de ocorrência de hierarquia de exigência padrão 2408 que identifica a exigência de documento que o agente Servidor da Web é dotado de uma exigência de codificação de SSH, identificador de ocorrência de hierarquia de tempo de resposta 2410 que identifica uma ocorrência da classe principal de tempo de resposta, e um identificador de ocorrência de hierarquia de codificação 2412 que identifica uma ocorrência da classe principal de codificação.
[00154] A hierarquia de ontologia específica de documento 2402 proporciona uma visão geral gráfica informativa poderosa das relações
Petição 870190099218, de 03/10/2019, pág. 61/94
58/64 entre as classes da ontologia de exigência de núcleo 2302 e das ocorrências de estrutura de documento de 134 a 136. Devido ao grande tamanho dos documentos de exigências, o módulo de grafia 2204 pode proporcionar informação a respeito dos vários sistemas sendo referidos no documento de exigência.
[00155] O sistema de grafia de exigências 2202 podem interagir com qualquer outro sistema, como, por exemplo, o sistema de análise de exigências 702, o sistema de comentário de exigências 1002, o sistema de análise de ontologia 1900, ou qualquer outro sistema, para proporcionar informação referente aas ocorrências de estrutura de documento. Por exemplo, a hierarquia de ontologia específica de documento 2402 pode ser interrogada para proporcionar informação a respeito das ocorrências de estrutura de documento usando uma ou mais linguagens de dívida, como, por exemplo, um SPARQL. Em uma implementação, a dúvida SPARQL seguinte pode ser passada para a hierarquia de ontologia específica de documento 2402 para determinar se há qualquer relação entre as ocorrências de estrutura de documento:
Selecionar ?exigência 2 quando {?exigência1 é dotada do Tipo de Exigência ?Tipo1 ?exigência2 é dotada do Tipo de Exigência ?Tipo2. Afeta domínio ?Tipo1 .Afeta variação ?tipo2.
?exigência2 é dotada de Agente ?agente2 .?exigência1 é dotada de Agente ?agente1 filtro(?Agente1 = ?agente2)} [00156] Apesar da dúvida a hierarquia de ontologia específica de documento 2402 pode estar em qualquer linguagem, a dúvida SPARQL acima retorna todas as exigências para o mesmo agente que é dotado de tipos de exigência que afetam uns aos outros.
[00157] O sistema de grafia de exigências 2202, ou quaisquer outros sistemas, podem também sustentar dúvidas adicionais. Por exemplo, o
Petição 870190099218, de 03/10/2019, pág. 62/94
59/64 sistema de grafia de exigências 2202 pode sustentar uma dúvida de interação de sistema que identifique sistemas que interagem uns com os outros. A dúvida de interação de sistema pode estar configurada para retornar ou exibir todas as exigências que são dotadas de uma gente de sistema como um agente principal e um agente de sistema como o agente secundário.
[00158] Considere a ocorrência de estrutura de documento que se segue: O Servidor da Web irá enviar os dados fornecedores para o sistema SAP. Nessa ocorrência de estrutura de documento, o Servidor da Web é o agente principal e o sistema SAP é o agente secundário. Ambos esses sistemas podem ser classificados no glossário de agente 140 de maneira que o sistema de grafia de exigências 2202 pode determinar que esses sistemas estejam interagindo uns com os outros. Uma ocorrência de uma dúvida de interação de sistema está abaixo:
selecionar ?exigencia1 ?agente1 ?agente2 onde { ?exigência1 é dotado de Agente ?agente2.
?exigência1 é dotado de Agente Secundário ?agente2. ?exigência1 RDF: tipo de Sistema.
?exigência2 RDF: tipo de Sistema Filtro(?exigência1 != ?agente2) } [00159] O sistema de grafia de exigências 2202 pode também sustentar sistemas de identificação que estão ausentes das exigências não-funcionais. Em geral, há frequentemente o caso que o sistema pode requere uma exigência particular a ser identificada. A exigência requerida para o sistema pode não ser identificada no documento de exigências. O sistema de grafia de exigências 2202 pode aceitar uma dúvida de identificação de exigência não-funcional que retorna todos os sistemas que estão ausentes de um determinado tipo de exigência não
Petição 870190099218, de 03/10/2019, pág. 63/94
60/64 funcional. As ocorrências de exigências não-funcionais incluem: segurança, realização, confiabilidade, usabilidade, integração e exigências de dados. Cada dessas exigências não-funcionais podem também incluir exigências adicionais ou secundárias que sejam exigências não-funcionais. São também possíveis outras exigências não-funcionais. Uma ocorrência dessa dúvida está abaixo:
Função Detectar Exigências Ausentes
Iniciar
Para cada agente no Glossário de Agente
Para cada Tipo de Exigência Não-funcional na Ontologia de Exigências
Executar Dúvida (agente, Tipo de Exigência Não-funcional) Término Para
Término Para
Término
Função Executar Dúvida (agente, Tipo de Exigência Nãofuncional)
Iniciar
Solicitar Dúvida de Cadeia =
Perguntar {°+ exigência é dotada de Agente agente °+ exigência é dotada do Tipo de Exigência do tipo de Exigência Não-Funcional + }
Resulta = Modelo.Executar Dúvida (Solicitar Cadeia de
Dúvida)
Se resultado = falso
Imprimir Agente + agente + tipo de exigência não-funcional está ausente + tipo de exigência não-funcional
Petição 870190099218, de 03/10/2019, pág. 64/94
61/64
Término [00160] O sistema de grafia de exigências 2202 pode também sustentar sistemas de interação de identificação que não é dotado de perfis de segurança compatíveis. Em uma implementação, o sistema de grafia de exigências 2202 sustenta uma dúvida de identificação de perfil de segurança que determina se os sistemas de interação são dotados de exigências de protocolo similares. Por exemplo, considere o caso quando um sistema é dotado de uma exigência para sustentar um determinado tipo de codificação, enquanto o sistema de interação não é dotado de nenhuma exigência para o mesmo tipo de codificação. Nesse ocorrência, o sistema de grafia de exigências 2202 identifica que há o potencial para uma incompatibilidade com base em segurança. Uma ocorrência de uma dúvida de identificação de perfil de segurança está abaixo:
Secionar ?agente1 ?agente2
Quando { ?exigência é dotada de Agente ?agente2.
?exigência é dotada de Agente Secundário ?agente2. ?agente1 RDF: tipo de Sistema.
?agente2 RDF: tipo de Sistema.
?agente1 é dotado de Tipo de Exigência ?Exigência de
Codificação1.
?agente2 é dotado de Tipo de Exigência ?Exigência de
Codificação2.
?Exigência de Codificação1 RDF:tipo de Codificação. ?Exigência de Codificação2 RDF:tipo de Codificação.
|
?Exigência de |
Codificação1 |
é dotado |
de |
Técnica |
de |
|
Codificação? ?técnica1. |
|
|
|
|
|
|
?Exigência de |
Codificação2 |
é dotado |
de |
Técnica |
de |
|
Codificação? ?técnica2. |
|
|
|
|
|
Petição 870190099218, de 03/10/2019, pág. 65/94
62/64 filtro( ?agente1 !=?agente2 e ?tecnica1 !=?tecnica2) }
[00161] Na dúvida implementada acima, a dúvida identifica dois sistemas de interação (identificados por ?agente1 e ?agente2 na dúvida SPAQL) que não usa a mesma técnica de codificação. Por exemplo, se o primeiro sistema, que é o sistema 1, (isto é, ?agente1) interage com o segundo sistema, que é o sistema 2, (isto é, ?agente2), e o primeiro sistema usa a técnica de codificação RSA e o segundo sistema usa o protocolo SSH, então a dúvida acima retorna sistema 1 e sistema 2. A dúvida acima é uma ocorrência para identificar perfis de segurança, mas são também possíveis outras dúvidas para identificar outros atributos de segurança como, por exemplo, autenticação, controle de acesso, ou outros atributos.
[00162] Deve ser observado que além dessas dúvidas, o sistema de grafia de exigências 2202, ou qualquer outro sistema, pode ser estendido pela adição de outras análises com base em sistema usando as dúvidas adicionais.
[00163] Além das análises com base no sistema, o sistema de grafia de exigências 2202 podem sustentar análises baseadas no papel de um agente. Por exemplo, o sistema de grafia de exigências 2202 pode ser configurado para aceitar dúvidas para um domínio particular. Em uma implementação, o sistema de grafia de exigências 2202 é operativo para capturar informação nas ontologias de domínio a respeito das quais os agentes são permitidos a realizar quais ações. Isso pode ser usado para assegurar que todas as exigências atendem aquela restrição. Outra variação de uma análise similar é Separação de dever, conforme realçado em Oxley Sarbanes. O documento de exigências, ou qualquer outro documento sob análise, pode ser verificado para ver se o mesmo agente pode realizar papeis diferentes (por exemplo, o gerente de compra pode ser o gerente de aprovação).
Petição 870190099218, de 03/10/2019, pág. 66/94
63/64 [00164] Foram descritos acima aspectos exemplificativos, características e componentes do sistema. Contudo, o sistema pode ser implementado de muitas maneiras. Por exemplo, algumas características estão ilustradas armazenadas em memórias legíveis de computador e podem ser implementadas com lógica armazenada como instruções executáveis de processador ou como estruturas de dados em uma memória de hardware. As ocorrências das memórias de hardware incluem memória de acesso aleatória (RAM), memória apenas de leitura (ROM), memória apagável ou que pode ser reescrita, discos removíveis, e discos fixos. Ademais, todo ou parte do sistema e sua lógica e estruturas de dados podem ser armazenados em, ou distribuídos através, ou lidos de outros meios legíveis de máquina. Os médios podem incluir discos rígidos, discos flexíveis, CD-ROMs, sinais tangíveis, como, por exemplo, um sinal recebido de uma rede, recebido sobre múltiplos pacotes comunicados através da rede, ou recebido em uma antena ou outros receptores.
[00165] O sistema pode ser implementado com adição de menor número de componentes ou diferentes. Como uma ocorrência, um processador pode ser implementado como um microprocessador, um micro controlador, um DSP, um circuito integrado específico de aplicação (ASIC), um lógico discreto, ou uma combinação de outros tipos de circuitos ou lógica. Como outra ocorrência, as memórias podem ser DRAM. SRAM, Flash ou qualquer outro tipo de memória. A capacidade de processamento do sistema pode ser distribuída entre múltiplos componentes, como, por exemplo, entre múltiplos processadores e memórias, opcionalmente incluindo múltiplos sistemas de processamento distribuídos. Os parâmetros, as bases de dados, e outras estruturas de dados podem ser armazenados e gerenciados separadamente, podem ser incorporados em uma memória única ou base de dados, podem ser organizados lógica ou fisicamente em muitas
Petição 870190099218, de 03/10/2019, pág. 67/94
64/64 maneiras diferentes, e podem ser implementados com tipos diferentes de estruturas de dados como, por exemplo, listas ligadas, tabelas hash, ou mecanismos de armazenamento implícitos. Lógica, como, por exemplo, programas ou conjuntos de circuitos, podem ser combinados ou divididos entre múltiplos programas, distribuídos através de várias memórias e processadores, e podem ser implementados em uma biblioteca, como, por exemplo, uma biblioteca compartilhada (por exemplo, uma biblioteca de link dinâmico (DDL)). O DLL, por exemplo, pode armazenar código que implemente funcionalidade para um módulo específico conforme observado acima. Como outra ocorrência, o próprio DLL pode proporcionar todas ou alguma funcionalidade do sistema. Em uma implementação o sistema é implementado usando Visual Basic para Aplicações como um plug-in de aplicação Word (TM).
[00166] Ao mesmo tempo em que foram descritas várias modalidades da invenção, será evidente para aqueles de conhecimento comum na técnica que são possíveis muitas mais modalidades e implementações no escopo da invenção. Assim, a invenção não está restrita exceto à luz das reivindicações anexadas e suas equivalências.