sábado, 29 de junho de 2013

Quarta aula: UFO-C aplicada a Engenharia de Software

Durante a aula, foram tecidos comentários sobre a ontologia de fundamentação para modelagem de domínios sociais da UFO, a UFO-C.
Como forma de estudo, foi proposto a leitura do artigo “Using a Foundational Ontology for Reengineering a Software Process Ontology”, dos autores, Ana C. O. Bringuente, Ricardo A. Falbo, Giancarlo Guizzardi. Este artigo descreve um caso de uso da UFO-C no domínio de Engenharia de Software.

Abaixo segue descrito uma ficha de leitura feita pelo grupo para o artigo.

Referência Completa: “Using a Foundational Ontology for Reengineering a Software Process Ontology”, Ana C. O. Bringuente, Ricardo A. Falbo, Giancarlo Guizzardi, UFES;


Palavras-chave: UFO-C, Engenharia de Software, Software Process Ontology (SPO), reengenharia ontológica;


Resumo


- Foco do artigo

Aplicar a UFO a engenharia de software (Gerência de Projeto e Processos de Desenvolvimento de Software), através de uma reengenharia de conceitos.

- UFO-C

Está porção da UFO pode ser entendida como a ontologia das entidades sociais. Nesta ontologia de fundamentação é possível modelar agentes que tem poder de criar ações, perceber acontecimentos de eventos e possuir intenções próprias.

- SPO: Software Process Ontology (Falbo e Bertollo, 2009)

O trabalho trata de uma reengenharia na proposta do SPO. Sua pretensão é de reestruturá-la, utilizando a UFO-C para isso. Os autores do trabalho apresentam as ontologias iniciais de Falbo e Bertollo e tecem críticas a cerca delas. A partir disso, propõem modificações nestas ontologias, acrescentando conceitos definidos na UFO-C.

Este trabalho defende a ideia de que, utilizando de uma ontologia de fundamentação (UFO-C) que estruture a organização dos conceitos mais primitivos de um domínio social, seja possível evitar possíveis erros de modelagem, ou seja, que utilizando a UFO-C, seria possível verificar a falta de conceitos em uma modelagem (conceitos ocultos), bem como possíveis relacionamentos errôneos.

Principais ideias
  • Uso da UFO-C como premissa para modelagem de ontologias cujo domínio seja de estruturas sociais. 
  • Utilização de padrões ontológicos para modelagem (uso de ontologias de fundamentação);

Aspectos Positivos
  • Demonstrar a possibilidade de se descobrir conceitos não "percebidos" durante a modelagem, apenas utilizando uma ontologia de fundamentação como premissa de modelagem (Design Patterns);
  • Demonstrar a aplicabilidade da UFO-C em um domínio real.
Aspectos Negativos
  • Faltou demonstrar uma ontologia usando OntoUML, facilitaria a leitura.
Ideias que surgiram com a leitura
  • A facilidade que pode se tornar a modelagem, tendo como base os padrões de modelagem ontológica (Design Patterns).

terça-feira, 18 de junho de 2013

Terceira Aula: UFO 

Ontologia como método de análise:

Surgiu com a intenção de representar os processos comuns de fundamentos presentes em normas de engenharia de software através de ontologias. Conceitos como os de recurso, processo, risco gerência de configuração e qualidade. O estudo evoluiu na área de engenharia de software para um nível genérico em que a intenção era construir ambientes que geravam ambientes, ou seja, criando ambientes semânticos de suporte (ODE). Então a abordagem que foi utilizada baseou-se na consulta a especialistas e modelos de referência para o desenvolvimento da ontologia de engenharia de software. Porém verificou-se que quando essas ontologias quando passadas pra UFO apresentavam inconsistências, o que demonstra a importância de se utilizar uma ontologia de fundamentação nesse processo. 

Ontologia como Modelo de Referência:

Quando se tenta integrar diferentes padrões de diferentes abordagens, ocorre que na maioria dos casos mantem-se os vícios de cada uma. A análise sobre as relações entre os conceitos presentes nos modelos que se deseja integrar podem servir de base para solucionar as questões de competência. Através da análise e correção dos problemas semânticos se consegue promover a interoperabilidade

Classificação das Ontologias 

< ------------------------------I-------------------I-----------------------I--->
Fundamentação                   Core                     Domínio               Aplicação
{UFO, DOLCE}               {Serviço}           {Processo Software}    {G1}


UFO - A:

         (fonte:  GUIZZARDI, 2010 ¹)        



