BRPI0901035A2 - método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados, sistema baseado em computador e produto de programa de computador - Google Patents

método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados, sistema baseado em computador e produto de programa de computador Download PDF

Info

Publication number
BRPI0901035A2
BRPI0901035A2 BRPI0901035-1A BRPI0901035A BRPI0901035A2 BR PI0901035 A2 BRPI0901035 A2 BR PI0901035A2 BR PI0901035 A BRPI0901035 A BR PI0901035A BR PI0901035 A2 BRPI0901035 A2 BR PI0901035A2
Authority
BR
Brazil
Prior art keywords
computer
code
machine
sections
server
Prior art date
Application number
BRPI0901035-1A
Other languages
English (en)
Inventor
Jorge Nicolau Molina
Pedro Olmos Lopez
Albert Juanals Pastor
Jose Ignacio Quiroga Serret
Original Assignee
Accenture Global Services Gmbh
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 Accenture Global Services Gmbh filed Critical Accenture Global Services Gmbh
Publication of BRPI0901035A2 publication Critical patent/BRPI0901035A2/pt
Publication of BRPI0901035B1 publication Critical patent/BRPI0901035B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Image Processing (AREA)

Abstract

MéTODO IMPLEMENTADO EM COMPUTADOR PARA A GERAçãO DE ARQUIVOS EXECUTáVEIS EM COMPUTADOR INTER-RELACIONADOS, SISTEMA BASEADO EM COMPUTADOR E PRODUTO DE PROGRAMA DE COMPUTADOR. A presente invenção refere-se a um método implementado em computador para a geração de arquivos executáveis em computador interrelacionados em um lado de servidor, que compreende as etapas de: - provisão em um lado de cliente de uma interface gráfica de usuário associada a um código que pode ser lido em máquina em uma linguagem de máquina, em que a interface gráfica de usuário exibe dados substancialmente em texto claro; - seleção e associação de duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina no referido lado de cliente usando-se a referida interface gráfica de usuário - verificação implementada em computador de uma coerência do referido código que pode ser lido em máquina selecionado no lado de cilindro antes, preferencialmente sem a compilação do referido código que pode ser lido em máquina selecionado no lado de cliente, e extração do resultado da referida verificação de coerência substancialmente em texto claro, em que: a verificação da coerência do referido código que pode ser lido em máquina selecionado compreende - a verificação implementada em computador da coerência das referidas seções selecionadas de código que pode ser lido em máquina e/ou - a verificação implementada em computador da coerência das referidas associações das referidas seções selecionadas de código que pode ser lido em máquina; e - mediante a aprovação da coerência, a compilação das duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina em um lado de servidor para a criação de dois ou mais arquivos executáveis inter-relacionados, os quais são executáveis pelo servidor, bem como um sistema baseado em computador e um produto de programa de computador.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO IMPLEMENTADO EM COMPUTADOR PARA A GERAÇÃO DE ARQUIVOS EXECUTÁVEIS EM COMPUTADOR INTER-RELACIONADOS, SISTEMA BASEADO EM COMPUTADOR E PRODUTO DE PROGRAMA DE COMPUTADOR".
Descrição
A presente invenção refere-se a um método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados, um sistema baseado em computador e um produto de programa de computador.
Convencionalmente, os programas de computador que podem ser aplicados em muitos campos são vendidos como produtos padronizados para um grande número de usuários. Esses programas de computador podem ser adaptados para rodarem em um sistema diretamente, isto é, sem a necessidade de uma rotina de instalação específica. Contudo, muito freqüentemente, é necessário instalar um programa de computador em um sistema, antes de se rodar o programa de computador no sistema, em que, du-rante uma instalação, o programa de computador é adaptado ao ambiente de computação específico do respectivo sistema. Neste caso, tipicamente, o' programa de computador é instalado por um usuário usando uma rotina de ' instalação automática.
Adicionalmente a isso, dependendo das necessidades do usuário, os programas de computador podem ser tornados personalizados para um usuário específico. Convencionalmente, o usuário confia em um desenvolvedor ou uma equipe de desenvolvedores com o estabelecimento do código de computador personalizado, de acordo com as instruções do usuário. Contudo, de modo a se estabelecer esse código personalizado, um ou mais programadores altamente versados têm que ser empregados de modo a se criar o programa de computador. Este processo consome muito tempo é também é de custo muito intensivo.
É um objetivo da presente invenção prover arquivos executáveis em computador personalizados de uma maneira técnica simples. Este pro-blema é resolvido pelos assuntos das reivindicações independentes. As modalidades preferidas são o assunto das reivindicações dependentes.
Método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados de acordo com um aspecto
Um aspecto da presente invenção se refere a um método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados em um lado de servidor, que compreende as etapas de:
- provisão em um lado de cliente de uma interface gráfica de usuário associada a um código que pode ser lido em máquina em uma linguagem de máquina, em que a interface gráfica de usuário exibe dados substancialmente em texto claro;
- seleção e associação de duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina no referido lado de cliente usando-se a referida interface gráfica de usuário;
- verificação implementada em computador de uma coerência do referido código que pode ser lido em máquina selecionado no lado de cilindro antes, preferencialmente sem a compilação do referido código que pode ser lido em máquina selecionado no lado de cliente, e extração do resultado da referida verificação de coerência substancialmente em texto claro, em que:
a verificação da coerência do referido código que pode ser lido em máquina selecionado compreende
- a verificação implementada em computador da coerência das referidas seções selecionadas de código que pode ser lido em máquina e/ou
- a verificação implementada em computador da coerência das referidas associações das referidas seções selecionadas de código que pode ser lido em máquina; e
- mediante a aprovação da coerência, a compilação das duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina em um lado de servidor para a criação de dois ou mais arquivos executáveis inter-relacionados, os quais são executáveis pelo servidor.Vantajosamente, os arquivos executáveis em computador para um lado de servidor pode ser produzidos por uma pessoa, substancialmente sem quaisquer habilidades de programação em computador específicas. Ao invés disso, usando a interface gráfica de usuário (GUI) por meio de um texto claro, o usuário pode coletar duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina sem ler esse código que pode ser lido em máquina ou a linguagem de máquina e, em particular, sem ter que conhecer um código que pode ser lido em máquina ou linguagem de máquina. O usuário pode escolher seções tais como "elementos", "validações", "textos/parágrafos"..., os quais são associados a seções específicas de código que pode ser lido em máquina em linguagem de máquina. Como um exemplo, uma validação pode ser associada a um código que pode ser lido em máquina compreendendo uma avaliação, quanto a se uma variável e/ou um parâmetro é maior do que uma outra variável e/ou parâmetro. As variáveis e/ou os parâmetros também podem ser especificados usando-se a GUI, em que o valor específico da variável e/ou do parâmetro é computado, quando o programa é executado.
Em outras palavras, o usuário pode criar substancialmente uma validação pela introdução de dois ou mais variáveis e/ou parâmetros e também ao introduzir o tipo de validação, por exemplo, uma operação tal como "maior do que", "menor do que", "igual a", etc. Mais ainda, o usuário pode introduzir a conseqüência da validação, isto é, o que será feito quando uma condição da validação for cumprida ou a referida condição não for cumprida. Como um exemplo, quando uma condição for cumprida, o método implementado em computador se moverá para uma próxima etapa.
Em outras palavras, usando a GUI, um código que pode ser lido em máquina complexo em linguagem de máquina pode ser montado, sem o usuário ter um conhecimento específico do código que pode ser lido em máquina ou de uma codificação em particular. Ao invés disso, o usuário pode ser uma pessoa tendo habilidades diferentes, tal como um engenheiro mecânico, um economista, etc, que precise usar os arquivos executáveis em computador e, portanto, deseje prover arquivos executáveis em computadorde acordo com suas necessidades. Consequentemente, há vantajosamente pouca perda de informação, uma vez que o usuário não tem que explicar para um desenvolvedor a necessidade dos arquivos executáveis.
Mais preferencialmente, a verificação implementada em computador de uma coerência do referido código que pode ser lido em máquina seletivo no lado de cliente antes da compilação do referido código que pode ser lido em máquina selecionado permite que o usuário de uma forma muito rápida e eficiente verifique a usabilidade dos arquivos executáveis produzidos em uma etapa posterior. Em particular, mesmo se não conectado a um lado de servidor e/ou se o lado de servidor não estiver disponível para o u-suário por qualquer outra razão, o usuário poderá verificar já no lado de cliente, sem a produção dos executáveis, se os dois ou mais arquivos executáveis funcionarão apropriadamente no lado de servidor. Esta verificação pode ser feita, particularmente, embora o usuário não tenha habilidades de programação específicas, uma vez que a referida verificação da coerência é implementada em computador. Em outras palavras, no lado de cliente, o computador examina as seções selecionadas de código que pode ser lido em máquina. Desse modo, o computador pode examinar cada uma das seções separadamente. O computador também pode examinar a seções selecionadas em sua totalidade. Preferencialmente, o computador pode examinar qualquer inter-relação entre seções selecionadas de código. Como um exemplo, o computador pode examinar a saída de uma seção de código a qual seja introduzida em uma outra seção de código, como se o código fosse compilado.
Em outras palavras, o CPU pode examinar, sem compilar, se uma saída possível de uma primeira seção é adequada como entrada de uma outra seção. Portanto, também associações entre seções de código selecionado podem ser examinadas de uma forma computadorizada, pelo menos parcialmente automática. Desse modo, o computador pode aplicar regras específicas, tais como regras matemáticas e/ou uma lógica específica, tal como uma lógica matemática para o código que pode ser lido em máquina. Também, o computador pode usar regras e/ou uma lógica do códigoque pode ser lido em máquina, tais como regras e/ou uma lógica de linguagem de codificação específica, de modo a examinar as seções selecionadas e/ou as associações entre as seções selecionadas do código.
Mais ainda, o computador no lado de cliente (isto é, um computador ou processador de cliente) pode examinar as seções selecionadas de código e/ou as associações quanto à inteireza. Como um exemplo, se uma seção estiver associada a uma outra seção, de modo que a saída de uma seção seja a entrada da outra seção, em que a outra seção precisa, por e-xemplo, de uma, duas ou mais variáveis de entrada, o computador poderá examinar qualquer incoerência, por exemplo, se a variável de saída de uma seção de código se adéqua às exigências da entrada da(s) outra(s) seção (seções) de código. Mais ainda, o computador pode estimar o comportamento de tempo de rodada do código, mesmo sem uma compilação, por exemplo, pelo uso de lógica matemática. Como um exemplo, se o código compreender uma fração e o denominador da referida fração for uma variável a qual pode se tornar muito pequena durante um tempo de rodada, devido a razões matemáticas das faixas providas de variável/parâmetro, o computador no lado de cliente poderá descobrir que como resultado um estouro para cima de buffer ou similar ocorrerá no caso de o executável ser rodado no lado de servidor. Em particular, o CPU no lado de cliente pode reconhecer que o estouro de buffer para cima ocorrerá, embora sem a criação do executável (isto é, sem compilação) e mesmo sem a rodada do executável. Consequentemente, o computador pode prover uma respectiva saída de coerência.
A saída de coerência pode ser uma mensagem de erro ou uma mensagem de aprovação, particularmente em texto claro. Como um exemplo, os erros matemáticos ou similares, os quais podem ser providos quando da verificação da coerência do código selecionado e do composto em linguagem de máquina, tal como uma linguagem de programação, podem ser traduzidos em texto claro, em particular texto que pode ser lido por seres humanos, ainda mais particularmente de acordo com semântica legível por seres humanos e compreensível e regras de linguagem. Consequentemente, o usuário que não é um especialista em codificação, pode verificar se as se-ções de código que pode ser lido em máquina, as quais foram selecionadas usando-se a GUI, podem ser rodadas de forma bem sucedida no lado de servidor, sem:
a) a necessidade de compilação das seções selecionadas do código no lado de servidor e/ou sem
b) a necessidade de o usuário ter habilidades de programação específicas, uma vez que a GUI prove uma saída legível e compreensível por um usuário não tendo habilidades de programação.
Como um exemplo, um tradutor pode ser provido conectado a e/ou usando uma ou mais tabelas compreendendo mensagens em lógica matemática e/ou lógica de linguagem que pode ser lida em máquina, etc, as quais são ligadas/associadas a um texto claro cobrindo o respectivo significado em linguagem legível por seres humanos/lógica.
O termo "texto claro" se refere a uma exibição de texto de acordo com semântica humana, gramática humana, linguagem humana, particularmente independente/diferente da linguagem que pode ser lida em máquina. Como um exemplo, um texto claro pode ser provido em Inglês, Espanhol, Alemão, etc. Um texto claro particularmente é um texto que pode ser lido e entendido por uma pessoa, sem ter habilidades específicas de programação, como um exemplo sem ter habilidades específicas em qualquer linguagem de programação. Um texto claro também pode ser provido usando-se figuras, imagens, representações pictóricas, cores diferentes e/ou esquemas de cor, destaque de palavras, em particular uma exibição piscando de palavras, etc.
O termo "código que pode ser lido em máquina em linguagem de máquina" (contrário a texto claro) pode se relacionar a qualquer linguagem de programação convencional a qual pode ser, por exemplo, COBOL, FORTRAN, C, C++, PASCAL, JAVA, etc. Um código que pode ser lido em máquina em linguagem de máquina pode compreender elementos, os quais também podem ser compreendidos por texto claro em linguagem que pode ser lida por seres humanos. Como um exemplo, um código que pode ser lido em máquina em linguagem de máquina pode compreender palavras de umalinguagem humana, palavras em particular na língua inglesa, tais como "and", "if, "then", etc. Contudo, um código que pode ser lido em máquina em linguagem de máquina é baseado em lógica matemática, em particular como uma ferramenta matemática, se comparada com texto claro, que é baseada em gramática de uma linguagem humana como sua lógica intrínseca. Daí, o termo "linguagem de máquina" não está necessariamente limitado ao significado de uma linguagem de programação de nível baixo.
O termo "verificação implementada em computador de coerência" descreve o exame implementado em computador das seções de código selecionadas e/ou das associações entre as seções de código selecionadas, conforme descrito acima. Em particular, as seções de código selecionadas podem ser examinadas separadamente. Também é possível que conjuntos de seções possam ser examinados. Também é possível que a totalidade das seções selecionadas possa ser examinada. É possível que as associaçõesentre duas ou mais seções de código sejam examinadas. As associações podem compreender, por exemplo, que a saída de uma seção seja a entrada de uma outra seção. As associações podem compreender, por exemplo, que duas ou mais seções compartilhem uma ou mais seções adicionais, variáveis/parâmetros, etc.
Contrário a "verificação implementada em computador de uma coerência", o termo "compilação" descreve a tradução de texto escrito em uma linguagem que pode ser lida em computador, a qual também pode ser referida com uma linguagem fonte, em uma outra linguagem que pode ser lida em computador a qual também pode ser referida como a linguagem-alvo. A seqüência original usualmente é denominada o código fonte e a saída pode ser denominada um código de objeto. Comumente, a saída tem uma forma adequada para processamento por outros programas (por exemplo, por um ligante).
Pela compilação, um código fonte pode ser traduzido em um programa executável ou um arquivo executável. Em particular, um código fonte de uma linguagem de programação de nível alto pode ser traduzido em uma linguagem de nível mais baixo, por exemplo, tal como uma linguagemassembly.
O termo "aprovação de coerência" descreve que uma verificação de coerência pode ser aprovada pelo computador cliente, em particular automaticamente, por exemplo, se um resultado específico for obtido pela verificação implementada em computador da coerência. É possível que, se um resultado específico não for obtido, uma mensagem de erro poderá ser extraída. Não obstante, mesmo no caso de uma mensagem de erro como essa, um usuário de forma alternativa ou adicional pode aprovar a coerência manualmente, por exemplo, se a saída da aprovação computadorizada prover um significado específico em texto claro, tal como, por exemplo, que certas variáveis não foram consideradas ou não foram consideradas apropriadamente pelos executáveis a serem gerados, etc.
O termo "arquivos executáveis inter-relacionados" descreve que dois ou mais arquivos executáveis, quando executados, funcionam em conjunto, por exemplo, compartilham recursos em comum, variáveis/parâmetros, etc. Também, o termo "arquivos executáveis inter-relacionados" pode descrever que um ou mais arquivos executáveis executam um ou mais outros arquivos executáveis. Também é possível que a saída de um ou mais arquivos executáveis seja a entrada de um ou mais arquivos executáveis. Desse modo, esses arquivos estão inter-relacionados.
O termo "interface gráfica de usuário está associada a um código que pode ser lido em máquina" descreve que a GUI tem uma relação com um código que pode ser lido em máquina, tal como acesso a um banco de dados, em que o código que pode ser lido em máquina é armazenado em tabelas, etc.
Seguindo-se a isso, de acordo com este aspecto, a geração de arquivos executáveis em computador inter-relacionados no lado de servidor pode ser facilmente realizada e/ou mantida. Em particular, vantajosamente, um código que pode ser lido em máquina em linguagem de máquina pode ser provido e composto de uma maneira muito fácil e suficiente por uma pessoa não sendo versada na técnica de processador. Mais vantajosamente, uma composição como essa de um código que pode ser lido em máquinaem linguagem de máquina pode ser obtida em um tempo muito curto, uma vez que, tipicamente, compilações muito longas não precisam necessariamente ser realizadas freqüentemente. Ao invés disso, as seções selecionadas de código que pode ser lido em máquina precisam ser compiladas apenas uma vez, após uma aprovação bem sucedida da coerência. Nesse sentido, a verificação implementada em computador de uma coerência pode ser realizada de forma iterativa, particularmente, desde que até a coerência ser aprovada.
Em outras palavras, em um caso em que uma mensagem de erro é criada, usando-se a GUI, a seleção de duas ou mais seções de código que pode ser lido em máquina pode ser mudada e/ou as associações entre as duas ou mais seções de código que pode ser lido em máquina podem ser mudadas. A etapa de seleção e associação de duas ou mais seções de código que pode ser lido em máquina também pode incluir a regulagem de variáveis/parâmetros usados pelas duas ou mais referidas seções de código que pode ser lido em máquina. Consequentemente, no caso de nenhuma aprovação da coerência já ser estabelecida, ao invés de se selecionarem e associarem seções adicionais de código que pode ser lido em máquina e/ou deixar de selecionar e/ou desassociar uma ou mais seções de código que pode ser lido em máquina, variáveis/parâmetros das duas ou mais seções selecionadas de código que pode ser lido em máquina podem ser mudados, apagados, regulados de novo, etc. É possível que a etapa de mudança, a-pagamento, reinicialização, etc. dos parâmetros/variáveis seja realizada ite-rativamente em combinação com a verificação implementada em computador de uma coerência, até uma aprovação bem sucedida da coerência.
A seleção e a associação de duas ou mais seções de código preferencialmente podem compreender um ou mais dos seguintes:
- a introdução de uma ou mais regras, tais como condições matemáticas, operações, etc, usando-se a GUI, em que uma ou mais referidas regras, tais como condições matemáticas, operações, etc, são introduzidas em texto claro;
- o armazenamento da entrada de uma ou mais tabela(s) de de-finição específica(s);
- o armazenamento de uma ou mais regras, tais como condições matemáticas, operações, etc, em uma tabela de condições específica, preferencialmente diferente da(s) tabela(s) de definição;
- o armazenamento na(s) tabela(s) de definição e/ou na(s) tabelais) de condição de um ou mais indicadores, tais como, por exemplo, por exemplo, ">", "<", "=>", "=<", "=", etc. indicando a natureza matemática de uma ou mais regras;
- a leitura, usando, por exemplo, um criador, a partir da(s) tabe-10 la(s) de definição e/ou da(s) tabela(s) de condição de uma ou mais regras e/ou de um ou mais indicadores;
- a provisão, por exemplo, usando-se o referido criador, em uma ou mais tabelas de código de um código em linguagem que pode ser lida em máquina;
- a geração, por exemplo, usando-se o referido criador, de um ou mais arquivos executáveis inter-relacionados a partir do referido código que pode ser lido em máquina. É possível que a partir de cada tabela de código um arquivo executável seja gerado. Também é possível que, a partir de uma tabela de código, dois ou mais arquivos executáveis sejam gerados.
Modalidades específicas do método implementado em computador
Como um exemplo, a seleção e a associação de duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina compreendem a introdução de regras em texto claro usando-se a referida interface gráfica de usuário e provendo, por exemplo, usando-se o referido criador, um código que pode ser lido em máquina em linguagem de máquina equivalente ao referido texto claro, usando-se um gerador.
O termo "equivalente" no contexto do presente pedido compreende que, por exemplo, uma regra, condição matemática, etc, seja introduzida em texto claro (o qual pode ser facilmente entendido por um usuário que não seja versado em programação em uma linguagem de programação) e, então, seja transformada em linguagem que pode ser lida em máquina, a qual pode ser interpretada, por exemplo, por um computador.Como um exemplo, a etapa de verificação implementada em computador da coerência compreende uma verificação implementada em computador da compatibilidade da primeira seção do código usado para a geração de um primeiro arquivo executável em uma segunda seção de código usada para a geração de um segundo arquivo executável.
Em outras palavras, vantajosamente, é facilmente possível examinar se dois arquivos executáveis funcionarão em conjunto apropriadamente, isto é, se a inter-relação dos dois referidos arquivos executáveis está correta, sem a necessidade de o usuário ter habilidades de programação específicas em um código que pode ser lido em máquina em linguagem de máquina.
Como um exemplo, a etapa de verificação implementada em computador da coerência compreende:
- com base no código que pode ser lido em máquina selecionado, a estimativa no lado de cliente de parâmetros de tempo de rodada, antes da compilação das seções selecionadas de código que pode ser lido em máquina, em que os parâmetros de tempo de rodada estão associados aos arquivos executáveis quando da execução dos arquivos executáveis no lado de servidor.
Em outras palavras, pela análise do código que pode ser lido em máquina selecionado, em particular pela análise da associação entre o código que pode ser lido em máquina selecionado, por exemplo, usando-se uma lógica de linguagem de programa e/ou uma lógica matemática, parâmetros de tempo de rodada podem ser estimados antes/sem uma compilação dasseções selecionadas de código que pode ser lido em máquina. Os parâmetros de tempo de rodada podem ser variáveis/parâmetros usados por ou no(s) arquivo(s) executável(is) no lado de servidor. No caso em que os referidos parâmetros de tempo de rodada são incompatíveis com o sistema, em particular incompatíveis com as configurações de hardware no lado de servidor, uma respectiva mensagem pode ser gerada automaticamente e de forma computadorizada. Portanto, mesmo sem habilidades de programação específicas, o usuário pode verificar de uma maneira simples se o códigoque pode ser lido em máquina selecionado funcionará apropriadamente no lado de servidor.
Como exemplos, a etapa de verificação implementada em computador da coerência pode compreender:
- Quando em uma lógica condicional (também referida como uma validação), um elemento definido como numérico é comparado com um elemento alfanumérico, uma mensagem de erro é provida, anunciando uma incompatibilidade.
- Quando um formato de um ou mais cálculos não está combinando/é compatível com o formato de seus operandos, uma mensagem de erro é provida. Como um exemplo, uma mensagem de erro pode ser provida quando a operação X é definida como Dec(6,2), isto é, uma variável tendo 6 entradas e 2 decimais e esta operação é o resultado da operação para somar variáveis Y e Z, em que Y é definido como Dec(15,2) e Z como Dec(15,2). Em outras palavras, o resultado daquela soma "Y+Z" não se a-daptaria ao elemento definido em X como "X = Y + Z".
Como um exemplo, uma ou mais das seções do código que pode ser lido em máquina são reusadas para a compilação de dois ou mais arquivos executáveis inter-relacionados.
Em outras palavras, seções similares ou idênticas de código que pode ser lido em máquina podem ser usadas para a compilação. A seleção de seções de código que pode ser lido em máquina pode compreender, portanto, a cópia das referidas seções. Contudo, embora seções similares ou idênticas de código que pode ser lido em máquina sejam usadas para acompilação de arquivos executáveis diferentes, os referidos arquivos podem funcionar diferentemente, por exemplo, no caso em que as variáveis/os parâmetros são regulados diferentemente.
Em outras palavras, podem ser providos agrupamentos de código que pode ser lido em máquina, em que os referidos agrupamentos podem ser unidos em conjunto pelo uso da GUI, de modo a se prover um conjunto de agrupamentos os quais podem ser compilados em um arquivo executável no lado de servidor. O referido conjunto de agrupamentos pode compreen-der seções similares, particularmente idênticas de código que pode ser lido em máquina. Os agrupamentos também podem compreender conjuntos diferentes de código que pode ser lido em máquina. Em outras palavras, a GUI pode ser usada para a construção de um código que pode ser lido em máquina para compilação de dois ou mais arquivos executáveis, em que o código que pode ser lido em máquina para cada arquivo executável pode ser composto de forma similar a um kit de construção, em que o usuário usa o texto claro provido e introduz na GUI.
Como um exemplo, pelo menos um arquivo executável de primeiro nível é compilado, o qual está inter-relacionado a pelo menos um arquivo executável de nível i, em que pelo menos um arquivo executável de nível i está inter-relacionado com um arquivo executável de nível (i+1), em que i é um número natural maior do que 1.
Como um exemplo, pelo menos um arquivo executável de nível i e pelo menos um arquivo executável de nível (i+1) são compilados a partir de uma ou mais seções de um código que pode ser lido em máquina, em que uma ou mais seções de código que pode ser lido em máquina compreendem um código que pode ser lido em máquina similar, preferencialmente idêntico de forma substancial.
Em outras palavras, um conjunto hierárquico de arquivos executáveis pode ser criado, em que arquivos executáveis podem estar associados a arquivos executáveis, os quais, de novo, podem estar associados a arquivos executáveis adicionais. Conjuntos diferentes de arquivos executáveis podem ser criados, em que cada conjunto pode ter a referida estruturahierárquica/de árvore. Cada nível pode ter um ou mais arquivos executáveis. Cada nível pode compreender arquivos executáveis, os quais podem ser similares, mesmo idênticos aos arquivos executáveis um ou mais níveis mais altos para cima na hierarquia ou um ou mais níveis mais baixos para baixo na hierarquia. Os arquivos executáveis em um nível podem ser inter-relacionados. Um ou mais dos arquivos executáveis em um nível pode ser inter-relacionados a um ou mais arquivos executáveis em um ou mais níveis hierárquicos mais altos e/ou um ou mais níveis hierárquicos mais baixos.Diferentes conjuntos de arquivos executáveis podem ter uma estrutura hierárquica similar, mesmo idêntica. Diferentes conjuntos de arquivos executáveis podem ter estruturas hierárquicas diferentes. O valor de i pode ser 2, 3, 4, 5, 6, 7, 8, 9, 10, etc.
Como um exemplo, o método compreende a etapa adicional de verificação da integridade da execução de todos os arquivos executáveis pela execução de todos os arquivos executáveis no lado de servidor e pela comparação da performance no lado de servidor com uma especificação predeterminada no lado de cliente.
A performance no lado de servidor pode ser comparada de forma computadorizada com uma especificação predeterminada no lado de cliente. Como um exemplo, uma ou mais saídas dos arquivos executáveis no lado de servidor podem ser comparadas com um conjunto de variáveis/parâmetro providos no lado de cliente.
Como um exemplo, as etapas no lado de cliente são realizadas no computador de cliente remoto do servidor, e as etapas no lado de servidor são realizadas no computador de servidor remoto do cliente.
Em outras palavras, as etapas no lado de cliente são realizadas em um computador de cliente o qual pode ser um computador em uma rede.
O computador de cliente pode ser conectado a um computador de servidor através da rede. Após a realização das etapas no computador de cliente, em particular mediante uma aprovação da coerência, as duas ou mais seções selecionadas e associadas a um código que pode ser lido em máquina podem ser transferidas para o lado de servidor, em particular para o computador de servidor, por exemplo, através da referida rede. As duas ou mais seções selecionadas e associadas ao código que pode ser lido em máquina também podem ser transferidas para o servidor por qualquer outro meio, tal como pelo armazenamento das duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina em um dispositivo de armazenamento, tal como um CD, uma unidade flash, uma unidade rígida, etc. e copiando-se as duas ou mais referidas seções selecionadas e associadas ao código que pode ser lido em máquina a partir do referido dispositivo de ar-mazenamento para o servidor. No servidor, então, as duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina então podem ser compiladas.
O dispositivo de armazenamento também pode fazer parte de um computador intermediário, o qual é conectado ao computador de cliente e ao computador de servidor. Em outras palavras, as duas ou mais seções selecionadas de código que pode ser lido em máquina podem ser transferidas a partir do computador de cliente para o computador de servidor por um outro computador ou um outro dispositivo computadorizado, tal como um dispositivo móvel, para o servidor.
Alternativamente, as etapas no lado de cliente e as etapas no lado de servidor podem ser todas realizadas em um computador, o qual incorpora o servidor e o cliente. Sistema computadorizado de acordo com um aspecto
Um aspecto se refere a um sistema computadorizado para a geração de arquivos executáveis em computador inter-relacionados em um lado de servidor, que compreende:
- uma interface gráfica de usuário em um lado de cliente, em que:
- a interface gráfica de usuário está associada a um código que pode ser lido em máquina,
- a interface gráfica de usuário exibe dados substancialmente em texto claro,
- a interface gráfica de usuário é adaptada para selecionar duas ou mais seções de código que pode ser lido em máquina em um lado de cliente;
- um verificador de coerência o qual é adaptado para
- verificar uma coerência do referido código que pode ser lido em máquina selecionado no lado de cliente, e
- extrair o resultado da referida verificação de coerência substancialmente em texto claro; e
- um compilador para compilação das duas ou mais seções se-lecionadas de código que pode ser lido em máquina em um lado de servidor para a criação de dois ou mais arquivos executáveis inter-relacionados os quais são executáveis pelo servidor.
Para a seleção de duas ou mais seções de código que pode ser lido em máquina em um lado de cliente, a GUI pode ser conectada a um se-letor. O seletor pode compreender um ou mais links específicos, os quais apontam para seções de código em linguagem que pode ser lida em máquina. Em outras palavras, o seletor pode ser adaptado para selecionar uma ou mais seções de código, mediante uma entrada do usuário através da GUI, desse modo o usuário podendo se comunicar com a GUI em texto claro em linguagem que pode ser lida por seres humanos, e a GUI, através do seletor, pode selecionar duas ou mais seções de código representando o texto claro em código que pode ser lido em máquina. No contexto do presente pedido, um texto claro também pode compreender os campos de exibições de GUI, em particular botões e/ou outros tipos de menus, os quais são construídos, de modo que o usuário intuitivamente possa entender o significado dos referidos campos e/ou botões e/ou outro tipo de menus. Como um exemplo simples, de modo a se criar uma validação, o menu pode compreender botões tendo simbolizados neles operadores matemáticos, tais como ">", "<", "=", os quais usuário entenderá que representariam as operações em uma validação de "maior", "menor" e "igual a".
Tendo em vista o termo seções de código, os detalhes acima conforme realizados tendo em vista o método são igualmente aplicáveis. Modalidades do sistema computadorizado
Como um exemplo, a interface gráfica de usuário compreende um gerador, o qual é adaptado para prover um código que pode ser lido em máquina em linguagem de máquina equivalente ao referido texto claro como uma entrada através da interface gráfica de usuário.
Como um exemplo, o sistema computadorizado pode compreender um estimador, o qual é adaptado para estimar no lado de cliente com base no código que pode ser lido em máquina selecionado os parâmetros de tempo de rodada, antes da compilação das seções selecionadas do códigoque pode ser lido em máquina, em que os parâmetros de tempo de rodada são associados aos arquivos executáveis, quando da execução dos arquivos executáveis no lado de servidor.
Produto de programa de computador de acordo com um aspecto
Um aspecto do presente pedido se refere a um produto de programa de computador, armazenado em um dispositivo de armazenamento de dados ou provido como um sinal, o qual, quando carregado na memória de um computador e executado pelo computador obtém que o computador realize um método conforme descrito acima.
A descrição precedente dos aspectos não está limitada aos respectivos aspectos. Ao invés disso, a descrição dos respectivos aspectos pode ser aplicada aos aspectos remanescentes. Em particular, a descrição referente ao método pode ser aplicada para o sistema de computador e o produto de programa de computador e as respectivas modalidades específicas,assim sendo, de modo que pela combinação de recursos individuais de aspectos específicos ou modalidades, novos aspectos e/ou modalidades possam ser criados. Mais ainda, os aspectos descritos acima e/ou modalidades não são restritivos a uma aplicação, tal como à geração de arquivos executáveis em computador inter-relacionados, os quais podem ser produtos deseguro ou estar relacionados a produtos de seguro, e/ou relacionados a apli-cação(ões) de gerenciamento de reivindicação de seguro, e/ou relacionados à geração de documentos de seguros, e/ou relacionados à geração de outros produtos, tais como produtos de imóveis, produtos de serviço financeiro e/ou documentos em um ou mais dos campos mencionados acima.
Descrição das Figuras
A seguir, exemplos específicos são descritos por meio de figuras de exemplo, em que recursos individuais das figuras podem ser combinados para outros exemplos, não explicitamente declarados na descrição das figuras. Com referência às figuras, é mostrado na:
Figura 1: uma visão geral esquemática de configurações de exemplo de seções de código que pode ser lido em máquina;
Figura 2: uma visão geral detalhada esquemática de um elemen-to de acordo com a figura 1;
Figura 3: um instantâneo de uma GUI compreendendo um destaque;
Figura 4: um instantâneo compreendendo um destaque;
Figura 5a: um instantâneo compreendendo um destaque;
Figura 5b: um instantâneo compreendendo um destaque;
Figura 6: um instantâneo compreendendo um destaque;
Figura 7a: um instantâneo de uma GUI compreendendo um destaque;
Figura 7b: um instantâneo de uma GUI compreendendo um destaque;
Figura 8a: um instantâneo de uma GUI compreendendo um destaque
Figura 8b: um instantâneo de uma GUI compreendendo um destaque
Figura 9: um instantâneo compreendendo um destaque;
Figura 10a: um instantâneo compreendendo um destaque;
Figura 10b: um instantâneo compreendendo um destaque;
Figura 11a: um instantâneo compreendendo um destaque;
Figura 11b: um instantâneo compreendendo um destaque;
Figura 12a: um instantâneo compreendendo um destaque;
Figura 12b: um instantâneo compreendendo um destaque;
Figura 12c: um instantâneo compreendendo um destaque;
Figura 12d: um instantâneo compreendendo um destaque;
Figura 13: uma visão esquemática de um elemento de acordocom a figura 1;
Figura 14a: um instantâneo de uma GUI compreendendo umdestaque;
Figura 14b: um instantâneo de uma GUI compreendendo umdestaque;
Figura 14c: um instantâneo de uma GUI;
Figura 15: um instantâneo compreendendo um destaque;Figura 16a: um instantâneo compreendendo um destaque;
Figura 16b: um instantâneo compreendendo um destaque;
Figura 17a: um instantâneo compreendendo um destaque;
Figura 17b: um instantâneo compreendendo um destaque;
Figura 18a: um instantâneo compreendendo um destaque;
Figura 18b: um instantâneo;
Figura 18c: um instantâneo compreendendo um destaque;
Figura 19: uma visão esquemática de um elemento de acordo com a figura 1;
Figura 20a: um instantâneo;
Figura 20b: um instantâneo;
Figura 20c: um instantâneo;
Figura 21a: um instantâneo;
Figura 21b: um instantâneo;
Figura 22: um instantâneo;
Figura 23: uma visão geral esquemática que mostra a execução de dois ou mais arquivos executáveis inter-relacionados;
Figura 24: um fluxograma;
Figura 25: um instantâneo de uma GUI;
Figura 26: um instantâneo de uma GUI;
Figura 27a: um instantâneo de uma GUI;
Figura 27b: um instantâneo de uma GUI;
Figura 27c: um instantâneo de uma GUI; e
Figura 28: um sistema baseado em computador.
O método e o sistema descritos a seguir também podem ser referidos como "Info2000 Product Factory" ou "módulo de Info2000 Product Factory". Vantajosamente, o módulo de Info2000 Product Factory prove uma metodologia de desenvolvimento comum para todas as Linhas de Negócio, em que substancialmente todos os produtos, isto é, dois ou mais arquivos executáveis inter-relacionados são criados, suportados e manipulados da mesma forma, usando-se as mesmas telas e um dicionário de dados comum para armazenamento de dados. Mais vantajosamente, ele também permiteque um componente de produto extensivo reuso, tal como a reutilização de seções de código em linguagem que pode ser lida em máquina. No contexto deste pedido, o termo "reutilização" particularmente significa que uma seção de código específica pode ser copiada uma ou mais vezes para uso em uma ou mais composições de código, as quais então são usadas para a criação dos dois ou mais arquivos executáveis inter-relacionados. Em outras palavras, o termo "seleção" no contexto deste pedido significa que a seção selecionada de código é copiada para a criação de dois ou mais arquivos executáveis inter-relacionados. Em particular, o termo "seleção e associação" no contexto do presente pedido pode significar que o código é copiado em tabelas.
Uma vez que o Produto seja definido, isto é, uma vez que todas as seções de código que pode ser lido em máquina tenham sido selecionadas e associadas, possivelmente também todos os parâmetros/as variáveis tenham sido regulados, o Product Factory gerará um programa executável compreendendo dois ou mais arquivos executáveis inter-relacionados, passíveis de serem chamados a partir de interfaces de Administração de Política.
1. Estrutura de Produto
A figura 1 prove um diagrama que mostra a estrutura básica de produto definida em Product Factory. Em outras palavras, a figura 1 mostra uma visão geral da funcionalidade dos dois ou mais arquivos executáveis inter-relacionados, uma vez que eles sejam executados no lado de servidor.
O desenvolvedor de produto definirá os diferentes componentes que são necessários para a construção do Produto, tais como
- Objetos segurados (por exemplo, carro, casa)
- Coberturas (por exemplo, edificação)
- Códigos de Estimativa (para reivindicações; por exemplo, incêndio)
Estes componentes podem ser reusados dentre produtos. Daí, o desenvolvedor de produto pode selecionar os componentes usando uma GUI, onde na GUI os componentes estão disponíveis usando-se texto claro,preferencialmente pelo fato de a GUI compreender respectivos botões, por exemplo, tal como um botão para "objetos segurados" (insured objects), os quais podem prover, por exemplo, uma lista suspensa de escolhas possíveis as quais então podem ser selecionadas, por exemplo, simplesmente por destaque, usando-se um dispositivo de apontar, como um mouse ou alguma coisa equivalente. Estes botões estão associados a um respectivo código que pode ser lido em máquina em linguagem de máquina.
Elementos também podem ser definidos e atribuídos no nível apropriado (por exemplo, ano de construção). Os elementos podem ser usados para a captura de dados ou para a regulagem de regras. Os elementos podem ser simples campos de entrada ou estar relacionados a um conjunto de valores de referência, os quais podem ser mantidos ou armazenados em uma tabela de corporação.
Como um exemplo, na figura 1, o produto a ser criado se refere a um seguro de "propriedade de conforto de casa" ("House comfort pro-perty"). Em outras palavras, os arquivos executáveis inter-relacionados pro-verão, quando executados no lado de servidor, como resultado de documentos de seguro, tal como um contrato de um seguro de uma casa. O método de acordo com o presente pedido permite a geração computadorizada de dois ou mais arquivos executáveis inter-relacionados os quais, quando executados, criam ou ajudam quando da criação dos referidos documentos de seguros.
O método implementado em computador particularmente permite que uma pessoa não-versada na técnica de programação configure o código fonte de uma maneira simples e eficiente, de modo que dois ou mais referidos arquivos executáveis inter-relacionados possam ser criados no lado de servidor e possam ser executados no lado de servidor.
Em particular, os executáveis, quando executados, provêem um meio para a criação individual de documentos ao se permitir uma regulagem através de uma GUI de todas as variáveis/os parâmetros, condições de limite, circunstâncias, elementos, etc.
De acordo com a figura 1, para o produto geral, bem como paracada componente do produto, o desenvolvedor pode escolher um ou mais elementos, validações, operações e textos/parágrafos. Como um exemplo, o objeto do produto "House comfort property" pode ser uma "casa" (house). Adicionalmente, outros objetos poderiam ser introduzidos, tal como, por exemplo, "apartamento" (apartment).
Mais ainda, uma cobertura é selecionada, a qual pode ser "edificação" (building). Adicionalmente a isso, as coberturas "conteúdo" (con-tents), "roubo" (theft) e "ajudantes domésticos" (house aids) são selecionadas no exemplo de acordo com a figura 1. Para a cobertura "building", os códigos de estimativa "incêndio" (fire), "explosão" (explosion), "inundação" (flood), "raios" (lightning) e "terremoto" (earthquake) e o elemento "ano da construção" (building year) são selecionados.
2. Módulos de Product Factory
O Info2000 Product Factory compreende quatro módulos básicos, especificamente, definições de produto, validações, regras de classificação e texto/parágrafos.
- Definição de Produto
Este módulo permite que o desenvolvedor de produto configure a definição de produto, conforme descrito acima com respeito à figura 1. Toda a informação referente à definição de produto é armazenada no modelo de dados de Product Factory, em conjunto com a informação introduzida nos próximos módulos.
- Validações
Este módulo permite que o desenvolvedor de produto configure regras a serem executadas e validadas durante o ciclo de vida do produto em uma administração de política, isto é, quando da execução de dois ou mais arquivos executáveis inter-relacionados, de modo a se produzir, por exemplo, um documento de seguro. Uma validação possível pode ser definida, por exemplo, validar se um motorista é maior de 18 anos, quando executando os dois ou mais arquivos executáveis, em que uma variável é a idade de um motorista. O Product Factory permite definir variáveis/parâmetros, tal como a idade, quando da definição de uma validação, a qual será realizadadurante o tempo de rodada dos dois ou mais arquivos executáveis inter-relacionados (isto é, durante o tempo de rodada do produto). Estas validações como quaisquer outros componentes de produto são reusáveis dentre os produtos. Em outras palavras, a validação é para verificar se a idade de um motorista como uma variável de exemplo usada quando da definição, por exemplo, de um objeto do produto é maior do que um dado valor de limite. A referida validação também pode ser usada quando da definição de um objeto diferente do produto e/ou a cobertura e/ou o produto em si.
A figura 2 mostra uma visão geral de configurações possíveis de validação. Em particular, a figura 2 mostra a configuração possível de cada validação, eletrodo usando N condições lógicas, em que N pode ser um número natural, em particular 2, 3, 4, 5, 6, 8, 10, 15, 20, etc. Mais ainda, como um exemplo na figura 2 são mostrados os possíveis componentes de cada condição lógica. Cada uma das N condições lógicas pode compreender M operandos, em que M pode ser um número natural, em particular 2, 3, 4, 5, 6, 8, 10, 15, 20, etc. Mais ainda, para cada condição lógica, os M operandos lógicos podem ser conectados por um dos operadores lógicos. Consequentemente, são providos para cada condição lógica M-1 operadores lógicos. Os operandos lógicos podem compreender um ou mais dos seguintes: Elementos, Acesso, Operações, Funções pré-definidas, Tipo de objeto, Primeira classe, Constante numérica, Constante alfanumérica, Rotina, etc. O operador lógico pode compreender um ou mais dos seguintes: EQ = igual, NE = não-igual, GT = maior do que, GE = maior do que ou igual a, LT = menor do que, LE = menor do que ou igual a, TC = cobertura contratada, TNC = cobertura não contratada, TI = cobertura incompatível, TD = cobertura dependente de, etc.
As N condições lógicas podem ser conectadas por um operador booleano, tal como "AND", "OR","(",")", etc.
Também na figura 2 é mostrado um exemplo adicional de uma possível validação, especificamente, para se verificar se a idade de uma pessoal para quem os documentos de seguro são criados tem uma idade maior do que 100 anos. Se a referida validação descobrir que a idade, comoum parâmetro preferido, for maior do que 100 anos, uma ação específica será realizada, por exemplo, encargos mensais de 7,20 euros serão cobrados.
O módulo "Validações" pode ser acessado quando se usa o sistema de acordo com o presente pedido, seguindo-se o caminho Sys-tem>Prod.Conf.>Validations. A partir daqui, novas validações podem ser adicionadas, modificadas ou apagadas.
A figura 3 mostra um instantâneo de uma interface gráfica de usuário (GUI) de exemplo do sistema baseado em computador de acordo com o presente pedido, quando da adição ou da modificação de uma validação, a qual foi criada para fins ilustrativos. Em outras palavras, o instantâneo de acordo com a figura 3 mostra uma validação a qual basicamente declara que a validação deve ocorrer se a soma dos conteúdos exceder ao número de 2.500.000. A parte de topo deste instantâneo pode conter o nome, a descrição, a data e os operadores. O retângulo destacado é em que a validação real é exibida. Este módulo será usado para validação dos dados de política como um gatilho de um cálculo dentro de uma operação ou como um gatilho de parágrafos. Se esta validação não ocorrer, então, ele abrirá uma mensagem de erro. Em outras palavras, a figura 3 mostra uma GUI 1 que exibe um texto claro, em particular tendo, por exemplo, os campos 2a, 2b, 4a, 4b, etc, para a introdução de texto, em que o usuário pode selecionar operadores específicos. Esta seleção através da GUI está associada a um código que pode ser lido em máquina em linguagem de máquina. Mais ainda, o usuário pode especificar variáveis e/ou parâmetros, os quais estão sujeitos, por exemplo, aos operadores. Através da GUI, as variáveis e/ou os parâmetros são regulados em linguagem que pode ser lida em máquina. Na figura 3, uma condição é exibida em texto claro. Em particular, os campos 2a, 2b são usados para a introdução de um período de tempo durante o qual a validação é aplicável. Como um exemplo, a data de começo introduzida através do campo 2a é escolhida na figura 3 como 1 de janeiro de 1900, e a data de fim introduzida através do campo 2b é 31 de dezembro de 9999. Durante este tempo, a validação será realizada, quando dois ou mais arquivos executa-veis inter-relacionados forem executados.
O nome e uma descrição resumida da validação são introduzidos usando-se os campos 4a, 4b, em que os referidos arquivos são usados para se descrever brevemente a validação e, assim, permitir uma identificação simples da validação, por exemplo, na tabela de definição conforme mostrado na figura 4 (veja abaixo). Adicionalmente a isso, a GU11 de acordo com a figura 3 contém os campos 6a, 6b para a introdução dos operandos definindo a validação, bem como do operador no campo 8. A validação assim configurada e definida é mostrada na GUI 1, na janela 10, em que a linha que define a validação foi destacada por uma caixa 12 (não-mostrada quando da exibição da GUI) para uma visibilidade fácil. A GUI 1 compreende a definição de uma operação a qual é denominada OP_DEFAULT_8 e está usado a validação SUM CONTENTS 4 > LIM como um gatilho de cálculo 01 e 05, o que significa que o cálculo será realizado dependendo do resultado desta validação. Assim, dentro do cálculo, dependendo do resultado, C1 ou C2 poderia ser disparado. C3 sempre é disparado. Mais ainda, a descrição acima mantém, quando aplicável, uma similaridade com as GUIs, conforme mostrado nas outras figuras.
Como um exemplo, todas as validações são armazenadas na tabela KTPM34T. Em outras palavras, a tabela KTPM34T é uma tabela de definições de exemplo. A figura 4 mostra um instantâneo que compreende a definição da validação conforme selecionado com a GUI de acordo com a figura 3. São destacadas com uma caixa (não mostrada quando da exibição da GUI) as linhas contendo o código único de validação, neste exemplo "0000006619", datas válidas, neste exemplo, a partir de "19000101" a "99991231", as quais foram introduzidas através dos campos 12a, 12b da GUI 1 e da definição da validação. Também nas figuras a seguir, as caixas usadas para destaque normalmente não são exibidas pela GUI do sistema computadorizado.
A validação será executada apenas se a soma dos conteúdos for > 2.500.000. Estes valores sem os quais uma validação não será disparada são armazenados na tabela KTPA78T. Em outras palavras, a tabelaKTPA78T é uma tabela de condições de exemplo. As figuras 5a e 5b, as quais são dois instantâneos, destacam a condição definida com a GUI 1 de acordo com a figura 3 e também os referidos valores mencionados acima. Os instantâneos mostram duas linhas separadas definidas como R1 e R2, as quais não cabem em apenas um instantâneo, de modo que elas são exibidas nas figuras 5a e 5b.
Daí, os conteúdos são lidos a partir da tabela prévia tabela KT-PA78T, um excerto da qual sendo mostrado nas figuras 5a e 5b, de modo que se uma soma for de além de 2.500.000, então, o programa seja executado. Isto é o que o conteúdo da validação representa.
Em outras palavras, através da GUI 1 mostrada na figura 3, definições da validação são criadas em uma ou mais tabelas, no presente e-xemplo, entradas são criadas nas tabelas mostradas nas figuras 4, 5a e 5b, onde em uma tabela de definição (figura 4) a definição da validação em geral é provida e em uma outra tabela, isto é, na tabela de condição (figuras 5a e 5b), a condição em si e os valores das variáveis/dos parâmetros usados pela validação são definidos.
Um gerador tornado personalizado (fonte COBOL KTPLP007), de modo a se gerar a cópia em copybooks acessará aquela tabela KT-20 PA78T, conforme mostrado nas figuras 5a, 5b, e executará as instruções a seguir representadas em pseudocódigo. A lógica a seguir em pseudocódigo representa a forma pela qual o programa opera e converte em fonte COBOL o que é configurado nas tabelas mencionadas:
Step 1: Read first record from KTPA78T (R1) and do
Step 2: Perform
Step 2.1: Write new line with the information of KTPA78T
Step 2.2: Read next record from KTPA78T Until end of KTPA78T.
Step 3: Write new "End Lines".
O processo de acordo com as subetapas 2.1 e 2.2 é iterativo/repetido, isto é, o referido processo termina quando atinge o fim das linhas. No presente exemplo de acordo com as figuras 3, 4, 5a e 5b, duasiterações serão realizadas.
Com referência à natureza matemática das regras inseridas em KTPA78T, na referida tabela os componentes são definidos dentro de vali-dação(ões) e/ou operação(ões).
Como um exemplo, conforme mostrado nas figuras 5a e 5b, uma nova regra codificada por 000000619 é criada, a qual é uma CONDITIONAL LOGIC (LÓGICA CONDICIONAL) (daí, uma validação) pelo valor "CL" no campo TCTCP78T no qual o primeiro operando (campo CDORD78T com valor "01") e o operando é 0000006178 (campo CDCCH78T, o qual é uma função preferida) deve ser maior do que (campo TCOBH78T com valor ">") do que o segundo operando (segunda linha na figura 5a) o que é numérico (campo TCTCH78T com valor N) e seu valor é 2500000.
Assim, aqui a natureza matemática desta regra codificada é o campo TCOBH78T com o valor ">", onde o código que pode ser lido em máquina define que um valor derivado a partir da variável 0000006178 deve ser comparado com um valor fixo, especificamente, 2.500.000.
Os indicadores possíveis podem ser ">", "<", "=>", "=<", "=", etc. O gerador tornado personalizado é projetado e adaptado para reconhecer condições específicas. Como um exemplo, a tabela KTPA78T compreende no campo TCTCP78T o valor "CL", o que significa Lógica de Condição e é igual à operação "IF". Em outras palavras, como um exemplo, na(s) tabela(s) um ou mais parâmetros podem ser armazenados, os quais compreendem uma informação sobre condições lógicas. O gerador tornado personalizado é adaptado para ler o(s) parâmetro(s), identificar a lógica do(s) parâmetro(s) e usar o(s) parâmetro(s) para criar um código fonte em cobol (ou um código fonte em qualquer outra linguagem que pode ser lida em máquina, tal como FORTRAN, C, C++, PASCAL, JAVA, etc.
Como resultado, a validação é gerada em uma linguagem que pode ser lida em computador, por exemplo, em um código fonte em COBOL.
O instantâneo mostrado na figura 6 contém o código fonte do programa de resultado, o qual pode ser usado em uma etapa posterior quando da geração do(s) arquivo(s) executável (eis). Em outras palavras, a tabela mostradana figura 6 é uma tabela de código de exemplo, onde o código fonte é equivalente à condição, como uma entrada através da GUI mostrada na figura 3.
Portanto, usando o sistema baseado em computador de acordo com o presente pedido, o desenvolvedor de um produto, isto é, dois ou mais arquivos executáveis inter-relacionados, pode definir uma ou mais validações em texto claro, usando a GUI 1, conforme mostrado na figura 3. O conteúdo da GUI mostrado na figura 3 é transferido para uma tabela de definição, conforme mostrado na figura 4. Os valores numéricos e/ou as condições matemáticas da validação são armazenadas em uma tabela de condição, conforme mostrado nas figuras 5a e 5b. Usando as condições matemáticas e os valores numéricos, conforme armazenado na tabela de condição de acordo com as figuras 5a e 5b, um código fonte é automaticamente gerado. O código fonte é armazenado em uma tabela de código, conforme mostrado na figura 6. É possível que as condições geralmente sejam armazenadas em uma ou mais tabelas de condição e que valores numéricos, por e-xemplo, de variáveis/parâmetros usados nas condições armazenadas na(s) tabela(s) de condição sejam armazenados em uma ou mais tabelas de valor, e/ou uma ou mais tabelas de variável/parâmetro.
- Acessos
Este componente de Product Factory, isto é, o sistema/método baseado em computador do presente pedido para a criação de dois ou mais arquivos executáveis inter-relacionados, o qual é parte de um módulo, permite através de campos de chave uma busca de dados em uma tabela corporativa. Os acessos também são reusáveis dentre os produtos, isto é, diferentes métodos/sistemas baseados em computador compreendendo dois ou mais arquivos executáveis inter-relacionados.
É possível adicionar, modificar ou apagar um Acesso ao se seguir o caminho System>Prod.Conf>Accesses. Os instantâneos conforme mostrado nas figuras 7a, 7b, 8a, 8b e 9 contêm o exemplo de um Acesso a uma tabela com todas as suas chaves e resultados econômicos. Cada A-cesso tem um conjunto de chave(s) e resultado(s) associados. A seguir há um exemplo de um Acesso "ACC_SIC_2ND". As chaves são destacadasnos dois instantâneos de acordo com as figuras 7a e 7b, como há muitas para caberem em um único instantâneo.
Os resultados econômicos mencionados anteriormente são destacados nos dois instantâneos de acordo com as figuras 8a e 8b.
Os acessos são armazenados na tabela KTPM38T. O instantâneo de acordo com a figura 9 contém a definição do exemplo acima em uma tabela de definição. São destacados os elementos relevantes, incluindo este código único "0000001280".
Os resultados econômicos deste Acesso, tais como dados econômicos relevantes os quais podem ser considerados quando da produção do código fonte e mais tarde nos arquivos executáveis, são armazenados na tabela KTPA30T. Estes são os mesmos que aparecem no exemplo do sistema/método implementado em computador, conforme mostrado pelas figuras. Eles são destacados nos instantâneos conforme mostrado nas figuras 10a e 10b, representando uma tabela de variável/parâmetro.
A tabela KTPA37T com as chaves para este Acesso em particular é exibida nos dois instantâneos de acordo com as figuras 11a e 11b, mostrando uma tabela de condição.
O código para o programa é exibido nos quatro instantâneos de acordo com as figuras 12a a 12d, que mostram uma tabela de código. Os resultados e as chaves são selecionados e, então, o Acesso é executado. O resultado é a geração de um Acesso.
O gerador (fonte de COBOL KTPLP007) de modo a gerar automaticamente o código em copybooks acessará ambas as tabelas (KTAP30T e KTPA37T) e executará as instruções a seguir representadas em pseudo-código. As instruções a seguir em pseudocódigo representam como o programa opera e converte em uma fonte de COBOL o que é configurado nas tabelas mencionadas: Step 1
Step 1.1- Read first record from KTPA30T (R1) and do
Step 1.2 - Perform
Step 1.2.1 - Write new line with the information ofKTPA30T (L1)
Step 1.2.2 - Read next record from KTPA30T (R2) Until end of KTPA30T.
Step 1.3 - Write new "Fixed Lines"
Step 2
Step 2.4 - Read first record from KTPA37T (R1) and do Step 2.5 - Perform
Step 2.5.1 - Write new line with the information of KTPA37T (L1)
Step 2.5.2 - Read next record from KTPA37T (R2) Until end of KTPA37T.
Step 2.6 - Write new "Fixed Lines"
Step 3
Step 3.7 - Read first record from KTPA30T (R1) and do
Step 3.8 - Perform
Step 3.8.1 - Write new line with the information of KTPA30T (L1)
Step 3.8.2 - Read next record from KTPA30T (R2) Until end do KTPA30T
Step 3.8 - Write new "Fixed Lines" handling error, etc ...
No pseudocódigo acima, as "linhas fixas" (fixed lines) estão u-sando uma informação de código de tabela KTPM38T e código de acesso.
As subetapas 1.2.1 e 1.2.2 podem ser iterativas/repetidas. Também as subetapas 2.5.1 e 2.5.2 podem ser iterativas/repetidas.. Também as subetapas 3.8.1 e 3.8.2 podem ser iterativas/repetidas.
O pseudocódigo acima é refletido no código conforme mostrado nas figuras 12a a 12d, onde a figura 12a representa a etapa 1, a figura 12b representa a etapa 2 e as figuras 12c e 12d representam a etapa 3, a qual já começa na linha 061946 na figura 12b.
- Regras de Classificação
Através do módulo "regras de classificação", o desenvolvedor de produto define as operações (constituídas por um ou mais cálculos) usadaspara o cálculo da taxa de produto (os prêmios são calculados no nível de cobertura). Não apenas elementos podem ser usados em cálculos, mas valores (por exemplo, fatores) armazenados em tabelas corporativas podem ser usados através de "Acessos". Os programas de classificação externos podem ser "enganchados" nestes cálculos também. Uma visão geral es-quemática é mostrada na figura 13, a qual é similar à figura 2. Em particular, a figura 13 mostra uma operação a qual pode compreender um grupo de cálculos, tais como n cálculos, em que n é um número natural. Em particular, n é igual a 1, 2, 3, 4, 5, 6, 8, 10, 15, 20, etc. Um cálculo pode ser uma validação prévia compreendendo operandos e operadores, conforme descrito com referência à figura 3.
Os instantâneos de um exemplo gráfico são mostrados nas figuras 14a a 14c, os quais podem ser criados pelo exemplo do sistema/método implementado em computador, conforme mostrado pelas figuras, quando se segue o caminho System>Prod.Conf>Calculations. A partir daqui, operações podem ser adicionadas, modificadas ou apagadas. Por exemplo, as figuras 14a a 14c representam uma composição de cálculos para uma operação denominada "OP_DEFAULT_8". Cada linha é destacada separadamente em uma respectiva figura. A primeira linha (na figura 14a) contém o cálculo "C1". A segunda linha (na figura 14b) contém o próximo cálculo "C2" e a última linha (na figura 14c) contém o último cálculo "C3".
No conteúdo acima dos cálculos, três níveis foram definidos:
- C1 (referido como a linha 01 na figura 14a) é um cálculo baseado em uma validação, a qual é rodada se a validação for FALSA (FALSE), isto é, o cálculo C1 é realizado se o resultado da validação "SUM CON-TENTS 4 > UM" for "falso". A validação "SUM CONTENTS 4 > LIM" foi definida como um exemplo com a figura 3 acima.
- C2 (referido como a linha 05 na figura 14b) é um cálculo baseado em uma validação "SUM CONTENTS 4 > LIM". O cálculo C2 é rodado se a referida validação for "verdadeira".
- C3 (referido como a linha 10 na figura 14c) é um cálculo que sempre é rodado.A operação real é definida para o desenvolvedor de produto e armazenada na tabela KTPM56T, isto é, a tabela de definição. Esta tabela é onde todas as operações são armazenadas. A tabela KTPM56T é mostrada no instantâneo de acordo com a figura 15.
As definições deste cálculo estão contidas na tabela KTPA57T, como uma tabela de condição de exemplo, a qual é mostrada como um e-xemplo nos dois instantâneos de acordo com as figuras 16a e 16b. Para cada linha (R1, R2, R3), a qual é armazenada na tabela KTPA57T (figuras 16a e 16b), o formato do cálculo e quaisquer variáveis associadas são definidos.
O conteúdo do cálculo é armazenado na tabela KTPA78T, como uma tabela de variável/parâmetro de exemplo, a qual é mostrada como um exemplo nos dois instantâneos de acordo com as figuras 17a e 17b. Resumindo, a tabela KTPA78T mantém as relações matemáticas entre os ope-randos e os operadores, de modo que ao final a referida tabela armazene como os elementos ou componentes são relacionados em uma regra matemática.
O código do programa é mostrado como um exemplo na tabela de acordo com os instantâneos nas figuras 18a a 18c, o que é uma tabela de código de exemplo. A partir das instruções a seguir em pseudocódigo pode ser visto que o que acontece para cada linha. Como com validações e acessos, o gerador (fonte COBOL KTPLP007) gera um código automaticamente em copybooks que por sua vez acessarão as tabelas (KTPA57T e KT-PA78T) e, então, informará estas instruções de pseudocódigo. Isto é como o programa torna o conteúdo de uma tabela em fonte cobol (em pseudocódigo):
STEP 1:
1.1- . Read first record from KTPA57T and write
1.2- . Perform
1.2.1- If there is a validation associated to the calculation:
1.2.1.1-. Write the PERFORM sentence to run the validation.
1.2.1.1-. Write the IF to evaluate the validation out-come (True or False)
1.2.2. - Write the PERFORM to run the calculation. (C)
1.2.3. - If there is a validation associated to the calculation:
2.3.1-. Write End of lines and exit
1.2.2-. Read next record from KTPA57T
Until end of KTPA57T.
Como resultado do laço acima, o gerador gera o formato do cálculo com base no que é lido a partir de KTPA57T, e o código é gerado no copybook TP3CCYAU, conforme é mostrado no instantâneo de acordo com a figura 18a.
O cálculo de nível 01 (veja a definição dos níveis acima) é realizado, quando a validação for "falsa", então, o segundo nível 05 será realizado, quando a validação for "verdadeira", e o terceiro nível 10 será executado não sujeito a qualquer validação. Os níveis são indicados na figura 18a pelas respectivas caixas rotuladas "F" (cálculo de nível 01), "T" (cálculo de nível 05) e "Calculation" (Cálculo) (cálculo de nível 10).
Finalmente, também o conteúdo dos 3 níveis do cálculo (C1, C2 e C3) ou níveis 01, 05 e 10 é escrito no mesmo copybook TP3CCYAU. O pseudocódigo ou as instruções que o programa segue, de modo a se escrever o conteúdo, são conforme a seguir (pseudocódigo para acesso da tabela KTPA78T):
STEP 2:
2.1- . Read first record from KTPA78T and do
2.2- . Perform
2.2.1-. Write new line with the information of KTA78T
2.2.2-. Read next record from KTPA78T Until end of KTPA78T.
Substeps 2.2.1 and 2.2.2 may be iterative/repeated. Como resultado daquele laço (etapas 2.2.1 e 2.2.2), neste copy-book mencionado o CONTENT destes cálculos (C1, C2 e C3 ou níveis 01, 05 e 10) também é escrito. No instantâneo de acordo com as figuras 18b e 18c, é mostrado como os cálculos são realizados em cada nível. Isto signifi-ca que a PERFORM (EXECUTAR) (instrução em Cobol que executa o que está definido no interior) a qual é chamada na STEP 1 é definida aqui neste ponto na STEP 2, conforme mostrado nas figuras 18b e 18c. - Textos/Parágrafos
O módulo "textos/parágrafos" permite a definição dos textos (modelos de documento) a serem gerados para cada produto, isto é, para cada conjunto de dois ou mais arquivos executáveis inter-relacionados, bem como as regras de disparo para os parágrafos (por exemplo, se uma cobertura A for selecionada, a oração XXX será impressa). Uma visão geral esquemática é mostrada na figura 19 (a qual é similar às figuras 2 e 13). Na figura 19, a criação de acordo com o módulo de textos/parágrafos é mostrada. Como um exemplo, o "texto" pode compreender um número de parágrafos, tais como 1, 2, 3, 4, 5, 6, 10, 15, 20, etc. parágrafos, cada um dos quais podendo ser individualmente endereçado e individualmente associado, por exemplo, a pelo menos um produto e/ou a pelo menos um objeto segurado e/ou pelo menos uma cobertura, etc. Na figura 19, o "Insured Object" está associado ao "Paragraph 1". Também é possível que 2 ou mais parágrafos estejam associados ao referido "Insured Object". Mais ainda, "Coverage 1" está associada a um parágrafo, especificamente "Paragraph 2". "Coverage 2" está associada a um parágrafo, especificamente "Paragraph 3". É possível que cada cobertura esteja associada a dois ou mais parágrafo e/ou que cada cobertura esteja associada a um parágrafo idêntico. Como um exemplo, "Coverage 1" pode ser associada a "Paragraph 1" e "Coverage 2" pode estar associada ao "Paragraph 2" e ao "Paragraph 3". Também é possível que "Coverage 1" esteja associada ao "Paragraph 1" e ao "Paragraph 2".
Como com as validações, os acessos e as operações, tabelas são usadas para a definição e o armazenamento de variáveis. A tabela KT-PA65T é a base para os documentos gerados para um produto.
Os parágrafos têm um código fixo, o que significa que naquela tabela há os parágrafos que estão associados a cada código de cobertura e também a cada produto, isto é, para cada conjunto de dois ou mais arquivos executáveis inter-relacionados.Para o disparo de parágrafos, há também validações as quais estão associadas a eles, isto significando que um parágrafo de texto poderia ser disparado com base no fato que a cobertura a qual está associada é contratada e também se ela tem uma validação associada a ela.
Os instantâneos de acordo com as figuras 20a a 20c representam um exemplo desta definição de tabela KTPA65T.
Os instantâneos de acordo com as figuras 21a e 21b contêm a parte do programa em COBOL que acessa os campos de tabela KTPA65T e lê os valores para que se pretende que a documentação seja gerada. Como resultado doa cesso à tabela KTPA65T, o programa pode gerar a documentação requerida.
Aqui, o processo não é realmente o mesmo que nos outros níveis explicados, já que o executável que é chamado de modo a se dispararem os parágrafos (e, obviamente, documentos) lê os registradores associados a um parágrafo em particular e move toda a informação armazenada em uma variável interna através de uma Instrução de Cobol denominada CURSOR, conforme mostrado nos instantâneos de acordo com as figuras 21a e 21b.
Finalmente, após a leitura da informação armazenada para cada parágrafo, no mesmo copybook (executável) TPSTCDBD é checado quanto a se um certo parágrafo tem que ser disparado ou não, apesar do fato de ser contratado. Isto também é checado pelo código automatizado gerado com base nas validações associadas aos parágrafos os quase também foram transferidos (através de download) para aquele copybook, conforme mostrado no instantâneo de acordo com a figura 22.
3. Gerador de Produto
Após a configuração do produto usando-se os módulos prévios, isto é, após a composição de uma combinação de código que pode ser lido em máquina em linguagem de máquina pela seleção e associação de duas ou mais seções de código usando-se a GUI, o Gerador de Product Factory transforma os referidos dados, os quais podem ser configurados a partir de tabelas, em arquivos executáveis em COBOL, que contém a base de umproduto, isto é, toda a informação de produto e as regras (exceto por aqueles valores mantidos em tabelas corporativas). No contexto do presente pedido, o termo "programa executável" pode ser sinônimo para o termo "arquivo executável" ou o termo "programa executável" pode compreender dois ou mais arquivos executáveis inter-relacionados. Através dos módulos de Administração de Política, políticas, validações de dados, etc. podem ser gerados para o produto.
Este Executável de Produto é chamado a partir de serviços de Administração de Política através de interfaces padronizadas, conforme mostrado como um exemplo na figura 23. De acordo com a figura 23, há um serviço de Administração de Política o qual é o KCILMZ06, o qual chama os executáveis quando o usuário ou quando a ação é VALI DATE (VALIDAR) ou RATE (CLASSIFICAR).
Ambas as ações podem ser disparadas nos três níveis diferentes:
- Política
- Objeto
- Cobertura
Agora, o serviço de Administração de Política sempre é o mes-20 mo (KCILMZ06), mas os executáveis do Product Factory que realizam a a-ção de VALIDATING (VALIDAÇÃO) ou RATING (CLASSIFICAÇÃO) são dinâmicos. Isto significa que o serviço KCILMZ06 está acessando uma ou mais tabelas em que o nome do(s) executável(is) que precisa(m) ser usados em cada nível e em cada ação é armazenado. Esta tabela, por exemplo, é KTPM01T.
4. Sumário de Fluxos de Processo de Product Factory
A figura 24 mostra um fluxograma que resume os fluxos de processo principais descritos por todo o documento inteiro. A figura 24 descreve a funcionalidade de "Product Factory" especificamente para a geração em particular de programas de alta complexidade a partir de uma entrada inicial de dados.
As etapas S1 a S3 preferencialmente são realizadas no lado decliente. As etapas S4 a S6 são preferencialmente realizadas no lado de servidor.
Na etapa S1, os dados relevantes para a definição de dois ou mais arquivos executáveis inter-relacionados são introduzidos por um usuário do sistema/método baseado em computador de acordo com o presente pedido. O sistema/método baseado em computador também pode ser referido como um "Product Factory". Em particular, os dados são introduzidos u-sando-se uma GUI, conforme mostrado como exemplo nas figuras, tal como na figura 3.
Na etapa S2, os dados introduzidos são armazenados em uma ou mais tabelas, conforme também mostrado nas respectivas figuras, tal como nas figuras 4, 5a e 5b. As etapas 1 e 2 podem ser realizadas de uma maneira repetida, onde dados subseqüentemente podem ser introduzidos (etapa 1) e os referidos dados podem ser armazenados em uma ou mais tabelas (etapa 2).
Na etapa S3, a verificação implementada em computador da coerência é realizada, onde uma ferramenta de coerência pode ser usada. A ferramenta de coerência pode compreender uma GUI para comunicação com o usuário do sistema. Em particular, a ferramenta de coerência pode ser adaptada para a extração de um resultado do teste de coerência em texto claro. Vantajosamente, a coerência do código em linguagem que pode ser lida em máquina pode ser verificada em sua totalidade no lado de cliente, particularmente sem uma compilação. Dois ou mais arquivos executáveis podem ser criados, então, no lado de servidor (veja as etapas S4 a S6) e rodados, com um risco minimizado de erros de tempo de rodada.
Na etapa S4, os processos compreendendo, por exemplo, validações, acessos, etc. podem ser gerados e, em particular, os dois ou mais arquivos executáveis inter-relacionados são compilados usando-se um compilador e, assim, na etapa S5 os dois ou mais arquivos executáveis inter-relacionados (referidos, por exemplo, como programas de resultado) são gerados.
Na etapa S6, dois ou mais arquivos executáveis inter-relacionados são testados pela execução deles no lado de servidor.
A seguir, as vantagens do método/sistema implementado em computador de acordo com o presente pedido são descritas:
5.1 Evitar problemas de conexão
Esta vantagem será explicada por meio de um exemplo, onde uma operação 1 foi projetada conforme se segue:
Operação 1 = Elemento 1 + Elemento 2
Em um banco de dados específico, a Operação 1 pode ser conectada ao Technical Product (isto é, a cada conjunto de dois ou mais arquivos executáveis inter-relacionados) a que ela corresponder, de modo a se indicar para o sistema onde ele pode recuperar os valores para os componentes da operação (elemento 1 e elemento 2 neste exemplo). A conexão da operação significa que primeiramente os operandos devem ser conectados, nesse caso, o Elemento 1 e o Elemento 2, onde aqueles elementos devem ser atribuídos no nível desejado que poderia ser produto, objeto ou cobertura (os níveis são indicados na figura 1). Então, uma vez que os elementos sejam conectados, o sistema sabe onde os valores relacionados a eles são armazenados. O mesmo acontece com a operação. Como resultado desta operação, o fato de ser conectado significa que o sistema saberá onde os valores relacionados a ele estão armazenados.
Quando da geração do produto, isto é, dois ou mais arquivos executáveis inter-relacionados, o gerador checará se todas as conexões foram eficientemente estabelecidas. Caso não, o processo falhará, e uma descrição de erro será escrita no registro de problemas.
De modo a se evitar uma falha, a operação pode ser apropriadamente conectada antes da geração. Mais ainda, de acordo com o presente pedido, a ferramenta de coerência é usada antes da geração, de modo a se descobrir se as conexões foram feitas eficientemente. Em um caso em que uma conexão incorreta foi feita, a ferramenta de coerência prove uma mensagem de erro, apontando a inconsistência e/ou uma conexão incorreta. A ferramenta de coerência é a capacidade que permite checar (antes da geração) a coerência da definição dos componentes de Product Factory e suasrelações. Assim, esta ferramenta valida não apenas a definição, mas, também se as relações construídas também são consistentes. Em outras palavras, a ferramenta de coerência pode verificar se validações, elementos e operações estão corretamente correlacionados e oferecem integridade. A ferramenta de coerência é adaptada em particular para ser executada usan-do-se a GUI. Como um exemplo, um usuário pode definir e criar um ou mais conjuntos de código fonte, usando a GUI, conforme mostrado na figura 25. Pela seleção do botão 16, uma etapa de projeto ou de associação de seleção e associação de duas ou mais seções de código que pode ser lido em máquina inter-relacionado é realizada. Vantajosamente, um ou mais projetos/produtos podem ser escolhidos a partir da lista de produtos pré-definidos disponíveis. De acordo com o exemplo mostrado na figura 25, o modelo "Co-re_Motor" é selecionado. O modelo "Core_Motor" pode representar uma definição de duas ou mais seções selecionadas de código que pode ser lido em máquina. Pela seleção do botão 16, o código fonte do modelo "Co-re_Motor" é criado, em particular, as associações das duas ou mais seções de código que pode ser lido em máquina são estabelecidas.
Em uma próxima etapa, usando-se a referida GUI, a qual agora prove um botão 18, conforme mostrado na figura 26, a coerência é ativada, a qual agora checa as duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina, isto é, a verificação implementada em computador das associações de dois ou mais códigos que podem ser lidos em máquina selecionados e associados é realizada. Em outras palavras, a coerência das duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina é verificada usando-se a ferramenta de coerência pela seleção do botão 18. A ferramenta de coerência pode ser executada no fundo e prover uma mensagem, por exemplo, quando a verificação de coerência é negativa, particularmente provendo detalhes da natureza da coerência negativa. A ferramenta de coerência também pode prover uma mensagem positiva, no caso de uma verificação positiva da coerência.
Também é possível que a ferramenta de coerência proveja uma janela individual na GUI ou seja exibida como uma janela na GUI, conformemostrado nas figuras 27a, 27b e 27c. Conforme mostrado nestas figuras, parâmetros específicos podem ser selecionados, tais como "Coerência de Elementos (Elements coherency), "Coerência de validações" (Validations coherency), e/ou "coerência de classificações" (ratings coherency). Também, a GUI/ferramenta de coerência pode ser adaptada para prover detalhes da validação de coerência, conforme também mostrado nas figuras 27a, 27b e 27c.
5.2 Evitar problemas de formato
Dois exemplos são dados de modo a se descrever esta vantagem:
a) Validações
É possível ter a validação a seguir definida: 'lf E1 >Op1 then'
em que:
E1 = valor de elemento
Op1 = resultado de um cálculo
Se o elemento E1 for definido com 'formato alfanumérico (al-phanumeric format) e o resultado da Operação 1 é definido como 'formato numérico (numeric format), o gerador não será capaz de comparar seus valores e, consequentemente, nenhuma mensagem de erro será criada pelo gerador gerando os arquivos executáveis inter-relacionados. No tempo de rodada, o processo falhará e uma descrição de erro será escrita no registro de problemas.
Vantajosamente, a ferramenta de coerência pode verificar as inconsistências e extrair uma respectiva mensagem, mediante o que a inconsistência pode ser corrigida. No exemplo, E1 será definido como 'Numérico' (Numeric). Em outras palavras, mesmo se o gerador não prover qualquer aviso e/ou mensagem de erro, a ferramenta de coerência será capaz de determinar a inconsistência e extrair em texto claro um aviso e/ou uma mensagem de erro, mediante o que a validação pode ser corrigida.
Em outras palavras, a oração se compreendendo duas variáveis é uma seção de código. Pela verificação quanto a se as variáveis "E1" e"Op1" podem ser comparadas usando-se o operador matemático ">", a coerência da seção de código é verificada, em particular se a referida seção de código é capaz de produzir uma saída consistente. Esta coerência pode ser particularmente verificada usando-se a ferramenta de coerência.
b) Operações
É possível ter a operação a seguir definida:
Operação 1 = Cálculo 1 + Cálculo 2
Cálculo 1 = Elemento 1 + Elemento 2
Cálculo 2 = Operação 2
em que :
Operação 1 é definida como: Dec (15, 3)
Cálculo 1 é definido como: Dec (15, 3)
Cálculo 2 é definido como: Dec (11,6)
Operação 2 é definida como: Dec (15, 3)
Normalmente, esses resultados de operações que são importações econômicas, são definidos como Dec (15, 3), enquanto as percenta-gens são definidas como Dec (11, 6).
Neste exemplo, a Operação 2 é definida como Dec (15, 3), mas o cálculo 2 é definido como Dec (11, 6). A operação 2 é definida com um formato numérico mais alto do que Cálculo 2. Neste caso, o gerador geraria um "erro de aviso'. A geração e a compilação terminarão, mas o usuário será avisado quanto a este fato.
Durante o tempo de execução (também referido como tempo de rodada), se todos os resultados da operação 2 se adaptarem no formato definido pelo Cálculo 2, nada acontecerá. Mas há um risco no caso de resultados da operação 2 não se adaptar no formato de Cálculo 2 (por exemplo, 123456789, 122). Neste caso, durante um tempo de execução, o sistema gerará um erro.
Vantajosamente, de modo a se evitar um erro possível durante um tempo de rodada, o formato do Cálculo 2 poderá ser mudado para Dec (15, 3), onde o formato (15, 3) significa que o valor pode ter um máximo de 3 decimais e 12 inteiros; o formato (11, 6) significa que o valor pode ter comomáximo 6 decimais e 5 inteiros. Particularmente usando-se a ferramenta de coerência, o aviso criado pelo criador/compilador será traduzido e extraído em texto claro para o desenvolvedor, que não precisa conhecer a linguagem que pode ser lida em máquina, em que o gerador também extrai o aviso. Consequentemente, o usuário também entende o aviso e pode adaptar o sistema pela correção da inconsistência. Em outras palavras, de acordo com o presente pedido, a coerência das associações das seções de código vantajosamente é verificada, onde a "Operação 1" representa uma primeira seção de código e a "Operação 2" representa uma segunda seção de código e a associação entre as duas seções de código é realizada pela definição de: Operação 1 = Cálculo 1 + Cálculo 2 em que "Cálculo 2 = Operação 2".
Também é possível que "Operação 1" seja usada para a geração de um arquivo executável. "Operação 2" pode ser usada para a geração de um outro arquivo executável. Consequentemente, ambos os arquivos e-xecutáveis são inter-relacionados, uma vez que a saída de um arquivo executável (por exemplo, a saída de "Operação 2" é usada como uma entrada para o outro arquivo executável (por exemplo, de "Operação 1").
5.3 Evitar problemas de sistema
Vantajosamente, os parâmetros de compilador são adaptados e otimizados, e o programa de classificação pode ser dividido, de modo que o processador, mesmo quando tiver uma capacidade limitada (outros processos possíveis podem estar rodando ao mesmo tempo), os arquivos executáveis inter-relacionados podem ser gerados sem falha da geração. Em particular, o gerador pode ser dividido em programas diferentes atendendo às funcionalidades (Operações, Validações, textos e documentação), desse modo se provendo uma geração confiável de arquivos executáveis inter-relacionados.
Com referência à figura 28, um sistema de exemplo para a implementação da invenção inclui um dispositivo de computação de finalidade geral na forma de um ambiente de computação convencional 20 (por exemplo, um computador pessoal) incluindo uma unidade de processamento 22,uma memória de sistema 24 e um barramento de sistema 26, que acopla os vários componentes de sistema incluindo a memória de sistema 24 à unidade de processamento 22. A unidade de processamento 22 pode realizar o-perações aritméticas, lógicas e/ou de controle pelo acesso à memória de sistema 24. A memória de sistema 24 pode armazenar informação e instruções para uso em combinação com a unidade de processamento 22. A memória de sistema 24 pode incluir uma memória volátil e não volátil, tal como uma memória de acesso randômico (RAM) 28 e uma memória apenas de leitura (ROM) 30. Um sistema de entrada/saída básico (BIOS) contendo as rotinas básicas que ajudam na transferência de uma informação entre elementos no computador pessoal 20, tal como durante a partida, pode ser armazenado na ROM 30. O barramento de sistema 26 pode ser qualquer um de vários tipos de estruturas de barramento, incluindo um barramento de memória ou um controlador de memória, um barramento periférico e um barramento local usando qualquer um de uma variedade de arquiteturas de barramento.
O computador pessoal 20 ainda pode incluir um drive de disco rígido 32 para leitura a partir de e escrita em um disco rígido (não mostrado), e um drive de disco externo 34 para a leitura a partir de ou escrita em um disco removível 36. O disco removível pode ser um disco magnético para um driver de disco magnético ou um disco ótico tal como um CD ROM para um drive de disco ótico. O drive de disco rígido 34 e o drive de disco externo 34 são conectados ao barramento de sistema 26 por uma interface de drive de disco rígido 38 e por uma interface de drive de disco externo 40, respectivamente. Os drives e seus meios que podem ser lidos em computador associados provêem um armazenamento não volátil de instruções que podem ser lidas em computador, estruturas de dados, módulos de programa e outros dados para o computador pessoal 20. As estruturas de dados podem incluir dados relevantes da implementação do método, conforme descrito em maiores detalhes acima. Os dados relevantes podem ser organizados em um banco de dados, por exemplo, um banco de dados relacionai ou de objeto.
Embora o ambiente de exemplo descrito aqui empregue um dis-co rígido (não mostrado) e um disco externo, deve ser apreciado por aqueles versados na técnica que outros tipos de meios que podem ser lidos em computador os quais podem armazenar dados que são acessíveis por um computador, tais como cassetes magnéticos, cartões de memória flash, discos de vídeo digital, memórias de acesso randômico, memórias apenas de leitura, e similares, também podem ser usados no ambiente operacional de exemplo.
Vários módulos de programa podem ser armazenados no disco rígido, no disco externo, na ROM 30 ou na RAM 38, incluindo um sistema operacional (não mostrado), um ou mais programas aplicativos 44, outros módulos de programa (não mostrados) e dados de programa 46. Os programas aplicativos podem incluir pelo menos uma parte da funcionalidade conforme detalhada nas Figura 1 a 24.
Um usuário pode introduzir comandos e uma informação, conforme discutido abaixo, no computador pessoal 20 através de dispositivos de entrada tais como o teclado 48 e o mouse 50. Outros dispositivos de entrada (não mostrados) podem incluir um microfone (ou outros sensores), joystick, gamepad, scanner ou similares. Estes e outros dispositivos de entrada podem ser conectados à unidade de processamento 22 através de uma interface de porta serial 52 que é acoplada ao barramento de sistema 26, ou podem ser coletados por outras interfaces, tal como uma interface de porta paralela 54, uma porta de jogos ou um barramento serial universal (USB). Ainda, uma informação pode ser impressa usando-se a impressora 56. A impressora 56 e outros dispositivos de entrada/saída paralelos podem ser conectados à unidade de processamento 22 através da interface de porta paralela 54. Um monitor 58 ou outro tipicamente de dispositivo de exibição também pode ser conectado ao barramento de sistema 26 através de uma interface, tal com uma entrada/saída de vídeo 60. Além do monitor, o ambiente de computação 20 pode incluir outros dispositivos de saída periféricos (não mostrados), tais como alto-falantes ou uma outra saída audível.
O ambiente de computação 20 pode se comunicar com outros dispositivos eletrônicos, tal como um computador, um telefone (com fio ousem fio), um assistente digital pessoal, uma televisão ou similar. Para comunicação, o ambiente de computação 20 pode operar em um ambiente em rede usando conexões com um ou mais dispositivos eletrônicos. A Figura 28 descreve o ambiente de computação ligado em rede com um computador remoto 62. O computador remoto 62 pode ser um outro ambiente de computação, tal como um servidor, um roteador, um PC em rede, um dispositivo de par ou outro nó de rede comum, e pode incluir muitos ou todos os elementos descritos acima em relação ao ambiente de computação 20. As conexões lógicas descritas na figura 28 incluem uma rede de área local (LAN) 64 e uma rede de área ampla (VVAN) 66. Esses ambientes de rede são lugar comum em escritórios, redes de computador por toda a empresa, intranets e a Internet.
Quando usado em um ambiente de rede de LAN, o ambiente de computação 20 pode ser conectado à LAN 64 através de uma l/O de rede 68. Quando usado em um ambiente de rede de WAN, o ambiente de computação 20 pode incluir um modem 70 ou um outro meio para o estabelecimento de comunicações pela WAN 66. O modem 70, o qual pode ser interno ou externo ao ambiente de computação 20, é conectado ao barramento de sistema 26 através da interface de porta serial 52. Em um ambiente em rede,módulos de programa descritos em relação ao ambiente de computação 20 ou porções dos mesmos podem ser armazenados em um dispositivo de armazenamento de memória remoto residente em ou acessível para um computador remoto 62. Mais ainda, outros dados relevantes para o método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados os quais podem ser produtos de seguros ou estar relacionados a produtos de seguros, e/ou relacionados a aplica-ção(ões) de gerenciamento de reivindicação de seguro (descrito em maiores detalhes acima) e/ou relacionados à geração de documentos de seguros, e ou relacionados à geração de outros produtos, tais como produtos de imóveis, produtos de serviços financeiros e/ou documentos, podem ser residentes em ou acessíveis através do computador remoto 62. Os dados podem ser armazenados, por exemplo, em um banco de dados de objeto ou em umrelacionai. Será apreciado que as conexões de rede mostradas são de e-xemplo e outros meios de estabelecimento de um enlace de comunicações entre os dispositivos eletrônicos podem ser usados.
O sistema de computação descrito acima é apenas um exemplo do tipo de sistema de computação que pode ser usado para a implementação do método implementado em computador descrito acima. Listagem de Números de Referência
1 GUI
2a campo
2b campo
4a campo
6a campo
6b campo
8 campo
10 janela
12 caixa
16 botão
18 botão
20 ambiente de computação convencional
22 unidade de processamento
24 memória de sistema
26 barramento de sistema
28 memória de acesso randômico (RAM)
30 memória apenas de leitura (ROM)
32 drive de disco rígido
34 drive de disco externo
36 disco removível
38 interface de drive de disco rígido
40 interface de drive de disco externo
44 um ou mais programas aplicativos
46 dados de programa
48 teclado50 mouse
52 interface de porta serial
54 interface de porta paralela
56 impressora
58 monitor
60 entrada/saída de vídeo
62 computador remoto
64 rede de área local (LAN)
66 rede de área ampla (WAN)
68 l/O de rede
70 um modem

Claims (13)

1. Método implementado em computador, para a geração de arquivos inter-relacionados executáveis em computador em um lado de servidor, que compreende as etapas de:- provisão em um lado de cliente de uma interface gráfica de usuário associada a um código que pode ser lido em máquina em uma linguagem de máquina, em que a interface gráfica de usuário exibe dados substancialmente em texto claro (S1);- seleção e associação (S2) de duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina no referido lado de cliente usando-se a referida interface gráfica de usuário;- verificação implementada em computador de uma coerência (S3) do referido código que pode ser lido em máquina selecionado no lado de cilindro antes, preferencialmente sem a compilação do referido código que pode ser lido em máquina selecionado no lado de cliente, e extração do resultado da referida verificação de coerência substancialmente em texto claro, em que:a verificação da coerência do referido código que pode ser lido em máquina selecionado compreende 20 - a verificação implementada em computador da coerência das referidas seções selecionadas de código que pode ser lido em máquina e/ou- a verificação implementada em computador da coerência das referidas associações das referidas seções selecionadas de código que pode ser lido em máquina; e- mediante a aprovação da coerência, a compilação (S4, S5) das duas ou mais seções selecionadas e associadas de código que pode ser lido em máquina em um lado de servidor para a criação de dois ou mais arquivos executáveis inter-relacionados, os quais são executáveis pelo servidor.
2. Método, de acordo com a reivindicação 1, em que a seleção e a associação (S2) de duas ou mais seções de código que pode ser lido em máquina em linguagem de máquina compreendem a introdução de regras em texto claro usando a referida interface gráfica de usuário e a provisão deum código que pode ser lido em máquina em linguagem de máquina equiva-lente ao referido texto claro usando-se um gerador.
3. Método, de acordo com uma das reivindicações precedentes,em que a etapa de verificação implementada em computador (S3) da coe-rência compreende uma verificação implementada em computador da com-patibilidade de uma primeira seção de código usada para a geração de umprimeiro arquivo executável com uma segunda seção de código usada paraa geração de um segundo arquivo executável.
4. Método, de acordo com uma das reivindicações precedentes,em que a etapa de verificação implementada em computador (S3) da coe-rência compreende:- com base no código que pode ser lido em máquina seleciona-do, a estimativa no lado de cliente de parâmetros de tempo de rodada, antesda compilação das seções selecionadas de código que pode ser lido emmáquina, em que os parâmetros de tempo de rodada estão associados aosarquivos executáveis quando da execução dos arquivos executáveis no ladode servidor.
5. Método, de acordo com uma das reivindicações precedentes,em que uma ou mais das seções de código que pode ser lido em máquinasão reusadas para compilação (S4, S5) dos dois ou mais arquivos executá-veis inter-relacionados.
6. Método, de acordo com uma das reivindicações precedentes,em que pelo menos um arquivo executável de primeiro nível é compilado, oqual é inter-relacionado com pelo menos um arquivo executável de nível i,em que pelo menos um arquivo executável de nível i é inter-relacionado compelo menos um arquivo executável de nível (i+1), em que i é um número na-tural maior do que 1.
7. Método, de acordo com a reivindicação 6, em que pelo menosum arquivo executável de nível i e pelo menos um arquivo executável denível (i+1) são compilados a partir de uma ou mais seções de código quepode ser lido em máquina, em que uma ou mais das seções de código quepode ser lido em máquina compreendem um código que pode ser lido emmáquina similar, de preferência substancialmente idêntico.
8. Método, de acordo com uma das reivindicações precedentes,que compreende a etapa adicional de verificação (S6) da integridade da e-xecução de todos os arquivos executáveis pela execução de todos os arqui-vos executáveis no lado de servidor e a comparação da performance no ladode servidor com uma especificação predeterminada no lado de cliente.
9. Método, de acordo com uma das reivindicações precedentes,em que as etapas no lado de cliente são realizadas em um cliente remoto deum servidor, e as etapas no lado de servidor são realizadas em um servidorremoto do cliente.
10. Sistema baseado em computador para a geração de arqui-vos executáveis em computador inter-relacionados em um lado de servidor,que compreende:- uma interface gráfica de usuário em um lado de cliente, onde:- a interface gráfica de usuário está associada a um código quepode ser lido em máquina,- a interface gráfica de usuário exibe dados substancialmente emtexto claro,- a interface gráfica de usuário é adaptada para selecionar duasou mais seções de código que pode ser lido em máquina em um lado de cli-ente;- um verificador de coerência o qual é adaptado para- verificar uma coerência do referido código que pode ser lido emmáquina selecionado no lado de cliente, e- extrair o resultado da referida verificação de coerência subs-tancialmente em texto claro; e- um compilador para compilação das duas ou mais seções se-lecionadas de código que pode ser lido em máquina em um lado de servidorpara a criação de dois ou mais arquivos executáveis inter-relacionados osquais são executáveis pelo servidor.
11. Sistema baseado em computador, de acordo com a reivindi-cação 10, em que a interface gráfica de usuário compreende um gerador oqual é adaptado para prover um código que pode ser lido em máquina emlinguagem de máquina equivalente ao referido texto claro como uma entradaatravés da interface gráfica de usuário.
12. Sistema baseado em computador, de acordo com a reivindi-cação 10 ou 11, que ainda compreende um estimador o qual é adaptadopara estimar no lado de cliente com base nos parâmetros de tempo de roda-da de código que pode ser lido em máquina selecionados antes da compila-ção as seções selecionadas de código que pode ser lido em máquina, emque os parâmetros de tempo de rodada são associados aos arquivos execu-táveis quando da execução dos arquivos executáveis no lado de servidor.
13. Produto de programa de computador, o qual, quando carre-gado na memória de um computador e executado pelo computador, obtémque o computador realize um método como defindio em qualquer uma dasreivindicações 1 a 9.
BRPI0901035-1A 2008-04-30 2009-04-30 Método implementado em computador e sistema baseado em computador para a geração de arquivos inter-relacionados executáveis em computador BRPI0901035B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08380135.7A EP2113837B1 (en) 2008-04-30 2008-04-30 Computer implemented method for generating interrelated computer executable files, computer-based system and computer program product
EP08380135.7 2008-04-30

Publications (2)

Publication Number Publication Date
BRPI0901035A2 true BRPI0901035A2 (pt) 2010-01-26
BRPI0901035B1 BRPI0901035B1 (pt) 2020-03-31

Family

ID=39643995

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0903392-0A BRPI0903392A2 (pt) 2008-04-30 2009-04-30 método implementado em computador para adaptar e usar um ambiente de computador, produto programa de computador e sistema baseado em computador
BRPI0901035-1A BRPI0901035B1 (pt) 2008-04-30 2009-04-30 Método implementado em computador e sistema baseado em computador para a geração de arquivos inter-relacionados executáveis em computador

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BRPI0903392-0A BRPI0903392A2 (pt) 2008-04-30 2009-04-30 método implementado em computador para adaptar e usar um ambiente de computador, produto programa de computador e sistema baseado em computador

Country Status (6)

Country Link
EP (2) EP2113837B1 (pt)
AR (2) AR071835A1 (pt)
AU (2) AU2009201680B2 (pt)
BR (2) BRPI0903392A2 (pt)
CL (2) CL2009000730A1 (pt)
MX (2) MX2009004598A (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2446458C1 (ru) * 2010-11-24 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Компонента лицензирования компьютерных приложений
US10949923B1 (en) 2013-09-16 2021-03-16 Allstate Insurance Company Home device sensing
US10430887B1 (en) 2014-02-21 2019-10-01 Allstate Insurance Company Device sensing
US10380692B1 (en) 2014-02-21 2019-08-13 Allstate Insurance Company Home device sensing
US10467701B1 (en) 2014-03-10 2019-11-05 Allstate Insurance Company Home event detection and processing
CN107103540A (zh) * 2016-02-22 2017-08-29 易保网络技术(上海)有限公司 一种计算机执行的访问保险产品数据结构中的具体数据元素的方法和系统
CN109871205B (zh) * 2018-12-15 2023-07-18 中国平安人寿保险股份有限公司 界面代码调整方法、装置、计算机装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4241307A (en) 1978-08-18 1980-12-23 International Business Machines Corporation Module interconnection testing scheme
AUPP949599A0 (en) * 1999-03-30 1999-04-22 Griffith University Visual architecture software language
US7020869B2 (en) * 2000-12-01 2006-03-28 Corticon Technologies, Inc. Business rules user interface for development of adaptable enterprise applications
US20030172367A1 (en) * 2002-01-24 2003-09-11 Robert Kannenberg Method of modifying software via a network
WO2008021777A2 (en) * 2006-08-07 2008-02-21 National Instruments Corporation Formal verification of graphical programs

Also Published As

Publication number Publication date
EP2113837A1 (en) 2009-11-04
AU2009201575B2 (en) 2012-11-08
AR071836A1 (es) 2010-07-21
AU2009201680B2 (en) 2012-11-08
EP2113838A1 (en) 2009-11-04
AU2009201575A1 (en) 2009-11-19
BRPI0903392A2 (pt) 2010-06-01
BRPI0901035B1 (pt) 2020-03-31
MX2009004598A (es) 2010-04-30
CL2009000730A1 (es) 2010-03-12
MX2009004599A (es) 2009-10-30
EP2113837B1 (en) 2018-11-14
CL2009000842A1 (es) 2010-03-12
AU2009201680A1 (en) 2009-11-19
AR071835A1 (es) 2010-07-21

Similar Documents

Publication Publication Date Title
US20220222170A1 (en) Software development framework for a cloud computing platform
Kästner et al. Type checking annotation-based product lines
US9268539B2 (en) User interface component
US7721259B2 (en) Configurable and customizable software application system and metadata
US8954939B2 (en) Extending a development environment
US7685576B2 (en) System and method for model based system testing of interactive applications
US10146672B2 (en) Method and system for automated user interface (UI) testing through model driven techniques
US9063672B2 (en) Systems and methods for verifying model equivalence
BRPI0901035A2 (pt) método implementado em computador para a geração de arquivos executáveis em computador inter-relacionados, sistema baseado em computador e produto de programa de computador
US20080276221A1 (en) Method and apparatus for relations planning and validation
BR112015011537B1 (pt) Método e dispositivo de armazenamento para associação de metadados com código fonte
Chong et al. Code-level model checking in the software development workflow
WO2018222327A1 (en) Automated or machine-enhanced source code debugging
US20190050209A1 (en) Method and system to develop, deploy, test, and manage platform-independent software
Crocker Safe object-oriented software: the verified design-by-contract paradigm
Nieke et al. Guiding the evolution of product-line configurations
Buchmann et al. Unifying modeling and programming with ALF
US11442845B2 (en) Systems and methods for automatic test generation
Schröpfer et al. A Generic Projectional Editor for EMF Models.
Groenewegen et al. Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language
Mohanty et al. Basic solidity programming
Arruda et al. Automation and consistency analysis of test cases written in natural language: An industrial context
Odell Pro JavaScript development: coding, capabilities, and tooling
Cutler et al. Practical Programming
Smith Automated Generation of AUTOSAR Compliant Runtime Environment Configurations

Legal Events

Date Code Title Description
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B25A Requested transfer of rights approved

Owner name: ACCENTURE INTERNATIONAL SARL (LU)

Free format text: TRANSFERIDO DE: ACCENTURE GLOBAL SERVICES GMBH

B25A Requested transfer of rights approved

Owner name: ACCENTURE GLOBAL SERVICES LIMITED (IE)

Free format text: TRANSFERIDO DE: ACCENTURE INTERNATIONAL SARL

B15K Others concerning applications: alteration of classification

Ipc: G06F 8/34 (2018.01)

B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B06T Formal requirements before examination
B07A Technical examination (opinion): publication of technical examination (opinion)
B09A Decision: intention to grant
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 31/03/2020, OBSERVADAS AS CONDICOES LEGAIS.