View
224
Download
7
Category
Preview:
Citation preview
Um Estudo Comparativo de Ontologias de Processo de
Software
Marcelo José Siqueira Coutinho de AlmeidaProg. de Pós-Graduação em Informática – Cin/UFPE
Doutorado em Computação Inteligente – 2008.2mjsca@cin.ufpe.br
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 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 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 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 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, 2006– Liao et al., 2005
• Estabelecer comparações• Apresentar conclusões
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:
Aula
Professor
Disciplina
Turma
Alunoensina
tem
Comparece à
matricula em
dá
Aluno02
Aluno01
INF011
INF012
Disc01
Prof01
Instância de
Instância de
Instância de
Instância de
Instância de
Instância de
Nome: João Mat: 1000CRE: 7.0
Nome: José Mat: 2000CRE: 8.0
atributos
atributos
Data: 11/11/08 Assunto: JavaURL: ...
atributos
Nome: ManoelMat: 111Formação: CC
É um
Orientador Orienta
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 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).
Agentes
Visão de um SBC
Interface de Acesso(Queries)
RACIOCÍNIO RACIOCÍNIO AUTOMÁTICAUTOMÁTIC
OO
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– OntoAgile– RapidOWL
Engenharia de Ontologias
• Ferramentas– JENA (Hewllet-Packard)– Pellet – OKBC– Protégé (Stanford University)
Ontologias e Web Semântica
Uma Ontologia de Uma Ontologia de Qualidade de SoftwareQualidade de Software
Katia Duarte e Ricardo FalboDepartamento de Computação
Universidade Federal do Espírito Santo, Brasil.
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
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 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: 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 Estrutura
Uma Ontologia de Qualidade de Software• Aspecto 1: Características de qualidade: Natureza e Estrutura
Dicionário de Termos: Ontologia de Qualidade.
Dicionário de Termos: Ontologia de Processo.
Uma Ontologia de Qualidade de Software
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 qualidadecarqdirm: característica de qualidade indiretamente mensurável
Uma Ontologia de Qualidade de Software
• Aspecto 2 : Como Medir
Uma Ontologia de Qualidade de Software
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 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 OntologySoftware Process Ontology
Li Liao, Yuzhong Qu e Hareton K. L. LeungDept. of Computer and Engineering
Southest University, China.
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– BOOTSTRAP– CMMI– Trillium
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• 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
ExtensãoExtensão
Atividade ISO/IEC 15504
Prática CUS.3.BP4
Atividade CMMIPrática
REQM.SP.1.3-1
“Capturar todos os requisitos e todas
mudanças de requisitos”
Taxonomia dos Componentes dos Modelos
Comparação: CMMI e ISO/IEC 15504
Gráfico RDF da SPO
Process
CompositeProcess
owl:Thing
BasicProcess
Practice
BasicPractice AtomicPractice1+
1+
hasPractice
AP1 APn...
includeProcess
processAttribute
hasProcess
ProcessCategory
belongToCategory
Organization
rdfs:SubclassOfincludePratice
rdfs:SubclassOf
rdfs:SubclassOf
rdfs:SubclassOf
Gráfico RDF da CMMI-Onto
Process
CompositeProcess
owl:Thing
BasicProcess
Practice
BasicPractice AtomicPractice1+
1+
hasPractice
AP1APn...
includeProcess
processAttribute
hasProcess
ProcessCategory
belongToCategory
Organization
rdfs:SubclassOfincludePratice
rdfs:SubclassOf
rdfs:SubclassOf
rdfs:SubclassOf
REQM CM...
rdfs:SubclassOf
REQM.SG1
CM.SG3...
rdfs:SubclassOfREQM1.SP1.
1-1
CM1.SP1.1
-1...
rdfs:SubclassOf
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):– Favorece utilização
• Utiliza linguagens de Representação do Conhecimento bastante conhecidas (padrões W3C): 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 OntologyCMMI-SW Ontology
Golkhan Halit Soydan and Mieczyslaw M. KokarDepartament of Eletrical and Computer Engineering
Northeastern University, USA.
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 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
Nível de Topo<owl:Class rdf:ID="Maturity_Level_5"> <owl:equivalentClass> <owl:Class> (…)
<owl:Restriction> <owl:someValuesFrom> <owl:Class rdf:about="#Decision_Analysis_and_Resolution"/> </owl:someValuesFrom> <owl:onProperty> <owl:ObjectProperty rdf:about="#consistsOf"/> </owl:onProperty> </owl:Restriction> <owl:Restriction> <owl:someValuesFrom rdf:resource="#Integrated_Project_Management"/> <owl:onProperty> <owl:ObjectProperty rdf:about="#consistsOf"/> </owl:onProperty> </owl:Restriction> </owl:intersectionOf> </owl:Class> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:someValuesFrom> <owl:Class rdf:about="#Organizational_Process_Definition"/> </owl:someValuesFrom> <owl:onProperty> <owl:ObjectProperty rdf:about="#consistsOf"/> </owl:onProperty> </owl:Restriction>
Nível Secundário
Relacionamento entre Subclasses
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:• ConsVISor (consistência), BaseVISor, Pellet e Racer
(raciocinadores).
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 Processo
Clareza Razoável Boa Muito Boa
Expressividade Fraco Razoável Muito Boa
Abragência Ampla Boa Limitado
Modelos Nenhum Específico CMMIISO/IEC 15504
CMMI-SW
Implementação LINGO RDF / OWL OWL
Reusabilidade Limitada Boa Boa
Objetivo Apoio ao controle da qualidadeTutorial Online
Integração de vocabulário
Suporte ao Processo de AvaliaçãoOtimização de Processos
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 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 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 - CSITeA'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, 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:1383-7621.
• Gaševic, D., Djuric, D. and Devedžic, V. (2006b), “The Tao of Modeling Spaces”, Journal of Object Technology, available in http://www.jot.fm/issues/issue_2006_11/article4/article4.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, ISWC2005 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..
Recommended