terça-feira, 10 de setembro de 2013

Aula em que Glaice apresentou o trabalho realizado em seu TCC

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.

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.

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.
  1. É observado um problema com o cliente;
  2. Conjuntamente uma ação é decidida;
  3. A ação é então executada;
  4. Os resultados são avaliados; e
  5. As lições aprendidas são aplicadas no caso específico e em outros.

Princípios de canonical action research aplicados em TAR:
  1. Para cada ciclo do cliente, TAR requere um acordo entre cliente-pesquisador;
  2. TAR é iterativo;
  3. TAR deve ser baseado em teoria;
  4. TAR implementa mudança através de ação; e
  5. 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?