1 |
[en] A DYNAMIC INTEGRATION MODEL FOR SOFTWARE COMPONENT SYSTEMS / [pt] EXAMES VIRTUAIS UTILIZANDO UM ALGORITIMO DE RAY CASTING ACELERADORENATO FONTOURA DE GUSMAO CERQUEIRA 30 July 2002 (has links)
[pt] Diferentes sistemas de componentes de software, tais como CORBA, COM e JavaBeans, apresentam
diferentes modelos de objetos e sistemas de tipos. Essas diferenças dificultam a integração de componentes oriundos de sistemas distintos e, conseqüentemente, são uma barreira para o reuso desses
componentes.
Neste trabalho, defendemos a tese de que uma linguagem interpretada com um determinado conjunto de mecanismos reflexivos, aliada à compatibilidade estrutural de tipos, oferece um mecanismo
de composição adequado tanto para a conexão dinâmica de componentes, quanto para a interoperabilidade entre diferentes sistemas de componentes. Esse mecanismo de composição realiza em tempo
de execução as tarefas de conexão, adaptação, implementação e verificação de tipos de componentes,
e trata de uma maneira uniforme componentes de diferentes sistemas, permitindo que estes sejam
conectados de uma forma transparente.
O mecanismo de composição que propomos se baseia em um modelo que privilegia a flexibilidade
em tempo de execução. Esse modelo de composição é composto por dois elementos principais. O
primeiro elemento é um modelo de objetos que definimos com a finalidade de poder representar
componentes dos diferentes sistemas tratados neste trabalho. Assim, esse modelo de objetos faz o
papel de um modelo integrador, isto é, um modelo sob o qual objetos de diferentes sistemas podem
ser representados e interagir de forma transparente.
O segundo elemento de nosso modelo de composição é um padrão de projeto (design pattern) para
a implementação de bindings entre linguagens interpretadas e sistemas de componentes. Esse padrão
de projeto, chamado Dynamic Language Binding, não utiliza a técnica tradicional de stubs. Ao invés
disso, ele utiliza mecanismos de reflexividade e tipagem dinâmica para implementar tanto proxies
genéricos, que podem representar qualquer componente de um determinado sistema, quanto adaptadores genéricos, que permitem a implementação de componentes utilizando a própria linguagem de
composição.
Como instrumento de validação da nossa proposta, descrevemos uma implementação do modelo
de composição denominada LuaOrb. LuaOrb utiliza a linguagem interpretada Lua como linguagem
de composição dinâmica, e integra os sistemas CORBA, COM e Java. / [en] Different component systems, such as CORBA, COM, and Java,
have different object models and
type systems. Such differences make the interoperability
between components of distinct systems
more difficult, and thus are an obstacle for component
reuse.
In this dissertation, we argue that an interpreted
language with a specific set of reflexive mechanisms,
together with a type system with structural compatibility,
offers a composition mechanism
suitable for dynamic component connection and for
interoperability between different component
systems. This composition mechanism performs at runtime
the tasks of verifying types, connecting,
adapting and implementing components, and handles
components of different systems in a uniform
way, allowing them to be connected transparently.
The proposed composition mechanism is based on a model
that favors flexibility at runtime. This
composition model is composed of two major elements. The
first one is an object model, defined in
order to represent components of the different systems
addressed in this dissertation. Thus, this object
model performs the role of a unifying model, that is, a
model in which objects from different systems
can interact and be represented transparently.
The second element of our composition model is a design
pattern to implement bindings between
interpreted languages and component systems. This design
pattern, named Dynamic Language Binding,
does not use the traditional stubs technique. Instead of
this, it uses reflection and dynamic typing
to implement generic proxies, which can represent any
component of a specific system, and generic
adapters, which allow component implementations using the
composition language itself.
In order to validate our proposal, we describe the LuaOrb
system, which is an implementation
of our composition model. LuaOrb uses the interpreted
language Lua as its dynamic composition
language, and integrates the systems CORBA, COM and Java.
|
Page generated in 0.0315 seconds