• No results found

Chapter 7. Simulation and Performance of SOLSR

7.4 Network Animator (NAM)

O objetivo desta seção é apresentar porque é cientificamente relevante resolver os problemas apresentados naseção 1.1 a partir dos objetivos propostos na seção 1.2.

Embora muito já tenha sido obtido em termos de teorias e de instrumentos para suporte à Modelagem Conceitual, ainda diversas outras abordagens de representação de conceitos e de raciocínio sobre modelos conceituais baseados em ontologias de funda- mentação podem ser exploradas, especialmente com base em resultados integrados de Inteligência Artificial, de Lógicas Clássicas e Não Clássicas, e de Programação em Lógica, que suporta as anteriores. Esses tipos de abordagens podem explorar diferentes estratégias de definição de semântica dos modelos, com diferentes características teóricas e pragmáticas de expressividade, clareza, noção de prova, consistência, e poder de computação. Para o caso das aplicações de Programação em Lógica, o rigor metodológico imposto pelas ontologias de fundamentação pode resultar em sistemas mais coerentes, interoperáveis e intelegíveis. Para o caso de linguagens de modelagem conceitual, os formalismos baseados em Programação em Lógica podem prover instrumentos de aprimoramento e de integração de ontologias de domínio com aplicações reais.

Dessa forma, o trabalho é justificado devido à ausência de linguagem textual, com expressividade adequada para a formalização de ontologias no paradigma de metamodela- gem, que seja suficiente para a formalização de modelos conceituais, especialmente com base na UFO. Além disso, lacuna teórica está presente no âmbito da formalização dos discursos de diferentes agentes sobre uma mesma realidade compartilhada. Esse tipo de formalização de discursos em ambiente multiagentes pode ser sustentada por raciocínios automatizados, e utilizada como auxiliar no processo de obtenção de acordos a respeito da realidade. Porém, a ausência de linguagem que suporte e evidencie as distinções de agentes nos discursos é um fator limitante teórico ao avanço das práticas de Modelagem Conceitual. Posto desse modo, o alcance dos objetivos de pesquisa suprem ausência tanto teórica quanto instrumental na área. Portanto, trata-se de uma contribuição direta ao desenvolvimento de linguagens formais para a área de investigação de modelagem conceitual com base em ontologias de fundamentação, que vai além do paradigma de linguagens visuais comumente encontrado na bibliografia especializada.

Ademais, o desenvolvimento de uma linguagem de metamodelagem para formaliza- ção de ontologias em ambiente multiagentes, embora relevante a aplicações reais em que se deseja construir consenso ou acordo a respeito de determinada realidade, não pode ser realizado meramente no contexto de aplicação de técnicas. Diferentes sistemas de lógicas modais2 podem ser empregados, dependendo do tipo de semântica que se deseja obter no processo de obtenção de acordos. Mesmo em contextos em que exista um único agente, pode 2 Alguns sistemas são mencionados naseção 3.2.

1.3. Justificativa 51

ser o caso que se deseje prover semântica introspectiva à afirmações sobre a ontologia, como na situação em que se avalia graus de confiabilidade de determinadas afirmações. Esses diferentes tipos de semânticas modais devem ser analisados cientificamente, especialmente devido ao caráter epistêmico relacionado à concorrência de múltiplos agentes, de modo que se desenvolva um arcabouço teórico adequado para a realização do objetivo geral.

Trata-se de uma contribuição inédita no âmbito da Ciência da Informação, no que refere-se à investigação transdisciplinar de Lógica, com Lógica Clássica e Lógicas Modais, de Programação em Lógica, de Ontologia formal com Modelagem Conceitual, de Linguística com linguagens formais embutidas em programas baseados em Programação em Lógica e da própria Ciência da Informação, por meio de Arquitetura da Informação. A contribuição à Ciência da Informação é justificada pelo desenvolvimento de instrumentos baseados em ontologias que podem ser aplicados em contextos de representação de conteúdo, de definição de regras de conhecimento, e de explicação de ambiente social, atividades essas conduzidas pelos cientistas da informação (ALMEIDA,2014, p. 253).

