Aplicações de Ontologias em Engenharia de...

Preview:

Citation preview

Aplicações de Ontologias em Engenharia de

Software

Ricardo de Almeida FalboOntologias para Engenharia de Software

Departamento de InformáticaUniversidade Federal do Espírito Santo

Agenda• Introdução• OntologiasemEngenhariadeSoftware• OntologiasnoDesenvolvimentoDistribuídodeSoftware• OntologiasnoDesenvolvimentodeSistemasMultiagentes• CategorizaçãodeOntologiasemES(2)• ExemplosdeOntologiasExistentes• WebSemânticadeES

Oqueéumaontologia?• Umaontologiaéumadescriçãoparcialeexplícitadeuma

conceituaçãocompartilhada.• TiposdeOntologias:– Quantoaograudegeneralidade(Guarino,1998):ontologiasdefundamentação,ontologiasdedomínio,ontologiasdetarefaeontologiasdeaplicação.

– Quantoaograudegeneralidade(Scherpetal.,2011):ontologiasdefundamentação,ontologiasnúcleo(coreontologies)eontologiasdedomínio

– Emrelaçãoàfasedoprocessodedesenvolvimentodeontologias(Guizzardi,2007):ontologiasdereferênciaeontologiasoperacionais.

– Quantoaoníveldeaxiomatização(Ruizetal.,2006):ontologiaspesadaseontologiasleves.

Modelos,Meta-modeloseOntologias• OntologiasdeReferênciasãomodelosconceituais.Modelos

Conceituaisdesistemastambém.Qualadiferençaentreelesentão?– Escopo.Modelossãodestinadosaumprojetoparticular,enquantoontologiastêmumescopobemmaisabrangente,queperpassaváriosprojetoseorganizações,visandoserummodeloconsensualparaumacertacomunidade.

• Muitasvezes,meta-modelossãoconsideradosmaisrelacionadoscomontologias.Contudo,elessãomodelosquefalamsobremodelose,portanto,visammelhorarorigordemodelossintaticamentesemelhantes,massemanticamentediferentes.Jáontologiasvisamtratarasemântica.

OntologiasemEngenhariadeSoftware• AsaplicaçõesdeontologiasemESsãomúltiplas.• Ontologiaspodemserintegradasainfraestruturasde

desenvolvimentoenoprópriosoftwaresendodesenvolvidoparaapoiarváriasatividadesdoprocessodesoftware.

• ComosurgimentodaWebSemântica(WS),iniciativascapitaneadaspororganizaçõesdepadronização,taiscomoW3CeOMG,começaramaserdesenvolvidasnosentidodeintegrarasáreasdeWSeES.(Happeletal.,2010)

6

AplicaçõesdeOntologias– VisãoGeral

• AplicaçõesdeOntologias(Jasperetal.,1999):– Comunicação– InteroperabilidadedeSistemas– EspecificaçãodeSistemas– RecuperaçãodeInformação

7

AplicaçõesdeOntologias– Comunicação

• Comunicaçãoentrepessoas:– Ontologiasreduzemconfusõesterminológicaseconceituais.

– Favorecemoentendimentocompartilhadoentreaspessoas.

8

AplicaçõesdeOntologias– Comunicação

• Podemserusadasparacriarumarededeconceitosdentrodeumsistemapermitindoàspessoasexploraremenavegarematravésdessaredeparaentenderosrelacionamentosinternosdosistema.

• Comunicação:– Entrepessoas– Entrepessoasesistemas– Entresistemas(interoperabilidade)

9

AplicaçõesdeOntologias– Interoperabilidade

• Ontologiaspodemserusadascomoumainter-línguaparaapoiaratraduçãoentrediferenteslinguagenserepresentações.

• Permitemacomunicaçãoentresistemas.• AcessoComumàInformação:umaontologiaéusada

parapermitirquemúltiplasaplicações-alvotenhamacessoafontesheterogêneasdeinformaçãoquesãoexpressasusandovocabuláriodiversoouformatoinacessível(Jasperetal.,1999).

• ServiçosCompartilhados

