BR112015006336B1 - meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada - Google Patents

meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada Download PDF

Info

Publication number
BR112015006336B1
BR112015006336B1 BR112015006336A BR112015006336A BR112015006336B1 BR 112015006336 B1 BR112015006336 B1 BR 112015006336B1 BR 112015006336 A BR112015006336 A BR 112015006336A BR 112015006336 A BR112015006336 A BR 112015006336A BR 112015006336 B1 BR112015006336 B1 BR 112015006336B1
Authority
BR
Brazil
Prior art keywords
page
result
interface
content
entity
Prior art date
Application number
BR112015006336A
Other languages
English (en)
Other versions
BR112015006336A2 (pt
Inventor
Sellers-Blais Dominic
Original Assignee
Ifwizard Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ifwizard Corp filed Critical Ifwizard Corp
Publication of BR112015006336A2 publication Critical patent/BR112015006336A2/pt
Publication of BR112015006336B1 publication Critical patent/BR112015006336B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

resumo "processo e sistema para engenharia do conhecimento simplificada" um sistema e um processo são descritos para engenharia do conhecimento com uso de um editor gráfico computadorizado, para controlar e criar sistemas baseados no conhecimento contendo um gráfico navegável de páginas modais com conteúdo condicional e conhecimento de interface de usuário. a invenção possibilita que todo o fluxo de trabalho da engenharia do conhecimento seja executado dentro de um meio físico gráfico não técnico, e sem requerer uma programação de computador ou uma base matemática. ainda mais, a apresentação do conhecimento como páginas modais possibilita uma simples descoberta ontológica e uma operação simples de reprodutor de usuário final. uma vez que a edição esteja completa, o processo possibilita que o conjunto de páginas, variáveis e ajustes, do qual o sistema baseado no conhecimento é composto, seja exportado a um reprodutor de sistema baseado no conhecimento executável, contendo um mecanismo de inferência incorporado.

Description

MEIO DE ARMAZENAMENTO LEGÍVEL POR MÁQUINA NÃO TRANSITÓRIO PARA ENGENHARIA DO CONHECIMENTO SIMPLIFICADA
PEDIDOS DE PATENTES RELACIONADOS [001]Este pedido de patente é não provisório e reivindica a prioridade do pedido de patente provisório U.S. 61/703.270, depositado em 20 de setembro de 2012, e incorporado no presente relatório descritivo por referência na sua totalidade.
AVISO DE COPIRRAITE [002]©2012 - 2013 IFWIZARD CORPORATION. Uma parte da descrição deste documento de patente contém material que está sujeito à proteção de copirraite. O proprietário do copirraite não tem qualquer objeção em reprodução facsímile por qualquer do documento de patente ou descrição de patente, como aparece no arquivo ou registros de patentes da Repartição de Marcas e Patentes, mas, por outro lado, se reserva absolutamente todos os direitos de copirraite. 37 CFR § 1.71 (d).
ANTECEDENTES DA INVENÇÃO [003]A engenharia do conhecimento é o uso de sistemas computadorizados para modelar um conhecimento funcional, complexo. Ainda que a geração de qualquer máquina de Turing, representativa de conhecimento externo, possa ser discutida como engenharia do conhecimento, a engenharia do conhecimento e seus campos relacionados, tal como o controle do conhecimento, ocupam um campo mais específico de ciência computadorizada, combinando bases de dados e Programação digital para modelo intencional e acesso ao conhecimento humano. Os exemplos de engenharia do conhecimento incluem, na prática, ontologias de redes semânticas, tais como os Sistemas de Suporte de Decisão Empresarial e de Núcleo Dublin (EDSS), como o Sistema de Suporte de Decisão de Incêndios Florestais do Departamento do Interior (WFDSS).
[004]A engenharia do conhecimento tem suas raízes históricas na pesquisa
Petição 870190097695, de 30/09/2019, pág. 460/498
2/38 de sistemas especialistas dos anos 1960 e 1970 por todo o mundo da Inteligência Artificial (AI) acadêmico e empresarial. Os sistemas especialistas são uma forma anterior de engenharia do conhecimento, na qual os especialistas do assunto (SME) codificam e sistematizam os seus conhecimentos em uma memória de conhecimento funcional. Por exemplo, o Projeto de Programação Heurística da Stanford criou um dos sistemas especialistas mais famosos, MYCIN, na década de 1970, para identificar as bactérias infecciosas por indagação de uma série de ramificações de questões e relacionando a resposta a uma base de mais de 600 regras por um mecanismo de inferência.
[005]Ainda que tenha havido um sucesso considerável com os sistemas especialistas e a engenharia do conhecimento anteriores, os problemas técnicos e uma complicação excessiva inibiram o uso em grande escala. Por exemplo, a despeito da precisão de 69% do MYCIN mais alta que o desempenho médio de SMEs humanos), o sistema nunca foi usado na prática, devido às dificuldades e consumo de tempo para ser usado na prática. De fato, apenas o desenvolvimento de um sistema de regras de produção relativamente pequena levou mais de cinco anos.
[006]O denominado inverno AI começou na década de 1980 e alcançou o ápice durante a década de 1990. Esse período de desilusão com as promessas de inteligência artificial em áreas, tais como o processamento de linguagem natural e o aprendizado por máquina, reduziu bastante o financiamento e o interesse em tecnologia AI. No entanto, ainda que muitas das implicações mais promovidas de pesquisa AI fossem fora da realidade ou excessivamente simplistas, praticamente todas as áreas de estudo AI produziram aperfeiçoamentos e inovações consideráveis, que estão em uso e continuam em desenvolvimento hoje em dia. Devido ao estigma da AI, muitos desses campos ressurgentes operam agora com novos nomes, tal como pesquisa de sistemas especialistas tornando-se engenharia do conhecimento.
Petição 870190097695, de 30/09/2019, pág. 461/498
3/38 [007]Ainda o renovado interesse em engenharia do conhecimento tenha produzido aperfeiçoamentos e diversificação consideráveis nas suas representação e aplicação técnicas, o problema fundamento, que limitou o sucesso de sistemas especialistas, se mantém o obstáculo principal para a adoção disseminada da engenharia do conhecimento; a complexidade técnica no uso e, em particular, nos sistemas baseados em engenharia do conhecimento tem limitado o uso deles, de modo que a visão de categorias amplas de SMEs não programáveis, que codificam suas funcionalidades de conhecimento, não foi promovida.
[008]Por exemplo, tecnologias poderosas, tal como a Estruturação de Documento e Aquisição de Conhecimento (KADS) e Sistema de Produção Integrado em Linguagem C (CLIPS), juntamente com seus muitos derivados modernos, foram desenvolvidas para aperfeiçoar e estender a engenharia do conhecimento. Além do mais, houve um grande interesse no uso de técnicas de engenharia do conhecimento em lógica de regras comerciais na virada do século por uso de software como BizTalk e especificações como Linguagem de Execução de Processo Comercial (BPEL). No entanto, essas diferentes inovações tecnológicas, ainda que encontrando uso especializado entre as partes mais dedicadas e técnicas, falharam em atingir SMEs não técnicos ou pessoas comuns, devido ao caráter altamente complexo e técnico deles.
[009]Concorrente com essa aplicação de técnica perene, a engenharia do conhecimento tem aumentado a ubiquidade de tecnologia de computadores na vida diária e os aperfeiçoamentos de utilidade rápida em interfaces gráficas de usuários (GUIs). Como a tecnologia de computadores se tornou onipresente, vários pesquisadores e empresas buscaram gerar a criação de conteúdo digital mais poderoso para as massas por meio de GUIs mais ergonômicas.
[010]Algumas tentativas foram feitas para aplicar essas interfaces mais simples no desenvolvimento de Wizards (sistemas baseados no conhecimento) de
Petição 870190097695, de 30/09/2019, pág. 462/498
4/38 computadores, tais como por HyperCard ou Squeak, esses meios físicos de Programação não apresentam os conceitos de representação e modelamento de conhecimento de engenharia do conhecimento, e são, desse modo, inadequados para o desenvolvimento de bases de conhecimento. Ainda que esses sistemas codifiquem com sucesso as regras, carecem de capacidades para as captura e representação fáceis de conhecimento complexo ao usuário final, requerendo extensão externa ou extensão programática sofisticada. Desse modo, o problema persistente e continuado é como tornar a engenharia do conhecimento acessível para SME de leigo.
SUMÁRIO DA INVENÇÃO [011]Apresenta-se a seguir um sumário da presente invenção, para proporcionar um entendimento básico de algumas características e contexto. Este sumário não pretende identificar os elementos básicos / críticos da invenção ou delinear o âmbito da invenção. O seu único propósito é apresentar alguns conceitos da presente invenção em uma forma simplificada, como um prelúdio para a descrição mais detalhada, que é apresentada posteriormente.
[012]Consequentemente, é um objeto da presente invenção proporcionar um sistema mais simples e acessível para engenharia do conhecimento. É um outro objeto da invenção que a criação e a edição dos seus produtos, os sistemas baseados no conhecimento, sejam feitas inteiramente por meio de interface gráfica de usuário, que abrange todas as características essenciais de definição, relação e manutenção.
[013]É também um objeto da presente invenção oferecer um sistema, que proporciona uma interface simplificada para apresentar e interagir com os produtos dessa engenharia do conhecimento. De acordo com a presente invenção, um sistema implementado por computador implementa uma metáfora de página modal para navegação pelo sistema baseado no conhecimento. Cada página pode ser
Petição 870190097695, de 30/09/2019, pág. 463/498
5/38 dividida em um elemento de conteúdo e um elemento de interface, propiciando experiência e expectativa consistentes para o usuário. Essas interfaces podem ser simplificadas ainda mais com ajuda em linha e podem ser integradas com um sistema maior. Em geral, durante a execução desse sistema, os elementos de conteúdo e interface de usuário de uma página modal podem ser processados condicionalmente por um componente de reprodução, com base em um valor real de condições associadas com os ditos elementos.
[014]Outra característica da presente invenção compreende um processo completo para armazenar e modelar um sistema baseado no conhecimento durante criação, manutenção e desempenho. Por meio desse armazenamento, esse sistema pode ser independente e, em algumas concretizações, não vai necessitar de quaisquer ferramentas externas, tais como compiladores ou interpretadores, além daqueles proporcionados por uma instalação de sistema operacional padronizado. O mecanismo de interface e inferência descrito é altamente portátil, propiciando reprodução em navegadores de rede, aplicações de computadores de mesa e aplicações móveis, e pode ser executado remotamente por meio de uma interface de rede, como uma aplicação local, e como um recurso programático por outros sistemas sem plugins adicionais ou ferramentas especializadas adicionais. Essas aplicações são meramente ilustrativas e não tencionadas para serem limitantes.
[015]A invenção é tencionada para ser implementada em software, isto é, em um ou mais Wizards, rotinas, funções de computador ou assemelhados. Desse modo, pode ser melhor utilizada em uma máquina, tal como um computador ou outro dispositivo, que tenha pelo menos um processador e acesso a memória, como descrito posteriormente abaixo. Consequentemente, nessa descrição, algumas vezes vão ser usados termos como componente, subsistema, editor, gerente ou assemelhados, todos sendo, de preferência, implementados em software.
BREVE DESCRIÇÃO DOS DESENHOS
Petição 870190097695, de 30/09/2019, pág. 464/498
6/38 [016]Para descrever a maneira na qual as vantagens e características indicadas acima e outras da invenção podem ser obtidas, uma descrição mais particular é apresentada a seguir com referência às suas concretizações específicas, que são ilustradas nos desenhos em anexo. Com o entendimento que esses desenhos apenas ilustram as concretizações típicas da invenção e não são, portanto, considerados como limitantes do seu âmbito, a invenção vai ser descrita e explicada com especificidade e detalhes adicionais por uso dos desenhos em anexo, em que:
[017]a Figura 1 ilustra os componentes funcionais de um sistema ilustrativo consistente com a presente invenção;
[018]a Figura 2 ilustra um modelo de dados ilustrativo útil com o sistema da Figura 1;
[019]a Figura 3 ilustra um fluxo de atividade ilustrativo, durante operação do componente editor da Figura 1;
[020]a Figura 4 ilustra um fluxo de atividade ilustrativo, durante reprodução de um sistema baseado no conhecimento consistente com a presente invenção;
[021]a Figura 5 ilustra uma interface de usuário de editor ilustrativa de uma concretização exemplificativa;
[022]a Figura 6 ilustra os componentes detalhados de um exemplo de uma página modal;
[023]a Figura 7 ilustra um mecanismo condicionador ilustrativo de uma concretização exemplificativa;
[024]a Figura 8 ilustra um mecanismo de ação ilustrativo de uma concretização exemplificativa; e [025]a Figura 9 ilustra um exemplo de controles de widgets (pequenos aplicativos) disponíveis em uma concretização exemplificativa.
DESCRIÇÃO DETALHADA DAS CONCRETIZAÇÕES PREFERIDAS
Petição 870190097695, de 30/09/2019, pág. 465/498
7/38 [026]A descrição detalhada apresentada a seguir se refere aos desenhos em anexo. Quando possível, os mesmos números de referência são usados nos desenhos e na descrição apresentada a seguir para referência aos mesmo ou elementos similares. Para clareza e simplicidade, nem todas as características das concretizações práticas são descritas no relatório descritivo. No entanto, deve-se considerar que muitas decisões específicas das concretizações precisam ser tomadas no desenvolvimento das concretizações práticas, para atingir um objeto particular do desenvolvedor. Ainda que as concretizações da invenção possam ser descritas, uma pessoa versada na técnica relevante vai reconhecer que modificações, adaptações e outras implementações são possíveis, sem afastamento dos espírito e âmbito da invenção. Por exemplo, substituições, adições ou modificações podem ser feitas por substituição, reordenamento ou adição de estágios aos processos descritos. Consequentemente, a descrição detalhada não limita a invenção. Em vez disso, o âmbito adequado da invenção é definido pelas reivindicações em anexo.
[027]A Figura 1 ilustra os componentes funcionais de um exemplo de um componente editor 100 e um componente de reprodução 115 de engenharia do conhecimento. Dentro do componente editor 100, um gerente de sistema com base no conhecimento 102 propicia a criação, a extinção, a seleção e a modificação de sistemas baseados no conhecimento 200, disponíveis para o usuário. Uma vez que o sistema baseado no conhecimento é selecionado, a funcionalidade de edição remanescente fica disponível.
[028]A listagem de variáveis 104 propicia a criação, a extinção e a modificação de variáveis 220 dentro do sistema baseado no conhecimento. De modo similar, a listagem de páginas 106 propicia a criação, a extinção e a modificação de páginas 202 dentro do sistema baseado no conhecimento. Em geral, a apresentação do conhecimento é por meio de páginas e, quando reproduzido, o sistema baseado
Petição 870190097695, de 30/09/2019, pág. 466/498
8/38 no conhecimento exibe, de preferência, apenas uma página por vez.
[029]Um componente editor de página 108 propicia a edição de conteúdo 204 e de interfaces de usuário 208 em uma página individual. A maior parte das operações de edição ocorrem por meio do editor de página. Uma vez que mudanças tenham sido feitas no sistema baseado no conhecimento, o sistema baseado no conhecimento pode ser testado por meio do seu subsistema de teste 110, propiciando a previsão e a execução do sistema baseado no conhecimento dentro do editor. Com todas as modificações e adições desejadas completas, o subsistema de exportação 112 pode ser invocado para converter as páginas em um formato portátil como os dados do sistema baseado no conhecimento 114.
[030]Para reproduzir o sistema baseado no conhecimento, o usuário final opera um componente de reprodução 116. A tecnologia de reprodução pode ser incorporada dentro de um recipiente 118, tal como uma página da rede ou um escudo de aplicação de computador de mesa, como selecionado e configurado pelo subsistema de exportação 112. O componente de reprodução usa o mecanismo de inferência 120, para executar a lógica contida dentro dos dados do sistema baseado no conhecimento 114. Como instruído por esses dados, o reprodutor pode convocar o recipiente por meio do subsistema de integração 112, exibir multimídia pela extensão de mídia 124 ou modificar a formatação visual pela extensão de estilo 126. Um subsistema de integração 122 pode ser proporcionado para integrar o sistema especialista com outras aplicações ou interfaces.
[031]A Figura 2 ilustra um exemplo de um modelo de dados, que pode ser aplicado em conjunto com outros aspectos da presente invenção. A figura é um diagrama simplificado de relação de entidades ilustrando como diferentes partes do sistema podem ser modificadas internamente. Cada retângulo arredondado é uma entidade, que contém um conjunto de propriedades (atributos) variáveis e apontadores para ou de outras entidades (relações). Ambas as relações matriz
Petição 870190097695, de 30/09/2019, pág. 467/498
9/38 filial e filial - matriz são modeladas com as matrizes indicadas por um sufixo enfatizado. As setas são de cabeça única, se a relação apontar para um único objeto (isto é, uma única matriz), e de cabeça dupla, se a relação puder apontar para múltiplos objetos (isto é, filiais). Certamente, variações desse tema de modelo podem ser considerados equivalentes. E os vários nomes ou etiquetas de entidades, relações e atributos são meramente por conveniência e não são críticos.
[032]Para ilustrar, com referência à Figura 2, considerar as entidades Page 202 e Content 204. A entidade Page contém cinco atributos (help, note, style, title e uid - identificador único), que são todas ajustáveis para um caso particular dessa entidade. Entre suas cinco relações está contents, que aponta com uma seta de cabeça dupla para a entidade Content. Isso significa que uma entidade Page pode conter várias entidades Content, como filiais na relação contents.
[033]Ao contrário, a entidade Content tem uma relação page_ apontando com uma seta de cabeça única de volta à página matriz. Assim sendo, conjuntamente as relações contents e page_ para uma referência bidirecional entre as duas, permitindo que o leito encontre a filial ou a matriz, respectivamente, de uma única entidade Content ou Page.
[034]Os sistemas baseados no conhecimento podem ser armazenados como wizards 200, contendo informações básicas, tais como autor e título. O sistema baseado no conhecimento pode incluir qualquer número de variáveis definidas por usuários 220, bem como constantes de usuários e os valores de widgets 210, após interação de usuário (discutida posteriormente). Um widget pode compreender uma ou mais páginas 202 (consultar a seta 230), que implementa toda a funcionalidade visível e lógica do programa. O Wizard pode iniciar a operação por padrão a uma página de partida indicada (consultar a seta 232). Em uma concretização, cada página contém nenhum ou mais conteúdos 204. O conteúdo é
Petição 870190097695, de 30/09/2019, pág. 468/498
10/38 blocos estáticos não interativos de texto e mídia, e pode ter valores de variáveis definidos por usuários 220 incorporados dentro dele. O conteúdo é tipicamente exibido se o teste de conteúdo 206 dele passar na comparação de uma ou duas variáveis por uma condição, tal como igual., [035]As páginas 202 também podem conter zero ou mais interfaces de usuários 208, projetadas para permitir e responder interação de usuário. Uma interface de usuário é, em uma concretização, apenas exibida se passar no seu teste de interface de usuário 212 (ver a seta 238). Cada interface de usuário pode conter zero ou mais widgets 210 de interface de usuário. Um widget pode compreender, por exemplo, um botão, uma seleção múltipla, um campo de texto ou qualquer outro controle de usuário. O widget pode usar a entrada de usuário para determinar e atribuir um valor correspondente a uma variável de widget entre as variáveis 220. (consultar userInterfaceWidgets_ entre as relações de variáveis 220.) [036]Em uma concretização, após o usuário completar a interação com uma página atual (exibida) por clique em um botão ou o botão continue padronizado, se nenhum botão for mostrado, e pelo menos uma interface for exibida, zero ou mais resultados 214 da interface podem ser gerados. Se o teste de resultado 216 correspondente for suplantado, então a navegação é movimentada para a primeira página de destino de resultado de passagem, se uma for selecionada. Os resultados também contêm zero ou mais ações de resultado 218, que podem executar um grande número de funções, tais como o ajuste de variáveis, a abertura de documentos externos, a transferência de dados a outros servidores, e a integração com o recipiente 118 por meio do subsistema de integração 112. Consultar a Figura 4 e o texto associado abaixo dela. Pode-se notar que essas estruturas de dados proporcionam uma plataforma elegante e flexível para codificar o conhecimento especialista em uma ampla gama de domínios em uma forma útil e conveniente.
[037]A Figura 3 ilustra um fluxo de atividade ilustrativo, durante operação de
Petição 870190097695, de 30/09/2019, pág. 469/498
11/38 um editor de engenharia do conhecimento, tal como o componente editor 100. Em uma concretização, uma vez que o editor é lançado 300, o engenheiro do conhecimento pode editar ou criar sistemas baseados no conhecimento 302, modificar os ajustes gerais de um sistema baseado no conhecimento 304, tal como sua descrição, gerenciar páginas do sistema baseado no conhecimento 306 ou variáveis dele 308, testar um sistema baseado no conhecimento 310, exportar um sistema baseado no conhecimento 312, ou editar uma página de um sistema baseado no conhecimento 314.
[038]Quando da edição de uma página do sistema baseado no conhecimento 314, o engenheiro do conhecimento pode editar seu conteúdo 316 ou as interfaces de usuários 324. Além de editar o próprio conteúdo 316, o engenheiro pode adicionar, eliminar ou modificar os testes de conteúdo 318, integrar o conteúdo 320 por, por exemplo, um roteiro, ou importar multimídia local ou remota 322, tais como imagens, filmes, VRML ou áudio no conteúdo.
[039]Quando da edição de uma página 314, o engenheiro do conhecimento pode também editar as interfaces de usuários da página 324. Enquanto fazendo isso, o engenheiro pode editar os testes de interface 326, os widgets 328 e os resultados 332. Todos os widgets e resultados podem ter múltiplos testes 330 ou resultados de testes 334 de widgets, respectivamente. Todos os resultados podem também ter qualquer número de ações 336 associadas com eles.
[040]A Figura 4 ilustra um exemplo de um fluxo de atividade, durante operação do componente de reprodução baseado no conhecimento 402, que pode incluir extensões 404 ou estilos 406 adicionais e exibir a página de partida 408. Em operação, para cada elemento de conteúdo, todos os testes ou condições de conteúdo associados são executados 410 e, com sucesso, o conteúdo é mostrado 412. Em geral, uma página pode (e usualmente pode de fato) conter um ou mais elementos de conteúdo. Consultar a Figura 6, condição 604, por exemplo. Todos
Petição 870190097695, de 30/09/2019, pág. 470/498
12/38 esses elementos de conteúdo devem passar no seu teste ou condição de conteúdo associado a ser exibido. Além disso, pode haver múltiplos testes, e o mecanismo de inferência pode ser parado tão logo qualquer um dos teste falha.
[041]Após o conteúdo ser reproduzido, cada interface 208 é testada com o ou os seus testes de interface 212. Se não existir qualquer interface ou o teste ser passado 418, a reprodução é terminada 430, o que não afeta a exibição do conteúdo, mas resulta em uma interface de usuário padronizada ou a navegação pelo botão continue para uma outra página é possível, de outro modo, a interface é exibida 416.
[042]Com cada interface, os seus widgets 210 são mostrados 420, permitindo que o usuário interaja 422 com o controle de usuário de widgets. Quando o usuário tiver completado a interação com a página e estiver pronto para navegar para a página de destino, todos os resultados 214 com os testes de resultados 216 são testados 424, e todas as ações de resultados de passagem 218 são executadas 426. Se quaisquer dos resultados bem-sucedidos tiverem uma página de destino 428, a primeira dessas é navegada para criar um novo ciclo de exibição de página 408. Se não houver quaisquer páginas de destino, a reprodução é terminada 430.
[043]A Figura 5 ilustra uma interface de usuário de edição 500 de uma concretização exemplificativa do sistema. Os controles básicos de navegação 502 propiciam o acesso a funções, tais como de teste 310 e de exportação 312 do sistema baseado no conhecimento. A interface 500 é ainda dividida em uma área de barra lateral 504, para modificar os ajustes do sistema 304, gerenciar páginas 306 e editar variáveis 308 e uma área de edição de página 506.
[044]A área de edição de página 506 inclui o editor de conteúdo 508 com o editor de teste de conteúdo 510, o editor de interface 512 com seu editor de widget 514, e o editor de resultado 516. O editor de resultado pode ser ainda subdividido no seu editor de ação 518 e no editor de teste de resultado 520. O editor de ação
Petição 870190097695, de 30/09/2019, pág. 471/498
13/38 propicia a seleção de ações específicas, tal como subtrair, a operação delas em determinadas variáveis, constantes ou valores de widgets definidos por usuário, e, opcionalmente, a atribuição do valor de retorno de ação a uma variável. Os editores de teste para conteúdos, interfaces e resultados podem permitir o teste de variáveis, constantes ou valores de widgets definidos por usuário (apenas para testes de interface e resultado), usando uma condição, tal como igual. O editor de engenharia do conhecimento 500 também proporciona recursos básicos para reordenar, adicionar e eliminar elementos do sistema e para navegação pelas informações, tal como uma área de edição de página que pode ser rolada na tela. A concretização exemplificativa permite ainda o gerenciamento de vários sistemas baseados no conhecimento por uma funcionalidade do sistema operacional e por uma interface construída de propósito, dependendo da apresentação do editor, por exemplo, por meio de uma aplicação de computador de mesa, aplicação de rede ou aplicação móvel.
[045]A Figura 6 ilustra outros detalhes de um exemplo não limitante de uma página modal 600, que pode ser usada no armazenamento e na edição de um sistema baseado no conhecimento. A página modal 800 pode conter qualquer número de elementos de conteúdo 601 e de interfaces de usuários 602. Esses elementos de conteúdo 601 e interfaces 602 são processados apenas se suas respectivas condições de conteúdo 604 e condições de interface 605 forem todas reais. Se o elemento de conteúdo 610 vai ser mostrado, os elementos de texto e multimídia 603 são reproduzidos. A reprodução pode, em alguns casos, invocar quaisquer referências de roteiros e variáveis armazenadas por denominação da variável, tal como {{name}}, de modo que o texto The name you entered is {{name}}, quando a variável name é John, vai ser reproduzida como The name you entered is John.
[046]Em uma concretização, os elementos de interface 602 podem conter
Petição 870190097695, de 30/09/2019, pág. 472/498
14/38 um número qualquer de widgets 606, que são usados para acumular as entradas de enxofre que podem ser atribuídas a uma variável. Adicionalmente, os elementos de interface 602 pode conter um número qualquer de resultados 607. Os resultados 607 são compreendidos por uma página de destino opcional e um número qualquer de ações 608, que vão ser conduzidas se todas as condições de resultados associadas 609 forem verdadeiras. Se uma página de destino for ajustada para um resultado 607, então a página de destino é apresentada após as ações 608 serem executadas, se as condições 609 forem todas verdadeiras. Se um resultado 607 provocar navegação fora da página, antes de um resultado condicionalmente verdadeiro 607 subsequente ser atingido, essas ações de resultados subsequentes são simplesmente ignoradas, proporcionando uma primeira associação de regras verdadeiras.
[047]A Figura 7 ilustra um exemplo de um mecanismo pelo qual uma condição de conteúdo 604, uma condição de interface 605 ou uma condição de resultado 609 determinar o seu valor verdadeiro, e, por conseguinte, se o conteúdo 601, interface 602 ou resultado 607 e as ações 608 associados são processados. Uma condição pode ter uma opção de navegação 700, para determinar se a verdade ou falsidade da condição está sendo examinada. A operação 701 da condição determina a ação de teste específico, pela qual o seu valor lógico é determinado. A operação 701 é acompanhada por um valor literal, com o qual vai executar a comparação ou a operação pelo operando 702, que pode ser tirado de um valor variável nomeado, instrução literal constante ou introduzido de um widget. Por exemplo, se a operação 701 for especificada como Contains, então a condição é verdadeira, se o operando 702 contiver a instrução literal determinada, por exemplo, testar se o operando 702 John contém o valor oh vai retornar verdadeiro, ou, ao contrário, falso se a opção de negação 701 for ajustada para Se não.
[048]A Figura 8 ilustra um exemplo de um mecanismo, pelo qual uma ação é
Petição 870190097695, de 30/09/2019, pág. 473/498
15/38 definida e processada. Um tipo de ação 801 é selecionado de uma lista variada de possíveis ações. A maior parte dos tipos de ações 801 é passada por um ou mais parâmetros de entrada 802, que podem ser tirados de uma variável nomeada, uma instrução literal constante, ou um valor introduzido de um widget. A maior parte dos tipos de ação 801 retorna ainda um valor (isto é, agem como uma função), que pode ser ajustada pelo parâmetro de saída 800 em uma variável nomeada. Por exemplo, o tipo de ação 801 Add pode ser usado com dois parâmetros de entrada 802, para adicionar conjuntamente seus valores numéricos e retornar a soma para o parâmetro de saída 800.
[049]A Figura 9 ilustra alguns exemplos de controles de widgets disponíveis em uma concretização exemplificativa do sistema. Cada widget é projetado para coletar entrada do usuário, quando navegando pelo sistema baseado no conhecimento acabado, e para torná-lo disponível em um operando de condição 702 ou parâmetro de entrada de ação 802. A aparência exata do widget não é crítica e quando reproduzido pode ser alterado pela extensão de estilo 126. Alguns widgets obtêm seus valores diretamente da entrada explícita de um usuário, enquanto outros são ajustados a um valor predeterminado, dependendo de como o usuário interage com o widget.
[050]O widget button 900 apresenta um botão com a indicação de prontidão label. Se o botão for clicado, o valor clicado é armazenado no widget, de outro modo, o widget tem um valor vazio. Significativamente, o clique no botão inicia o processamento dos resultados da página 607. Portanto, os botões são usados como o mecanismo de navegação primário, para movimentação entre as páginas 600 por ajuste da página de destino de um resultado 607.
[051]O widget checkbox 901 exibe uma checkbox on/off, com a indicação de prontidão label. Se a caixa de opção for selecionada, o selected value é armazenado no widget, de outro modo, o widget tem um valor vazio.
Petição 870190097695, de 30/09/2019, pág. 474/498
16/38 [052]Os widgets text area 903 e text field 904 exibem uma indicação de prontidão label e aceitam um valor introduzido explicitamente do usuário, que é depois ajustado como o valor do widget. A text area 903 proporciona uma maio área de texto de linhas múltiplas, na qual o text field 904 é para uma única entrada de texto sem pausa.
[053]Os widgets dropdown 902 e multiple choice 905 exibem uma indicação de prontidão label, acompanhada por uma lista de options labels. Se uma option label for selecionada, então o seu selected value correspondente é ajustado como o valor do widget. O dropdown 902 proporciona uma reprodução de widget mais compacta, escondendo as opções que não são selecionadas, enquanto que a multiple choice 905 exibe todas as opções disponíveis em uma interface de estilo de botão de rádio.
[054]Widgets adicionais podem ser desenvolvidos para capturar a entrada e gerar valores em modo personalizado. Uma outra extensão criativa pode ser associada por uso do tipo de ação Call Function 801, que propicia a interação com os widgets, as bases de dados e outras fontes de entrada externos.
[055]Como mencionado acima, a presente invenção é tencionada para ser implementada em software, isto é, em um ou mais Wizards de computador, rotinas, funções ou assemelhados. Em geral, os aspectos da invenção podem ser utilizados em qualquer máquina ou sistema, que inclui pelo menos um processador digital, que tenha acesso a memória, em que o processador digital pode executar instruções ou código armazenado nessa memória. (A memória pode também armazenar dados.) Um processador digital inclui, mas não é limitado a um microprocessador, um processador de núcleos múltiplos, DSP (processador de sinal digital, conjunto de processadores, processador em rede, etc. Um processador digital pode ser parte de um dispositivo maior, tal como um laptop ou um computador de mesa, um PDA, um telefone celular, um PDA D iPhone, um PDA/telefone Blackberry®, ou, de fato,
Petição 870190097695, de 30/09/2019, pág. 475/498
17/38 virtualmente, qualquer dispositivo eletrônico.
[056]A memória associada pode ser integrada conjuntamente com o processador, por exemplo, memória RAM ou FLASH incorporada em um circuito integrado, com um microprocessador ou assemelhados. Em outros exemplos, a memória compreende um dispositivo independente, tal como uma unidade de disco externa, ou um comando FLASH. Nesses casos, a memória fica associada com o processador digital, quando os dois são acoplados operacionalmente entre si, ou em comunicação entre si, por exemplo, por uma porta I/O, uma conexão de rede, etc., de modo que o processador possa ler um arquivo armazenado na memória. A memória pode ser local e/ou localizada remotamente. A memória associada pode ser exclusiva de leitura por projeto (ROM) ou em virtude de ajustes de permissão, ou não. Outros exemplos incluem, mas não são limitados a, WORM, EPROM, EEPROM, FLASH, etc. Essas tecnologias são frequentemente implementadas em dispositivos semicondutores no estado sólido. Outras memórias podem compreender partes móveis, tal como uma unidade de disco rotativo convencional. Todas essas memórias são legíveis por máquina, pelo fato de que são legíveis por um processador digital adequado, como explicado adicionalmente abaixo.
Armazenamento de Wizards de computador [057]Como explicado acima, a presente invenção é, de preferência, implementada ou representada em software de computador (também conhecido como programa de computador ou código, esses termos sendo usados intercambiavelmente). Os Wizards, ou código, são mais úteis quando armazenados em uma memória digital, que pode ser lida por um processador digital1. Usa-se o termo meio de armazenamento legível por computador (ou, alternativamente, meio de armazenamento legível por máquina) ou assemelhados para incluir todos os tipos mencionados acima de memória, bem como novas tecnologias que possam surgir no futuro, desde que sejam capazes de armazenar informações digitais na
Petição 870190097695, de 30/09/2019, pág. 476/498
18/38 natureza de um programa de computador ou outros dados, pelo menos temporariamente, em uma maneira tal que as informações armazenadas possam ser lidas por um processador digital adequado. Por meio do tempo legível por computador, não se pretende limitar o termo à utilização história de computador, para sugerir um computador de grande porte completo, um minicomputador, um computador de mesa ou mesmo um computador laptop. Em vez disso, usa-se o termo para mencionar que meio de armazenamento é legível por um processador digital ou qualquer sistema computacional digital. Esses meios podem ser meios disponíveis que são acessíveis local e/ou remotamente por um computador ou processador, e incluem ambos os meios voláteis e não voláteis e os meios removíveis e não removíveis.
Produto programa de computador [058]Quando um programa tiver sido armazenado em um meio de armazenamento legível por computador, pode-se referir a esse meio de armazenamento como um produto programa de computador. Por exemplo, um meio de armazenamento digital portátil pode ser usado como um meio conveniente para armazenar e transportar (liberar, comprar, vender, licenciar) um programa de computador. Isso foi feito frequentemente no passado em uma liberação em ponto de venda a varejo de Wizards empacotados (embalados em forma compacta. Os exemplos desses meios de armazenamento incluem, sem limitação, CD-ROM e assemelhados. Esse CD-ROM, contendo um programa de computador armazenado, é um exemplo de um produto programa de computador.
Instruções de usuário exemplificativas operacionais [059]O texto apresentado a seguir é extraído de um manual de usuário para um programa de computador chamado IfWizard, que representa uma concretização de certas características da presente invenção. Essa seção é apresentada por meio de ilustração adicional dos conceitos inventivos e não de limitação.
Petição 870190097695, de 30/09/2019, pág. 477/498
19/38 [060]Esse é o manual para IfWizard, uma aplicação par a Mac Os X e iPads, que cria com facilidade Wizards interativos, que podem satisfazer várias finalidades. Esse documento vai propiciar informações a você de como usar mais efetivamente o IfWizard e como suas partes conceituais funcionam conjuntamente.
[061]A interface gráfica intuitiva do IfWizard facilita a criação de Wizards profissionais, sem qualquer experiência técnica ou de Programação, incluindo:
- levantamentos
- testes educacionais
- ficção interativa
- diagnósticos
- apresentações multimídia
- sistemas auxiliares de decisão
- seleção de aventuras próprias
- auxiliares automatizados
- modelos e simuladores científicos
- ferramentas de diagnose
- ontologias formais
- sistemas especialistas profissionais médicos, financeiros, legais e científicos [062]IfWizard implementa muitos aperfeiçoamentos em engenharia do conhecimento com centenas de características úteis, como:
- interface em inglês simples eficiente e atraente
- conhecimento intuitivo baseado em página
- fácil formatação de conteúdo rico
- inclusão de hyperlinks, imagens, vídeos, roteiros e mais
- criação de interação com botões, entrada de texto, seleção múltipla e mais
- suporte de interações visuais e lógicas complexas
Petição 870190097695, de 30/09/2019, pág. 478/498
20/38
- lógica condicional flexível
- variáveis e constantes simples
- transformação de informações com texto, matemática e outras funções
- resultados apresentados em serviços de e-mails e na rede
- personalização, extensão e integração poderosas
- exportação como website ou incorporado facilmente no seu próprio website
- exportação em uma etapa de Aplicações OS X e Windows Wizard autônomas completas
- nenhum plugin ou instalações adicionais necessários para os Wizards exportados
- transferência FTP integrada de seu Wizard
- usar, compartilhar e vender seus Wizards sem quaisquer taxas ou registros [063]Com o IfWizard você pode gerar os Wizards usando um meio físico visual simples, mas poderoso chamado o editor (Figura 1), em que você compõe seu Wizard por criação de páginas, cada uma delas com seções de conteúdo e interfaces de usuário. Quando o Wizard é executado, uma página por vez é exibida para o usuário, apresentando o conteúdo, seguido pela interface de usuário. Com base nas ações do usuário com os widgets na interface de usuário, o Wizard navega a uma página diferente e/ou executa outras ações. Aquelas partes de cada página que estão ativas podem ser controladas por meio de condições que podem testar variáveis de teste.
[064]Por uso desses blocos de construção simples, Wizards altamente avançados podem ser criados rápida e facilmente, sem qualquer treinamento especial e sem qualquer Programação. Esses Wizards podem ser exportados para embutimento no seu website ou empacotados como aplicações Mac OS X ou Windows (Mac OS X de IfWizard apenas). Os usuários avançados podem personalizar os seus Wizards, para modificar o tema ou ter a interação do Wizard
Petição 870190097695, de 30/09/2019, pág. 479/498
21/38 com outros sistemas.
Seu primeiro Wizard [065]Para iniciar, lançar IfWizard. Se nenhum Wizard aparecer automaticamente, criar um novo por seleção File -> New (IfWizard Professional) ou New Wizard (terminal Touch). O Wizard vai aparecer como na Figura 5, mostrando a barra lateral do editor e a área principal à esquerda e à direita, respectivamente, e a barra de ferramentas no topo.
[066]O barra de ferramentas permite que você acesse umas poucas funções de núcleo, tal como executar (isto é, testar) o Wizard e ver a ajuda on-line. A barra lateral é usada para modificar os elementos que aplicam todo o Wizard, tais como as variáveis e as páginas. A área principal é onde a grande parte da edição ocorre, e, além do título da página, é dividida em áreas de conteúdo e de interface de usuário.
[067]Quando você cria primeiro um novo Wizard, o Wizard é criado com uma única página intitulada New Page, que tem um único elemento de conteúdo e nenhum elemento de interface de usuário. Você pode adicionar páginas adicionais por seleção da tabulação de página na parte de topo da barra lateral e por compressão do botão Create na parte de fundo da barra lateral. O clique na linha de páginas de uma página vai selecionar essa página, substituindo as informações na área principal por informações sobre a nova página. Para mudar o título da página, clicar no título existente da página ou selecionar a página e editar o campo Page Title na área principal. As páginas podem ser apagadas por compressão do botão Delete no fundo da barra lateral.
[068]As variáveis funcionam de modo bastante similar com uma tabulação de barra lateral por conta delas mesmas. Não apenas você ajusta o nome da variável por clique no texto no lado esquerdo da linha de variáveis, você também pode ajustar um valor inicial para a variável.
[069]A barra lateral tem uma tabulação para ajustar a configuração geral
Petição 870190097695, de 30/09/2019, pág. 480/498
22/38 relativa ao Wizard, tais como seu título e o autor do Wizard. Dentro dessa tabulação, você pode selecionar que página é mostrada quando o Wizard primeiro aparece por mudança da seleção Start Page.
[070]Cada página pode ter o conteúdo e as interfaces adicionados ou removidos dela por uso dos controles na área principal. Você pode editar um texto de conteúdo (por exemplo, Welcome to the wizard) por seleção e variação dele, como desejado. Com o IfWizard Professional, você pode aplicar formatação baseada em menu, tais como as variações de fonte ou de copiar e colar, e formatação HTML mais avançada, tais como tabelas e listas.
Desenvolvimento de seu Wizard [071]A maior parte dos Wizards é criada por adição de várias páginas e por criação de um ou mais conteúdos e interfaces para cada página. A navegação entre as páginas é ajustada por adição de um resultado de interface com um ajuste de Destination Page. O editor proporciona muitas funções para criar, testar e exportar seu Wizard.
[072]Uma vez que você tenha terminado seu Wizard, você pode testá-lo e exportá-lo para reprodução. A reprodução ocorre com o mecanismo IfWizard executando seu Wizard dentro de um recipiente, tal como uma página da rede ou uma aplicação de computador de mesa (apenas IfWizard Professional). O restante do manual vai examinar todos os componentes do IfWizard com mais profundidade.
4. Wizards [073]No IfWizard, o termo Wizard é usado para ambos o arquivo editável, que o IfWizard usa para armazenar todas as informações sobre seu projeto e o produto de exportação dessas informações, por exemplo, uma página da rede. O seu Wizard, no sentido de um arquivo editável com uma extensão .ifwiz, contém tudo sobre o Wizard, incluindo o conteúdo, as interfaces, as condições e os ajustes dele. A única exceção a essa regra é que a mídia local, que foi inserida no conteúdo, é
Petição 870190097695, de 30/09/2019, pág. 481/498
23/38 armazenada em uma pasta de armazenamento interna separada (notar, por favor que a mídia local é apenas disponível no IfWizard Professional).
[074]Cada Wizard pode apenas acessar e usar os elementos dentro dele mesmo; um Wizard não pode acessar as variáveis, as páginas e os widgets de outro Wizard. A tabulação de Wizard na barra lateral permite que você edite os seguintes diferentes ajustes para seu Wizard:
. Wizard Title: O nome amigável do Wizard.
. Start Page: A primeira página mostrada quando o Wizard é iniciado.
. Author: O autor do Wizard (apenas informativo).
. Website: Um link para o autor ou mais informações sobre o Wizard (apenas informativo).
. Description: Uma descrição do Wizard (apenas informativa).
5. Páginas [075]Todos os dados do Wizard visíveis pelo usuário estão contidos nas página, e o uso de um Wizard é, fundamentalmente, um processo de navegação de uma página a outra, de acordo com um conjunto de regras. Cada página é dividida em dois seções, conteúdos e interfaces básicos. O Wizard deve conter pelo menos uma página, mas não há qualquer limite estabelecido para o número de páginas.
[076]As páginas são controladas na tabulação de páginas da barra lateral. Você pode selecionar uma página por clique na sua linha na tabulação de páginas, carregar seu conteúdo e suas interfaces na área principal. Notar que clicar diretamente no título da linha de páginas vai permitir que você o mude, que pode ser também mudado com o campo Page Title na área principal. O botão Create na barra lateral vai gerar uma nova páginas e o botão Delete vai remover a página selecionada.
6. Conteúdo [077]O conteúdo é o texto e a multimídia exibidos em uma página. Uma
Petição 870190097695, de 30/09/2019, pág. 482/498
24/38 página pode conter múltiplos conteúdos ou absolutamente nenhum deles, e todos podem ter suas visibilidades controladas por múltiplas condições. O conteúdo é normalmente as informações principais exibidas para o usuário e pode ser acompanhado por uma ou mais interfaces e seus Wizards.
[078]Para editar o conteúdo, clicar dentro do conteúdo tracejado e o tipo ou pasta das informações que você deseja exibir ao usuário. O conteúdo pode conter formatação e estilo ricos, tais como negrito, alinhamento central e listas na versão IfWizard Professional. Você pode ter acesso aos parâmetros de formatação no menu Format, ou para um conteúdo mais complexo, você pode querer escrevê-lo em um processador de texto, como Pages, e depois copiar e colar no IfWizard.
[079]Os botão apresentados a seguir podem, por exemplo, adicionar características especiais ao conteúdo:
Insert Link: Adicionar um hyperlink a um recurso remoto, tal como um http, ou link mailto. O URL é o destino, por exemplo, htpp//w.w.w.domloveskim.com, e o Label é o que é exibido para o usuário tal como our website.
Insert Remote Media: Adicionar um arquivo localizado remotamente, tal como um arquivo de imagem, áudio ou vídeo, para ser exibido em linha. Notar que essa seleção não transfere o arquivo e o disponibiliza localmente. Desse modo, o usuário do Wizard pode ser capaz de acessar o arquivo remoto, durante a reprodução.
Insert Local Media: Adicionar um arquivo local, tal como um arquivo de imagem, áudio ou vídeo, para ser exibido em linha. Esse arquivo vai ser copiado para Libray/Containers/Application Suport/interface de usuário/wizard-id e incorporado no Wizard, quando é exportado.
[080]Os valores das variáveis podem ser exibidos dinamicamente no conteúdo. Fazendo-se isso, colocar o nome da variável em chaves duplas. Por exemplo, se o seu nome de variável for your-name, você pode substitui-lo no
Petição 870190097695, de 30/09/2019, pág. 483/498
25/38 conteúdo por introdução de {{your-name}}. Na prática, você deve ter um conteúdo como:
If your-name had earlier been set to Kimberly, then when the user navigates to the page and views this content it would appear like:
Welcome, Kimberly! Please enter your favorite color.
[081]Um novo conteúdo pode ser adicionado por compressão do botão Add Content. O conteúdo pode ser apagado por compressão do botão Add Content. O conteúdo pode ser apagado por compressão do botão de apagamento, que se assemelha a um x circundado. O conteúdo é exibido na ordem que é mostrada na área principal. Para mudar a ordem, movimentar o conteúdo para cima e para baixo com os botões de seta.
7. Interfaces de usuários [082]As interfaces de usuários são mostradas depois do conteúdo em uma página. As interfaces proporcionam interatividade do usuário em uma página por meio de widgets e resultados. Uma página pode conter múltiplas interfaces ou absolutamente nenhuma, e cada uma delas têm sua visibilidade controlada por múltiplas condições.
[083]Novas interfaces podem ser adicionadas por compressão do botão Add Interface. Uma interface pode ser apagada por compressão do botão de apagamento, que se assemelha a um x circundado. As interfaces são exibidas na ordem que é mostrada na área principal. Para mudar a ordem, movimentar a interface para cima e para baixo com os botões de seta.
8. Variáveis [084]Variáveis são partes nomeadas de seu Wizard que retêm valores que podem variar na medida em que o usuário executa o Wizard. Por exemplo, você pode ter variáveis para coisas como nomes, endereços e números telefônicos de usuário, e pode então ter os valores de entrada de usuários para essas variáveis,
Petição 870190097695, de 30/09/2019, pág. 484/498
26/38 por meio de widgets. As variáveis podem ser usadas em testes de condições ou em ações, tanto como entrada quanto para armazenar novos valores. As variáveis também podem ser inseridas por escrita dos nomes das variáveis entre dois conjuntos de chaves, como {{foobar}}.
[085]As variáveis são controladas na tabulação de variáveis da barra lateral. O botão Create da barra lateral vai gerar uma nova página e o botão Delete vai remover a página selecionada. Clicando-se diretamente no nome da variável, vai ser possível mudar o nome dela. O clique na caixa de entrada para a direita do sinal de igual vai permite que se ajuste o valor inicial da variável, por exemplo, você pode ajustar um contador chamado variável a 0.
[086]Os valores das variáveis não precisam mudar durante operação do Wizard; você pode usá-los como constantes. Em Wizards mais complexos, você pode desejar criar duas variáveis temporárias para uso em sequências de ações. Essas variáveis temporárias podem ser úteis para armazenar valores intermediários, durante operações de texto ou matemáticas.
9. Condições [087]As condições são uma característica importante do IfWizard, que permitem que você seletivamente mostre ou execute partes de um Wizard. As condições podem ser disponíveis para conteúdo, interfaces de usuários e resultados. Se um elemento tem uma condição, é mostrado ou executado apenas se a condição for satisfeita, quando o elemento é processado. De preferência, isso ocorre na mesma ordem na qual as coisas são listadas na área principal, se uma primeira interface Interface 1, muda um valor de variável com suas ações, e uma segunda interface, Interface 2, checa a mesma variável com uma condição, o novo valor da variável da Interface 1 é usado. Se mais de uma condição é checada, todas devem passar para o elemento a ser mostrado ou executado.
[088]Uma condição é criada por compressão do botão Add Condition. As
Petição 870190097695, de 30/09/2019, pág. 485/498
27/38 condições podem ser apagadas por compressão do botão de apagamento, que se parece com um x. As condições são processadas na mesma ordem na qual são listadas na área principal.
[089]As condições podem conter múltiplas partes. A primeira parte da condição decide se vai haver cheque se o resultado for verdadeiro ou falso:
If: a condição é satisfeita se o resultado for verdadeiro.
If not: a condição é satisfeita se o resultado for falso.
O tipo do primeiro valor é texto especificado.
variable: o valor vai se originar de uma variável.
constant: o valor vai se originar de um valor literal, que você introduz como parte da condição.
widget: o valor vai se originar de um widget na interface de usuário, contendo essa condição (apenas condições de resultados).
[090]O próprio valor é depois introduzido em um campo em branco para constantes, ou por seleção da variável ou widget. Se for um widget, os widgets são listados na ordem na qual aparecem na área principal, e a primeira parte do rótulo é mostrada. Se você apagar uma variável ou widget, as condições dependentes deles vão ser automaticamente ajustadas para -none-.
[091]O ajuste básico para uma condição é a própria condição, que pode ser quaisquer das seguintes (notar que todas as comparações são sensíveis a casos):
contains: testa se o valor 1 contém o valor 2. Exemplos:
valuel = Dom Loves Kim, value2 = Loves true valuel = Dom Loves Kim, value2 = Lampshade false
Se os valores são números, são tratados, nesse caso, como texto, por exemplo:
valuel = 12345, value2 = 234 true ends with: testa se o valor 1 termina com o valor 2. Exemplos:
Petição 870190097695, de 30/09/2019, pág. 486/498
28/38
value1 = Dom Loves Kim, value2 = Dom — false
value1 = Dom Loves Kim, value2 = Kim — true
Se os valores são números, são tratados, nesse caso, como texto.
equals: testa se o valor 1 é igual ao valor 2. Exemplos
value1 = Dom Loves Kim, value2 = Dom — false
value1 = Dom Loves Kim, value2 = Dom Loves Kim — true
value1 = 434.2, value2 = 434.2 — true
less than: testa se o valor 1 é inferior ao valor 2. Se os valores são ambos texto, a comparação é feita alfabeticamente com a? inferior a b e A inferior a a. De outro modo, os números nos valores são usados (por exemplo, 123abc é convertido em 123). Exemplos:
value1 = 9, value2 = 6 false
value1 = 6, value2 = 6 false
value1 = 6, value2 = 9 —— true
value1 = Dom, value2 = Kim — true
less than or equal: testa se o valor 1 é igual ou inferior ao valor 2 . Se os valores
são ambos texto, a comparação é feita alfabeticamente com a? inferior a b e
A inferior a a. De outro modo, os números nos valores são usados (por
exemplo, 123abc é convertido em 123). Exemplos:
value1 = 9, value2 = 6 false
value1 = 6, value2 = 6 true
value1 = 6, value2 = 9 true
valuel = Dom, value2 = Kim — true more than: testa se o valor 1 é superior ao valor 2. Se os valores são ambos texto, a comparação é feita alfabeticamente com a? inferior a b e A inferior a a. De outro modo, os números nos valores são usados (por exemplo, 123abc é convertido em 123). Exemplos:
Petição 870190097695, de 30/09/2019, pág. 487/498
29/38
value1 = 9, value2 = 6 —— true
value1 = 6, value2 = 6 —— false
value1 = 6, value2 = 9 false
valuel = Dom, value2 = Kim — false more than or equals: testa se o valor 1 é igual ou superior ao valor 2. Se os valores são ambos texto, a comparação é feita alfabeticamente com a? inferior a b e A inferior a a. De outro modo, os números nos valores são
usados (por exemplo, 123abc é convertido em 123). Exemplos:
value1 = 9, value2 = 6 true
value1 = 6, value2 = 6 true
value1 = 6, value2 = 9 false
value1 = Dom, value2 = Kim — false
pattern matches: testa se o valor 1 contém o valor 2 da expressão regular
Perl-style. Exemplos:
valuel = Dom Loves Kim, value2 = [a-z]+ — true valuel = Dom Loves Kim, value2 = [0-9]+ — false starts with: testa se o valor 1 termina com o valor 2. Exemplos: valuel = Dom Loves Kim, value2 = Dom — true valuel = Dom Loves Kim, value2 = Kim — false Se os valores são números, são tratados, nesse caso, como texto.
[092]A condição é então seguida pelos tipo e valor da segunda variável, constante ou widget. Conjuntamente, esses ajustes descrevem o teste pelo qual a condição deve passar.
10. Widgets [093]As interfaces podem conter um ou mais widgets. Cada widget representa um controle de interação de usuário, que é exibido para o usuário como parte da interface. A seleção ou entrada que é atribuída por um usuário ao widget
Petição 870190097695, de 30/09/2019, pág. 488/498
30/38 está disponível nas condições e ações nessa mesma página. Esse valor de widget não é disponível a outras páginas, embora possa ser armazenado em uma variável, como parte de uma ação, e essa variável pode ser acessada por qualquer página. Os widgets podem ser mostrados em um estilo padronizado puro, como mostrado na Figura 9. Se você quiser personalizar a aparência do widget, você pode personalizar o estilo do seu Wizard.
[094]Os widgets podem ser adicionados com o botão Add Widget, e podem ser reordenados ou apagados por uso de pequenos botões na parte de topo da exibição de widgets. Cada widget tem um Widget Type e um Label. O rótulo é exibido para o usuário junto ao widget, por exemplo, Your name. Vários exemplos de controles de widgets são ilustrados na Figura 9, descrita acima. Os widgets podem incluir, sem limitação, os seguintes (de novo, consultar a Figura 9, como texto associado):[ [095]Button: Quando um button é comprimido, os resultados das páginas são processados. Se um resultado com uma página de destino é mostrado, mas nenhum botão de widget é exibido, um botão padronizado Continue é mostrado. O valor do widget é ajustado ao valor clicado do botão, se o botão for clicado. Diferentemente de outros widgets, o rótulo é usado como o texto do botão.
[096]Checkbox: Uma checkbox é um controle simples que permite chaveamento de ligar e desligar. Se a caixa de opções for chaveada para ligada (isto é, checada), o valor do widget é ajustado ao valor checado. Se a caixa de opções for chaveada desligada, o valor do widget é ajustado a não checado.
[097]Dropdown: O controle dropdown permite que o usuário selecione entre múltiplas opções. Você pode criar opções por compressão do botão estrela. Cada opção tem um rótulo, que é o que é mostrado ao usuário, e esse é mostrado no editor como um rótulo de opções. Cada opção pode ter um valor que ajusta o widget, se ele for selecionado e se esse for o valor selecionado.
Petição 870190097695, de 30/09/2019, pág. 489/498
31/38 [098]Text area: O controle text area permite que o usuário introduza uma maior quantidade de texto como entrada. O texto pode ter múltiplas linhas, e a compressão do botão enter vai criar uma nova linha. O valor do widget é o texto que o usuário introduziu.
[099]Text field: O controle text area possibilita que o usuário introduza uma quantidade estendida de texto como entrada. O texto pode ter múltiplas linhas e a compressão do botão enter vai criar uma nova linha. O valor do widget é o texto que o usuário introduziu.
[0100]Multiple choice: O controle multiple choice permite que o usuário selecione uma de múltiplas opções. Você cria opções por compressão do botão estrela. Cada opção tem um rótulo, que é o que é o que é mostrado ao usuário, e esse é mostrado no editor como um rótulo de opções. Cada opção pode ter um valor que ajusta o widget, se ele for selecionado e se esse for o valor selecionado.
11. Resultados [0101]Cada interface pode conter um ou mais resultados. A navegação pelo controle de resultados permite que ações sejam executadas. Após um botão ser comprimido na pagina, as ações do primeiro resultado, cujas interface e resultado satisfazem suas condições, são executadas. Se o resultado tiver uma página de destino, o Wizard navega a essa página, sem executar ações adicionais de resultados posteriores, mesmo se as condições delas forem satisfeitas.
[0102]Quando uma ação espera números, mas valores de texto são passados a ela, é convertida em um número por remoção de todos os caracteres não numéricos. Por exemplo, a1b2c3 ficaria 123. Se não houver quaisquer caracteres numéricos ou o valor estiver vazio, é tratado como um valor de 0.
Ações [0103]Cada resultado pode ter uma ou mais ações, que podem executar várias funções. As ações retornam, tipicamente, um valor que pode ser atribuído a
Petição 870190097695, de 30/09/2019, pág. 490/498
32/38 uma variável. O ajuste mais à esquerda da ação à esquerda do sinal de igual permite que você selecione que variável atribuir à variável ou none para ignorar o resultado. À direita do sinal de igual fica o tipo de ação, que pode ser selecionado dos tipos apresentados a seguir, que têm de zero a três valores retirados das variáveis, constantes ou widgets:
Add: Adicional o valor 1 ao valor 2. Se ambos os valores são números, isso é feito como uma operação aritmética, de outro modo, os valores são concatenados conjuntamente como abc + def = abcdef.
Call Function: Uma ação avançada, com a qual se executa a função Javascript nomeada no valor 1, passando o valor 2 como texto. O valor de retorno da função é apresentado como o resultado.
Ceiling: Retorna o valor 1 arredondado para cima.
Divide: Divide o valor 1 pelo valor 2.
Email: Cria e prepara para enviar um e-mail dos valores de todas as variáveis para o valor 1. Não há qualquer valor de retorno com essa ação.
Floor: Retorna o valor 1 arredondado para baixo.
Format Date: Retorna data e hora amigáveis do período de tempo no valor 1.
Get Date: Retorno o período de tempo atual.
Join: Une o valor 1 e o valor 2 por concatenação conjunta deles.
Lenght: Retorna o número de caracteres no valor 1.
Lowercase: Retorna o valor 1 convertidos a todas as letras em caixa-baixa.
Maximum: Retorna o maior dos valores 1 e 2.
Minimum: Retorna o menor dos valores 1 e 2.
Modulo: Retorna o restante da divisão do valor 1 pelo valor 2.
Multiply: Multiplica o valor 1 pelo valor 2.
Open URL: Abre o URL especificado no valor 1 em uma janela separada de navegador (para aplicações exportadas, vai abrir o URL, com a aplicação
Petição 870190097695, de 30/09/2019, pág. 491/498
33/38 padronizada, tal como Safari).
Random: Retorna um valor real aleatório entre 0 e 1, tal como 0,4325.
Replace: Retorna todos os casos do valor 1 no valor 1 com o valor 3. Por exemplo, se os valores 1, 2 e 3 são Dom loves Kim, Loves e Adores, respectivamente, vai retornar Dom adores Kim.
Reverse: Retorna o valor 1 invertido, por exemplo, abcdef vai ficar fedcba. Round: Retorna o valor 1 arredondado por uso da regra da metade para cima, por exemplo, 1.5 é arredondado a 2 e 1,499 é arredondado para 1.
Set: Retorna simplesmente o valor 1. Esse é o modo mais comum para armazenar o valor de um widget a uma variável.
Substring: Retorna uma parte do valor 1 do caracteres no valor 2 ao caractere no valor 3. Notar, por favor, que, do mesmo modo que com as funções de subcadeia, a primeira posição do caractere é considerada como sendo 0 em vez de 1.
Subtract: Subtrai o valor 2 do valor 1.
Trim: Remove os caracteres no espaço em branco com espaços em branco no início e no final do valor 1.
Upload: Uma ação avançada, essa abre o URL no valor 1, com cada variável incluída como um parâmetro de consulta. O título da página atual é também passado como um parâmetro de consulta denominado _current_page_. Por exemplo, se você tem uma página intitulada Upload Page, tem uma variável denominada name com um valor de Kim, e o valor 1 é http://www.example.org/upload, o URL aberto é: http://www.example.org/upload?_current_page_=Upload+Page&name=Kim Essa ação é bem adequada para transmitir resultados de Wizards a uma base de dados externa ou outro sistema. Não há qualquer valor de retorno com essa ação.
Petição 870190097695, de 30/09/2019, pág. 492/498
34/38
Uppercase: Retorna o valor 1 convertido em caixa-alta.
12. Previsão de seu Wizard [0104]Comprimir o botão Run Wizard da barra de ferramentas vai chavear para o modo de previsão, exibindo o conteúdo do Wizard como vai aparecer a um usuário, e permitir que ele teste sua funcionalidade. Os links externos no Wizard previsto são ignorados. No caso do Wizard previsto provocar que a exibição do editor esconda o botão Back to Main Page, você pode recarregar o editor por seleção de Fila->Reload Editor. Notar que algum estilo particular não está disponível, enquanto prevendo o Wizard ou, diferentemente, estendendo o Wizard.
13. Exportação de seu Wizard [0105]Uma vez que você tenha criado seu Wizard, você pode exportá-lo a uma página da rede ou uma aplicação de computador de mesa (apenas IfWizard Professional). Fazendo isso, comprimir o botão Export Wizard, o que vai permitir que você selecione um tipo de exportação das seguintes opções:
Save to Folder [0106](apenas IfWizard Professional) Esse tipo de exportação salva o Wizard como um conjunto de arquivos na pasta especificada. O arquivo index.html é o que vai ser aberto por um navegador de rede para ver o Wizard. Para mais informações sobre os arquivos exportados e como personalizar ou integrá-los, favor consultar a seção de personalização.
Save at Folder: A pasta na qual os arquivos exportados vão ser salvos.
Upload to FTP [0107]Salva os arquivos exportados diretamente em um local em um servidor FTP.
FTP Server: O nome do terminal na rede (hostname) do endereço IP do servidor FTP, por exemplo, ftp.example.com.
Remote Path: Um caminho de diretório opcional para transferência a, por
Petição 870190097695, de 30/09/2019, pág. 493/498
35/38 exemplo, /html/mysite/
Username: O login do usuário FTP, por exemplo, mysiteuser.
Senha: A senha do usuário FTP.
Criação de aplicação Mac OS [0108](apenas IfWizard Professional) Esse tipo de exportação salva o Wizard como uma aplicação Mac OS X, que exibe uma janela processando o Wizard. A aplicação contém as informações do Wizard dentro da pasta Contents/Resources/content da aplicação.
Save at Folder: Pasta na qual salvar a aplicação.
Application Title: O título da aplicação recém-criada, que é mostrado tanto no Finder quanto na própria aplicação.
Create Windows Applications [0109]Esse tipo de exportação salva o Wizard como uma aplicação de Windows, que exibe uma janela executando o Wizard. A aplicação contém as informações do Wizard dentro da pasta de conteúdo da aplicação.
Save at Folder: Pasta na qual salvar uma pasta contendo a aplicação.
Application Title: O título da aplicação recém-criada.
Email Zipped File [0110](apenas IfWizard Touch) Esse tipo de exportação salva o Wizard como um conjunto de arquivos, contidos dentro de um arquivo Zip, que é depois enviado por e-mail. O arquivo index.html contido é aquele que deve ser aberto por um navegador da rede para ver o Wizard. Uma vez enviado por e-mail, você pode descomprimir e modificar os arquivos ou transferi-los a um servidor. Para mais informações sobre os arquivos exportados e como personalizá-los ou integrá-los, favor consultar a seção de personalização.
Email Address: O endereço de e-mail na qual enviar por e-mail o arquivo comprimido.
Petição 870190097695, de 30/09/2019, pág. 494/498
36/38
14. Personalização de Wizards [0111]Quando um Wizard é exportado, vários arquivos são criados, que podem ser modificados para personalizar os resultados. Como mencionado na seção de exportação, essa personalização pode ocorrer tanto em aplicações de computador de mesa, quanto em sites da rede, pelas diferentes possibilidades de integração. A personalização é um tópico avançado, que envolve um entendimento de outras tecnologias, tais como Javascript ou folhas de estilo.
[0112]Notar que a exportação vai sobrescrever todos os arquivos exportados previamente, se feita no mesmo local. Para manter mais facilmente a sua personalização durante edição do seu Wizard, você pode desejar exportar seu Wizard duas vezes, e depois copiar o arquivo wizard-data.jps recém-exportado, que contém os aspectos específicos criados pelo editor.
Estilos [0113]O arquivo basic.css pode ser modificado para alterar a aparência do Wizard por uso de Folhas de Estilo em Cascata (CSS). As seguintes classes de elementos são usadas:
if-wizard: Aplicada a todo o Wizard.
if-wizard-page: Aplicada à página atual.
if-wizard-content-container: Aplicada a toda a extensão do conteúdo. if-wizard-content: Aplicada a um conteúdo específico.
if-wizard-ui-container: Aplicada a toda a extensão das interfaces de usuários. if-wizard-ui: Aplicada a uma interface de usuário específica.
if-wizard-widget: Aplicada a um widget específico. Para aplicar estilo a um tipo particular de widget, usar o tipo de controle HTML, por exemplo, .ifwizard-widget button.
if-wizard-widget-label: Aplicada a um rótulo de um widget. if-wizard-widget-innner-label: Aplicada ao rótulo de uma caixa de opções.
Petição 870190097695, de 30/09/2019, pág. 495/498
37/38 if-wizard-widget-control: Aplicada ao controle específico de um widget, tal como sua caixa de opções.
[0114]Além dessas classes, cada parte individual de um Wizard, tal como seu conteúdo, tem uma ID única, que é associada com o elemento, tanto como sua id, quando como uma classe separada, como ifwizard-page-wifgyjmqa01i. Essas IDs não podem ser atualmente determinadas do próprio editor, mas podem ser descobertas por inspeção dos seus elementos. As IDs não são geradas aleatoriamente cada vez que o Wizard é exportado, mas são parte dos dados salvos do Wizard e mentidos ao longo da edição deles.
Incorporação [0115]Quando exportado inicialmente, o IfWizard cria um arquivo index.html muito simples, que é usado para exibir o Wizard em um navegador de rede ou como o conteúdo de sua janela de aplicação. O IfWizard depende de jQuery, que é incluído na exportação. Se você desejar usar a sua própria versão de jQuery, substituir a linha em index.html por uma referente à sua própria versão. Notar que o IfWizard não requer qualquer roteiro no lado do servidor e é completamente independente, sendo processado no cliente por meio de Javascript.
[0116]Há duas rotas para incorporar o Wizard na sua própria página de rede. De um modo geral, a rota mais fácil e melhor é colocar seu Wizard em uma pasta separada e incorporá-lo em um iframe, tal como:
<iframe src=wizard/index.html frameborder=0 width=800 height=600></iframe>
Nesse caso, você não precisa fazer quaisquer mudanças no seu arquivo index.html, mas ele não seria mencionado para ligação direta.
[0117]Alternativamente, você pode copiar as partes de index.html, que incluem wizard-data.js e wizard.js (nessa ordem) na sua própria página de rede. Esses dois arquivos, bem como o basic.css, podem ser todos renomeados ou
Petição 870190097695, de 30/09/2019, pág. 496/498
38/38 movimentados. No entanto, se você tiver adicionado mídia local ao seu conteúdo, vai ficar na pasta the/media e essa deve ficar localizada na mesma pasta que a página acessada pelo usuário.
[0118]Você pode livrem adicionar ou modificar o arquivo index.html, proporcionando qualquer tipo de mídia ou contexto por todo seu Wizard. Atualmente, se você não precisar usar mais de um Wizard em uma única página, recomendamos bastante o uso do processo iframe, para isolar os seus dados e mídia. Notar que as aplicações de computador de mesa exportadas esperam carregar o arquivo index.html contido dentro do seu conteúdo, e esse arquivo não deve ser renomeado.
Roteiro [0119]Os Wizards podem ser estendidos por meio de roteiro por ações Call Function, que, quando executadas, podem retirar qualquer função Javascript. Ainda que você possa usar isso para funções de construção, tal como alert, você pode ter também acesso às suas próprias funções personalizadas e, desse modo, integrar seu Wizard em uma maior aplicação de rede. Como você pode tanto passar variáveis para a função e ajustar uma variável a um resultado de função, há um grande grau de flexibilidade em como estender seu Wizard com um roteiro.
[0120]Vai ser óbvio para aqueles versados na técnica que muitas modificações podem ser feitas nos detalhes das concretizações descritas acima, sem afastar-se dos princípios básicos da invenção. O âmbito da presente invenção deve ser, portanto, determinado apenas pelas reivindicações apresentadas a seguir.

Claims (11)

  1. REIVINDICAÇÕES
    1. Meio de armazenamento legível por máquina, não transitório, CARACTERIZADO pelo fato de que tem armazenado nele instruções executadas por um processador, as instruções compreendendo:
    um editor gráfico para criar um sistema especialista; e um componente de reprodução configurado para executar o sistema especialista;
    o editor gráfico compreendendo um componente editor de página configurado para criar, interativamente, entidades de página do sistema especialista, em que exatamente uma das entidades de página é identificada como uma página de partida a ser exibida quando a execução do sistema especialista é iniciada, cada entidade de página consistindo de:
    uma ou mais seções de conteúdo e uma ou mais seções de interface, em que cada seção de conteúdo da entidade de página é forçada a possuir blocos estáticos não interativos de conteúdo informativo para exibição, sem quaisquer elementos executáveis ou elementos interativos, e cada seção de interface compreendendo:
    pelo menos um widget para obter dados de entrada por meio de um dispositivo de interface de usuário acoplado ao processador, e pelo menos uma entidade de resultado de interface, a entidade de resultado de interface identificando pelo menos um dentre (a) uma página de destino, e (b) uma ou mais condições de resultado;
    e identificando ainda uma ou mais ações especificadas que serão realizadas apenas se as condições de resultado forem verdadeiras;
    o componente de reprodução disposto para acessar a entidade de página de partida, exibir a seção de conteúdo da entidade de página de partida, obter os dados de entrada a partir do dispositivo de interface de
    Petição 870190097695, de 30/09/2019, pág. 455/498
  2. 2/5 usuário, com base nos dados de entrada, atualizar zero ou mais variáveis armazenadas do sistema especialista;
    e em seguida, acessar a entidade de resultado de interface da página de partida, testar as condições de resultado com base em valores atuais dentre as variáveis armazenadas, determinar se as condições de resultado são verdadeiras, e se as condições de resultado forem verdadeiras, executar as ações especificadas na entidade de resultado de interface;
    se a entidade de resultado de interface da página de partida especifica uma entidade de página de destino, navegar para a entidade de página de destino, exibir a seção de conteúdo da entidade de página de destino, obter segundos dados de entrada a partir do dispositivo de interface de usuário, com base nos segundos dados de entrada, atualizar zero ou mais variáveis armazenadas do sistema especialista; e repetir as etapas de executar uma entidade de página por vez do sistema especialista, navegando a partir de cada página exibida atualmente para uma página de destino selecionada conforme determinado pela análise da entidade de resultado de interface da página exibida atualmente;
    o editor gráfico incluindo ainda um subsistema de exportação configurado para converter as entidades de página em um formato portátil para exportar o sistema especialista para uso por um sistema de reprodução executável de forma independente, em que o sistema especialista exportado é independente, em outras palavras, capaz de execução sem ferramentas especializadas, plugins, programas externos ou acesso à base de conhecimento, enquanto o conhecimento especializado do assunto para o sistema especialista é capturado e mostrado nas entidades de página.
    2. Meio de armazenamento, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
    Petição 870190097695, de 30/09/2019, pág. 456/498
  3. 3/5 cada uma das entidades de resultado de interface define zero ou mais ações de resultado;
    cada uma das ações de resultado consiste em definir um valor de uma variável de saída selecionada com base em aplicar um único mecanismo de ação selecionado a uma ou mais entradas;
    o editor gráfico implementa uma interface gráfica de usuário que permite seleção das entradas a partir de um conjunto limitado de escolhas consistindo em uma variável selecionada, uma constante, e um valor de entrada obtido por um widget; e a variável selecionada é selecionada a partir de um conjunto predefinido de variáveis que está sob controle local exclusivo do sistema especialista.
    3. Meio de armazenamento, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a ação de resultado é configurada, quando invocada durante a execução do sistema especialista, para executar uma ação predeterminada incluindo uma ou mais dentre definir uma variável, abrir um documento externo, transferir dados a outros servidores, e integrar com um recipiente por meio de um subsistema de integração de recipiente acoplado ao editor gráfico.
  4. 4. Meio de armazenamento, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que cada ação de resultado é associada, opcionalmente, a uma ou mais condições de resultado, e a ação de resultado correspondente é executada se e somente se todas dentre as condições de resultado associadas são cumpridas, e em que o editor gráfico inclui uma interface gráfica de usuário que permite selecionar cada condição de resultado a partir de um conjunto predeterminado de mecanismos de condição.
  5. 5. Meio de armazenamento, de acordo com a reivindicação 1,
    Petição 870190097695, de 30/09/2019, pág. 457/498
    4/5
    CARACTERIZADO pelo fato de que as instruções incluem um componente de reprodução configurado para:
    acessar um sistema especialista exportado portátil gerado pelo subsistema de exportação do editor gráfico; e executar o sistema especialista exportado portátil, independentemente, sem ferramentas especializadas, plugins, programas externos ou acesso a uma base de conhecimento; em que executar o sistema especialista exportado compreende: exibir, primeiro, a seção de conteúdo da página de partida;
    exibir, em seguida, a seção de interface da página de partida incluindo o widget;
    utilizar o widget, obter dados de entrada por meio do dispositivo de interface de usuário;
    com base nos dados de entrada obtidos e na entidade de resultado de interface da seção de interface, navegar para a página de destino correspondente; e repetir as etapas anteriores, começando com a exibição da seção de conteúdo da página de destino, de modo que, durante a execução, exatamente uma página do sistema especialista é exibida por vez.
  6. 6. Meio de armazenamento, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o componente de reprodução é ainda configurado para:
    navegar, primeiro, para a página de partida;
    exibir, condicionalmente, a seção de conteúdo da página de partida na tela de exibição;
    exibir, condicionalmente, a seção de interface da página de partida na tela de exibição, incluindo invocar um widget aplicável para interação de usuário;
    executar, condicionalmente, resultados aplicáveis da seção de interface com
    Petição 870190097695, de 30/09/2019, pág. 458/498
    5/5 base na interação de usuário com o widget;
    navegar para uma página de destino associada com o resultado; e repetir as seguintes etapas utilizando a página de destino, e em seguida continuar alterando para páginas de destinos subsequentes executando as etapas anteriores até que uma condição de término seja encontrada.
  7. 7. Meio de armazenamento, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma entidade de página armazena um valor para uma variável armazenada em uma seção de conteúdo.
  8. 8. Meio de armazenamento, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a entidade de resultado inclui zero ou mais ações de resultado associadas que, quando invocadas durante a execução do sistema especialista, atribui um valor para pelo menos uma variável armazenada.
  9. 9. Meio de armazenamento, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o componente editor de página é disposto para proporcionar uma condição para um conteúdo, interface de usuário ou resultado, em que a exibição de interfaces/conteúdos particulares ou a execução de ações de resultado são, cada uma, condicionada em um teste correspondente.
  10. 10. Meio de armazenamento, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que uma condição determina um valor verdadeiro correspondente pela aplicação de uma operação selecionada para um operando selecionado, em que o operando compreende um dentre as variáveis armazenadas, uma constante literal, ou um valor de entrada para um widget.
  11. 11. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a operação selecionada é uma dentre um conjunto de operações que incluem “correspondência de padrão”, “maior ou igual a”, “maior do que”, “menor ou igual a”, “menor do que”, “termina com”, “contém”, “igual”, e o resultado negado de cada uma desses.
BR112015006336A 2012-09-20 2013-08-29 meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada BR112015006336B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261703270P 2012-09-20 2012-09-20
PCT/US2013/057379 WO2014046861A2 (en) 2012-09-20 2013-08-29 Method and system for simplified knowledge engineering

Publications (2)

Publication Number Publication Date
BR112015006336A2 BR112015006336A2 (pt) 2017-07-04
BR112015006336B1 true BR112015006336B1 (pt) 2020-01-28

Family

ID=50275501

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015006336A BR112015006336B1 (pt) 2012-09-20 2013-08-29 meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada

Country Status (9)

Country Link
US (1) US10068172B2 (pt)
KR (1) KR102016161B1 (pt)
CN (2) CN109583591A (pt)
BR (1) BR112015006336B1 (pt)
GB (1) GB2521567A (pt)
IN (1) IN2015KN00491A (pt)
MX (1) MX2015003376A (pt)
SG (2) SG11201501846XA (pt)
WO (1) WO2014046861A2 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201501846XA (en) * 2012-09-20 2015-04-29 Ifwizard Corp Method and system for simplified knowledge engineering
CN104965780A (zh) * 2015-06-04 2015-10-07 北京奇虎科技有限公司 数据处理方法与系统
US10534828B2 (en) * 2016-08-12 2020-01-14 Kiddy Up LLC System and method for collection and storage of community information
JP7256742B2 (ja) * 2016-12-07 2023-04-12 ノースラップ,チャールズ シングマシンシステム及び方法
US11138270B2 (en) * 2017-05-12 2021-10-05 Elumus, LLC Business software platform and kiosk
US10762301B1 (en) * 2018-09-04 2020-09-01 Michael Dudley Johnson Methods and systems for generating linguistic rules
CN109358844A (zh) * 2018-09-30 2019-02-19 仝瑞麟 程序执行方法及装置
CN110632878B (zh) * 2019-10-08 2022-06-28 上海宝阶智能科技有限公司 一种异构嵌入式表格化处理及执行动作流程的方法和装置
CN111522291A (zh) * 2020-04-28 2020-08-11 同方泰德国际科技(北京)有限公司 一种可编程控制方法及可编程控制器
US11307881B1 (en) * 2020-11-11 2022-04-19 Adobe Inc. Systems for generating suggestions with knowledge graph embedding vectors
CN115412452A (zh) * 2022-08-19 2022-11-29 浪潮思科网络科技有限公司 一种基于物理层Fabric场景的配置导航方法、设备及介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658370A (en) * 1984-06-07 1987-04-14 Teknowledge, Inc. Knowledge engineering tool
US4885705A (en) * 1988-02-25 1989-12-05 Eastman Kodak Company Expert system shell for building photofinishing diagnostic systems
US4972328A (en) * 1988-12-16 1990-11-20 Bull Hn Information Systems Inc. Interactive knowledge base end user interface driven maintenance and acquisition system
US5259766A (en) * 1991-12-13 1993-11-09 Educational Testing Service Method and system for interactive computer science testing, anaylsis and feedback
US5644686A (en) * 1994-04-29 1997-07-01 International Business Machines Corporation Expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications
WO1996015505A2 (en) * 1994-11-08 1996-05-23 Vermeer Technologies, Inc. An online service development tool with fee setting capabilities
US5673369A (en) * 1995-03-02 1997-09-30 International Business Machines Corporation Authoring knowledge-based systems using interactive directed graphs
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5802255A (en) * 1995-06-23 1998-09-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for creating expert systems
US7003528B2 (en) * 1998-02-13 2006-02-21 3565 Acquisition, Llc Method and system for web management
US6542880B2 (en) * 1998-12-22 2003-04-01 Indeliq, Inc. System, method and article of manufacture for a goal based system utilizing a table based architecture
US7280991B1 (en) * 1999-05-05 2007-10-09 Indeliq, Inc. Creating collaborative simulations for creating collaborative simulations with multiple roles for a single student
US6611822B1 (en) * 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6311194B1 (en) * 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US8725656B1 (en) * 2000-05-18 2014-05-13 United Parcel Service Of America, Inc. Freight rate manager
US8321356B2 (en) * 2000-05-18 2012-11-27 United Parcel Service Of America, Inc. System and method for calculating real-time costing information
AU2001275020A1 (en) * 2000-09-21 2002-04-02 Theradoc.Com, Inc. Systems and methods for manipulating medical data via a decision support system
EP1253522A1 (en) * 2001-04-23 2002-10-30 Koninklijke KPN N.V. A knowledge-based system and a method of business modelling and of business process redesign
GB0110326D0 (en) * 2001-04-27 2001-06-20 Ibm Method and apparatus for interoperation between legacy software and screen reader programs
US7094164B2 (en) * 2001-09-12 2006-08-22 Pillar Vision Corporation Trajectory detection and feedback system
US7254528B2 (en) * 2002-05-14 2007-08-07 Sun Microsystems, Inc. Tool for defining verbs and adverbs in a fault injection test creation environment
US7316003B1 (en) * 2002-12-18 2008-01-01 Oracle International Corp. System and method for developing a dynamic web page
US7949957B2 (en) * 2002-12-31 2011-05-24 International Business Machines Corporation Edit selection control
GB0314440D0 (en) * 2003-06-20 2003-07-23 Showbusiness Software Ltd System for facilitating management and organisational development processes
US7107186B2 (en) * 2003-10-31 2006-09-12 Abb Research Ltd. Transformer testing
DE102004028177A1 (de) * 2004-06-04 2005-12-29 Siemens Ag System zum Bedienen einer Anlage durch Editieren von grafischen Objekten
CN1307541C (zh) * 2004-06-17 2007-03-28 威盛电子股份有限公司 产生程序代码的计算机系统及方法
US20070016401A1 (en) * 2004-08-12 2007-01-18 Farzad Ehsani Speech-to-speech translation system with user-modifiable paraphrasing grammars
US20060069995A1 (en) * 2004-09-30 2006-03-30 British Telecommunications Public Limited Company Personalised process automation
US7428520B2 (en) 2004-11-15 2008-09-23 Becton, Dickinson And Company Graphical user interface for use with open expert system
US7343364B2 (en) * 2005-02-04 2008-03-11 Efunds Corporation Rules-based system architecture and systems using the same
US8082539B1 (en) * 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US7707508B1 (en) * 2006-12-12 2010-04-27 Adobe Systems Incorporated Methods and apparatus for efficient layout of digital content
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
CN100593794C (zh) * 2007-06-13 2010-03-10 北京农业信息技术研究中心 用于农作物生产专家诊断系统的远程控制装置及其方法
US20080313215A1 (en) * 2007-06-13 2008-12-18 R-Web, Inc. System and method for the generation and storage of contextually anchored links and for navigation within information systems based on such links
US8566353B2 (en) * 2008-06-03 2013-10-22 Google Inc. Web-based system for collaborative generation of interactive videos
US8464229B2 (en) * 2009-12-29 2013-06-11 Microgen Aptitude Limited Creation of form-based software application in a graphical user interface (GUI) environment
CN101833497B (zh) * 2010-03-30 2015-01-21 浪潮电子信息产业股份有限公司 一种基于专家系统方法的计算机故障管理系统
US8689121B2 (en) * 2010-05-06 2014-04-01 Cadence Design Systems, Inc. System and method for management of controls in a graphical user interface
US9180448B2 (en) 2010-07-06 2015-11-10 Becton, Dickinson And Company Method and apparatus for identification of bacteria
CN103221952B (zh) * 2010-09-24 2016-01-20 国际商业机器公司 词法答案类型置信度估计和应用的方法和系统
US20120317058A1 (en) * 2011-06-13 2012-12-13 Abhulimen Kingsley E Design of computer based risk and safety management system of complex production and multifunctional process facilities-application to fpso's
SG11201501846XA (en) * 2012-09-20 2015-04-29 Ifwizard Corp Method and system for simplified knowledge engineering
US10120864B2 (en) * 2016-03-29 2018-11-06 Conduent Business Services Llc Method and system for identifying user issues in forum posts based on discourse analysis

Also Published As

Publication number Publication date
US20140081892A1 (en) 2014-03-20
BR112015006336A2 (pt) 2017-07-04
CN104823158A (zh) 2015-08-05
GB201506415D0 (en) 2015-05-27
KR20150058237A (ko) 2015-05-28
MX2015003376A (es) 2016-06-24
CN109583591A (zh) 2019-04-05
IN2015KN00491A (pt) 2015-07-17
SG10201702093PA (en) 2017-05-30
CN104823158B (zh) 2018-11-20
GB2521567A (en) 2015-06-24
US10068172B2 (en) 2018-09-04
WO2014046861A2 (en) 2014-03-27
WO2014046861A3 (en) 2014-06-26
KR102016161B1 (ko) 2019-08-29
SG11201501846XA (en) 2015-04-29

Similar Documents

Publication Publication Date Title
BR112015006336B1 (pt) meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada
Klokmose et al. Webstrates: shareable dynamic media
TW202141300A (zh) 頁面處理方法、裝置、設備及儲存媒體
JP4893108B2 (ja) 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US9720689B2 (en) Context-specific view of a hierarchical data structure
US20200174755A1 (en) Interactive application tool and methods
US20200174757A1 (en) Application development preview tool and methods
JPH10320390A (ja) 文書の自己再生産に基づくビュー変更法
AU2021411481B2 (en) System and method for real-time, dynamic creation, delivery, and use of customizable web applications
Raji et al. Dataless sharing of interactive visualization
Banavar et al. Tooling and system support for authoring multi-device applications
Firmenich et al. Distributed Web browsing: supporting frequent uses and opportunistic requirements
Albertos Marco et al. A model-based approach for describing offline navigation of web applications
WO2024104385A1 (zh) 视频编辑方法、装置、设备及介质
CN117215585B (zh) 一种可视化描述以及动态控制界面组件属性的方法及装置
Pitt React Components
Cahill et al. Environment Values
Nelli et al. jQuery Basics
Antonio et al. Inside the DOM Abstraction
Libby Taking Things Further
Mori et al. of Document: Tools for Model-Based Design of Multi-Context
Diep Me. TV: a visual programming language and interface for dynamic media programming
Gerber et al. Customizing Android Studio
Dhillon et al. Open Health Care
Yu Implementation of a Secure Shell File Transfer program in Java

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 29/08/2013, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 10A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2737 DE 20-06-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.