domingo, 30 de junho de 2013

AULA 3 - UFO-C - 24/06/2013

Foi abordada a UFO-C, que é uma ontologia de entidades sociais e que sistematiza conceitos sociais, tais como plano, ação, intencionalidade. Os pontos de destacados na aula são comentados a seguir.

Na UFO-C são diferenciados substanciais agentivos (Agents) dos não agentivos (Object). Um Agent pode representar por exemplo um Kind ou um Role.

Já um Mental Moment, que é um Intentional Moment, pode ser dividido em Belief, Desire ou Intention (Internal Commitment). Não há ação associada há um desejo, por exemplo: quero que faça sol no fim de semana. Enquanto em uma Intenção (Compromisso Interno) há sim uma ação associada para que isso aconteça. Ex: Quero entender UFO-C. Além do Internal Commitment, UFO-C também modela Social Commitment, que representa um compromisso com outra entidade.

Ações são eventos intencionais, i. e., apresentam o propósito específico de satisfazer alguma intenção.

Na ontologia é feita a diferenciação entre closed commitment, que apresenta passo a passo para sua realização e é descrito por um plano, e openned commitment, o qual não está relacionado a esse passo a passo.

Também foi dito que Appointment Goal tem o objetivo relacionaodo a um intervalo de tempo e Scheduled Actions são closed appointments.

Além disso, também foram abordados problemas que podem ocorrer no mapeamento entre um metamodelo da linguagem e uma ontologia de referência, como por exemplo: construct overload e construct redundancy.

segunda-feira, 24 de junho de 2013

Aula 2 - UFO

O estudo da Ontologia no laboratório Nemo deu inicio com a idéia de Falbo de descrever processos de Software utilizando uma ontologia para desenvolver um meta ambiente. Seguindo esta idéia, Falbo deu inicio ao desenvolvimento de ODE (Ontology-based Development Environment). Este meta ambiente, baseia-se em ontologias a respeito de domínios relativos processo de software a fim de se tornar um ambiente fácilmente integrável.
Durante o uso constante de ontologias, e o progresso do estudo na área, percebeu-se a importância de utilizar ontologias de fundamentação. Nesta forma de desenvolver ontologias de domínio, é utilizado conceitos (ontologias) mais detalhadas que descrevem elementos básicos do mundo e enriquecem semânticamente a ontologia de domínio.
Mais adiante, desenvolveu-se ontologias que não eram nem genéricas a ponto de serem de fundamentação e nem específicas para serem de domínio. A estas foram atribuídas o nome de Core Ontologies. Este tipo de ontologia possibilitou o desenvolvimento de linguagens de padões a fim de guiar a construção de ontologias de domínio a partir de core ontologies.
Por exemplo, a Ontologia de Apoio à Gerência de Projetos (AGPR) foi criada por meio da composição de alguns dos padrões da Linguagem de Padrões de Ontologia para Processos de Software (Software Process Ontology Pattern Language – SP-OPL). Esta é uma linguagem de padrões de ontologia para o domínio de aplicação de processos de software. As principais áreas abordadas pela SP-OPL são Definição de Processo Padrão de Software, Definição e Programação do Processo de Projeto, Alocação de Recursos e Execução do Processo de Software. A ontologia AGPR aborda o processo de gerência de projetos de software no que se refere à definição de atividades do projeto, alocação de pessoas a essas atividades e elaboração de cronogramas.

domingo, 16 de junho de 2013

Postagem Aula 1 - Desafios da Interoperabilidade Semântica

Durante a aula, observamos a importância de haver um consenso entre os modelos conceituais existentes na mente de cada pessoa, sobre um mesmo domínio, para que houvesse uma boa comunição. Da mesma forma, isso é observado para softwares. Esse assunto pode ser relacionado ao TCC da Glaice, no qual foi necessário mapear os conceitos dos modelos de ODE e de dotProject com o objetivo de integrar essas ferramentas num contexto de gerência de projetos, no que se referia à alocação de recursos humanos, controle de atividades e geração de cronogramas. Nesse TCC, o conceito de Projeto foi mapeado diretamente, porém alguns conceitos necessitaram de certas restrições para serem mapeados. Por exemplo, em dotProject, havia usuários e contatos. Foi necessário analisar o real papel de cada um no software, para que pudesse finalmente poder dizer que um Contato, em dotProject, se referia a um Recurso Humano, em ODE. Um outro exemplo é o caso de Atividade, em ODE, que só é uma Tarefa, em doProject, se ela tiver datas de início e fim previstas definidas no sistema.

A questão da interoperabilidade é complexa e por isso um campo fértil para estudos. No exemplo apresentado, modelos que pertencem a uma mesma organização (mas que no caso concreto da Petrobrás não ao mesmo departamento) apresentam significados diferentes. Não é difícil imaginar que problemas semelhantes ocorram em outras organizações. Talvez essas divergências estejam relacionadas ao número de departamentos, pois quanto maior esse número mais difícil deve ser obter um consenso sobre a definição de um conceito.
É possível observar ainda que problemas de interoperabilidade ocorrem também em modelos de referência (ISO e outros), pois ao comparar dois modelos fatalmente serão encontradas definições diferentes para um mesmo conceito. Durante a aula de Engenharia de Software, alguém disse que estudaria a interoperabilidade de modelos durante seu doutorado/mestrado.

O problema de interoperabilidade de conceitos não necessita de ser entre empresas e nem entre departamentos. Conhecemos um caso em que uma empresa tinha particularmente um departamento de portos, onde entre outros requisitos, desejava-se controlar os equipamentos utilizados no embarque e o embarque em si. Uma das funcionalidades que supria este requisito era o relacionamento entre parada de embarques e suas causas, por exemplo, mau tempo. Uma das causas era relativa as paradas de equipamentos, i.e. se nenhum equipamento operasse, o embarque parava. E assim, existia uma divergência de conceitos entre os operários do mesmo departamento. Alguns desses operários alegavam que a culpa da parada de embarque era do último equipamento que parasse de trabalhar, e outros diziam que dependia da causa da parada do equipamento. Por exemplo, um equipamento pode parar por falha elétrica, falha mecânica, falha operacional ou mudança de rota de equipamento.
Neste exemplo, vemos que ao explicitar a semântica de um relacionamento causamos conflitos até mesmo com conhecedores do domínio de uma mesma região/empresa.