AplicaçõesdeOntologias– Interoperabilidade

• Sistemas:DadoseServiços• ArquiteturasOrganizacionais:Processos• Representações:Modelos

11

AplicaçõesdeOntologias– EspecificaçãodeSistemas

• Ontologiaspromovemoentendimentocompartilhadodeumdomíniooutarefa.

• OntologiacomoEspecificação:umaontologiadeumdeterminadodomínio/tarefaécriadaeprovêumvocabulárioparaespecificarrequisitosparaumaoumaisaplicações-alvo.Aontologiaéusadacomoumabaseparaespecificaçãoedesenvolvimentodesoftware,permitindoreúsodeconhecimento(Jasperetal.,1999).

• OntologiasdeDomínioßàModelosEstruturais• OntologiasdeTarefaßàModelosComportamentais• OntologiasdeFundamentação:baseparaambosos

modelos:ModelagemConceitual.

AplicaçõesdeOntologias– EspecificaçãodeSistemas

13

AplicaçõesdeOntologias– RecuperaçãodeInformação

• Máquinasdebuscatradicionaisretornamlistasderecursosrecuperados,oferecendopoucaounenhumainformaçãosobreasrelaçõessemânticasexistentesentreeles.

• Ontologiasoferecemummeiodelidarcomarepresentaçãoderecursosdeinformação:omodelodedomíniodescritoporumaontologiapodeserusadocomoumaestruturaunificadoraparadarsemânticaeumarepresentaçãocomumàinformação(Daviesetal.,2003).

• BuscaBaseadaemOntologias:umaontologiaéusadaparaprocurar,emumrepositóriodeinformação,porrecursosdesejados,melhorandoaprecisãoereduzindoaquantidadedetempogastonabusca(Jasperetal.,1999).

• Ex.:Web Semântica

14

AplicaçõesdeOntologias– RecuperaçãodeInformação

• Recuperaçãodeitensdeconhecimento:artefatos,liçõesaprendidas,discussões...

• Recuperaçãodecomponentes,bibliotecas,serviços,frameworks.

AplicaçõesdeOntologias• Inferência• OrganizaçãoeReutilizaçãodeConhecimento(Gerênciade

Conhecimento)

UsodeOntologiasnaES- Geral• IntegraçãodeFerramentas:Diferentesprojetosoumesmo

stakeholdersdeummesmoprojetousamdiferentesferramentas,quemuitasvezesnãosecomunicam.

• Problema:Interoperabilidade• Ontologiaspodemserusadasparaapoiaraintegração

semânticadasinformaçõesarmazenadasnessasferramentasedeserviçosprovidosporelas.

UsodeOntologiasnaES- Geral• CompartilhamentodeConhecimento:necessidadesde

conhecimento,muitasvezes,nãosãoexplicitamentedeclaradas,massimestabelecidaspelogapentreoconhecimentodeumdesenvolvedoreoconhecimentonecessárioparadesempenharumatarefaà Necessidadededisseminaçãopró-ativa.

• Problema:Encontraroequilíbrioentresobrecargadeinformaçãoefaltadeinformação

• Problemasrelacionados:Provisão,AcessoeUtilizaçãodaInformação (incluindoasdiferençasentreoscontextosdecriaçãoedeusodeumitemdeconhecimento).

UsodeOntologiasnaES- Geral• AcessoàInformação:Comoencontrarainformação

necessáriapararesolverumproblemaourealizarumatarefa?Aexistênciadegrandesrepositóriospodedificultarabuscaporitensrelevantesparaocontextoemmãos.

• Ontologiaspodemserusadasparaanotarsemanticamenteitensdeconhecimento,taiscomoartefatosdoprocessodesoftware,liçõesaprendidas,artefatosdecolaboração(e-mails,listasdediscussão,fórunsetc.).Gruposdeinteressepodemserestabelecidosdinamicamente atravésdaligaçãoentreoconteúdoanotadosemanticamenteeosperfisdosstakeholdersanotadoscombasenamesmaontologia.Mecanismosdeconsultaavançadosbaseadosemontologiaspodemserusadosparaapoiarabusca.