UFO possibilita a expressão de propriedades contraditórias do mesmo indivíduo por diferenciar os QUA de determinado tipo. Pode-se dizer que Romário qua jogador é bom mas Romário qua deputado é ruim. Logo existem atributos que Romário assume devido ao papel que exerce. Os sortais anti-rigidos role e phase especializam um sortal rigido de acordo com uma propriedade intrínseca ou de acordo com alguma relação com outros sortais. 

Relações:
Relações binárias ou ternárias em UML escondem informações importantes, que precisam ser explicitadas através dos relators e das relações de mediação e suas respectivas cardinalidades. A relação material é somente uma relação derivada das relações de mediação. 


UFO - B

A UFO - B trata de eventos que acontecem no tempo.

O evento casamento é dividido em partes que o caracterizam. Como por exemplo o aceite dos noivos. 
A palavra sim de ambos representa um conjunto de atribuições. Eventos podem ser interpretados em diferentes visões. Pode-se falar sobre o evento que está programado, sobre o acontecimento em sí ou sobre os artefatos. Eventos tem participações e podem ser relacionados a 7 diferentes tipos d ordenação temporal:
antes, depois , etc...Eventos também podem causar outros eventos. É de onde surge a ideia de causalidade. 



1 disponível em  http://www.inf.ufes.br/~gguizzardi/TAO-CR.pdf

segunda-feira, 10 de junho de 2013

Segunda Aula: Interoperabilidade Semântica

A interoperabilidade semântica é um problema comum que ocorre em função da ambiguidade de termos e em outras situações do amplo significado de alguns conceitos.  Quando se deseja integrar sistemas, por exemplo, é comum encontrarmos problemas complexos de serem resolvidos se não houver uma análise detalhada das relações entre as entidades de cada modelo.

O Papel das Ontologias de Fundamentação

As ontologias de fundamentação são utilizadas para resolver o problema da interoperabilidade semântica. Encontram-se num meta-nível e provem semântica para apoiar o desenvolvimento de ontologias de domínio. As linguagens que descrevem essas ontologias devem basear-se nos meta-conceitos da ontologia de fundamentação. Assim ocorre com a OntoUML que baseia-se na Ontologia de fundamentação UFO.

Os diferentes significados de Petróleo

Um termo comum como o petróleo tinha diversos significados nos diferentes níveis organizacionais.  Sendo assim não bastava somente criar ontologias OWL que ligassem as classes com mesmo nome, como se fossem a mesma coisa. Era preciso entender que o petróleo assumia papéis diferentes em cada situação.

Sugestão de Notícias 

Precisava-se sugerir temos correlacionados aos das noticias do site. Sendo assim precisava-se separar entidades que fossem as mesmas, mas que surgissem em contextos diferentes. Como exemplo o jogador, deputado e cidadão Romário. Um leitor que lê uma notícia sobre o jogador Romário, provavelmente não estará interessado nas notícias do deputado Romário. Sendo assim, é preciso separar os papéis para poder gerar boas sugestões. Uma estrutura em que uma pessoa possa assumir o papel de Jogador ao assinar contrato com um time e também assumir o papel de político ao ser eleito em um cargo do legislativo é uma solução ontológica para esse caso.

Orçamento em diferentes contextos

O termo orçamento aparecia na ontologia organizacional, ontologia de contratos e ontologia orçamentária. Em função disso as consultas que eram feitas considerando as diferentes ontologias, com o termo orçamento em comum, traziam resultados inconsistentes. Para solucionar esse problema bastava especializar o kind orgão em três diferentes roles de orçamento.

Como desenvolver Ontologias?

Modelo Conceitual -> Design -> Implementação

OWL, F-Logic e Alloy.

Para saber qual o ideal, é importante saber o grau de representatividade que se deseja e quais as características que se deseja da aplicação. Se não deseja-se utilizar os recursos da web-semântica não deveria-se usar OWL.




terça-feira, 4 de junho de 2013

Aspectos da Primeira Aula

- O QUE SÃO ONTOLOGIAS?
Ontologias expressam as conceitualizações relacionadas de forma fidedigna ao universo que se deseja descrever através de um modelo.

- ONTOUML
O grau de expressividade da ontologia depende da linguagem de modelagem utilizada. ONTOUML  é uma linguagem para representação de ontologias que  herda conceitos da ontologia de fundamentação UFO e  da linguagem UML. 

- Relações OntoUML

Relações materiais dependem de um evento que gera evidências que servem de referência para a relação em si. Por exemplo a relação de casamento. Essas são ligadas por relators

Relações formais dependem de elementos intrínsecos as entidades envolvidas.  

-  UFO

A UFO é dividida em três classes:

  • UFO A trata da estrutura dos objetos.
  • UFO B  trata dos eventos e suas perdurações.
  • UFO C  trata de agentes institucionais.

Autores: Cássio Reginato e Victor Amorim