REENGENHARIA DE UMA ONTOLOGIA DE PROCESSO …falbo/files/DissertacaoBringuenteAna.pdf · ana christina de oliveira bringuente reengenharia de uma ontologia de processo de software

  • Upload
    hadat

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

  • UNIVERSIDADE FEDERAL DO ESPRITO SANTO CENTRO TECNOLGICO

    DEPARTAMENTO DE INFORMTICA PROGRAMA DE PS-GRADUAO EM INFORMTICA

    ANA CHRISTINA DE OLIVEIRA BRINGUENTE

    REENGENHARIA DE UMA ONTOLOGIA DE PROCESSO DE SOFTWARE E SEU USO

    PARA A INTEGRAO DE FERRAMENTAS DE APOIO AO PLANEJAMENTO DE

    PROJETOS

    VITRIA 2011

  • ANA CHRISTINA DE OLIVEIRA BRINGUENTE

    REENGENHARIA DE UMA ONTOLOGIA DE

    PROCESSO DE SOFTWARE E SEU USO PARA A INTEGRAO DE FERRAMENTAS

    DE APOIO AO PLANEJAMENTO DE PROJETOS

    Dissertao de Mestrado apresentada ao Programa de Ps-Graduao em Informtica da Universidade Federal do Esprito Santo, como requisito parcial para obteno do Grau de Mestre em Informtica. Orientador: Prof. Dr. Ricardo de Almeida Falbo Co-orientador: Prof. Dr. Giancarlo Guizzardi

    VITRIA 2011

  • ANA CHRISTINA DE OLIVEIRA BRINGUENTE

    REENGENHARIA DE UMA ONTOLOGIA DE PROCESSO DE SOFTWARE E SEU USO

    PARA A INTEGRAO DE FERRAMENTAS DE APOIO AO PLANEJAMENTO DE

    PROJETOS

    COMISSO EXAMINADORA

    Prof. Dr. Ricardo de Almeida Falbo Departamento de Informtica - UFES Orientador

    Prof. Dr. Giancarlo Guizzardi Departamento de Informtica UFES Co-orientador

    Prof. Dr. Fernanda Baio Departamento de Informtica Aplicada UNIRIO

    Prof. Dr. Monalessa Perini Barcellos Departamento de Informtica UFES

    Vitria, 23 de agosto de 2011.

  • Ao Sinhozinho, Sinhazinha, Entojo e Pobre...

  • AGRADECIMENTOS

    FAPES (Fundao de apoio Cincia e Tecnologia do Esprito Santo), pelo

    apoio financeiro, viabilizado por meio da bolsa de mestrado.

  • RESUMO

    Com o crescimento do interesse na rea de integrao entre sistemas de

    software, surgiram abordagens que visam tratar este problema. De maneira geral, a

    integrao de sistemas pode ocorrer em quatro nveis: de hardware, de plataforma,

    sinttico e semntico. No nvel semntico, foco deste trabalho, durante o processo

    de integrao, o significado dos componentes envolvidos deve ser o mais claro

    possvel, ou seja, o significado pretendido dos conceitos no esquema de dados, nas

    assinaturas das operaes e dos servios deve ser explicitado. Neste contexto, uma

    ontologia de domnio pode ser utilizada para definir uma representao explcita

    dessa conceituao compartilhada e ser usada como referncia durante a

    integrao. Este trabalho aplicou a abordagem OBA-SI, uma abordagem de

    integrao semntica baseada em ontologia, para integrar na camada de dados

    ferramentas que apoiam o planejamento, controle e acompanhamento de projeto de

    software. Durante o processo de integrao, foi utilizada uma ontologia de processo

    de software, a SPO (Software Process Ontology) para adicionar semntica aos

    conceitos das ferramentas envolvidas nesse processo. Para servir adequadamente

    como um modelo de referncia, a SPO passou por um processo de reengenharia

    baseada na UFO (Unified Foundational Ontology), uma ontologia de fundamentao.

  • ABSTRACT

    The increasing interest in the area of integration between software systems has

    promoted the emergence of approaches to address this issue. In general, systems

    integration can occur at four levels, namely hardware, platform, syntactic and

    semantic levels. At the semantic level, which is the focus of this work, the meaning of

    the involved components must be as clear as possible during the integration process.

    In other words, the intended meaning of concepts in the data schema, operations

    signatures and services should be made explicit. In this context, a domain ontology

    can be used to define an explicit representation of this shared conceptualization and

    as reference during the integration process. This work applies the approach OBA-SI,

    which is an approach of ontology-based semantic integration, to integrate the data

    layer of the tools that support the software project planning, control and tracking.

    During the integration process, a software process ontology (SPO) is used to add

    semantics to the concepts of the tools involved in this process. In order to suitably

    serve as a reference model, the SPO has gone through a reengineering process

    based on UFO (Unified Foundational Ontology).

  • LISTA DE FIGURAS

    Figura 1 Conceitos disjuntos.................................................................................................20

    Figura 2 Interseo de Conceitos .........................................................................................20

    Figura 3- Smbolos iguais que representam conceitos contidos ...............................................21

    Figura 4 - Smbolos distintos com conceitos equivalentes ........................................................21

    Figura 5 Smbolos distintos com conceitos sobrepostos .......................................................22

    Figura 6 Smbolos distintos com conceitos contidos .............................................................22

    Figura 7 - Relacionamentos entre modelos de OBA-SI ............................................................26

    Figura 8 - Mapeamentos verticais e horizontais .......................................................................28

    Figura 9 UFO-A: Individual e Universal ................................................................................38

    Figura 10 UFO-A: Substantial e Moment ..............................................................................38

    Figura 11 UFO-A: Sortal .......................................................................................................39

    Figura 12 UFO-A: Tipos de moments ...................................................................................42

    Figura 13 UFO-A: Tipos de Relaes ...................................................................................42

    Figura 14 Viso geral dos conceitos da UFO-A.....................................................................44

    Figura 15 - UFO-B: Evento ......................................................................................................46

    Figura 16 - UFO-C: Distino entre Agente e Objeto ...............................................................47

    Figura 17 UFO-C: Intentional Moment ..................................................................................48

    Figura 18 - Tipos de comprometimento ...................................................................................49

    Figura 19 - UFO-C: Delegao. ...............................................................................................50

    Figura 20 - UFO-C: Ao. ........................................................................................................51

    Figura 21 Fragmento Ontologia de Processo de Software ....................................................54

    Figura 22 Reengenharia da Ontologia de Processo de Software ..........................................55

    Figura 23 Definio de Processo Padro ..............................................................................58

    Figura 24 Definio do Processo de Projeto. ........................................................................59

    Figura 25 - Definio do Processo de Projeto baseado em um Processo Padro.....................60

    Figura 26 Processo de Projeto Programado .........................................................................62

    Figura 27 - Recursos definidos para as atividades ...................................................................63

    Figura 28 Alocao de um recurso humano em um projeto ...................................................64

    Figura 29 Alocao de Recurso Humano em uma Atividade .................................................65

    Figura 30 Ocorrncia de Processo e de Atividade.................................................................66

    Figura 31 Participaes de Recursos na ocorrncia de atividades. .......................................67

    Figura 32 Verso atual da Ontologia de Processo de Software .............................................69

    Figura 33 Modelo conceitual Def-Pro Processo Padro .....................................................74

    Figura 34 - Modelo conceitual Def-Pro - Controle Processo .....................................................76

    Figura 35 Modelo conceitual AlocaODE................................................................................77

    Figura 36 Modelo conceitual ControlPro ...............................................................................79

    Figura 37 Modelo Conceitual Endeavour ..............................................................................80

    Figura 38 - Modelo de Integrao Definio de Processo Padro .........................................85

  • Figura 39 - Modelo de Integrao Definio de Processo de Projeto.....................................86

    Figura 40 - Modelo de Integrao Alocao de Recurso .......................................................87

    Figura 41 Modelo de Integrao Execuo da Atividade ....................................................88

    Figura 42 - Modelo de Integrao ............................................................................................89

  • SUMRIO 1 INTRODUO ........................................................................................................................................... 10

    1.1 OBJETIVOS ............................................................................................................................ 12

    1.2 HISTRICO DO DESENVOLVIMENTO DO TRABALHO ......................................................... 13

    1.3 ORGANIZAO DO TRABALHO ............................................................................................ 14

    2 INTEGRAO SEMNTICA ...................................................................................................................... 15

    2.1 INTEROPERABILIDADE ......................................................................................................... 16

    2.1.1 Nveis de integrao................................................................................................................ 18

    2.2 ABORDAGENS DE INTEGRAO SEMNTICA .................................................................... 23

    2.2.1 OBA-SI: Ontology-Based Approach For Semantic Integration .................................................. 24

    2.3 PLANEJAMENTO DE PROJETO E PROCESSO DE SOFTWARE ........................................... 30

    2.3.1 Ferramentas de Apoio ao Planejamento de Processo de Software .......................................... 32

    2.4 CONSIDERAES FINAIS ..................................................................................................... 34

    3 A ONTOLOGIA DE FUNDAMENTAO UNIFICADA ................................................................................ 36

    3.1 UFO-A ................................................................................................................................ 37

    3.2 UFO-B ................................................................................................................................ 45

    3.3 UFO-C ................................................................................................................................ 46

    4 REENGENHARIA BASEADA NA UFO DA ONTOLOGIA DE PROCESSO DE SOFTWARE ....................... 52

    4.1 ONTOLOGIA DE PROCESSO................................................................................................. 53

    4.2 REENGENHARIA DA ONTOLOGIA DE PROCESSO .............................................................. 56

    4.2.1 Definio do Processo Padro ................................................................................................ 56

    4.2.2 Definio do Processo de Projeto e Agendamento .................................................................. 58

    4.2.3 Tipos de Recurso .................................................................................................................... 62

    4.2.4 Alocao de Recursos Humanos ............................................................................................. 63

    4.2.5 Ocorrncia de Atividade .......................................................................................................... 65

    4.3 CONSIDERAES FINAIS ..................................................................................................... 68

    5 INTEGRANDO CONCEITUALMENTE FERRAMENTAS DE APOIO AO PLANEJAMENTO DE PROJETOS DE SOFTWARE ........................................................................................................................... 71

    5.1 MODELOS CONCEITUAIS ESTRUTURAIS DAS FERRAMENTAS ......................................... 73

    5.1.1 Modelo Conceitual Estrutural de Def-Pro ................................................................................. 74

    5.1.2 Modelo Conceitual Estrutural de AlocaODE ............................................................................. 77

    5.1.3 Modelo Conceitual Estrutural de ControlPro ............................................................................ 78

    5.1.4 Modelo Conceitual Estrutural de Endeavour ............................................................................ 79

    5.2 MAPEAMENTOS VERTICAIS ................................................................................................. 81

    5.3 MODELO DE INTEGRAO ................................................................................................... 84

    5.4 CONSIDERAES FINAIS ..................................................................................................... 90

    6 CONCLUSO ............................................................................................................................................ 92

    6.1 TRABALHOS FUTUROS ......................................................................................................... 94

    REFERNCIAS.......................................................................................................................................... 97

  • 10

    1 INTRODUO

    O gerenciamento de projetos envolve a aplicao de conhecimento,

    habilidades, ferramentas e tcnicas s atividades do projeto, a fim de atender aos

    seus requisitos. Um projeto um empreendimento integrado e requer que cada um

    de seus processos seja alinhado e conectado de forma apropriada com os outros

    processos para facilitar sua coordenao. As aes adotadas durante um processo

    em geral afetam, alm do processo em si, outros processos relacionados. O

    gerenciamento de projetos bem sucedido inclui gerenciar ativamente essas

    interaes para cumprir os requisitos das partes interessadas (PMI, 2008).

    Entre os processos de um projeto, podemos destacar os processos de

    Planejamento de Projeto e Acompanhamento e Controle de Projeto. Durante o

    planejamento do projeto, o processo do projeto deve ser definido, o cronograma

    estabelecido, bem como um plano de recursos humanos. Baseado neste

    planejamento, com o projeto em andamento, necessrio acompanhar e controlar o

    projeto, verificando se o planejamento est sendo cumprido, se ele precisa ser

    revisto e o que deve ser feito para corrigir eventuais desvios.

    No contexto de projetos de software, durante o planejamento do projeto,

    processos de software padro so utilizados como base para a definio de

    processos de projeto. Uma vez que os processos de projeto esto definidos,

    necessrio definir a equipe do projeto, quais os papis que um recurso humano vai

    desempenhar em uma determinada atividade, quais os tipos de recursos requeridos

    e assim por diante. Durante a execuo do projeto, as atividades devem ser

    controladas e monitoradas, registrando seu tempo de durao e a participao de

    cada recurso humano na atividade, bem como o esforo por ele despendido.

    Geralmente, diferentes ferramentas so usadas para apoiar tais tarefas.

    Considerando que essas tarefas so iterativas e inter-relacionadas, idealmente

    essas ferramentas devem interoperar para apoiar efetivamente os processos de

    gerncia de projeto.

  • 11

    De maneira geral, a integrao de sistemas pode se dar em trs camadas

    diferentes (IZZA, 2009): a integrao na camada de dados lida com a troca de dados

    entre os aplicativos; a integrao na camada de mensagens ou servios trata da

    troca de mensagens e servios entre os sistemas; por fim, a integrao na camada

    de processo responsvel por tratar o fluxo de mensagens, regras de execuo e

    definir o processo de execuo global.

    A integrao pode acontecer, ainda, em diferentes nveis. O nvel de hardware

    envolve diferentes computadores, redes de computadores, etc. O nvel de plataforma

    trata de sistemas operacionais, sistemas de bancos de dados, etc. O nvel sinttico

    refere-se a como os modelos de dados e as assinaturas das operaes so escritos.

    Por fim, o nvel semntico abrange o significado pretendido dos conceitos no

    esquema de dados e nas assinaturas das operaes. Cada um dos nveis

    construdo sobre o anterior, de modo que no faz sentido falar em integrao no

    nvel sinttico se no existe integrao no nvel de plataforma (IZZA, 2009).

    Para que as ferramentas trabalhem em conjunto de forma satisfatria,

    necessrio que elas compartilhem uma conceituao sobre o domnio de processos

    de software. Neste contexto, uma ontologia de domnio pode ser utilizada para

    definir uma representao explcita dessa conceituao compartilhada.

    Uma ontologia pode ser definida como uma especificao de um vocabulrio

    para representao de um domnio compartilhado de discurso (GUIZZARDI, 2005).

    Em outras palavras, uma ontologia um modelo de domnio, composto por um

    conjunto de conceitos e relaes. Uma ontologia til para fornecer uma

    compreenso clara sobre um determinado domnio.

    Contudo, para servir adequadamente como um modelo de referncia, uma

    ontologia de domnio deve ser construda usando uma abordagem que leve em

    conta explicitamente conceitos de fundamentao. Uma ontologia de domnio de

    referncia tem o propsito de representar um domnio de discurso com clareza,

    veracidade e expressividade, sem considerar requisitos computacionais. O principal

    objetivo desse modelo de referncia ajudar modeladores a externalizar seu

    conhecimento sobre o domnio, tornando seus comprometimentos ontolgicos

    explcitos, de modo a apoiar a negociao de significado e melhorar a comunicao,

  • 12

    aprendizado e resoluo de problemas no domnio. Para que atinja tais objetivos,

    uma ontologia de referncia deve ser construda levando em conta uma ontologia de

    fundamentao (GUIZZARDI et al., 2008).

    1.1 OBJETIVOS

    Levando em considerao as motivaes apresentadas, o objetivo geral deste

    trabalho integrar conceitual e semanticamente ferramentas de apoio ao processo

    de Gerncia de Projetos de Software na camada de dados. Para a integrao ser

    utilizada, ento, uma ontologia de referncia do domnio de processos de software

    que considera as distines ontolgicas feitas em uma ontologia de fundamentao,

    a UFO (Unified Foundational Ontology) (GUIZZARDI, 2005) (GUIZZARDI et al.,

    2008).

    Esse objetivo geral pode ser detalhado nos seguintes objetivos especficos:

    Fazer a reengenharia da Ontologia de Processo de Software baseado na

    UFO:

    Uma vez que j existe uma ontologia de processos de software desenvolvida

    (BERTOLLO, 2006) e parcialmente alinhada aos conceitos da UFO

    (GUIZZARDI et al., 2008), um objetivo especfico desta dissertao avanar

    na reengenharia dessa ontologia. Essa reengenharia tem o intuito de

    explicitar os compromissos ontolgicos da ontologia de processos de

    software.

    Aplicar uma abordagem de integrao semntica para integrar

    conceitualmente as ferramentas escolhidas.

    Neste trabalho, tem-se como ponto de partida um conjunto inicial de

    ferramentas a serem integradas: as ferramentas de apoio ao processo de

    Gerncia de Projetos do ambiente ODE (Ontology-based software

    Development Environment) (FALBO et al., 2005). Assim, necessrio

    selecionar uma ferramenta de Gerncia de Projeto que atenda a requisitos

    tidos como necessrios para que o processo de Gerncia de Projetos de

  • 13

    Software seja atendido aps a integrao. Para a integrao, foi aplicada

    OBA-SI (CALHAU; FALBO, 2010), uma abordagem de integrao semntica

    de sistemas de informao.

    1.2 HISTRICO DO DESENVOLVIMENTO DO TRABALHO

    Para alcanar os objetivos listados na seo anterior, foram realizadas as

    atividades descritas a seguir.

    Inicialmente, foi feito um levantamento bibliogrfico relacionado ao tema

    Interoperabilidade Semntica. O intuito deste estudo foi levantar como o problema

    de interoperabilidade est sendo tratado pela comunidade cientfica. Durante este

    estudo notou-se que, apesar de existir um consenso sobre a importncia do uso de

    ontologias para a integrao semntica, pouco se relata sobre a qualidade dessas

    ontologias e como elas, de fato, devem ser usadas. Sendo assim, optou-se por, no

    apenas utilizar uma ontologia no processo de integrao, mas utilizar uma ontologia

    de domnio que fosse elaborada com base em uma ontologia de fundamentao.

    Uma vez que este trabalho visa discutir a integrao no nvel conceitual, foi de

    extrema importncia utilizar uma abordagem de integrao semntica que enfoque

    os aspectos no computacionais da integrao.

    Como as ferramentas a serem integradas so ferramentas que apoiam a

    gerncia de projetos de software, foi feito um estudo sobre este domnio. O estudo

    possibilitou reconhecer dentro do ambiente ODE quais eram os pontos que no

    eram devidamente apoiados pelas ferramentas e, consequentemente, quais os

    requisitos que a ferramenta externa deveria atender.

    Uma vez que as ferramentas seriam integradas no nvel conceitual, a

    ontologia utilizada como interlngua entre os modelos conceituais das ferramentas

    deveria ser construda de maneira a maximizar a expressividade na captura de

    aspetos fundamentais do domnio subjacente e tornar explcitos os compromissos

    ontolgicos. Para tal, a ontologia de processo de software passou por um processo

    de reengenharia baseado na UFO para atender a tais requisitos.

  • 14

    Com a ontologia de referncia e as ferramentas a serem integradas definidas,

    deu-se incio ao processo de integrao semntica de acordo com a abordagem

    OBA-SI.

    Parte dos resultados obtidos neste trabalho foram descritos em um artigo

    cientfico, o qual foi apresentado no XXVI Simpsio Brasileiro de Banco de Dados

    (SBBD 2011) e publicado no Journal of Information and Data Management JIDM.

    1.3 ORGANIZAO DO TRABALHO

    Esta dissertao est organizada em seis captulos. Alm deste captulo, que

    apresenta a Introduo, h mais cinco captulos com o seguinte contedo:

    Captulo 2 Integrao Semntica: apresenta uma reviso da literatura

    sobre Interoperabilidade Semntica e sobre o domnio de estudo desta

    dissertao: a Gerncia de Projetos de Software.

    Captulo 3 A Ontologia de Fundamentao Unificada: apresenta a

    ontologia de fundamentao UFO, fazendo uma breve explicao dos

    conceitos necessrios para este trabalho.

    Captulo 4 Reengenharia Baseada na UFO da Ontologia de Processo

    de Software: apresenta a reengenharia da ontologia de processo de

    Software baseada na UFO.

    Captulo 5 Integrando Conceitualmente Ferramentas de Apoio ao

    Planejamento de Projetos de Software: apresenta a iniciativa de

    integrao semntica no nvel conceitual, utilizando OBA-SI, realizada

    visando integrar as ferramentas do ambiente ODE com a ferramenta

    Endeavour.

    Captulo 6 Consideraes Finais: apresenta as concluses do

    trabalho, as contribuies, dificuldades e propostas de trabalhos futuros.

  • 15

    2 INTEGRAO SEMNTICA

    Atualmente, cresce a necessidade dos sistemas de informao interoperarem

    de forma a apoiarem os objetivos das organizaes. Podemos citar como uma das

    causas o crescente nmero de fuses entre empresas. Quando isso ocorre,

    sistemas que antes trabalhavam de forma independente passam a ter que trabalhar

    integrados para apoiar os processos de negcio satisfatoriamente. Podemos citar,

    ainda, ferramentas que executam tarefas complementares dentro de um processo

    como, por exemplo, ferramentas que apoiam diferentes fases do processo de

    desenvolvimento de software. Durante esse processo comum que artefatos

    produzidos em uma fase sejam consumidos por outra e, portanto, ideal que essas

    ferramentas sejam capazes de se comunicar entre si, sem a necessidade de

    interveno manual.

    Na busca por solues para o problema apresentado acima, tem-se

    despendido muito tempo e dinheiro. Em 2002, estimava-se que as grandes

    organizaes gastavam cerca de 40% do seu oramento destinado tecnologia com

    este problema e que isto aumentaria com o passar dos anos (SERAIN, 2002). Isto

    implicou no crescimento do interesse na rea de interoperabilidade e,

    consequentemente, surgiram abordagens que visam solucionar este problema. As

    abordagens diferenciam-se entre si, entre outros fatores, pelo nvel de

    interoperabilidade que se deseja entre os componentes de software.

    Este captulo aborda o problema de Interoperabilidade Semntica, bem como

    as possveis abordagens para a sua soluo. Ele est estruturado da seguinte

    forma: a Seo 2.1 apresenta o problema da falta de interoperabilidade; a Seo 2.2

    apresenta a abordagem de integrao semntica adotada neste trabalho; a Seo

    2.3 apresenta um cenrio de necessidade de integrao de ferramentas para apoiar

    o planejamento de projetos de software; e a Seo 2.4, por fim, apresenta as

    consideraes finais do captulo.

  • 16

    2.1 INTEROPERABILIDADE

    Interoperabilidade em um contexto amplo pode ser definida como a habilidade

    de operar em conjunto ou, mais especificamente no contexto de sistemas

    computacionais, como a capacidade de trocar dados e servios entre aplicativos ou

    componentes de aplicativos (VERNADAT 1996, WEGNER, 1996). Esses aplicativos,

    por sua vez, podem ser classificados de acordo com a heterogeneidade existente

    entre eles (IZZA et al. 2005). Heterogneo significa que cada aplicao implementa

    seu prprio modelo de dados e de processo. Quanto maior a diferena entre esses

    modelos, sejam por conflitos sintticos ou semnticos, mais difcil e complexo

    torn-los interoperveis (IZZA, 2009).

    H diversas dimenses de integrao que ajudam a caracterizar a noo de

    integrao e que podem ser usadas para classificar as abordagens de integrao.

    Izza (2009) prope quatro dimenses:

    Escopo da integrao: A integrao pode se dar dentro da organizao,

    envolvendo apenas aplicaes da mesma, ou entre organizaes,

    conectando aplicaes de diferentes parceiros.

    Pontos de vista da integrao: A integrao pode focar o ponto de vista do

    usurio, do projetista ou do programador. O ponto de vista do usurio

    preocupa-se as diferentes vises que especialistas de domnio e usurios

    de negcio tm. O ponto de vista do projetista enfoca os diferentes

    modelos usados durante o projeto de sistemas de informao (viso

    conceitual). Finalmente, o ponto de vista do programador refere-se

    implementao dos sistemas.

    Camadas de integrao: A integrao de aplicativos pode ocorrer em trs

    camadas: camada de dados, camada de mensagem ou servio e camada

    de processo. A camada de dados lida com a troca de dados entre vrios

    repositrios. Neste ponto, uma aplicao manipula os dados de outra

    aplicao diretamente no banco de dados, atravs de sua interface nativa,

    ignorando a lgica da aplicao. A integrao na camada de mensagens

  • 17

    ou servios ocorre quando duas ou mais aplicaes trocam mensagens

    entre si. Por fim, a ltima camada, a camada de processo constitui a

    integrao mais complexa, pois ela enxerga uma organizao como uma

    srie de processos relacionados e os sistemas responsveis pela

    execuo desse processo no podem ser vistos como ilhas de

    informaes. Dessa forma a integrao nessa camada responsvel por

    tratar o fluxo de mensagens, regras de execuo e definir o processo de

    execuo global.

    Nveis de integrao: Como dito anteriormente, a integrao pode

    acontecer em diferentes nveis, a saber: nvel de hardware, de plataforma,

    sinttico e semntico. O nvel de hardware envolve a integrao de

    diferentes computadores, redes de computadores etc. Neste nvel

    utilizado, por exemplo, protocolos de redes para que duas ou mais redes

    possam se comunicar. O nvel de plataforma trata de sistemas

    operacionais, sistemas de bancos de dados etc. O nvel sinttico refere-se

    ao modo como modelos de dados e assinaturas de operaes so

    escritos. Por fim, o nvel semntico abrange o significado pretendido dos

    conceitos no esquema de dados e nas assinaturas das operaes. Cada

    um dos nveis construdo sobre o anterior. Dessa forma, no faz sentido

    falar em integrao no nvel sinttico se no existe integrao no nvel de

    plataforma .

    Nesta dissertao, trabalha-se a integrao segundo o ponto de vista do

    projetista, na camada de dados e no nvel semntico. Interesse especial est nesta

    ltima dimenso, a qual discutida com mais detalhes a seguir.

  • 18

    2.1.1 Nveis de integrao

    Conforme discutido anteriormente, a integrao pode acontecer em diferentes

    nveis, a saber: nvel de hardware, plataforma, sinttico e semntico. Os de maior

    interesse para este trabalho so os nveis sinttico e semntico, os quais so

    discutidos mais detalhadamente nesta seo.

    2.1.1.1 Integrao Sinttica

    A sintaxe define uma lista de palavras vlidas em uma determinada linguagem

    e as regras que governam como essas palavras sero combinadas para que formem

    sentenas vlidas (POKRAEV, 2009). Dois ou mais sistemas esto integrados

    sintaticamente quando eles so capazes de trocar dados e servios. Para tal,

    essencial a especificao de protocolos de comunicao que descrevam como esta

    troca vai ocorrer. Podemos citar XML ou SQL como padres que proveem

    interoperabilidade sinttica.

    Quando dois sistemas esto integrados sintaticamente, possvel detectar

    erros sintticos como, por exemplo, chamar um servio passando um parmetro de

    tipo incompatvel com o esperado. Contudo, abordagens sintticas no preveem

    erros semnticos, onde a sintaxe est correta, contudo, a semntica no. Estudos

    apontavam em 2005 que 70% das tentativas de integrao que se limitavam a este

    nvel no eram bem sucedidas (HALLER et al, 2005).

    Lidar com o problema de integrao sinttica foge do escopo desta

    dissertao. Por esta razo ns focaremos no problema de interoperabilidade

    semntica

  • 19

    2.1.1.2 Integrao Semntica

    Semntica refere-se ao significado dos construtores sintticos em uma

    determinada linguagem. Para exemplificar o que semntica no contexto de

    sistemas computacionais, podemos pensar em um mtodo escrito em Java com a

    seguinte assinatura:

    public Double CalculaComprimentoCirculo (Double x);

    Este mtodo recebe como parmetro o raio de um crculo e calcula o

    comprimento do mesmo. Suponha um programador que utilizar este mtodo e que

    conhea a linguagem. Ele ser capaz de deduzir, apenas olhando, que o mtodo

    calcula o comprimento de um crculo. Contudo, uma vez que a semntica do

    parmetro x no est explcita, caber ao programador atribuir significado a esse

    parmetro. Tal situao pode trazer consequncias indesejadas, pois o programador

    pode entender que x representa o dimetro do crculo e usar incorretamente o

    mtodo. Desta forma, mesmo conhecendo a sintaxe da linguagem, ocorreria um

    erro, pois a semntica do parmetro no est explcita.

    Neste contexto, podemos definir semntica como sendo o mapeamento de

    um objeto de um sistema de informao para o objeto no mundo real que ele

    representa (POKRAEV, 2009). Desta forma, interoperabilidade semntica a

    capacidade de dois ou mais sistemas heterogneos e distribudos trabalharem em

    conjunto, compartilhando as informaes entre eles com entendimento comum de

    seu significado (BURANARACH, 2001).

    De acordo com Pokraev (2009), ao integrar dois sistemas, podemos ter os

    seguintes problemas de interoperabilidade semntica:

    i. Diferentes sistemas usam o mesmo smbolo para representar

    conceitos disjuntos.

    Por exemplo, um sistema usa o smbolo Amazonas para

    representar o conceito estado venezuelano, enquanto outro sistema

  • 20

    usa o mesmo smbolo para representar o conceito estado brasileiro

    (Figura 1).

    Sistema 1 Sistema 2

    Amazonas Amazonas

    estado venezuelano

    estado

    brasileiro

    Figura 1 Conceitos disjuntos

    ii. Diferentes sistemas usam o mesmo smbolo para representar

    conceitos que se sobrepe.

    Por exemplo, um sistema usa o smbolo animal para representar

    o conceito animal mamfero, enquanto outro sistema usa o mesmo

    smbolo para representar o conceito animal carnvoro. Uma vez que

    nem todos mamferos so carnvoros e vice-versa, em alguns casos, o

    smbolo animal pode se referir a entidades diferentes no mundo real

    (Figura 2).

    Sistema 1 Sistema 2

    animal animal

    animal

    carnvoro

    animal

    mamfero

    Figura 2 Interseo de Conceitos

    iii. Sistemas diferentes usam o mesmo smbolo para representar

    conceitos com significados mais gerais (ou especficos).

  • 21

    Por exemplo, um sistema usa o smbolo Floresta Amaznica

    para representar a Amaznia Legal, enquanto outro sistema usa o

    mesmo smbolo para representar o conceito Floresta Amaznica (a

    floresta est presente em nove naes) (Figura 3).

    Sistema 1 Sistema 2

    Floresta

    Amaznica

    Floresta

    Amaznica

    Floresta Amaznica

    Amaznia Legal

    Figura 3- Smbolos iguais que representam conceitos contidos

    iv. Sistemas diferentes usam smbolos diferentes para representar o

    mesmo conceito.

    Por exemplo, um sistema usa o smbolo comprador para

    representar o conceito algum que adquire bens ou servios

    enquanto outro sistema utiliza o smbolo cliente para representar o

    mesmo conceito (Figura 4).

    Sistema 1 Sistema 2

    comprador cliente

    Algum que adquire

    bens ou servios

    Figura 4 - Smbolos distintos com conceitos equivalentes

    v. Diferentes sistemas usam smbolos diferentes para representar

    conceitos com sobreposio de significados.

  • 22

    Por exemplo, um sistema usa o smbolo empregado para

    representar o conceito algum que trabalha na empresa, enquanto

    outro sistema usa o smbolo cliente para representar o conceito

    algum que adquire um produto da empresa (Figura 5).

    Sistema 1 Sistema 2

    empregado cliente

    algum que adquire

    um produto

    da empresa

    algum que trabalha

    na empresa

    Figura 5 Smbolos distintos com conceitos sobrepostos

    vi. Diferentes sistemas usam smbolos diferentes para representar

    conceitos com significados mais gerais ou especficos.

    Por exemplo, um sistema pode usar o smbolo esprito-santense

    para representar o conceito pessoa que nasceu no Esprito Santo,

    enquanto outro sistema pode utilizar o smbolo brasileiro para

    representar o conceito pessoa que nasceu no Brasil (Figura 6).

    Sistema 1 Sistema 2

    esprito-

    santensebrasileiro

    Cidado brasileiro

    Cidado

    esprito-santense

    Figura 6 Smbolos distintos com conceitos contidos

    As incompatibilidades semnticas foram apresentadas para pontuar quais os

    tipos de problemas semnticos que podem surgir quando dois sistemas

  • 23

    computacionais esto sendo integrados. importante salientar que esses problemas

    acontecem no apenas com os conceitos, mas tambm com os relacionamentos que

    existem entre os conceitos.

    2.2 ABORDAGENS DE INTEGRAO SEMNTICA

    Para cada um dos nveis de interoperabilidade citados anteriormente, existem

    diferentes abordagens utilizadas para que ela seja alcanada. Para o nvel de

    integrao semntica, que o foco desta dissertao, as abordagens baseiam-se na

    representao e explorao da semntica dos sistemas de informao durante o

    processo de integrao. Algumas delas apoiam tanto a integrao na camada de

    dados quanto de servios e processos (IZZA; VINCENT; BURLAT, 2005; BOURAS

    et al. 2006; POKRAEV et al. 2006). Outras abordagens cobrem apenas

    determinadas camadas (TEKTONIDIS et al., 2005, JIN; CORDY, 2006). Existem

    abordagens que usam servios web (web services) e outras que focam no uso de

    uma linguagem de ontologia.

    Entretanto, essas abordagens, em sua maioria, focam nos aspectos

    tecnolgicos da soluo de integrao. Calhau e Falbo (2010), por sua vez,

    defendem que a integrao semntica deve ser independente de como a integrao

    ser implementada. Assim como no processo de desenvolvimento de software, o

    processo de integrao deve iniciar no nvel conceitual. Apenas depois de

    considerar os requisitos de integrao e construir um modelo conceitual da

    integrao, os aspectos tecnolgicos devem ser considerados.

    Este trabalho usa a viso proposta em OBA-SI (CALHAU; FALBO, 2010), ou

    seja, focar nas questes conceituais da integrao semntica. A seguir

    detalharemos a abordagem OBA-SI, com foco na integrao semntica na camada

    de dados.

  • 24

    2.2.1 OBA-SI: Ontology-Based Approach For Semantic Integration

    A Abordagem baseada em Ontologias para a Integrao Semntica (Ontology-

    Based Approach for Semantic Integration OBA-SI), analogamente ao processo de

    desenvolvimento de software, defende o uso de um processo composto das

    seguintes atividades: anlise, projeto, implementao e testes. OBA-SI, no entanto,

    est centrada na primeira fase, a anlise da integrao, dando apenas algumas

    orientaes para a fase de projeto. De acordo com OBA-SI, a semntica deve ser

    definida no incio do processo de integrao, na fase de anlise. Isto porque as

    ferramentas devem concordar semanticamente antes da concepo e

    implementao de uma soluo especfica. Desta forma, OBA-SI procura ser

    independente da tecnologia e de uma soluo de integrao especfica. Durante a

    fase de anlise, mapeamentos semnticos so feitos entre os modelos conceituais

    das ferramentas que esto sendo integradas, usando ontologias para atribuir

    significado.

    Na fase de anlise, trs artefatos so muito importantes: (i) uma ontologia de

    domnio de referncia que descreve o domnio de integrao, (ii) os modelos

    conceituais dos aplicativos que esto sendo integrados (modelos estruturais e

    comportamentais) e (iii) o modelo de processo de negcio que est sendo apoiado

    pelas ferramentas. A ontologia de referncia, como dito anteriormente, uma

    especificao independente da soluo utilizada para descrever de forma clara e

    precisa as entidades do domnio. Ela usada como um modelo de referncia para

    atribuir semntica durante a anlise da integrao. Os modelos conceituais dos

    aplicativos que esto sendo integrados podem ser conhecidos a priori (por exemplo,

    as aplicaes foram desenvolvidas pela organizao e os modelos conceituais esto

    disponveis), ou devem ser escavados por meio de tcnicas de engenharia

    reversa. O modelo de processo de negcios, por sua vez, deve descrever os

    processos da organizao envolvidos no cenrio de integrao, indicando, dentre

    outros, as atividades, os recursos humanos, as ferramentas de apoio e as entradas e

    sadas de cada fase do processo.

  • 25

    Esses modelos se concentram em diferentes aspectos da integrao. A

    ontologia de domnio de referncia, juntamente com os modelos conceituais das

    ferramentas, so utilizados para estabelecer a semntica das camadas de dados e

    de servios. O modelo do processo de negcios usado principalmente para tratar

    da integrao de processos, embora tambm seja til na integrao dos servios.

    Como resultado da fase de anlise, um modelo de integrao produzido,

    capturando a imagem global do cenrio de integrao. O modelo de integrao

    especifica: (i) os conceitos a serem representados, (ii) como o conjunto de

    ferramentas integradas vai se comportar como um todo e (iii) quais as atividades do

    processo que sero atendidas pelas ferramentas integradas. O modelo de

    integrao construdo com base nos requisitos de integrao e os trs artefatos

    mencionados anteriormente. De fato, o objetivo principal do modelo de integrao

    estabelecer mapeamentos entre os modelos das ferramentas que esto sendo

    integradas. Esses mapeamentos so discutidos a seguir.

    a) Mapeamentos entre modelos

    O objetivo de um mapeamento relacionar os elementos de modelos distintos

    que so conceitualmente equivalentes. Mapeamentos ocorrem principalmente em

    dois nveis: vertical e horizontal.

    Mapeamentos verticais (MVs) so responsveis pela atribuio de significado

    para os elementos do modelo com base na ontologia de referncia. Eles so

    independentes da soluo de integrao. Seu objetivo atribuir significado para as

    entidades das ferramentas, relacionando-as com as entidades na ontologia de

    referncia. Uma vez que os MVs relacionam os elementos do modelo com os

    conceitos da ontologia, eles so independentes do cenrio de integrao e podem

    ser usados em vrias iniciativas de integrao.

  • 26

    Mapeamento Vertical

    Mapeamento Horizontal

    Modelo

    Conceitual A

    Modelo

    Conceitual B

    Modelo de

    Integrao

    Ontologia de

    Referncia

    Modelo

    Conceitual C

    Figura 7 - Relacionamentos entre modelos de OBA-SI

    Mapeamentos horizontais (MHs), por outro lado, ocorrem entre os elementos

    dos modelos, focando no cenrio de integrao. Ao estabelecer os MHs, os

    elementos dos modelos das ferramentas so mapeados para elementos do modelo

    de integrao, como ilustrado na Figura 7. Os MHs definem como as ferramentas

    sero vistas pelo mediador de integrao e como a interao entre eles ocorrer.

    Idealmente, MHs devem basear-se nos MVs. No entanto, uma vez que MHs focam

    em um cenrio de integrao especfico, eles nem sempre se baseiam no MVs.

    b) A Fase de Anlise da Integrao

    A fase de anlise de OBA-SI abrange as seguintes atividades: (i) especificao

    de requisitos de integrao, (ii) recuperao de modelos conceituais; (iii) atribuio

    semntica aos modelos conceituais estruturais das ferramentas e (iv) a modelagem

    da integrao.

    Durante a atividade de especificao de requisitos da integrao, os requisitos

    e os objetivos da integrao devem ser definidos. Inicialmente, os objetivos da

    integrao devem ser estabelecidos. Com base neles, os requisitos podem ser

    levantados. O escopo da integrao deve ser definido, apontando quais atividades

    do processo de negcio sero apoiadas e quais aplicaes devem ser integradas

    para tal. As atividades do processo de negcio e as aplicaes a serem integradas

  • 27

    compem o cenrio de integrao. Caso os modelos de processo de negcio no

    estejam disponveis, devero ser desenvolvidos como parte do projeto de

    integrao.

    Uma vez definido o cenrio de integrao, devem-se obter os modelos

    conceituais estruturais e comportamentais das ferramentas. Precisamos tambm

    selecionar uma ontologia de referncia sobre o domnio do cenrio de integrao

    que, caso no esteja disponvel, deve ser desenvolvida.

    O prximo passo atribuir semntica aos modelos conceituais, definindo os

    mapeamentos verticais entre seus conceitos e relaes e os conceitos e relaes da

    ontologia de referncia. Esses mapeamentos devem ser validados por um

    especialista de domnio.

    Uma vez que os modelos estruturais esto semanticamente anotados, a

    modelagem da integrao pode comear. O propsito do modelo de integrao

    modelar os aspectos estruturais e comportamentais da integrao no nvel

    conceitual, considerando os requisitos especificados anteriormente. bastante

    semelhante a um modelo conceitual em qualquer processo de desenvolvimento. A

    principal diferena que o modelo de integrao construdo baseado na ontologia

    e nos modelos das ferramentas. Desta forma, a diferena semntica entre o modelo

    de integrao e os modelos das ferramentas ser menor.

    O modelo de integrao a sada principal da fase de anlise de OBA-SI. Ele

    construdo intercalando as abordagens top-down e bottom-up. Inicialmente, um

    modelo preliminar construdo com base nos requisitos, no modelo de processo de

    negcio e na ontologia de referncia, em uma abordagem top-down. Em seguida,

    este modelo refinado, considerando os modelos conceituais das ferramentas a

    serem integradas, em uma abordagem bottom-up. Com uma verso mais refinada

    do modelo de integrao, os MHs devem ser estabelecidos, ou seja, feito um

    mapeamento entre os conceitos dos modelos que esto sendo integrados.

    A Figura 8 ilustra um cenrio de integrao, onde dois modelos conceituais

    estruturais devem ser mapeados para o modelo de integrao luz de uma

  • 28

    ontologia de domnio. Os MVs mapeiam os conceitos das ferramentas e do modelo

    de integrao com a ontologia, como os mapeamentos (b2, o2) e (a2, o2). Os MHs

    so, ento, estabelecidos com base nos MVs, como o caso dos mapeamentos (a2,

    i2) e (b2, i2). No entanto, pode haver MHs, tais como (a3, i3) e (b3, i3), que no so

    baseadas em um MV. Isso pode ocorrer porque a ontologia a referncia pode no

    abranger todos os elementos do modelo considerado pelos aplicativos.

    No mapeamento estrutural (camada de dados), inicialmente mapeiam-se os

    conceitos. Uma vez estabelecido os mapeamentos entre os conceitos, devem-se

    definir os mapeamentos entre as relaes. O procedimento para as relaes

    anlogo, ou seja, MVs e MHs so estabelecidos e as relaes correspondentes so

    incorporadas ao modelo estrutural de integrao. No entanto, como um conceito

    tambm definido em termos de suas relaes, mapeamentos entre as relaes

    podem influenciar os mapeamentos entre conceitos e, por isso, este um processo

    iterativo.

    a3

    a2

    a1

    b2

    b3

    b1

    b4

    o1

    o3

    o2

    i1

    i3

    i2

    Ontologia de Domnio

    Modelo Conceitual A

    Modelo Conceitual B

    Modelo de Integrao

    Mapeamento Vertical

    Mapeamento Horizontal

    Figura 8 - Mapeamentos verticais e horizontais

  • 29

    c) As Fases de Design e de Implementao

    Uma soluo de integrao pode ser concebida e implementada de vrias

    maneiras. OBA-SI no se compromete com uma soluo de integrao

    especfica. No entanto, fornece algumas diretrizes a fim de manter a consistncia

    semntica durante o processo de integrao. Primeiro de tudo, o projeto deve ser

    baseado na semntica estabelecida durante a fase de anlise. Assim, os principais

    insumos para a fase de projeto so os modelos conceituais das ferramentas e o

    modelo de integrao. Esses artefatos so independentes dos aspectos

    computacionais relacionados soluo de integrao. No entanto, natural que o

    modelo de integrao seja alterado para incorporar as decises relativas soluo

    de integrao.

    A integrao de ferramentas pode acontecer sem que as mesmas sejam

    alteradas. Uma forma de integr-las construindo mediadores para intermediarem a

    comunicao entre as ferramentas. Um mediador deve ter uma viso global dos

    sistemas a serem integrados. Ele responsvel pelo intercmbio de dados e

    funcionalidades entre as ferramentas. O modelo de integrao fornece as

    informaes para projet-lo, onde o modelo estrutural capta os conceitos e as

    relaes que sero manipuladas pelo mediador. O modelo comportamental, por sua

    vez, mostra as atividades do processo de negcio e os servios das aplicaes que

    sero integrados. Alm disso, a orquestrao de invocaes dos servios das

    ferramentas feita atravs do mediador, considerando o modelo comportamental da

    integrao. Assim, importante que o mediador implemente o modelo de integrao,

    a fim de ligar as ferramentas. Finalmente, os mapeamentos horizontais (estruturais e

    comportamentais) podem ser usados para projetar a comunicao entre as

    ferramentas e o mediador. A implementao desta comunicao pode ocorrer dentro

    do mediador ou fora dele, por meio de adaptadores que se conectam as ferramentas

    para o mediador.

  • 30

    2.3 PLANEJAMENTO DE PROJETO E PROCESSO DE SOFTWARE

    De acordo com a ISO 10006:2003, a Gerncia de Projetos, em geral, inclui as

    atividades de planejamento, organizao, superviso e controle de todos os

    aspectos do projeto, em um processo contnuo para atingir seus objetivos. Esses

    objetivos so alcanados de forma mais eficiente quando as atividades do projeto e

    seus recursos so gerenciados como um processo (ISO, 2003). Os Processos de

    Gerncia de Projetos so usados para estabelecer e desenvolver planos de projeto,

    para avaliar o progresso do projeto em relao aos planos e controlar a execuo do

    projeto at a sua finalizao (ISO/IEC, 2008).

    Processos so decompostos em partes menores. No contexto da engenharia

    de software, um processo pode ser decomposto em outros processos

    (subprocessos) ou em atividades. Um subprocesso descrito como uma

    decomposio do processo que satisfaz os critrios para ser um processo, ou seja,

    tem um propsito, coeso e colocado sob a responsabilidade de uma

    organizao, ou de uma parte dela, no ciclo de vida do software. Uma atividade

    utilizada quando a unidade decomposta do processo no pode ser qualificada como

    um processo. Uma atividade pode ser considerada simplesmente como um conjunto

    de tarefas (ISO/IEC, 2008).

    Os processos de projeto devem ser identificados e documentados, e as

    atividades devem ser realizadas e controladas de acordo com o plano do projeto

    (ISO, 2003). Processos de projeto de software devem ser definidos considerando as

    atividades a serem executadas, os recursos necessrios, os artefatos de entrada e

    sada, os procedimentos adotados (mtodos, tcnicas, modelos de documento, entre

    outros) e o modelo de ciclo de vida que ser usado (FALBO; BERTOLLO, 2009).

    A definio do processo que ser seguido no decorrer do projeto pode ser feita

    atravs da identificao das entradas, sadas e dos objetivos, alm da atribuio de

    autoridade e responsabilidades para os processos, entre outros (ISO/IEC, 2008).,

    sendo que a organizao deve considerar a experincia adquirida no

    desenvolvimento e uso de seus processos em projetos anteriores.

  • 31

    Embora diferentes projetos requeiram processos com caractersticas

    especficas, possvel estabelecer um conjunto de ativos de processo de software

    que devem estar presentes em todos os processos de projeto de uma organizao.

    Esse conjunto de ativos de processos chamado de processo de software padro

    organizacional. O processo padro da organizao adaptado para definir um

    processo cada projeto.

    Outros ativos de processos organizacionais so utilizados para apoiar a

    adaptao e implementao de processos definidos. Um processo padro

    composto por outros processos (ou seja, subprocessos) ou elementos de processo

    que descrevem as atividades e tarefas para executar o trabalho de forma consistente

    (SEI, 2010). O uso de processos padro defendido por quase todos os modelos e

    normas de qualidade de processo de software, incluindo a ISO/IEC 12207 (ISO/IEC,

    2008), o CMMI (SEI, 2010) e o MPS-BR (SOFTEX, 2011). Todos eles sugerem a

    utilizao de um processo padro como ponto de partida a partir do qual os

    processos de projeto devem ser definidos.

    O principal objetivo do planejamento do projeto definir um escopo para o

    projeto, refinar os objetivos e desenvolver as aes necessrias para alcan-los

    (PMI, 2008). Assim, o processo de planejamento do projeto deve, dentre outros (SEI,

    2010): (i) determinar o escopo do projeto e atividades tcnicas, (ii) identificar as

    sadas dos processos, tarefas e as entregas do projeto, e (iii) estabelecer um

    cronograma para a execuo das tarefas do projeto, incluindo os critrios de

    realizao e os recursos necessrios para realizar as tarefas do projeto. Isso

    envolve, entre outros, estimar o esforo requerido, definir as atividades e tarefas a

    serem realizadas e os recursos necessrios para execut-las, estabelecer o

    cronograma para a realizao das tarefas e alocar tarefas e atribuir

    responsabilidades.

    No contexto da gerncia de projetos, processos relacionados a recursos visam

    planej-los e control-los, incluindo equipamentos, instalaes, materiais, software,

    servios, pessoal e espao (PMI, 2008).

    As pessoas que participam do projeto devem ter a autoridade e as

    responsabilidades bem definidas em relao sua participao no projeto. A

  • 32

    autoridade delegada aos participantes do projeto deve corresponder s suas

    responsabilidades. A qualidade e o sucesso de um projeto depender do pessoal

    que participa desse projeto. Portanto, deve ser dada ateno especial s atividades

    dos processos relacionadas com o pessoal, tal como a alocao de pessoas. Ao

    atribuir os membros para as equipes de projeto, seus interesses, pontos fortes e

    fracos devem ser considerados. O trabalho ou papel a ser desempenhado deve ser

    compreendido e aceito pela pessoa designada (ISO, 2003).

    Processos relacionados com o tempo do projeto visam determinar as

    dependncias e a durao das atividades, e visam assegurar a concluso do projeto

    no tempo adequado. Esses processos incluem o planejamento das dependncias

    das atividades, da estimativa de durao e do desenvolvimento e controle do

    cronograma. A definio do cronograma pode impactar nos recursos do projeto. Na

    verdade, processos relacionados com o tempo e processos relacionados com

    recursos (incluindo processos relacionados a pessoas) so extremamente

    interligados. Decises ou aes tomadas no contexto de um deles devem ser

    analisadas com cautela, considerando as implicaes em outros processos (ISO,

    2003).

    2.3.1 Ferramentas de Apoio ao Planejamento de Processo de Software

    O ambiente ODE (Ontology-based software Development Environment)

    (FALBO et al., 2003) um ambiente de desenvolvimento de software (ADS)

    centrado em processos (ARBAOUI et al., 2002) (GRUHN, 2002) e baseado em

    ontologias (FALBO et al., 2004).

    O ambiente constitudo de vrias ferramentas. No contexto deste trabalho,

    nos interessam as ferramentas ligadas ao planejamento do processo de software,

    tais como Def-Pro, a ferramenta de apoio definio de processos (BERTOLLO et

    al., 2006) (SEGRINI et al., 2006), ControlPro, a ferramenta de apoio ao

    acompanhamento de projetos (DAL MORO, 2005) e AlocaODE, a ferramenta de

    apoio alocao de recursos (COELHO, 2007).

  • 33

    2.3.1.1 Def-Pro

    Def-Pro (SEGRINI, 2009) a ferramenta de definio de processo de software

    de ODE. Ela oferece apoio definio de processos em nveis baseada em

    componentes. Ela permite que processos de software sejam definidos em dois nveis

    de abstrao, a saber: nvel de processo padro e nvel de processo de projeto.

    Em ambos os nveis de abstrao, a definio segue os seguintes passos:

    Para um componente de processo complexo, define-se quais sero os subprocessos

    que o compe, os componentes de processo simples. Para cada componente de

    processo simples, possvel definir as suas macroatividades. Para cada atividade,

    sendo ela uma macroatividade ou subatividade, possvel definir subatividades, pr-

    atividades, artefatos produzidos e requeridos, recursos necessrios e procedimentos

    a serem adotados. Esse conjunto de caractersticas so os ativos de uma atividade.

    importante ressaltar ainda que no nvel de abstrao de processo padro a

    definio de componentes de processo pode acontecer nos trs nveis.

    2.3.1.2 ControlPro

    ControlPro (DAL MORO, 2005) a ferramenta de acompanhamento de

    projetos de ODE. Ela permite o acompanhamento do progresso do projeto e a

    alterao do processo em tempo de execuo. H uma forte integrao entre

    ControlPro e Def-Pro, conseguida pelo compartilhamento dos mesmos modelos de

    classes.

    Usando ControlPro, um gerente de projeto pode editar os ativos de processo

    definidos para as atividades do projeto, definir datas de incio e fim para elas,

    realocar recursos e controlar o andamento das atividades. Alm disso, o gerente de

    projeto pode controlar o estado do projeto, incluindo aes para iniciar, finalizar,

    cancelar ou reativar um projeto .

  • 34

    Desenvolvedores tambm podem usar ControlPro para acompanhar as

    atividades a eles alocadas, registrar esforo despendido nelas ou criar sub-

    atividades para melhor organizar o seu trabalho.

    2.3.1.3 AlocaODE

    AlocaODE (COELHO, 2007) (PIANISSOLA, 2007) a ferramenta de alocao

    de recurso do ambiente ODE. Ela permite que para cada atividade sejam alocados

    pessoas, ferramentas de software, hardware e sistemas de apoio.

    Para ter um maior controle sobre as alocaes de recursos humanos a

    atividades dentro do ambiente, um recurso humano alocado para desempenhar

    um papel especfico, possvel registrar a dedicao em termos de tempo dirio do

    recurso humano alocado realizao da atividade, o esforo total previsto para a

    alocao, as datas de incio e fim previstas e efetivas da alocao, alm do estado

    da mesma.

    2.4 CONSIDERAES FINAIS

    Este captulo apresentou alguns conceitos importantes sobre Interoperabilidade

    Semntica, tema foco desta dissertao, com o intuito de oferecer ao leitor uma

    viso geral acerca do tema, para que este possa dar prosseguimento leitura dos

    prximos captulos.

    Foram discutidos os tipos de problemas semnticos que podem ocorrer durante

    a integrao de ferramentas e foi apresentada uma abordagem, OBA-SI, baseada

    em ontologia para prover interoperabilidade semntica.

    O trabalho apresentado na sequncia desta dissertao abrange a integrao

    de sistemas de apoio ao planejamento de projetos, segundo o ponto de vista do

  • 35

    projetista, na camada de dados e no nvel semntico, seguindo parcialmente o

    processo proposto por OBA-SI. A integrao realizada apenas no nvel conceitual

    e, portanto, apenas a fase de anlise de OBA-SI foi realizada.

    Para a realizao do trabalho, foi feita a reengenharia da Ontologia de

    Processo de Software proposta em (BERTOLLO, 2006). Essa reengenharia foi feita

    com base na Ontologia de Fundamentao Unificada (Unified Foundational Ontology

    UFO) (GUIZZARDI, 2005) (GUIZZARDI et al., 2008), a qual apresentada no

    prximo captulo. O Captulo 4 apresenta a nova verso da Ontologia de Processo

    de Software, a qual usada como base para o projeto de integrao semntica,

    discutido no Captulo 5.

  • 36

    3 A ONTOLOGIA DE FUNDAMENTAO UNIFICADA

    Uma ontologia pode ser definida como uma especificao de um vocabulrio

    para representao de um domnio compartilhado de discurso (GUIZZARDI apud

    GUIZZARDI, R.S.S, 2006). Em outras palavras, uma ontologia um modelo de

    domnio, composto por um conjunto de conceitos e relaes. Uma ontologia til

    para fornecer uma compreenso clara sobre um determinado domnio.

    O processo de reengenharia apresentado neste trabalho (ver Captulo 4)

    baseado na UFO (Unified Foundational Ontology) (GUIZZARDI, 2005), uma

    ontologia de fundamentao. Segundo Guizzardi e Wagner (2005), uma ontologia de

    fundamentao "define um conjunto de categorias ontolgicas independente de

    domnio que formam uma base geral para ontologias especficas de domnio"

    (GUIZZARDI; WAGNER, 2005).

    UFO tem sido desenvolvida baseada em um nmero de teorias das reas de

    Ontologias Formais, Lgica Filosfica, Filosofia da Linguagem, Lingstica e

    Psicologia Cognitiva. Ela dividida em trs camadas incrementais, a saber: i) a

    UFO-A define o ncleo do UFO, apresentada em detalhes e formalizada em

    (GUIZZARDI, 2005). Ela inclui os conceitos relacionados a endurants; ii) a UFO-B

    define, com base na UFO-A, os conceitos relacionados a perdurants e, por fim, iii) a

    UFO-C define, sob a UFO-A e a UFO-B, conceitos relacionados s esferas de coisas

    intencionais e sociais.

    As sees seguintes apresentam, respectivamente, os conceitos de UFO-A,

    UFO-B e UFO-C que so importantes para a compreenso completa deste trabalho.

    O contedo apresentado nessas sees foi elaborado com base nos seguintes

    trabalhos (GUIZZARDI, 2005; GUIZZARDI, R.S.S, 2006; GUIZZARDI et al., 2008;

    ZAMBORLINI, 2011).

    Por questes de legibilidade, nos diagramas apresentados neste trabalho,

    apenas tero destaque os conceitos que no foram previamente apresentados (os

    demais conceitos ficaro em um tom mais claro de cinza).

  • 37

    3.1 UFO-A

    A UFO-A trata particularmente de entidades chamadas endurantes (endurants).

    A diferena entre endurantes e perdurantes (perdurants), este ltimo tratado na

    UFO-B, pode ser intuitivamente compreendida em termos da distino entre objetos

    e processos, respectivamente. A UFO-A proposta por Guizzardi (2005). Devido

    dificuldade de se traduzir alguns termos, eles so mantidos em lngua inglesa nos

    diagramas e no texto, porm alguns so traduzidos no texto quando convm, tanto

    nessas sees quanto nas demais.

    Uma distino fundamental nessa ontologia ocorre entre a categoria Individual

    e a categoria Universal. Universal a categoria ou tipo geral que representa os

    padres de caractersticas presentes em diferentes indivduos. Por exemplo, este

    tipo se aplica aos conceitos ou categorias de indivduos Pessoa, Adulto e Cachorro,

    que so padres de caractersticas comuns presentes em certos indivduos. Por

    outro lado, Individual a categoria ou tipo geral que se aplica aos indivduos, que

    so entidades que existem na realidade e possuem uma identidade nica. Por

    exemplo, este tipo se aplica aos indivduos Eugnio e Rex. Alm disso, cada

    indivduo num domnio deve ser instncia de pelo menos um universal. Por exemplo,

    Eugnio um indivduo do domnio que instancia os universais Pessoa e Adulto,

    enquanto Rex instancia o universal Cachorro.

    Classifica-se, ainda, Universal como Monadic Universal ou Relation

    Universal. O tipo Monadic Universal a categoria que se aplica aos conceitos que

    so padres aplicados a indivduos singulares, enquanto o tipo Relation Universal

    se aplica s relaes, que so padres aplicados a grupos de dois ou mais

    indivduos. A Figura 9 apresenta esses conceitos.

  • 38

    Individual

    Thing

    Universal* 1..*

    instanceOf4

    Monadic Universal Relation Universal

    Figura 9 UFO-A: Individual e Universal 1

    A principal distino de tipos de universais mondicos e tipos de indivduos em

    UFO a distino entre substantials e moments. Substantial representa as

    entidades do mundo real que persistem no tempo, mantendo as suas identidades.

    So exemplos de Substantials entidades fsicas e sociais do dia-a-dia, como uma

    pessoa, uma bola, um co, oceano atlntico e o presidente da repblica. Indivduos

    podem ainda ser especializados ainda em Situations (situaes). Situaes so

    entidades complexas constitudas possivelmente por vrios objetos (incluindo outras

    situaes), sendo tratadas aqui como um sinnimo para o que chamado na

    literatura de estado de coisas (state of affairs), ou seja, uma poro da realidade que

    pode ser compreendida como um todo. So exemplos de situaes: Joo Paulo

    estar gripado e com febre, e Patricia estar casada com Joo Paulo que trabalha

    para a UFES.

    Individual Universal

    * 1..*

    instanceOf4

    Monadic UniversalMoment

    Moment UniversalSubstantial Universal

    SubstantialSituation

    Figura 10 UFO-A: Substantial e Moment

    i. Substantials

    A entidade Substantial (GUIZZARDI 2005) especializada em Sortal e

    Mixin, conforme apresentado no diagrama da Figura 11. Os universais do tipo

    1 As entidades do tipo Universal sero representados no diagramas com uma forma

    arredondada para favorecer a compreenso dos diagramas.

  • 39

    Sortal so tais que agregam indivduos com o mesmo princpio de identidade.

    Por exemplo, supondo que a impresso digital defina a identidade de uma

    pessoa, so universais do tipo Sortal os conceitos Pessoa, Cliente Pessoa

    Fsica e Adulto, uma vez que todos agregam indivduos que possuem o mesmo

    princpio de identidade, como Joo, Maria e Jos. Em contraste, universais do

    tipo Mixin so tais que agregam indivduos com princpios de identidade

    diferentes. Seguindo o mesmo exemplo, supondo tambm que o CNPJ defina a

    identidade de uma empresa, ento o conceito Item Assegurvel, que agrega

    pessoas e empresas, um universal do tipo Mixin.

    Na sequncia do diagrama, os universais do tipo Sortal podem ainda ser

    classificados como Rigid Sortal ou Anti Rigid Sortal. Universais do tipo Rigid

    Sortal so conceitos rgidos como Pessoa e Empresa, cujos indivduos devem

    instanci-los enquanto existirem, por exemplo, Joo Paulo necessariamente

    instncia de Pessoa enquanto existir. Por outro lado, universais do tipo Anti

    Rigid Sortal so conceitos anti-rgidos como Cliente e Professor, cujos

    indivduos podem eventualmente instanci-los ou no enquanto existirem. Por

    exemplo, Joo Paulo pode ser instncia do conceito professor em um

    determinado instante e deixar de ser professor em outro.

    Substantial Universal

    Sortal Universal Mixin Universal

    RigidSortal AntiRigidSortal

    UltimateSortal Subkind

    Kind

    Phase Role

    Figura 11 UFO-A: Sortal

    Os universais do tipo Rigid Sortal so ainda classificados como Ultimate Sortal

    quando proveem o princpio de identidade aos seus indivduos, ou como

    Subkind quando apenas herdam este princpio. Por exemplo, considerando-se

    a impresso digital como o princpio de identidade provido a toda instncia do

  • 40

    conceito Pessoa, este do tipo Ultimate Sortal, enquanto os conceitos Homem

    e Mulher so do tipo Subkind pois, alm de serem rgidos, especializam o

    conceito Pessoa e, portanto, herdam dele o princpio de identidade. O tipo

    Ultimate Sortal, especializa-se em Espcie (Kind) que categoriza conceitos

    cujas instncias so complexos funcionais.

    Os universais do tipo Anti-Rigid Sortal, por sua vez, como mostra a Figura 11,

    so classificados como Phase ou Role. Conceitos do tipo Phase (Fase) so

    tais que sua instanciao determinada por uma propriedade intrnseca do

    indivduo. Por exemplo, Joo instancia a fase Adulto se sua idade (propriedade

    intrnseca) maior que 18 anos. J os conceitos do tipo Role (Papel), como

    Cliente Pessoa Fsica ou Esposo, so relacionalmente dependentes, ou seja,

    sua instanciao determinada por uma propriedade relacional do indivduo.

    Por exemplo, Joo instancia o papel de Esposo se est casado com

    (propriedade relacional) Maria.

    ii. Moments

    Moment, por sua vez, denota o que chamado de objetificao (instanciao)

    de uma propriedade (e no tem nenhuma relao com o sentido de instante

    temporal como o termo comumente utilizado). Exemplos de Moments so: a

    cor de uma cadeira, uma carga eltrica e um sintoma de um determinado

    paciente (GUIZZARDI, 2005) (GUIZZARDI et al., 2008). Uma caracterstica

    comum aos Moments que todos estes so dependentes de Substantials,

    somente podendo existir em outros Substantials, como, por exemplo, uma

    carga eltrica somente pode existir em algum condutor eltrico, ou uma ligao

    covalente somente pode existir se os tomos conectados existirem. Os

    Moments so existencialmente dependentes de outros Substantials.

    dito que um indivduo x dependente existencialmente (ed) de um outro

    indivduo y se, e somente se, por questo de necessidade, y existir sempre que

    x existir. A dependncia existencial uma relao modalmente constante, isto

  • 41

    , se x for dependente de y esta relao existe entre estes dois indivduos

    especficos em todos os mundos possveis em que x existe.

    Dependncia existencial pode tambm ser usada para diferenciar Relational

    Moments (propriedades relacionais) de Intrinsic Moments (propriedades

    intrnsecas). Os Intrinsic Moments dependem de apenas um Substantial para

    existirem e so intrnsecas a ele. So exemplos de Intrinsic Moments a cor de

    um objeto, a dor de cabea de uma pessoa e a temperatura de um ser. Se

    essa propriedade no mensurvel, ela chamada de Mode, por exemplo, a

    dor de cabea de Joo. Diferentemente dos Intrinsic Moments, os Relational

    Moments, tambm chamados de Relators, dependem de um conjunto de

    Indivduos para existirem como, por exemplo, o Relator tratamento mdico

    depende para existir dos Indivduos Paciente e Mdico.

    A relao de dependncia existencial que existe entre um Moment x e um

    Individual y na qual x depende de y a relao de Inherence (inerncia).

    Assim, para que um Individual x seja um Moment de um outro Individual y, a

    relao i(x,y), ou seja, x inerente a y, deve existir entre os dois. Por exemplo,

    a inerncia prende a existncia de um sorriso a um rosto, ou a carga em um

    condutor especfico ao prprio condutor. Nessa ontologia, admite-se que

    Moments podem ser inerentes a outros Moments. Um exemplo de um Moment

    que inerente a um outro moment a gravidade de um sintoma. A partir dessa

    relao, pode-se dizer que os Individuals que no so inerentes a outros

    Individuals so denominados de Substantials.

  • 42

    Individual

    Moment Substantial

    Relator

    2..*

    *

    mediates4

    Intrisic Moment

    1

    1..*

    existential dependent4

    Mode

    Figura 12 UFO-A: Tipos de moments

    iii. Relations

    Retomando a distino inicial dos tipos de universais (mondicos e de relao),

    o tipo Relation Universal a categoria geral que se aplica aos universais de

    relao. Esta categoria subdividida em Formal e Material (GUIZZARDI;

    WAGNER, 2008), como pode ser visualizado na Figura 13.

    Relation Universal

    Formal Relation Material Relation

    Domain Internal Relation

    Mediation

    Basic Internal Relation

    Figura 13 UFO-A: Tipos de Relaes

    O tipo Material Relation se aplica s relaes que dependem de algum

    interventor para valer, a saber, um indivduo do tipo Relator. Por exemplo, a

    material relation casado existente entre Manuel e Anna vale enquanto existir o

    relator Casamento de Manuel e Anna. Contrariamente, as relaes do tipo

    Formal Relation valem pela simples existncia dos indivduos relacionados.

    Por exemplo, a relao todo-parte entre Manuel e seu Crebro vale sempre

    que ambos existirem.

  • 43

    As relaes do tipo Formal podem ser ainda classificadas como Basic Internal

    Relation (Relao Bsica Interna) ou Domain Formal Relation (Relao

    Formal de Domnio). O tipo Basic Internal Relation aplica-se a relaes

    formais internas ditas de dependncia existencial que tm representao entre

    as categorias de indivduos da UFO. Este tipo pode ser especializado em

    Mediation (Mediao), que se aplica relao mediates (de mediao) que

    define os indivduos do tipo Relator. Por sua vez, o tipo Domain Formal

    Relation se aplica s relaes formais que so especficas de domnio e que,

    por isso, no so representadas entre os tipos de indivduos da UFO, mas

    entre os conceitos especficos de domnio, assim como as do tipo Material

    Relation.

    A Figura 14 apresenta um panorama geral dos conceitos apresentados da UFO-A.

    Entretanto, importante ressaltar que esta no a verso completa da mesma.

  • 44

    Thing

    Individual Universal* 1..*

    instanceOf4

    Monadic Universal Relation Universal

    disjoint

    Formal Relation Material RelationSubstantial Universal

    Intrinsic Moment Universal

    Moment Universal

    Relational Moment (Relator Universal)

    SubstantialMoment

    Relator Intrisic Moment

    1

    1..*

    existential dependent4

    Externally Dependent Moment

    1..*

    *

    externally dependent moment

    Mode Universal

    Sortal Universal

    RigidSortal

    Role

    AntiRigidSortal

    PhaseSubkind

    Kind

    Domain Internal Relation

    Mediation

    2..*

    *

    mediates4

    Basic Internal Relation

    UltimateSortal

    Figura 14 Viso geral dos conceitos da UFO-A

  • 45

    3.2 UFO-B

    UFO-B trata de Perdurants ou, mais intuitivamente, de Eventos (Event).

    Eventos (ou ocorrncias) so indivduos compostos de partes temporais. Eles

    acontecem no tempo no sentido de se estenderem no tempo acumulando partes

    temporais. So exemplos de eventos: uma conversa, uma partida de futebol, a

    execuo de uma sinfonia e um processo de negcio. Em qualquer momento em

    que um evento est presente, apenas algumas de suas partes temporais estaro

    presentes. Como uma consequncia, eventos no podem sofrer mudanas no tempo

    no sentido genuno, uma vez que nenhuma de suas partes temporais mantm sua

    identidade ao longo do tempo.

    Eventos so possveis transformaes de uma situao para outra na

    realidade, i.e., eles podem alterar o estado de coisas da realidade de um pr-estado

    (pre-state) para outro (post-state) em um intervalo temporal. Eventos so entidades

    ontologicamente dependentes no sentido de, para existirem, dependerem

    existencialmente de seus participantes. Seja o evento e: o ataque de Brutus a Csar.

    Nesse evento, h a participao de Csar, Brutus e da faca usada no ataque. Neste

    caso, e composto da participao individual de cada uma dessas entidades. Cada

    uma dessas participaes por si prpria um evento que pode ser complexo ou

    atmico, mas que existencialmente depende de um nico substancial. Em UFO-B,

    ser atmico e ser instantneo so noes ortogonais, i.e., participaes atmicas

    podem se estender no tempo, bem como eventos instantneos podem ser

    compostos de mltiplas participaes (instantneas). Em suma, o modelo da Figura

    15 mostra essas duas perspectivas sob as quais eventos podem ser analisados, a

    saber: como entidades que se estendem no tempo com certas estruturas

    mereolgicas (i.e., eventos simples ou complexos), e como entidades

    ontologicamente dependentes que podem envolver um nmero de participaes

    individuais.

  • 46

    UFO-A::Situation Event

    1

    *

    1

    *

    Atomic Event Complex Event

    *

    2..*

    UFO-A::Formal Relation

    Time Interval RelationTime Interval

    1

    *

    1 *framed by4

    - pre-state

    - pos-state

    - source

    - target

    Temporal Structure

    UFO-A::Quality Structure

    Participation

    Figura 15 - UFO-B: Evento

    3.3 UFO-C

    A terceira camada da UFO uma ontologia de entidades sociais (tanto

    endurants quanto perdurants), construda sobre UFO-A e UFO-B. Conforme mostra

    a Figura 16, uma das principais distines feitas na UFO-C entre agentes (Agent)

    e objetos no-agentivos (Object). Um agente um substancial que cria aes

    (Action), percebe eventos (Event) e que pode possuir tipos especiais de modos,

    chamados de intentional modes. Os agentes podem ser fsicos (Physical Agent)

    (por exemplo, uma pessoa) ou sociais (Social Agent) (por exemplo, uma

    organizao). Um objeto, por outro lado, um substancial incapaz de perceber

    eventos ou ter intencional modes. Objetos tambm podem ser divididos em objetos

    fsicos (Physical Object) (por exemplo, um livro, um carro) e objetos sociais (Social

    Object) (por exemplo, dinheiro, lngua). A descrio normativa (Normative

    Description) um tipo de objeto social, que define uma ou mais regras/normas

    reconhecidas por, pelo menos, um agente social e que pode definir entidades sociais

    como universais (p.ex., tipos de comprometimentos sociais) e papis sociais, tais

    como presidente, ou pedestre. Uma descrio plano (Plan Description) um tipo

    especial de descries normativas que descreve planos complexos (Complex

    Action Universal).

  • 47

    UFO-A::Substantial

    Agent Object

    Physical Agent Physical ObjectSocial Agent Social Object

    Organization Normative Description

    1..*

    *

    3 reconized by

    Plan Description

    Social Role0..1

    *

    defines4

    UFO-A::Role

    Action Universal

    Complex Action Universal

    1..*

    0..1

    3 describes

    *

    2..*

    UFO-B::Event

    *

    *

    3 perceives

    Action

    *

    *

    instance of4

    *

    *

    3 creates

    Figura 16 - UFO-C: Distino entre Agente e Objeto

    Como dito anteriormente, agentes so substanciais que podem possuir tipos

    especiais de modos, chamados de intentional moments. Intencionalidade deve ser

    entendida em um contexto mais amplo do que a noo de alguma coisa que se

    intenciona, mas como a capacidade de certas propriedades de certos indivduos de

    se referir a possveis situaes (Situation) na realidade (SEARLE apud GUIZZARDI,

    FALBO, GUIZZARDI, 2008). Todo modo intencional tem um tipo, a saber: crena

    (belief), desejo (desire), inteno (intention ou internal commitment) e um

    contedo proposicional que um objetivo (goal), sendo este ltimo uma

    representao abstrata de uma classe de situaes referenciadas por esse modo

    intencional. Assim, alguma coisa que se intenciona um tipo especfico de

    intencionalidade denominada inteno (intention).

  • 48

    UFO-A::Intrisic Moment

    Agent

    1..*

    1

    inheres in4

    Social Moment Mental Moment

    Proposition Intentional Moment1

    *

    proposition content of4

    Goal

    UFO-A::Externally Dependent Moment

    Social Commitment

    *

    1..*

    external dependence4

    Commitment

    Intention

    1 1..*

    proposition content of4

    DesireBelieve

    {disjoint, complete}

    UFO-A::Situation

    sastifies4

    Claim

    Figura 17 UFO-C: Intentional Moment

    Alm de comprometimentos internos (intenes), existem tambm

    comprometimentos sociais (social commitment). Um comprometimento social o

    comprometimento de um agente A com outro agente B. Como um momento

    externamente dependente (externally dependent moment), o comprometimento

    social inerente ao agente A e externamente dependente de B. O

    comprometimento social do agente A com o agente B necessariamente causa a

    criao de um comprometimento interno em A e a reivindicao social (claim) de B

    com A. Comprometimentos internos, ou intenes (intentions), por sua vez, fazem

    com que o agente realize aes.

    Comprometimentos podem ser atmicos (atomic commitment) ou complexos

    (complex commitment). Um comprometimento complexo composto de dois ou

    mais comprometimentos. Um tipo especial de comprometimento um compromisso

    (appointment). Um compromisso um comprometimento cujo objetivo (contedo

    proposicional) refere-se explicitamente a um intervalo de tempo (time interval). A

    Figura 18 sumariza os tipos de comprometimentos.

  • 49

    Commitment

    Complex Commitment

    Atomic Commitment

    Intention Social Commitment Appointment

    Closed CommitmentOpen Commitment

    Goal1..** 3 proposition content of

    Appointment Goal1..*

    13 proposition content of

    Time Interval

    *

    1..*

    3 refers to

    *

    2..*

    Figura 18 - Tipos de comprometimento

    Por fim, comprometimentos podem ser abertos (open commitments) ou

    fechados (closed commitments), sendo a diferena que, no caso do ltimo, o

    agente deve cumprir o comprometimento pela execuo de uma ao especfica.

    Diz-se, ento, que um comprometimento C baseado em um plano P tal que C

    cumprido pelo agente A se, e somente se, A ativamente provocar uma situao S

    que satisfaz o contedo proposicional de C e por meio de uma ao p que uma

    instncia de P. Por exemplo, quando o professor Joo compromete-se com o

    departamento de avaliar os alunos matriculados em sua turma, este

    comprometimento um comprometimento aberto, pois no existe um plano a ser

    seguido para que esse comprometimento seja cumprido. Em contrapartida, caso o

    professor Joo comprometa-se a avaliar os alunos atravs da aplicao de duas

    provas, este um comprometimento fechado, pois, para alcan-lo, ele dever,

    necessariamente, aplicar duas provas. Comprometimentos abertos e fechados

    podem explicar as noes de delegao aberta e fechada, respectivamente.

    Delegao (Delegation) um tipo especial de relao material (material

    relation) derivada de um social relator delegatum. Quando um agente A

    (delegator) delega um objetivo a um agente B (delegatee), B se compromete

    (comprometimento social) com o agente A. O agente A, por sua vez, passa a ter o

    direito de reivindicar (claim) de B o cumprimento do que foi delegado. O par de

    comprometimento / reivindicao compe o delegatum a partir do qual a delegao

    derivada, como mostrado na Figura 19.

  • 50

    Compromissos e reivindicaes sempre formam um par que se refere ao

    mesmo contedo proposicional, e um relator social um exemplo de um relator

    composto por dois ou mais pares de compromissos associados / reclamao.

    Social Relator

    UFO-A::Material Relation

    Delegation

    * 1

    derived from4

    UFO-A::Externally Dependent Moment

    UFO-A::Intrisic Moment

    UFO-A::Moment

    UFO-A::Relator

    Sociall Moment

    2..*

    *

    1

    derived from4

    Physical Agent

    *

    -delegator

    1

    -delegatee

    1

    * Social CommitmentClaim1

    1..*

    1

    1..*

    Delegatum

    Figura 19 - UFO-C: Delegao.

    Finalmente, as aes (action) so eventos intencionais, ou seja, eles tm a

    finalidade especfica de satisfazer alguma inteno (por exemplo, um processo de

    negcio). Como eventos, aes podem ser atmicas (atomic action) ou complexas

    (complex action). J uma ao complexa composta de duas ou mais

    participaes (Participation). Essas participaes, por sua vez, podem ser

    intencionais (sendo, portanto, elas prprias aes) ou eventos no intencionais. Por

    exemplo, o ataque de Brutus a Csar inclui a participao intencional de Brutus e a

    participao no intencional da faca. Em outras palavras, nem toda participao de

    um agente considerada uma ao, mas somente as participaes intencionais,

    aqui denominadas contribuies de ao (action contributions). Apenas agentes

    (entidades capazes de possuir modos intencionais) podem realizar aes. A Figura

    20 apresenta esses conceitos.

  • 51

    Action UniversalAction1*

    Atomic ActionComplex Action

    Participation

    UFO-B::Event

    1*

    UFO-A::Event Universal

    *

    2..*

    Action ContributionResource Participation

    Agent

    1

    *

    Object

    *

    *

    UFO-A::Substantial

    Intention*

    1

    caused by4

    Figura 20 - UFO-C: Ao.

  • 52

    4 REENGENHARIA BASEADA NA UFO DA ONTOLOGIA DE

    PROCESSO DE SOFTWARE

    Este trabalho integra conceitualmente duas ferramentas que apoiam o

    planejamento do processo de software (Seo 2.3). De acordo com OBA-SI (ver

    Seo 2.2.1) uma ontologia de domnio deve ser utilizada para atribuir significado

    aos modelos conceituais das ferramentas que esto sendo integradas para que,

    posteriormente, eles possam ser mapeados semanticamente.

    Uma Ontologia de Processo de Software (Software Process Ontology - SPO)

    usada como a ontologia de referncia no processo de integrao dessas

    ferramentas. Essa ontologia foi originalmente desenvolvida em (BERTOLLO, 2006)

    com o objetivo de estabelecer uma conceituao comum para que as organizaes

    de software pudessem falar a respeito de processo de software. Em (GUIZZARDI et

    al. 2008) essa ontologia foi objeto de uma reengenharia parcial, onde alguns

    conceitos da SPO foram mapeados para conceitos da UFO com o objetivo de tornar

    explcitos os compromissos ontolgicos subjacentes. Entretanto, essa reengenharia

    no cobriu todos os conceitos necessrios para discutir o domnio de planejamento

    de projetos de software, alm de apresentar alguns problemas, como discutido mais

    adiante.

    Este captulo apresenta um passo frente na reengenharia da SPO com base

    na UFO, com o intuito de cobrir os conceitos necessrios para discutir o domnio de

    planejamento de projetos de software. Ele est estruturado da seguinte forma: a

    Seo 4.1 apresenta a verso original da ontologia de processo de software e a

    verso produzida em sua primeira reengenharia; a Seo 4.2 apresenta a nova

    verso, resultante da reengenharia realizada neste trabalho; e a Seo 4.3, por fim,

    apresenta as consideraes finais do captulo.

  • 53

    4.1 ONTOLOGIA DE PROCESSO

    Como discutido na Seo 2.3, durante o planejamento de projetos,

    necessrio definir o processo do projeto, agendar as atividades e alocar os recursos

    humanos que iro execut-las. Para controlar e monitorar o projeto de forma

    eficiente, necessrio acompanhar o cumprimento dessas atividades e o tempo

    gasto em sua execuo.

    Durante a definio do processo de software para um projeto, o gerente de

    projeto deve identificar as atividades que devero ser re