UsodeOntologiasnaES- Geral• ProvisãodeInformação:Desenvolvedoresfrequentemente

evitamesforçosdedocumentaçãoerejeitamaideiadeterdedescreveritensdeconhecimentoparareúso(anotaçãosemântica).

• Ontologiaspodemajudaraexplicitamentecapturarinformaçõesdecontextoeofereceraosdesenvolvedoresumvocabuláriomaisprecisoenãoambíguoparaexpressarcertasinformações.Alémdisso,certasinformaçõescontextuaispodemserderivadasautomaticamentedeartefatosdesoftware,utilizando-sedemétodosdeextração(documentaçãosemântica).

UsodeOntologiasnaES- Geral• Documentação:Diferentesartefatoscontémvárias

informaçõesinter-relacionadas(p.ex.,documentosderequisitos,códigofonteecasosdeteste).Astarefasdejuntaremanteressasligaçõesficamacargodosusuáriosedesenvolvedoresdessesartefatos.

• Ontologiaspodemserusadasparaadicionarsemânticaaelementosdeinformaçãoemdocumentos,demodoqueferramentasautomatizadaspossamprocessarerelacionarestasinformações(documentaçãosemântica).Ex.:Wikisemânticos.

UsodeOntologiasnaES- Geral

• Rastreabilidade:Mantermatrizesderastreabilidadeémuitotrabalhoso.

• Ontologiasusadasparaapoiaradocumentaçãosemânticapodemserusadastambémparadescreverasemânticadasrelaçõesexistentesentreosváriosartefatos desoftwareproduzidos,permitindoodesenvolvimentodeferramentasautomatizadasparaamanutençãoerecuperaçãodeinformaçõesderastreabilidade.

UsodeOntologiasnaES- Geral

• Tratabilidade:Softwareéumaentidadesócio-técnicae,portanto,énecessáriomanterumatrilhadetodasasinteraçõesrelevantes:humano-humanoehumano-software(p.ex.,chatqueexplicaumadecisão).

• Ontologiaspodemserusadasparadescreverasemânticadasrelaçõesexistentesentreosváriosartefatos,incluindoaquelesquenãosãoclassicamentedefinidoscomoentradaousaídadeumaatividadedoprocessodedesenvolvimento.

UsodeOntologiasnaES– ProcessodeDesenvolvimento• Requisitos:Asprincipaisrazõesdefracassosdeprojetosde

softwaresão:faltadeenvolvimentodeusuários,requisitosincompletosoumalespecificadosevolatilidadederequisitos.

• Umavezqueengenheirosdesoftwarenormalmentenãosãoespecialistasdedomínio,elesprecisamaprendersobreodomíniodoproblemacomusuários.ObterumentendimentocompartilhadoéumdosprincipaisdesafiosdaER.

UsodeOntologiasnaES– ProcessodeDesenvolvimento:Requisitos• Ontologiaspodemserusadascomoumaespecificaçãode

domínio(modelodedomínio)compartilhada,formalenãoambígua,quesirvadepontodepartidaparaaespecificaçãoderequisitosparaváriossistemasnaqueledomínio(abordagemdeEngenhariadeDomínio).

25

EngenhariadeDomínio• Enfoquesistemáticoparaaproduçãodecomponentes

reutilizáveis.• Atividades:– AnálisedeDomínio:visarepresentarrequisitoscomunsdeumafamíliadeaplicaçõespormeiodemodelosdedomínio;

– ProjetodeDomínio:buscaprovermodelosarquiteturaisparaumaclassedeaplicaçõesapartirdeumúnicomodelodedomínio;

– ImplementaçãodeDomínio:proverimplementaçõesdecomponentesquerepresentamfuncionalidadesbásicasdeaplicaçõesrelacionadasaumdomínio.

UsodeOntologiasnaES– ProcessodeDesenvolvimento:Requisitos• Usodedistinçõesontológicasprovidasporontologiasde

fundamentaçãoduranteamodelagemconceitualdesistemas.P.ex.,usodeOntoUMLnamodelagemconceitualdesistemas.