Como contribuição indireta e justificativa complementar, espera-se que os resultados desta pesquisa apontem novos caminhos para desenvolvimento da Modelagem Conceitual, especialmente quanto ao uso de lógicas não clássicas, à implementação de sistemas de lógicas modais, e ao uso de Programação em Lógica como intermédio entre teoria e prática de modelagem.

Adicionalmente a essas justificativas, apresenta-se na sequência perguntas cujas respostas reforçam a relevância desta pesquisa no âmbito social aplicado da Arquitetura da Informação, bem como argumentam quanto ao ineditismo do trabalho, especialmente no que tange à investigação entre práxis e teoria3 que relaciona UFO, Programação em Lógica e Programação em Lógica Modal, desenvolvimento de linguagem específica interna à linguagem de propósito geral, e Arquitetura da Informação. Cada questão é apresentada e respondida em seção própria.

1.3.1 Por que o desenvolvimento de uma linguagem de propósito específico?

Language Driven Development (CLARK; SAMMUT; WILLANS,2008), ou Language- oriented programming (LOP) (WARD, 1994; ROSENAN, 2010), é uma abordagem de desenvolvimento de programas de computador que, ao invés de desenvolver problemas diretamente em linguagens de programa de propósito geral – como Java, C, Lisp ou Haskell – desenvolve-se uma linguagem mais específica, orientada ao domínio em que o problema está concentrado e, a partir daí, resolve-se o problema com base nessa linguagem especializada.

A primeira característica dessa abordagem é o ganho com a abstração do problema 3 Conforme metolodogia descrita na seção 1.4.

em relação às questões técnicas de tratamento e computação da informação. Isso permite atuar socialmente sobre o problema sem se preocupar demasiadamente com detalhes técnicos. Essa característica está ligada ao poder descritivo da linguagem, que de acordo com Israel e Brachman (1984, p. 120), deve permitir que intuições a respeito do domínio sejam expressas de forma natural:

A representational formalism should include constructs that allow a user to capture intuitions about the structure of the domain(s) of application – for example, intuitions about the appropriate conceptualization of the

objects, properties, and relations of the domain.

Aliás, uma linguagem específica de domínio (DSL), compartilhada por uma comu- nidade de profissionais, após o processo inicial de aprendizado da construção idiomática por seus usuários, deve, ao menos em tese, fortalecer uma cultura no círculo social em que ela está inserida.

Além desse aspecto social, há ganhos também do ponto de vista computacional. Dentre as características mais marcantes dessa abordagem, ressalta-se o reúso dos com- ponentes de software, a facilidade de interoperabilidade dos programas, a simplicidade de manutenção, a clareza da codificação e, especialmente, a capacidade de aplicação de raciocínios lógicos mais elaborados, que vão além da abordagem clássica, uma vez que é possível incorporar diferentes noções lógicas às linguagens, como quantificadores, modalidades, esquemas, paraconsistência, etc. Ademais, uma vez separado o problema da solução final, na linguagem intermediária, que descreve o problema, é possível incorporar sofisticados arcabouços dedutivos, sem com isso necessariamente tornar mais complexa a especificação dos conceitos do domínio.

Essas diferentes concepções lógicas podem ser representadas tanto com linguagens visuais como com linguagens sentenciais textuais. Linguagens visuais possuem característi- cas interessantes, como a capacidade de incorporar aspectos semânticos à própria sintaxe, uma vez que os símbolos visuais são utilizados para informar o usuário sobre aspectos semânticos do domínio que aquela linguagem se presta a descrever4. Porém, linguagem textuais também possuem suas vantagens. Por exemplo, do ponto de vista pragmático, uma linguagem textual é útil para anotação rápida, muitas vezes sem necessidade de auxílio de computador ou de ferramenta de desenho. Se projetadas tendo como referência uma ontologia de fundamentação, como a UFO ou DOLCE (MASOLO et al., 2003), elas possibilitam que seus usuários sejam muito eficientes em comunicar suas ideias, pois permite incorporar aspectos semânticos na estrutura das sentenças, assim como ocorre com as linguagens visuais. Além disso, linguagens textuais podem ser rapidamente proje- tadas, implementadas, testadas e modificadas, e lançar mão de formalismos amplamente conhecidos, como EBNF (seção 7.1). Não obstante, diferentes aspectos lógicos podem ser 4 O tema das linguagens visuais é abordado também pelasubseção 3.4.2.

