Um Estudo Comparativo de Ontologias de Processo de

  • Slides: 56
Download presentation

Um Estudo Comparativo de Ontologias de Processo de Software Marcelo José Siqueira Coutinho de

Um Estudo Comparativo de Ontologias de Processo de Software Marcelo José Siqueira Coutinho de Almeida Prog. de Pós-Graduação em Informática – Cin/UFPE Doutorado em Computação Inteligente – 2008. 2 mjsca@cin. ufpe. br

Agenda • • • Introdução Motivação Objetivos Conceitos Básicos de Ontologias SPO CMMI-SW Comparações

Agenda • • • Introdução Motivação Objetivos Conceitos Básicos de Ontologias SPO CMMI-SW Comparações Conclusões Referências

Conhecimento é o entendimento de uma área de um determinado assunto. (Durkin, 1994). Conhecimento

Conhecimento é o entendimento de uma área de um determinado assunto. (Durkin, 1994). Conhecimento inclui conceitos e fatos sobre um determinado assunto, assim como as relações entre esses conceitos e os mecanismos sobre como combiná-los para resolver problemas naquela área (Gazevic et al. , 2006).

Introdução • Nos últimos anos, ontologias vêm sendo utilizadas nos mais diferentes tipos de

Introdução • Nos últimos anos, ontologias vêm sendo utilizadas nos mais diferentes tipos de aplicações: – – Bancos de Dados (Integração de Esquemas) Redes de Computadores (Gerência de Redes) Sistemas Distribuídos (Web Services Semânticos). Engenharia de Software (Especificação de Requisitos, Análise e Projeto, etc. )

Motivação • Ontologias podem contribuir com a Qualidade dos Processos de Software: – Construção

Motivação • Ontologias podem contribuir com a Qualidade dos Processos de Software: – Construção de um modelo semântico que acompanhe todo o ciclo de vida do software durante o desenvolvimento ou que represente formalmente os processos da organização. – Implantação de programas de qualidade fornecendo um vocabulário comum entre especialistas e entre estes e os demais usuários da organização. – Integração de diferentes modelos de qualidade de software.

Objetivos • Analisar e compreender como as ontologias podem ser utilizadas no contexto da

Objetivos • Analisar e compreender como as ontologias podem ser utilizadas no contexto da Qualidade de Processos de Software, bem como poder elencar quais são suas possíveis vantagens e desvantagens.

Abordagem • Coletar e examinar alguns trabalhos abordados nas referências: – Soydan e Kokar,

Abordagem • Coletar e examinar alguns trabalhos abordados nas referências: – Soydan e Kokar, 2006 – Liao et al. , 2005 • Estabelecer comparações • Apresentar conclusões

Ontologia • É a ciência do ser (Aristóteles). • É a especificação formal e

Ontologia • É a ciência do ser (Aristóteles). • É a especificação formal e explícita de uma conceitualização compartilhada (Gruber, 1993). • Define as classes, propriedades, relacionamentos, funções e axiomas de um determinado domínio (Gomés-Pérez et al. , 2006).

Exemplo de uma Ontologia • Ambiente de Ensino: atributos Data: 11/11/08 Assunto: Java URL:

Exemplo de uma Ontologia • Ambiente de Ensino: atributos Data: 11/11/08 Assunto: Java URL: . . . Instância de INF 011 Disc 01 Instância de Disciplina tem Aula INF 012 Instância de Turma dá Nome: Manoel Mat: 111 Formação: CC Comparece à Aluno 01 Professor ensina Instância de Prof 01 atributos matricula em Aluno Instância de É um Orienta dor Nome: João Mat: 1000 CRE: 7. 0 atributos Instância de Orienta Aluno 02 Nome: José Mat: 2000 CRE: 8. 0

Exemplo de uma Ontologia • Axioma – Uma propriedade que é assumida como verdadeira

Exemplo de uma Ontologia • Axioma – Uma propriedade que é assumida como verdadeira em um dado domínio e momento. – Exemplos: • Um corpo não pode estar em dois lugares no mesmo instante. • Para se criar uma turma é preciso que pelo menos cinco alunos se matriculem nela. – Linguagens de Representação do Conhecimento são utilizadas para representar o conjunto de axiomas: • Linguagens Clássicas de Primeira Ordem • Linguagem de Descrição Lógica (OWL, LOOM) • Linguagens de Restrição (OCL / UML)

Utilidade de uma Ontologia • Ajudar as pessoas a compreender melhor uma certa área