UsodeOntologiasnaES– ProcessodeDesenvolvimento• ArquiteturadeSoftware:Namaioriadossistemas,alógica

denegócioécodificadaemumalinguagemdeprogramaçãoemumcomponentedaarquitetura.Mudançasnalógicadenegóciorequeremmodificaçõesnocódigofonte eanálisesdeimpactos.

• Arquiteturasbaseadasemregraseusodemáquinasderegraspodemserumasoluçãoparaesteproblema.Aideiaésepararalógicadenegócioealógicadeprocessamento.

• Emumaarquiteturabaseadaemregras,umaontologiapodeserumcomponente(emtempodeexecução)dacamadadelógicadenegócio,separadodocomponentedelógicadeprocessamento(papeldesempenhadoporumamáquinaderegras– reasoner).

UsodeOntologiasnaES– ProcessodeDesenvolvimento• ReutilizaçãodeComponentes/ServiçosWeb:Estessão

casosmaisespecíficosdoproblemadeacessoàinformação,contextualizadosnasfasesdeprojetoeimplementaçãodoprocessodedesenvolvimento.Aquestãobásicaé:existemcomponentes/serviçosquepodemserreusados?Comoencontrá-loseusá-losnocontextodoprojetocorrente?

• Ontologiaspodemserusadasparadescrevercomponentes/serviçosweb(anotaçõessemânticas),demodoapermitirousoposteriordemecanismosdebuscamaisconvenientesepoderosos.

• Nocasodeserviçoswebsemânticos,descoberta,matchingecomposiçãoautomáticosdeserviçospodemserfeitos,tomandoporbaseaconceituaçãocompartilhadaoferecidapelaontologia.

UsodeOntologiasnaES– ProcessodeDesenvolvimento• ManipulaçãodeErros:Outrocasomaisespecíficodo

problemadeacessoàinformação,contextualizadonasfasesdeteste,depuraçãoemanutenção.Quandoumerroéapresentado,oqueelesignifica?Comotratá-lo?

• Geralmente,éútilencontrarocorrênciassimilaresdomesmoerroe,paratal,desenvolvedores,muitasvezes,recorremamecanismosdebuscabemgerais,comooGoogle.Oproblemaéqueocontextopodesermuitodiferente...

• Ontologiaspodemserusadasparasefazerumamediaçãoentreosdiferentescontextos,tomandoporbaseanotaçõessemânticas baseadasemontologia.

UsodeOntologiasnaES– ProcessodeDesenvolvimento• Testes:Oprojetodecasosdetesterequerconhecimento

tantododomíniodoproblemaquantododomíniodasolução edastécnicasaseremaplicadas.

• Ontologiasdedomíniopodemserusadasparaapoiartestadores,quenormalmentenãoestãotãoenvolvidoscomodomínioquantodesenvolvedores,acompreender melhorodomíniodosistemaasertestado.

• Alémdisso,anotaçõessemânticaspodemserusadasparaligarinformaçãorelacionadanoprojeto(ouatéemoutrosprojetos),comop.ex.,casosdetesteerequisitos.

UsodeOntologiasnaES– ProcessodeDesenvolvimento• Manutenção:Duranteamanutenção,hámuitostiposde

informaçãorelacionados,massemumaconexãoexplícita,tornandodifícilasoluçãodeumproblema.

• Ontologiaspodemajudaraconectar comunicaçõeseletrônicas(e-mails,listasdediscussão),relatosdebugseitensdesoftwareafetados,provendoumacamadaparaintegrardadosdediferentesfontes(interoperabilidadesemântica)emummodelosemânticounificado.

• Osdadoscombinadospodemser,então,usadosparaderivarinformaçãoadicionalpormeiodeinferênciasoumineraçãodedados,informaçãoessaquenãoestavaexplicitamentedeclaradaemnenhumadasbases.

UsodeOntologiasnaES• AmbientesdeDesenvolvimentodeSoftware(ADSs):

