Glaice apresentou o seu trabalho, que foi uma iniciativa de integração entre ferramentas do domínio de Gerência de Projetos - AlocaODE e dotProject - e abrangeu a definição de atividades do projeto, a alocação de pessoas a essas atividades e a elaboração de cronogramas.
Utilizou-se OBA-SI (Ontology-Based Approach for Semantic Integration), uma abordagem baseada em ontologia em que a integração semântica é realizada em um alto nível de abstração, possibilitando acordo semântico entre os sistemas no nível conceitual.
Ontologias em Engenharia de Software e Organizações
Blog criado para a disciplina de Ontologias em Engenharia de Software e Organizações, PPGI - UFES.
terça-feira, 10 de setembro de 2013
Aula do dia 09/09/2013
A primeira apresentação do dia foi
feita por Fabiano que abordou a construção de ontologias utilizando uma
linguagem de padrões ontológicos (SE-OPL). A OPL é replicada (como um template) e não especializada para a
construção da nova ontologia. Entre as vantagens da utilização dessa abordagem estão
o reuso de estrutura e das de regras.
Victor e Cássio apresentaram uma
transformação automatizada de OntoUML para OWL (linguagem para ontologias
voltada para Web). O metamodelo OWL é mais sintético que o de UFO. Então uma
transformação de UFO para OWL representa perda de informação e no sentido
inverso não é possível de ser feita. Por ser mais sintético, quando é
construída uma ontologia diretamente em OWL várias informações podem passar
despercebidas.
Entre as vantagens estão o tempo
para a construção, a possibilidade de abstrair OWL e a diminuição de erros. A
desvantagem é a perda de expressividade ocorrida.
John tratou de uma transformação
entre Temporal OCL para Alloy. Ele já tem feitos transformações de OCL para
Alloy e agora visa abordar também o aspecto temporal. Para isso algumas ações
serão necessárias como a restrição entre transições de phases e roles, por exemplo.
Diobert planejou um Sistema de
Comparação de Preços Baseado em Ontologia. O serviço seria similar ao Buscapé e
BondFaro. O desafio é transformar informações não estruturadas em informações
baseadas em ontologias. A arquitetura do sistema apresenta um Gatherer (Nutch e
Apacha Tomcat como WebCrawler) e um Triplificador.
domingo, 1 de setembro de 2013
[Aula 26/08] Primeira e segunda apresentações de seminários
No dia 26 tivemos duas apresentação de ontologia aplicada a engenharia de software. A primeira apresentação foi a respeito de um survey na área de mapeamentos entre banco de dados em triplas e banco de dados relacionais. A segunda, apresentou uma reengenharia de ontologia no domínio de organizações públicas.
A primeira apresentação traz um histórico de como a internet era um "web of documents" e hoje está evoluindo para "Web of data". Neste cenário o uso de bancos de dados em RDF se faz mais útil. Este trabalho foca na transformação de dados em formato relacional (RDB) para formato de triplas(RDF). O estudo foca em duas principais características. Uma é quanto a automaticidade da transformação onde automático seria transformação 1 para 1, a semi-automática baseia-se em um modelo de transformação intermediário, e neste momento a ontologia toma seu espaço e por fim, a transformação manual, podendo também ser baseada em ontologias. A outra característica é em relação à estática ou dinâmica, onde a primeira enquadra na transformação a nivel de dado, normalmente utilizando o ETL (Extract, tranform, load), enquanto a segunda - dinâmica - faz o uso da transformação da query, de SPARQL para SQL.
A segunda apresentação relatou os esforços aplicados na transformação de uma ontologia no domínio de organizações públicas, escrita em axiomas e relacionamentos, em uma ontologia escrita em OntoUML. Nesta apresentação, as autoras relataram que com o uso da linguagem OntoUML foi possível descobrir vários furos na ontologia prévia e fez-se a necessidade de tomar decisões de modelagem que não estavam incluídas na ontologia anterior.
Em resumo, as duas apresentações tiveram usos diferentes da ontologia na área de engenharia de software. A primeira analisou transformações de formatos de dados, com o uso da ontologia como uma mantedora de semântica durante este processo, enquanto a segunda apresentação fez uma reengenharia com a finalidade de transformar uma representação de domínio de um linguagem para outra, mantendo-se ou até melhorando, sua semântica.
A primeira apresentação traz um histórico de como a internet era um "web of documents" e hoje está evoluindo para "Web of data". Neste cenário o uso de bancos de dados em RDF se faz mais útil. Este trabalho foca na transformação de dados em formato relacional (RDB) para formato de triplas(RDF). O estudo foca em duas principais características. Uma é quanto a automaticidade da transformação onde automático seria transformação 1 para 1, a semi-automática baseia-se em um modelo de transformação intermediário, e neste momento a ontologia toma seu espaço e por fim, a transformação manual, podendo também ser baseada em ontologias. A outra característica é em relação à estática ou dinâmica, onde a primeira enquadra na transformação a nivel de dado, normalmente utilizando o ETL (Extract, tranform, load), enquanto a segunda - dinâmica - faz o uso da transformação da query, de SPARQL para SQL.
A segunda apresentação relatou os esforços aplicados na transformação de uma ontologia no domínio de organizações públicas, escrita em axiomas e relacionamentos, em uma ontologia escrita em OntoUML. Nesta apresentação, as autoras relataram que com o uso da linguagem OntoUML foi possível descobrir vários furos na ontologia prévia e fez-se a necessidade de tomar decisões de modelagem que não estavam incluídas na ontologia anterior.
Em resumo, as duas apresentações tiveram usos diferentes da ontologia na área de engenharia de software. A primeira analisou transformações de formatos de dados, com o uso da ontologia como uma mantedora de semântica durante este processo, enquanto a segunda apresentação fez uma reengenharia com a finalidade de transformar uma representação de domínio de um linguagem para outra, mantendo-se ou até melhorando, sua semântica.
sexta-feira, 30 de agosto de 2013
Technical Action Research (TAR) – Roel Wieringa - 08/07
Technical Action Research (TAR) – Roel Wieringa
TAR é a validação de um artefato
pela sua aplicação em um caso real.
Em TAR os papéis de um pesquisador (designer, helper e researcher) devem ser mantidos
separados.
Em classical action research o
pesquisador ajuda o cliente a identificar e resolver um problema. Já em TAR, o
pesquisador deseja aprender sobre uma técnica através de sua utilização na solução de problemas. Assim, TAR é orientada a tecnologia e não
a problema, pois uma tecnologia pode solucionar uma classe de problemas e não um
problema específico.
TAR é importante para o
pesquisador levar uma técnica “da sua mesa” para a prática. Para o cliente isso
representa maior probabilidade de obter resultados úteis e avanço do
conhecimento sobre novas técnicas.
AR clássica é orientada a problema.
- É observado um problema com o cliente;
- Conjuntamente uma ação é decidida;
- A ação é então executada;
- Os resultados são avaliados; e
- As lições aprendidas são aplicadas no caso específico e em outros.
Princípios de canonical action
research aplicados em TAR:
- Para cada ciclo do cliente, TAR requere um acordo entre cliente-pesquisador;
- TAR é iterativo;
- TAR deve ser baseado em teoria;
- TAR implementa mudança através de ação; e
- TAR contém aprendizado pela reflexão sobre uma ação.
Por fim, foi abordada a generalização
necessária para identificação de arquiteturas e mecanismos. Para isso, é
necessário apoio em lógica e em teorias pré-estabelecidas.
domingo, 18 de agosto de 2013
Aula 12/08/2013
Para realizar uma análise organizacional pode-se utilizar Tropos. Porém, Tropos é limitada à análise de requisitos e projeto de arquitetura.
Por outro lado, a linguagem AORML é utilizada para produção de projeto detalhado. Por isso, as duas linguagens foram combinadas. Ou seja, a partir do projeto arquitetural, em Tropos, é feito um mapeamento para gerar o projeto detalhado, em AORML.
A transformação realizada foi inspirada no Desenvolvimento Orientado a Modelos (Model Driven Development - MDD). MDD apresenta 03 (três) viewpoints, que são Computation Independent Model (CIM), Platform Independent Model (PIM) e Platfomr Specific Model (PSM).
Esse mapeamento foi feito também utilizando-se ontologia, mas especificamente UFO. Sem o uso da
ontologia para fazer a análise dos conceitos da linguagem, o
mapeamento não seria possível.
domingo, 4 de agosto de 2013
Aula dia 29/07/2013
Na aula do dia 29/07/2013 continuou-se a tratar de Ontological Foundation em i* Framework.
A relação de dependência foi discutida. Essa relação pode
ser dividida em dependência e delegação. A delegação especifica uma
relação material. De modo diferente a dependência é definida por uma relação
formal.
Como conclusão do trabalho apresentado temos que proporcionar um fundamento
ontológico para i* é o caminho para esclarecer o significado das construções da
linguagem.
O entendimento do significado das construções e dos diagramas possíveis contribui para maior
objetividade da linguagem, pois impedem a ocorrência de falhas como construct overload,
redundancy, excess e incompleteness. Como comentado em aula, algumas
construções da linguagem permitem modelagem e leituras diferentes (subjetividade) de um mesmo diagrama, de
acordo com o contexto em que é feita aquela representação, o que não é
aconselhável em uma linguagem de diagramação.
No fim da aula analisamos diagramas procurando identificar
eventuais inconsistências e o que estava certo em cada um deles.
segunda-feira, 29 de julho de 2013
Aula 22/07/2013
A linguagem
de modelagem de objetivos denominada i* vem abrindo um leque de novas
tecnologias e usos com grande utilidade, entre outras áreas, no levantamento de
requisitos. Durante a aula de Ontologias aplicadas a Engenharia de software
foram apresentados alguns trabalhos relacionados com a linguagem i*, como
exemplo o i* wiki, que consiste em um ambiente de colaboração com o tema i*,
apresentando novas ferramentas, tutoriais e FAQs. Outros trabalho conhecidos
são, workson approach, um metamodelo da linguagem e iStarML, uma estrutura
baseada em XML utilizado para prover interoperabilidade entre as ferramentas
baseadas em i*.
Existem
também dois trabalhos de representação de i* utilizando ontologias. O
Ontoistart é uma representação em OWL da
linguagem, o qual seu foco é disponibilizar um metamodelo e manter uma
referência, ou entendimento, compartilhado. No entanto o laboratório Nemo tem
aplicado esforços para desenvolver uma ontologia que reflita o i*, conhecida
como Onto i*. Este trabalho tem reunido esforços para justificar conceitos e
relações da linguagem i* através da ontologia (UFO-C), relacionando um conceito
na UFO com um conceito no i*. Alguns conceitos são evidentes como intenção,
proposição e agentes. O
resultado deste trabalho, facilita a interoperabilidade entre linguagens
baseadas no i* (entre outros
beneficios).
Na aula do
dia 22/07/2013 foi apresentada o trabalho desenvolvido (Onto i*). Discutiu-se a
semântica de conceitos do i* como MAKE, BREAK, HELP e HURT, a diferença
ontológica entre means-end e MAKE, entre outros. Também durante a aula foram
naturalmente levantados, algumas discussões a respeito. Entre as discussões,
foram questionados a individualidade de objetivo que exerce o papel de um
subobjetivo, ou seja, foi levantada a importância, ou relevância de se falar de
um objetivo individualmente, quando ele foi identificado como subobjetivo de um
outro objetivo maior?
Assinar:
Postagens (Atom)