1.3. Justificativa 53

combinados e descritos sintaticamente, sem que com isso seja necessário lidar com detalhes de representação, de combinação de símbolos, definição de figuras ou formas, nem correr o risco de induzir interpretações errôneas sobre o domínio, devido ao uso ambíguo, divergente ou inadequado de representações visuais em relação ao domínio do problema. Nesse sentido, do ponto de vista de engenharia de linguagens formais, as linguagens textuais contam com largo suporte instrumental, técnico e teórico, que permitem não apenas a definição mas a integração de linguagens e incorporação em formalismos existentes. De toda forma, não se pode deixar de mencionar que os paradigmas visual (ou diagramática) e textual não são excludentes. Idealmente, para cada linguagem textual pode haver uma contrapartida visual, e vice e versa. Adicionalmente, linguagens visuais, em geral, possuem apelo sintético, de simplificação da comunicação, enquanto linguagens textuais têm potencial para descrever detalhes analíticos, de modo que também são adequadas para incorporação de aspectos de engenharia de domínio5. No caso, a OntoUML proposta por Guizzardi (2005) é uma linguagem diagramática baseada em UML. O desenvolvimento de uma representação textual da linguagem, otimizada para leitura e escrita, que contemple em sua sintaxe aspectos específicos da ontologia de fundamentação subjacente, pode ampliar a abrangência e as integrações de OntoUML com e em outras linguagens. Esses são alguns dos motivos que justificam a opção por definir uma linguagem textual neste trabalho.

Do ponto de vista da Arquitetura da Informação (AI), é natural que a práxis da área envolva um conjunto de pessoas e que, somado a própria natureza complexa da informação (ZHANG; YUEXIAO,1988; CRNKOVIC; HOFKIRCHNER, 2011), a prática envolva tarefas multifacetadas. Apenas no contexto de websites, uma das área da AI, Ding e Lin (2010, p. 23) menciona que:

Creating complex websites requires an interdisciplinary team involving business sponsors, user researchers, visual designers, software developers, project managers, content writers and other experts. In order for everyone to collaborate effectively, a structured development process must be agreed upon. The process may vary from project to project depending on many factors, but the ultimate goal should be the same: Increase the business value of the design and meet the user needs.

Desse modo, defende-se que uma abordagem orientada ao desenvolvimento de uma linguagem de propósito específico ao arquiteto da informação deve trazer clareza e formalização às atividades de compreensão das entidades da realidade.

5 Por exemplo,Costa, Grings e Santos (2008, p. 440) apresentam que “If one needs to design a really

1.3.2 Por que a aplicação de Programação em Lógica?

A aplicação de Lógica enquanto instrumento do arquiteto da informação, e como fundamento da Arquitetura da Informação, já foi objeto de discussão deSiqueira (2008)6. Por conseguinte, devido à intrínseca presença da Lógica nas produções referentes à Ar- quitetura da Informação, aproximar a Lógica do instrumento concreto a ser utilizado em atividades da práxis diminui barreiras e reduz a indireção do ferramental auxiliar disponível para as execução dessas atividades.

“Prolog” é um nome genérico dado às linguagens, ferramentas e sistemas lógi- cos e computacionais utilizados para Programação em Lógica. Embora Prolog seja uma linguagem criada nos anos 1970 (KOWALSKI, 1988), ela ainda é usada não só no desen- volvimento contemporâneos de soluções, como consta em diversos trabalhos mencionados noCapítulo 37, como também é alvo de pesquisas de ponta, como o caso do computador Watson da IBM (LALLY; FODOR, 2011), reconhecido pela façanha de vencer o sistema de perguntas e respostas do tipo “Homem X Máquina” do Jeopardy (IBM, 2011):

6. What operating system does Watson use? What language is