precisamtermodelosdeprocessos,demodoacompreender,dentreoutros,asatividadesqueestãosendorealizadaseasdependênciasentreartefatos,demodoaapoiarmaisefetivamenteosdesenvolvedoresnarealizaçãodesuastarefas.

• OntologiasdodomíniodeprocessosdesoftwarepodemcontribuirparaarealizaçãodeADSsSemânticos,provendoabaseparaumsuportebaseadoemconhecimento esensívelaocontextodousuário.

DesenvolvimentoDistribuídodeSoftware• DesenvolvimentoDistribuídodeSoftware(DDS):

colaboraçãoentregruposdedesenvolvedoresquetrabalhamemconjunto,localizadosemcidadesoupaísesdiferentes.

34

DesafiosdoDDS- Comunicação

• Awareness:Consciência,PercepçãoeConhecimentodasAtividadesDesenvolvidas.– Oqueestáacontecendo?– Quemestárealizandodeterminadatarefa?– Ondeelaestáacontecendo?– Quemprecisasernotificadoacercadenovasinformações?– Qualadependênciaentrerequisitos/funcionalidades?

• Contexto:Qualocontextodecadaintegrantedaequipe?

35

DesafiosdoDDS- Comunicação

• DispersãoGeográficaeTemporal:– Dificuldadedeobterconsenso.– Estadosfísicosementaisdosparticipantes.

• EstilosdeComunicação:Preocupaçõescomaformaeoconteúdodacomunicação.

• FormasdeComunicação:– Comunicaçãoinformaléreduzida.– Necessidadedecomunicaçãoindireta.– Prejuízoparaariquezadecontexto.– Sentidodeumafrasenãoestáapenasnaspalavras.Outroselementosdãosentidoaumafrase,taiscomotomdevoz,linguagemcorporal,expressãofacial,usodosilêncioetc.

UsodeOntologiasnoDDS• Coordenação:suanecessidadetemorigemnas

dependênciasentreastarefasdoprocessodesoftware,oquerequerquediferentespessoascoordenemseustrabalhosparaatingirumobjetivoouprodutocomum.

• Problema:Faltadeconsciência(awareness)dotrabalhodosoutros.

• Osusosdeontologiasdiscutidonosproblemasrelacionadosaoacessoàinformaçãosãoigualmenteúteisparaaformaçãodaconsciência,emespecial:anotaçãosemânticadeitensdeconhecimento,mecanismosdebuscabaseadosemontologias,pró-atividadenadisseminaçãodeconhecimento.

Agentes• Agentessãosistemascomputacionaiscapazesdeações

autônomas emalgumambiente,afimdealcançarseusobjetivosdeprojeto.

• Umagente,tipicamente,senteseuambiente(porsensoresfísicos,nocasodeagentessituadosnapartedomundoreal,ouporsensoresdesoftwarenocasodeagentesdesoftware)edisponibilizaumrepertóriodeaçõesquepodemserexecutadasparamodificaroambiente,oqualpoderespondernão-deterministicamenteàexecuçãodessasações.

SistemasMultiagentes(SMAs)• Sãosistemascomputacionaiscompostospordiversos

agentesinteragindonoambienteafimdealcançarseusobjetivosdeprojeto.

• EmumSMA,agentesprecisamsecomunicar afimdealcançarmelhorosseusobjetivosouosobjetivosdosistema/sociedadenoqualelesexistem.

• EmumSMA,agentesprecisamcoordenar suasaçõescomadeoutrosagentesparaatingirosobjetivosdosistemaousociedade.

• Ontologiaspodemserusadasparaassociarsignificadoàsmensagenstrocadasporagentes,ouparaproverumaconceituaçãocomumparaagentesemumSMA.

CategorizaçãodeOntologiasemES• SegundoHappeletal.(2006),ousodeontologiasnaES

podesercategorizadosegundoduasdimensõesprincipais:– Usoemtempodedesenvolvimentox emtempodeexecução– Usoparatratarproblemasrelativosaodomínioxaspectosdeinfraestrutura

CategorizaçãodeOntologiasemES

Ontology-driven development (ODD): uso de ontologias em tempo de desenvolvimento, descrevendo o domínio do problema