Utilidade de uma Ontologia • Ajudar as pessoas a compreender melhor uma certa área de conhecimento (Reforço); • Ajudar as pessoas a atingir um consenso no seu entendimento sobre uma área de entendimento (Comunicação); • Ajudar outras pessoas a compreender uma certa área de conhecimento (Aprenzidado).

Visão de um SBC Agentes Interface de Acesso (Queries) RACIOCÍNIO AUTOMÁTICO Sistema Especialista Base

Visão de um SBC Agentes Interface de Acesso (Queries) RACIOCÍNIO AUTOMÁTICO Sistema Especialista Base de Conhecimento (ex. Ontologia)

Engenharia de Ontologias • Conjunto de atividades relacionadas com: – O processo de desenvolvimento

Engenharia de Ontologias • Conjunto de atividades relacionadas com: – O processo de desenvolvimento de ontologias. – O ciclo de vida da ontologia – Ferramentas e linguagens que apóiam seu desenvolvimento e uso

Engenharia de Ontologias • Metodologias – – – Cyc TOVE Methontology 101 Onto. Agile

Engenharia de Ontologias • Metodologias – – – Cyc TOVE Methontology 101 Onto. Agile Rapid. OWL

Engenharia de Ontologias • Ferramentas – – JENA (Hewllet-Packard) Pellet OKBC Protégé (Stanford University)

Engenharia de Ontologias • Ferramentas – – JENA (Hewllet-Packard) Pellet OKBC Protégé (Stanford University)

Ontologias e Web Semântica

Ontologias e Web Semântica

Uma Ontologia de Qualidade de Software Katia Duarte e Ricardo Falbo Departamento de Computação

Uma Ontologia de Qualidade de Software Katia Duarte e Ricardo Falbo Departamento de Computação Universidade Federal do Espírito Santo, Brasil.

Uma Ontologia de Qualidade de Software • Desenvolvido por (Duarte e Falbo, 2002) •

Uma Ontologia de Qualidade de Software • Desenvolvido por (Duarte e Falbo, 2002) • Motivação: – Programas de qualidade são compostos por uma grande quantidade de conceitos, termos, relações, regras, etc. – Não existe consenso em torno da terminologia utilizada, o que prejudica a definição de um programa de qualidade.

