MODELOG : model-oriented development with executable logical object generation

AUTOR(ES)
DATA DE PUBLICAÇÃO

2007

RESUMO

UML (Unified Modeling Language) transpÃs sua proposta inicial de servir como notaÃÃo visual para construir rascunhos de modelos de alto nÃvel para software orientado a objetos. Uma sÃrie de extensÃes para a linguagem e o escopo de suas aplicaÃÃes foram propostas com forte sinergia entre si, tais como OCL, XMI, ASL, MOF, perfis UML e diferentes propostas de semÃntica formal. Enquanto estas extensÃes constituem-se em um ponto de partida para tornar UML o elemento pivà para as visÃes de Engenharia Dirigida a Modelos (EDM) e Web SemÃntica (WS), muitos outros elementos continuam ausentes, incluindo: (1) semÃntica formal completa para UML e OCL; (2) mÃquina de inferÃncia para UML, baseada em tal semÃntica para dar suporte à verificaÃÃo de modelos e raciocÃnio com agentes inteligentes que fazem uso de ontologias especificadas via UML na web semÃntica; (3) compiladores UML para permitir geraÃÃo de cÃdigo estrutural e comportamental de forma totalmente automÃtica a partir de modelos UML/OCL. Nesta tese, nÃs apresentamos o arcabouÃo MODELOG, baseado em uma Ãnica proposta para resolver estas trÃs questÃes: Um mapeamento automÃtico de modelos UML/OCL para programas lÃgicos orientados a objetos em Flora-2, uma linguagem executÃvel, Turing completa e com uma semÃntica formal bem definida. NÃs desenvolvemos o mapeamento do MODELOG atravÃs de transformaÃÃes de modelos seguindo a visÃo EDM. Como fonte destas transformaÃÃes, nÃs reusamos os metamodelos providos pela OMG para UML 2.0 e OCL 2.0 e, como destino, nÃs desenvolvemos um meta-modelo para Flora-2. NÃs tambÃm experimentamos e comparamos duas linguagens para implementar as transformaÃÃes: a linguagem ATL, destinada à especificaÃÃo de transformaÃÃes EDM e que à baseada em OCL, e a prÃpria linguagem Flora, que pode tambÃm ser utilizada como uma linguagem de transformaÃÃo de modelos. Como estudo de caso para validar o MODELOG, nÃs desenvolvemos o jogo de montagem de polÃgonos chamado Triangram. Trata-se de um jogo que envolve tarefas tÃpicas da inteligÃncia artificial, como tarefas de planejamento, a serem executadas por agentes. Adicionalmente, o triangram requer uma hierarquia de classes complexa adicionada de especificaÃÃes estruturais e comportamentais. O modelo PSM Flora para este jogo foi gerado automaticamente a partir de seus modelos UML/OCL atravÃs da aplicaÃÃo das transformaÃÃes EDM do MODELOG. A principal originalidade desta tese à dupla. Primeiro, ela simultaneamente ataca vÃrias lacunas em UML em seus novos papÃis: linguagem de especificaÃÃo formal, EDM, serviÃos da web semÃntica e engenharia de software para agentes inteligentes. Segundo, ela faz isto sem precisar adicionar novas linguagem intermediÃrias, mas reusando uma jà consolidada e eficientemente implementada. Em contraste, trabalhos prÃvios sÃo aplicados apenas a uma ou duas aplicaÃÃes de UML e, adicionalmente, propÃem novas linguagens intermediÃrias para estes fins. Esta tese traz contribuiÃÃes para vÃrios campos: â Para EDM, ela mostra que à factÃvel a geraÃÃo automÃtica de cÃdigo executÃvel estrutural e comportamental a partir de modelos PIM, especificados com x UML/OCL, atravÃs de um estudo de caso complexo envolvendo raciocÃnio automÃtico; â Para o desenvolvimento Ãgil, ela reconcilia a robustez de mÃtodos formais com a prototipagem rÃpida e testes antecipados, desde que o cÃdigo gerado por MODELOG, alÃm de ser executÃvel, permite a verificaÃÃo de modelos UML/OCL; â Para UML e OCL, ela provà uma semÃntica formal denotacional integrada em Sequential Transaction Frame Logic, na qual Flora à baseada; â Para a programaÃÃo em lÃgica, ela provà meta-modelos compostos de todas as linguagens que integram a plataforma Flora, clarificando suas relaÃÃes e as colocando como possÃveis linguagens fonte ou destino para uma variedade de tarefas EDM, tais como verificaÃÃo de modelos e prototipagem rÃpida. Adicionalmente, esta tese tambÃm provà um caminho de desenvolver programas lÃgicos atravÃs de processos de desenvolvimento de software orientado a objetos jà consolidados; â Para a engenharia de software para agentes inteligentes, ela mostra como combinar vantagens complementares dos paradigmas lÃgico e orientado a objetos, os dois mais amplamente reusados no desenvolvimento de agentes inteligentes; â Para o desenvolvimento de serviÃos na web semÃntica, ela introduz uma tÃcnica EDM que permite especificar tais serviÃos com modelos UML atravÃs de ferramentas CASE jà consolidadas e, posteriormente, gerar automaticamente a sua especificaÃÃo no padrÃo SWSL, proposto pela W3C, e que à uma variante de Flora baseada em XML para representar serviÃos da web semÃntica

ASSUNTO(S)

uml transformaÃÃes de modelos engenharia dirigida a modelos ocl atl desenvolvimento de serviÃos nas web semÃntica programaÃÃo lÃgica orientada a objetos mof prototipaÃÃo rÃpida ciencia da computacao desenvolvimento de agentes inteligentes flora

Documentos Relacionados