CategorizaçãodeOntologiasemES

Ontology-enabled development (OED): uso de ontologias em tempo de desenvolvimento com o objetivo de apoiar desenvolvedores em suas tarefas.

CategorizaçãodeOntologiasemES

Ontology-based architectures (OBA): uso de ontologias como um artefato em tempo de execução (ontologia como um elemento central na arquitetura do software).

CategorizaçãodeOntologiasemES

Ontology-enabled architectures (OEA): uso de ontologias para prover suporte de infraestrura em tempo real (p.ex., descoberta automática de serviços).

CategorizaçãodeOntologiasemES• RuizeHilera(2006)propõemumataxonomiadeontologias

paraEngenhariaeTecnologiadeSoftware(SET)formadaporduascategoriasgenéricas:– OntologiasdoDomíniodeSET:descrevemconhecimentoacercadodomíniodeSET.

– OntologiascomoArtefatosdeSoftware:usadascomoartefatosduranteoprocessodesoftware.

CategorizaçãodeOntologiasemES• OntologiasdoDomíniodeSETsãoclassificadas

considerandoumadistinçãoentreEngenhariadeSoftwareeTecnologiadeSoftware,conformeestabelecidonasDiretrizesCurricularesdeComputaçãodaACM.

CategorizaçãodeOntologiasemES• OntologiasdeES,quantoàcoberturadodomíniodeES,

podemserontologiasdetodoodomínio(ditasgenéricas)oudeumsubdomínio(ditasespecíficas).

• OntologiasdetododomíniotêmoambiciosoobjetivodemodelarocorpodeconhecimentodeESporcompleto.SãobaseadasemfontescomoSWEBOK,livroseglossários.

• Ontologiasdesubdomíniosbuscamtrataraconceituaçãodeapenasparte(subdomínio)destadisciplina.– AlgumasontologiasdesubdomíniosdeSETsãoelaboradaslevandoemcontaapossibilidadedeintegraçãocomoutrasontologiasdesubdomínio,visandoestabelecerumarededeontologias(ontologynetwork).

CategorizaçãodeOntologiasemES• SoftwareEngineering(SE)Ontologies– Generic(all-domain)– Specific(sub-domain)

• SoftwareRequirements• SoftwareDesign• SoftwareConstruction• SoftwareTesting• SoftwareMaintenance• SoftwareConfigurationManagement• SoftwareQuality• SoftwareEngineeringTools&Methods• SoftwareEngineeringProcess• SoftwareEngineeringManagement

CategorizaçãodeOntologiasemES• AscategoriasesubcategoriasdataxonomiadaACMforam

usadasparaclassificarOntologiasdeTecnologiadeSoftware.

CategorizaçãodeOntologiasemES• SoftwareTechnology(ST)

– Software• ProgrammingTechniques• ProgrammingLanguages• OperatingSystems

– Data• DataStructures• DataStorageRepresentations• DataEncryption• CodingandInformationTheory• Files

– InformationTechnologyandSystems• ModelsandPrinciples• DatabaseManagement• InformationStorageandRetrieval• InformationTechnologyandSystemsApplications• InformationInterfacesandRepresentation(HCI)

CategorizaçãodeOntologiasemES• OntologiascomoArtefatosdeSoftwaresãoclassificadasem

umprimeironívelemontologiascomoartefatosusadosemtempodedesenvolvimentoouusadosemtempodeexecução.

• Acategoriadasontologiasusadasemtempodedesenvolvimentoésubdivididacombasenafunçãodosprocessosdeciclodevidanosquaiselassãoprincipalmenteusadas,tomandoporbaseaISO/IEC15504-2(1998).

• Parasimplificar,apenasdoisníveisdequebra(gruposdeprocessoecategoriasdeprocesso)foramusados,tendosidodesconsiderados,portanto,oníveldeprocessosindividuais.

CategorizaçãodeOntologiasemES• GruposeCategoriasde

ProcessodaISO15504-2(1998)– ProcessosPrimários

• Cliente-Fornecedor• Engenharia

