@MastersThesis{Dias:2019:ArUtFr,
author = "Dias, Antonio de Oliveira",
title = "Uma arquitetura para utiliza{\c{c}}{\~a}o de frameworks
reflexivos na parte comportamental de modelos de objetos
adaptativos",
school = "Instituto Nacional de Pesquisas Espaciais (INPE)",
year = "2019",
address = "S{\~a}o Jos{\'e} dos Campos",
month = "2019-02-25",
keywords = "modelo comportamental, meta programa{\c{c}}{\~a}o, engenharia de
software, behavioral model, Adaptive Object Model (AOM), software
engineering, framework, metaprogramming.",
abstract = "Alguns sistemas t{\^e}m como caracter{\'{\i}}stica a frequente
mudan{\c{c}}a de regras, que desenvolvidos sem a tecnologia
adequada, demandam horas de desenvolvimento para
atualiza{\c{c}}{\~a}o. Um exemplo dessa necessidade, no contexto
do INPE, s{\~a}o aplica{\c{c}}{\~o}es que retornam dados de
diferentes tipos de sensores, que frequentemente precisam que seus
servi{\c{c}}os forne{\c{c}}am novas informa{\c{c}}{\~o}es, e
mesmo uma nova l{\'o}gica sobre essas informa{\c{c}}{\~o}es.
Para atender esta demanda por flexibilidade, foi criado o Modelo
Adaptativo de Objetos (AOM), um estilo arquitetural em que tipos
de entidades, atributos, relacionamentos e comportamentos s{\~a}o
representados por meio de inst{\^a}ncias, criadas a partir de
metadados consumidos em tempo de execu{\c{c}}{\~a}o. Uma das
dificuldades na cria{\c{c}}{\~a}o de uma arquitetura AOM
est{\'a} no fato de que, por usar uma estrutura diferente para
entidades, n{\~a}o {\'e} poss{\'{\i}}vel utilizar com
frameworks tradicionais. Frameworks AOM existentes proveem uma
estrutura gen{\'e}rica e alguns componentes, mas n{\~a}o
permitem o uso com outros frameworks. O framework Esfinge AOM Role
Mapper possui uma abordagem baseada no mapeamento de modelos que
permite o uso com frameworks tradicionais, mas sem dar suporte ao
modelo comportamental do AOM, equivalente aos m{\'e}todos nas
classes. Dessa forma, o objetivo desse trabalho {\'e} definir um
modelo arquitetural capaz de mapear a representa{\c{c}}{\~a}o do
comportamento de entidades entre modelos de classe est{\'a}ticos,
AOMs espec{\'{\i}}ficos de dom{\'{\i}}nio e AOMs independentes
de dom{\'{\i}}nio, com a finalidade de possibilitar a
utiliza{\c{c}}{\~a}o de frameworks feitos para modelos de classe
est{\'a}ticos em arquiteturas AOM. O primeiro passo foi a
avalia{\c{c}}{\~a}o da abordagem do Esfinge AOM Role Mapper
atrav{\'e}s de um experimento, o qual mostrou que ele possui uma
boa aceita{\c{c}}{\~a}o com os desenvolvedores e n{\~a}o tem
diferen{\c{c}}a significativa em tempo de desenvolvimento em
compara{\c{c}}{\~a}o com desenvolver sem uso de framework. Em
seguida, foram implementadas novas funcionalidades no AOM Role
Mapper para adicionar o modelo comportamental em sua base e o seu
mapeamento para os outros modelos. Por fim, para avaliar se o
objetivo de uso de frameworks tradicionais foi atingido, foi
realizado um estudo de caso onde o framework Spring {\'e} usado
em uma aplica{\c{c}}{\~a}o AOM para gerar servi{\c{c}}os web em
tempo de execu{\c{c}}{\~a}o. Como resultado, com a
solu{\c{c}}{\~a}o proposta foi poss{\'{\i}}vel utilizar a
funcionalidade com um baixo acoplamento entre o framework
tradicional e o framework AOM. Com isso, esse trabalho cumpre o
objetivo de apresentar uma solu{\c{c}}{\~a}o arquitetural que
possibilita o uso de frameworks tradicionais em
aplica{\c{c}}{\~o}es AOM, criando o potencial de permitir a
constru{\c{c}}{\~a}o desse tipo de aplica{\c{c}}{\~a}o de
forma mais eficiente e com menor repeti{\c{c}}{\~a}o de
c{\'o}digo. ABSTRACT: Some kind of systems have as characteristic
the frequent change of rules, that developed without the
appropriate technology, demand hours of development for update. An
example of this need, in the context of INPE, are applications
that return data from different types of sensors, which often need
their services to provide new information, and even a new logic on
that information. In order to meet this demand for flexibility,
created the Adaptive Object Model (AOM), an architectural style in
which entity types, attributes, relationships, and behaviors are
represented through instances, created from metadata consumed at
runtime. One of the difficulties in creating an AOM architecture
lies in the fact that by using a different structure for entities,
it is not possible to use with traditional frameworks. Existing
AOM frameworks provide a generic framework and some components,
but do not allow the use with other frameworks. The Esfinge
framework AOM Role Mapper has an approach based on the mapping of
models that allows the use with traditional frameworks, but
without supporting the behavioral model of AOM, equivalent to the
methods in the classes. Thus, the objective of this work is to
define an architectural model capable of mapping the
representation of the behavior of entities between static class
models, domain specific AOMs and domain independent AOMs, in order
to enable the use with frameworks made for static class models in
AOM architectures. The first step was to evaluate the approach of
the AOM Esfinge Role Mapper through an experiment, which showed
that it has a good acceptance with the developers and does not
have significant difference in development time comparing with not
using any framework. Then, new functionalities were implemented in
AOM Role Mapper to add the behavioral model in its base and its
mapping to the other models. Finally, in order to evaluate if the
goal of use with traditional frameworks was reached, a case study
was carried out where the Spring framework is used in an AOM
application to generate web services at runtime. As a result, with
the proposed solution it was possible to use the functionality
with a low coupling between the traditional framework and the AOM
framework. This work accomplishes the objective of presenting an
architectural solution that allows the use with traditional
frameworks for AOM applications, creating the potential to allow
the construction of this type of application more efficiently and
with less code repetition.",
committee = "Vinhas, L{\'u}bia (presidente) and Guerra, Eduardo Martins
(orientador) and Sant'Anna, Nilson and Aguiar, Ademar Manuel
Teixeira de",
englishtitle = "An architecture for using reflexive frameworks in the behavioral
part of adaptive object models",
language = "pt",
pages = "103",
ibi = "8JMKD3MGP3W34R/3SPKGPL",
url = "http://urlib.net/ibi/8JMKD3MGP3W34R/3SPKGPL",
targetfile = "publicacao.pdf",
urlaccessdate = "26 abr. 2024"
}