Uma Ontologia de Qualidade de Software • Desenvolvimento: – Modelo construído usando LINGO (LINGuagem

Uma Ontologia de Qualidade de Software • Desenvolvimento: – Modelo construído usando LINGO (LINGuagem Gráfica para descrever Ontologias) (Falbo, 1998) – Dicionário de Termos – Axiomas em Linguagem de Primeira Ordem – Integração com uma ontologia de processos de software

Uma Ontologia de Qualidade de Software • Questões de Competência: 1. Qual é a

Uma Ontologia de Qualidade de Software • Questões de Competência: 1. Qual é a natureza de uma característica de qualidade? 2. Que características de qualidade são relevantes para um dado artefato, atividade ou processo? 3. Como uma característica de qualidade pode ser medida? 4. Que métricas podem ser usadas para quantificar uma dada característica?

Uma Ontologia de Qualidade de Software • Aspectos fundamentais identificados: – Características de qualidade:

Uma Ontologia de Qualidade de Software • Aspectos fundamentais identificados: – Características de qualidade: Natureza e Estrutura (questões 1 e 2) – Qualidade: Como Medir (questões 3 e 4)

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de qualidade: Natureza e

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de qualidade: Natureza e Estrutura

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de qualidade: Natureza e

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de qualidade: Natureza e Estrutura Dicionário de Termos: Ontologia de Qualidade.

Uma Ontologia de Qualidade de Software Dicionário de Termos: Ontologia de Processo.

Uma Ontologia de Qualidade de Software Dicionário de Termos: Ontologia de Processo.

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de Qualidade: Natureza e

Uma Ontologia de Qualidade de Software • Aspecto 1: Características de Qualidade: Natureza e Estrutura – Axiomas: cq: característica de qualidade. subcarq: subcaracterística de qualidade carqdirm: característica de qualidade indiretamente mensurável

Uma Ontologia de Qualidade de Software • Aspecto 2 : Como Medir

Uma Ontologia de Qualidade de Software • Aspecto 2 : Como Medir

Uma Ontologia de Qualidade de Software

Uma Ontologia de Qualidade de Software

Uma Ontologia de Qualidade de Software • Usos da Ontologia: – Desenvolvimento de uma

Uma Ontologia de Qualidade de Software • Usos da Ontologia: – Desenvolvimento de uma ferramenta que disponibiliza um tutorial sobre Qualidade de Software. – Ferramenta CASE de apoio ao planejamento e controle da qualidade de sistemas Orientado a Objetos.

Comentários • LINGO não apresenta qualquer diferencial semântico em relação às diferentes linguagens de

Comentários • LINGO não apresenta qualquer diferencial semântico em relação às diferentes linguagens de modelagens existentes (p. ex. UML). – Baixa expressividade com usuários de UML • Falta de comprometimento com padrões de qualidade tais como CMMI ou ISO/IEC 15504. – Necessidade ser estendido.

Software Process Ontology Li Liao, Yuzhong Qu e Hareton K. L. Leung Dept. of

Software Process Ontology Li Liao, Yuzhong Qu e Hareton K. L. Leung Dept. of Computer and Engineering Southest University, China.

SPO (Software Process Ontology) • Abordagem baseada em ontologias para expressar processos de software

SPO (Software Process Ontology) • Abordagem baseada em ontologias para expressar processos de software em um nível conceitual. • Características: – – Semântica rica Estensibilidade Reusabilidade Baixo custo

Motivação • Atualmente existem inúmeros modelos de processos de software: – – ISO/IEC 15504

Motivação • Atualmente existem inúmeros modelos de processos de software: – – ISO/IEC 15504 BOOTSTRAP CMMI Trillium

Motivação • Problema: – Descrição formal dos modelos de processos • Quase todos os

Motivação • Problema: – Descrição formal dos modelos de processos • Quase todos os modelos de processos existentes são empíricos ou descritivos: ausência de uma descrição formal e rigorosa • Avaliação dos processos por meio de checklist • Ambigüidade, instabilidade, subjetividade excessiva e imprecisão (Conradi e Fuggeta, 2002) – Solução: • Ontologias podem eliminar confusão conceitual e terminológica, e fornecer uma representação especializada do vocabulário • Conceitos e termos unificados permitem compartilhamento do conhecimento e o torna mais claro

Motivação • Problema: – Compatibilidade e Transformabilidade • Fundamentais para as organizações de software

Motivação • Problema: – Compatibilidade e Transformabilidade • Fundamentais para as organizações de software • Compatibilidade entre os diferentes modelos de processos correntes e os resultados das avaliações (Lopez, 2001) – Solução: • Criação de ontologias para os processos correntes e utilização de técnicas de alinhamento torna desnecessária a realização de ajustes nos modelos. • As ontologias permitem que os resultados das avaliações para diferentes processos sejam comparados.

Arquitetura Abstrata Modelo de Prática Atômica (MPA) “Capturar todos os requisitos e todas mudanças

Arquitetura Abstrata Modelo de Prática Atômica (MPA) “Capturar todos os requisitos e todas mudanças de requisitos” CMMI ISO/IEC 15504 Extensão Atividade ISO/IEC 15504 Prática CUS. 3. BP 4 Atividade CMMI Prática REQM. SP. 1. 3 -1

Taxonomia dos Componentes dos Modelos

Taxonomia dos Componentes dos Modelos

Comparação: CMMI e ISO/IEC 15504

Comparação: CMMI e ISO/IEC 15504

Gráfico RDF da SPO Organization Process. Category has. Process belong. To. Category process. Attribute

Gráfico RDF da SPO Organization Process. Category has. Process belong. To. Category process. Attribute owl: Thing has. Practice Process 1+ rdfs: Subclass. Of include. Pratice rdfs: Subclass. Of Composite. Proces s Practice 1+ Basic. Process rdfs: Subclass. Of Basic. Practice Atomic. Practice include. Process rdfs: Subclass. Of AP 1 . . . APn

Gráfico RDF da CMMI-Onto Organization Process. Category has. Process belong. To. Category process. Attribute

Gráfico RDF da CMMI-Onto Organization Process. Category has. Process belong. To. Category process. Attribute owl: Thing has. Practice Process Practice 1+ rdfs: Subclass. Of include. Pratice rdfs: Subclass. Of Composite. Proces s 1+ Basic. Process rdfs: Subclass. Of Basic. Practice Atomic. Practice include. Process rdfs: Subclass. Of REQM . . . CM rdfs: Subclass. Of REQM. SG 1 . . . CM. S G 3 rdfs: Subclass. Of REQM 1. SP 1. 1 -1 . . . CM 1. S P 1. 1 -1 rdfs: Subclass. Of AP 1 . . . APn

Uso das Ontologias • Uso da Ontologia – Ferramenta baseada em Web para avaliação

Uso das Ontologias • Uso da Ontologia – Ferramenta baseada em Web para avaliação de processos – Disponível em http: //www. cse. seu. edu. cn: 8080/spo/index. jsp

Comentários • Trabalho aborda dois dos principais modelos de avaliação (CMMI e ISO/IEC 15504):

Comentários • Trabalho aborda dois dos principais modelos de avaliação (CMMI e ISO/IEC 15504): – Favorece utilização • Utiliza linguagens de Representação do Conhecimento bastante conhecidas (padrões W 3 C): RDF e OWL: – Favorece aceitação e utilização por diversas ferramentas. • Não foi possível identificar detalhes a respeito da valiação da ontologia e do SBC.

CMMI-SW Ontology Golkhan Halit Soydan and Mieczyslaw M. Kokar Departament of Eletrical and Computer

CMMI-SW Ontology Golkhan Halit Soydan and Mieczyslaw M. Kokar Departament of Eletrical and Computer Engineering Northeastern University, USA.

Introdução • Desenvolvimento de um SBC de apoio à preparação de empresas para o

Introdução • Desenvolvimento de um SBC de apoio à preparação de empresas para o processo de avaliação do CMMI. – Baseado em ontologias. – Inicialmente apenas para tratar o CMMI-SW. • Capaz de responder a perguntas tais como: – Observado-se os processos atuais, a organização se encontra em que nível de maturidade? – Quais são os pontos que devem ser atendidos para que a organização atinja um determinado nível CMMI?

Motivação • Complexidade do modelo CMMI-SW – Grande quantidade de conceitos interrelacionados de muitas

Motivação • Complexidade do modelo CMMI-SW – Grande quantidade de conceitos interrelacionados de muitas formas. – Mesmo para especialistas, checar todo o processo é um processo muito tedioso. • Modelos podem sofrer alterações – P. ex. : um novo tipo de prática é aceito pela indústria ou um novo objetivo é identificado como necessário para satisfazer uma área de processo específica. – Especialistas precisariam ser retreinados a fim de dominar as novas práticas e as organizações se readaptarem às mudanças. • Pessoas estão propensas a erros – Ferramentas não são propensas a erros, são mais rápidas e apresentam um custo menos para serem utilizadas.

Representação Gráfica

Representação Gráfica

Nível de Topo <owl: Class rdf: ID="Maturity_Level_5"> <owl: equivalent. Class> <owl: Class> (…) <owl:

Nível de Topo <owl: Class rdf: ID="Maturity_Level_5"> <owl: equivalent. Class> <owl: Class> (…) <owl: Restriction> <owl: some. Values. From> <owl: Class rdf: about="#Decision_Analysis_and_Resolution"/> </owl: some. Values. From> <owl: on. Property> <owl: Object. Property rdf: about="#consists. Of"/> </owl: on. Property> </owl: Restriction> <owl: Restriction> <owl: some. Values. From rdf: resource="#Integrated_Project_Management"/> <owl: on. Property> <owl: Object. Property rdf: about="#consists. Of"/> </owl: on. Property> </owl: Restriction> </owl: intersection. Of> </owl: Class> <owl: Class> <owl: intersection. Of rdf: parse. Type="Collection"> <owl: Restriction> <owl: some. Values. From> <owl: Class rdf: about="#Organizational_Process_Definition"/> </owl: some. Values. From> <owl: on. Property> <owl: Object. Property rdf: about="#consists. Of"/> </owl: on. Property> </owl: Restriction>

Nível Secundário

Nível Secundário

Relacionamento entre Subclasses

Relacionamento entre Subclasses

Validação da Ontologia • Realização de vários casos de teste usando dados realistas: –

Validação da Ontologia • Realização de vários casos de teste usando dados realistas: – Resultados de avaliações do SEI Appraisal Program • Standard CMMI Appraisal Method for Process Improvement (SCAMP-ISM) – Conjuntos de dados de 15 organizações diferentes. • Para uma organização nível 5 foram criadas pelo menos 249 instâncias (nível 4: 231, nível 3: 213; nível 2: 93). – Várias ferramentas foram usadas: • Cons. VISor (consistência), Base. VISor, Pellet e Racer (raciocinadores).

Comentários • Trabalho atende a às principais atividades dentro da área de Qualidade: –

Comentários • Trabalho atende a às principais atividades dentro da área de Qualidade: – Avaliação do nível de maturidade – Otimização dos processos • Ferramenta pode auxiliar consultores na realização de suas tarefas • A ontologia se encontra disponível on-line, apesar de não haver qualquer informação sobre a ferramenta.

Comparações Duarte e Falbo Liao et al. Soydan e Kokar Domínio Software Processo Clareza

Comparações Duarte e Falbo Liao et al. Soydan e Kokar Domínio Software Processo Clareza Razoável Boa Muito Boa Expressividade Fraco Razoável Muito Boa Abragência Ampla Boa Limitado Modelos Nenhum Específico CMMI ISO/IEC 15504 CMMI-SW Implementação LINGO RDF / OWL Reusabilidade Limitada Boa Objetivo Apoio ao controle da qualidade Tutorial Online Integração de vocabulário Suporte ao Processo de Avaliação Otimização de Processos

Outros Trabalhos na Área: • Managing Software Process Knowledge (Borges e Falbo, 2002) •

Outros Trabalhos na Área: • Managing Software Process Knowledge (Borges e Falbo, 2002) • FMESP: Framework for the Modeling and Evaluation of Software Process (Garcia et al. , 2006) • An Ontology for Software Measurement (Bertoa et al. , 2006) • Engineering the Ontology for the SWEBOK: Issues and Techniques (Abran et al. , 2006)

Conclusões • Ontologias podem contribuir para a implantação de programas de qualidade de diversas

Conclusões • Ontologias podem contribuir para a implantação de programas de qualidade de diversas formas – Construção de modelos semânticos – Integração de vocabulários • Não foi possível identificar no presente estudo qualquer SBC comercial que realizasse as mesmas tarefas que aqueles aqui apresentados.

Referências • • Abran et al. , Engineering the Ontology for the SWEBOK: Issues

Referências • • Abran et al. , Engineering the Ontology for the SWEBOK: Issues and Techniques, in: Ontologies for Software Engineering and Software Technology, Springer, 2006. Aristóteles, Categorias, Editora Alternativa, 1ª Edição, 2005. Bertoa M. F. , Vallecillo, A. , and García, F. , An Ontology for Software Measurement, in: Ontologies for Software Engineering and Software Technology, Springer, 2006. Borges, L. M. S. , and Falbo, R. A. , Managing Software Process Knowledge, Proceedings of the International Conference on Computer Science, Software Engineering, Information Technology, e -Business, and Applications - CSITe. A'2002, pp. 227 - 232. Foz do Iguazu, Brazil, June 2002. Conradi, R. , Hagaseth, M. , Larsen, J. O. , et al. , EPOS: Object Oriented Cooperative Modeling, Software Process Modeling and Technology, pp. 33 -70, 1994. Duarte, K. C. e Falbo, R. A. , Uma Ontologia de Qualidade de Software, Anais do I Simpósio Brasileiro de Qualidade de Software, Gramado, RS, 2002. Durkin, J. , Expert Systems: Design and Development, Macmillan, New York, 1994. Falbo, R. A. , Integração de Conhecimento em um Ambiente de Desenvolvimento de Software, Tese de Doutorado, COPPE/UFRJ, Dezembro, 1998.

Referências • • • Garcia, F. , Piattini, M. , Ruiz, F. , Ganforra,

Referências • • • Garcia, F. , Piattini, M. , Ruiz, F. , Ganforra, G. , e Visaggio, C. A. , FMESP: framework for the modeling and evaluation of software processes, Journal of Systems Architecture: the EUROMICRO, Volume 52, Issue 11 (November 2006), Pages: 627 – 639, 2006, ISSN: 13837621. Gaševic, D. , Djuric, D. and Devedžic, V. (2006 b), “The Tao of Modeling Spaces”, Journal of Object Technology, available in http: //www. jot. fm/issues/issue_2006_11/article 4. pdf , last access in 21 october 2008. Goméz-Pérez , A. , Corcho, O. , and Fernandez-Lopez, M. , Ontological Engineering: With Examples from the areas of Knowledge Management, e-Commerce and the Semantic Web. First Edition (Advanced Information and Knowledge Processing), Springer, 2004. Gruber, T. , Towards principles for the design of ontologies used for knowledge sharing. Originally in N. Guarino and R. Poli, (Eds. ), International Workshop on Formal Ontology, Padova, Italy. Revised August 1993. Published in International Journal of Human-Computer Studies, Volume 43 , Issue 5 -6 Nov. /Dec. 1995, Pages: 907 -928, special issue on the role of formal ontology in the information technology. Li Liao, Yozhoung Qu and Hareton K. N. Leung, A Software Process Ontology and Its Application, ISWC 2005 Workshop on Semantic Web Enabled Software Engineering, 2005. Soydan, G. H. and Kokar, M. M. , An OWL Ontology for Representing the CMMI-SW Model, Paper presented at the International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), USA. .