– ProcessosdeApoio• Apoio

– ProcessosOrganizacionais• Gerência• Organização

• TaxonomiadeOntologiascomoArtefatosusadosemtempodedesenvolvimento:– ParaProcessosdeEngenharia

• Desenvolvimento• Manutenção

– ParaOutrosProcessos• Cliente-Fornecedor• Apoio• Gerência• Organização

CategorizaçãodeOntologiasemES• Acategoriadasontologiasusadasemtempodeexecuçãoé

subdivididaemduassub-categorias,tomandoporbaseaclassificaçãodeGuarino:– Ontologiascomoartefatosarquitetônicos:quandoaontologiaépartedaarquiteturadosoftware,sendoumcomponenteadicionalquetrabalhacomorestodosistemaemtempodeexecuçãoparaatingirosobjetivosdosoftware.

– Ontologiascomorecursosdeinformação:quandoaontologiaéusadapelosoftwareemtempodeexecuçãoparaumpropósitoespecífico,atuandocomoumrecursodeinformação,normalmenteremoto,sobreoqualosoftwareopera,realizando,p.ex.,consultasespecíficas.

ExemplosdeOntologiasdeSEExistentes• RuizeHilera(2006)fazemumlevantamentodediversas

iniciativasrelativasaontologiasdoDomíniodeSETencontradasnaliteraturaaté2005.

• SoftwareEngineering(SE)Ontologies– All-domain(3)

• SWEBOK(2)• IEEEGlossaryofSoftwareEngineeringTerminology(1)

ExemplosdeOntologiasdeSEExistentes– Sub-domain(Ruiz;Hilera,2006)

• SoftwareEngineeringProcess(ProcessosdeSoftware)(4)• SoftwareMaintenance(5)• SoftwareQuality(2)• SoftwareEngineeringManagement(MediçãodeSoftware)(2)• SoftwareRequirements(4)

– NegociaçãodeRequisitos(Win-Win)(1)– ModelagemdeSistemas

» ModeloseOntologias(1)» UML(1)

– ModelagemdeAgentes(1)• SoftwareDesign(3)

– ESBaseadaemComponentes(1)– ModelagemdeSistemas

» ModeloseOntologias(1)» UML(1)

ExemplosdeOntologiasdeSTExistentes• SoftwareTechnology(ST)Ontologies– Software

• ProgrammingTechniques(5)– Serviços(3)– Agentes(1)– ComputaçãoUbíquaePervasiva(1)

• ProgrammingLanguages(3)– Código-Fonte(Genérica)(1)– Java(2)

– Data• CriptografiadeDados(1)

– InformationTechnologyandSystems• DatabaseManagement(1– SQL)• InformationInterfacesandRepresentation(2– Human-ComputerInteraction)

ExemplosdeUsodeOntologiascomoArtefatosdeSoftware

• Ontologiascomoartefatosdesoftwareusadosemtempodedesenvolvimento:– ProcessosdeEngenharia

• ProcessodeDesenvolvimento(14)– DestaqueparaafasedeAnálisedeRequisitos,com11propostas.

• ProcessodeManutenção(1)

– OutrosProcessos(NãoEngenharia)• ProcessosdeApoio(3):GarantiadaQualidade,Verificação&Validação,Documentação(Rastreabilidade)

• ProcessosdeGerência(3):GerênciadeConhecimento(1),DefiniçãodeProcessosdeSoftware(2,sendoqueumdelestambémtratadagerênciadoprojeto).

ExemplosdeUsodeOntologiascomoArtefatosdeSoftware

• Ontologiascomoartefatosdesoftwareusadosemtempodeexecução:– Comoartefatosarquitetônicos(3):

• Osautoresdestacam,ainda,queháváriaspropostasusandoarquiteturadesistemasbaseadosemconhecimento(máquinadeinferênciaatuandosobreumrepositórioquecontémaontologia),mas,porseremmuitocomuns,elespreferemcitartrêsexemplosqueusamoutrasarquiteturas.

– Comorecursosdeinformação(3)• MáquinasdebuscanaWeb(SemanticWeb)• Ontologiascomosubstitutosdebasesdedadosparaoarmazenamentodeinformação(naverdadearmazenamentoemtriplas)

• Aindaquenãocitadonosexemplos,osautoresdestacamaplicaçõesdaSemanticWebeWebServicesSemânticos.

WebSemânticadeES• AWebSemânticadeES(Happeletal.,2010)éumaWebna

qualagentesrealizamtarefasdedesenvolvimentodesoftwarebaseadosemdadosenriquecidossemanticamente.

• AESéumcenárioapropriadoparaestavisão,umavezqueoconhecimentoemprojetosdesoftwareestátipicamenteespalhadoemvárioslocais,formatos,sistemasepessoas.

• Especialmenteemgrandesprojetoseprojetosdistribuídos,ainformaçãoéheterogêneaedistribuída.

WebSemânticadeES• NaWebSemânticadeES,desenvolvedorespodemobter

umavisãogeralbemmaiscompletaeprecisadainformaçãorelacionadaàsuatarefacorrente.

• Alémdisso,elespodemsebeneficiarderecursosadicionais,taiscomoacessoecompartilhamentofácildeexperiênciasdeoutrosdesenvolvedoresechecagemdeconsistência.

WebSemânticadeES• AvisãodaWSdeESaindanãoestáconcretizada,masela

podecalcadaemcimadosseguintespilares:– Dadosdeprojetodevemserexpostosseguindoaabordagemdawebsemântica(metadadosanotadossemanticamente,combaseemontologias).

– Ferramentasdevemserconstruídasparaseremcapazesdeproduzireconsumirdadoseserviçossemânticos(interoperabilidadesemântica).

– Ferramentasdevemfazerusodemecanismosdebuscabaseadaemontologias,sendocapazesdecombinarinformaçãoexternamenterelevante(p.ex.,naWeb)edadosdeoutrosprojetoscomdadosdoprojetocorrenteedocontextoespecíficododesenvolvedor(incluindoatarefasendorealizada).

WebSemânticadeES• AconcretizaçãodaWebSemânticadeESdependedetrês

fatoresprincipais(Happeletal.2010):– Existênciadeontologiasapropriadasparaosváriosfinsdiscutidosanteriormente.

– Existênciademetadados(anotações)semânticos– Existênciadeferramentaspoderosascapazesdeincrementaressesdadosparaprovernovosserviços.

WebSemânticadeES• SegundoHappeletal.(2010):– Odesenvolvimentoemanutençãodeontologiaséumdesafioporsisó,queprecisaserjustificadoporganhosdeprodutividade.

– Contudo,paraavaliarosucessoemváriosdoscenáriosvislumbradosdousodeontologiasemES,éprecisoaplicá-las(problemado“ovoedagalinha”).

– Nãohá(nemhaverá)umaúnicaontologiasatisfazendotodasasnecessidades.

– SãováriasasaplicaçõesdeontologiasemESe,portanto,asontologiasresultantesvãovariaremexpressividade,escopoepropósito.

Referências• Happel,H.J.,Seedorf,S.,ApplicationsofOntologiesinSoftwareEngineering.

In:2ndInternationalWorkshoponSemanticWebEnabledSoftwareEngineering,2006.

• Happel,H.J.,Maalej,W.,Seedorf,S.,ApplicationsofOntologiesinCollaborativeSoftwareDevelopment.In:CollaborativeSoftwareDevelopment,Mistrik,I.,Grundy,J.,Hoek,A.,Whitehead,J.(Eds.),Springer,2010,pp.109– 129.

• Ruiz,F.,Hilera,J.R.,UsingOntologiesinSoftwareEngineeringandTechnology,In:OntologiesinSoftwareEngineeringandSoftwareTechnology,Calero,C.,Ruiz,F.,Piatinni,M.(Eds.),Springer,2006,pp.62– 119.

• Dillon,T,S.,Chang,E.,Wongthongtham,P.,Ontology-basedSoftwareEngineering- SoftwareEngineering2.0, 19thAustralianConferenceonSoftwareEngineering,2008.

Recommended