SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
TEMAS 3
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
E n s a y o s
Arquitecturabasadaenobjetos
decomputacióndistribuida
enlaconfiguracióndesistemasdistribuidos
Anatoli Semenovich Koulinitch*
Francisco Espinosa Maceda**
Carlos Benavides Martínez***
AbstractResumen
1. Introducción uniformedeconocimientoalcompartirlainformaciónen-
tre los usuarios y los sistemas; además tiene numerosos
problemas,entrelosquedestacanlosconcernientesalcre-
cimiento,lamodularidadyelmantenimientodeunaapli-
cación.
Tradicionalmentelaconfiguraciónesconsideradacomouna
secuenciadeestadosentreloscualesdestacanlaformula-
ción del problema, el diseño conceptual, la síntesis de pa-
rámetros,etcétera.Sehadesarrolladounanálisisparaevaluar
las soluciones factibles y las características del objeto, las
cualessondeterminadassecuencialmente,destacandoentre
estosestadoslasoluciónefectiva.
We are at the beginning of the age of distributed comput-
ing. The basic idea of this approach is the development
of application infrastructure so that the user does not
need to know about computers, networks, operating sys-
tems, programming language, components, modules, etc.
To meet this challenge, we offer an interface-based orga-
nization of components for distributed computing which
we have used for the development of configuration sys-
tems of complex projects. To reach this goal, we propose
a sophisticated architecture of a distributed application
environment where decision making agents interoper-
ate and cooperate over a distributed configured object
by means of special middleware. The architecture of this
middleware has been developed as a distributed environ-
ment supported by intelligent project agents. Property
integrity and partial consistency of distributed complex
projects are supported by special methods based on data
base and knowledge base integration and distributed
computing using graph grammar rules.
Estamos en la etapa inicial de la computación distribuida.
La idea básica de nuestro enfoque es el desarrollo de la infra-
estructura de aplicaciones de tal manera que el usuario no
necesite saber nada sobre computadoras, redes, sistemas
operativos, lenguajes de programación, componentes, módu-
los, etcétera. Para resolver este problema ofrecemos una or-
ganización basada en interfaces de los componentes para la
computación distribuida que hemos usado para el desarrollo
de sistemas de configuración de objetos complejos. Para lo-
grar esta meta proponemos una arquitectura sofisticada de
ambiente de aplicaciones distribuidas donde agentes de
toma de decisiones interoperan y cooperan sobre objetos dis-
tribuidos y configurados a través de middleware especial. La
arquitectura de este middleware se ha desarrollado como
ambiente distribuido apoyado por agentes inteligentes de
proyectos. La integridad de propiedades y consistencia par-
cial de proyectos distribuidos complejos están soportados
por métodos especiales basados en la integración de bases
de datos y bases de conocimiento, así como en reglas de gra-
mática de grafos.
astecnologíasdeinformacióndistribuida(IT’s)pro-
veenunaccesouniversaltransparentearecursos
distribuidos, y como existe una gran variedad de
tiposdecomputadoras,redesysistemasoperativos,lacom-
putaciónempresarialeshoyendíaunacoleccióndediver-
saspartesquetrabajanenconjuntoconunfincomún.La
tecnologíacliente/servidoresactualmenteundesarrolloes-
tratégicoencomputación,quenosuministraunmodelo
L
* DirectordelPosgradoenElectrónicayComputacióndelaUTM.
** Profesor-investigador de tiempo completo del Instituto de Electrónica y
Computación,UTM.
*** TesistadelalicenciaturaenIngenieríaenComputación,UTM.
TEMAS4
E n s a y o s
Elprogresodelainformacióntecnológicadistribuidaper-
mitecombinardiferentesconfiguracionesdeestado,usan-
doagentesbasadosenconocimientofuncionaldistribuido.
Una configuración distribuida es un proceso de relación
cooperativaenlacualtrabajanagentes(diseñadoresoex-
pertos)enlosdiferentesaspectosopartesdeunDC-obje-
to con el fin de promover acciones de integración en el
consensodelosarchivos.Losdatosgeneradosporlosagen-
tes deben ser compatibles con los DC-objetos y con los
datosformadosconcurrentementeporotrosagentesde
cadaDC-objeto.
Hoylaingenieríaconcurrente(ConcurrentEngineering-CE)
necesitadeunabuenacaracterizacióndelmodeloopera-
cional;hayunasignificativanecesidaddeformalizarlade-
cisióncooperativadistribuidayconcurrente,paralograruna
interrelacióndeprocesosquepuedansermanejadosefec-
tivamenteporagentesbasadosentecnologíasdeambien-
tes sin restricciones. El DCS, como una especialización
intelectualenambientes,puedefacilitarelmantenimien-
todistribuidopormediodelmecanismodeagentespara
coordinar el desarrollo de los DC-objetos, pero hay mu-
chosproblemasrelacionadosconestedesarrollo,porejem-
plo: la colaboración en la actualización de procesos
independientes,loscualestienenquecalcularlaresultan-
te de los datos concurrentes con una coordinación "se-
mántica"; la integridad y consistencia de los datos y el
modelado de las actividades, las cuales pueden ser com-
plementadaspormásdeunobjetooporvariantes.
Elproblemadeconfiguraciónseformulacomouninterva-
lodelproblemarestricción-satisfacción,elcualasumeque
losvaloresdeldominiosonintervaloseintervalosaritméti-
cosestándarusadosparaevaluarnodosyarcosdeconsis-
tencia.
2. Tecnologías de información distribuida
basada en objetos
La idea principal de la tecnología de información es
dividir las aplicaciones complejas de programación en
componentesomódulosfácilmentedesarrollables,com-
prensibles, diseñándolos como módulos activos deno-
minados agentes; estos componentes podrán trabajar
en conjunto sólo si han sido diseñados y construidos
bajo las interfaces estándar. La arquitectura basada en
componentes para la construcción de aplicaciones de
sistemas provee una lista de interfaces comunes para
integrar sus diferentes componentes hacia una solu-
ción completa. En la actualidad la tecnología de la in-
formación está comprometida en solucionar la carencia
de interoperabilidad de aplicaciones entre las diferen-
tes plataformas de computadoras, y el ensamble de
estos componentes comienza a ser el principal proble-
ma para el desarrollo de las aplicaciones distribuidas.
Para resolver este problema se necesita de una infraes-
tructuracapazdeproveerlainvocacióndeprogramasre-
motos y la comunicación con ellos; la comunicación de
las aplicaciones a través de la red, se logra con algún
middleware. El middleware, como los procesadores de
transacciones, conectores de bases de datos, protocolos
de comunicaciones, entre otros, proveen de diferentes
clases de infraestructura, donde la interacción de los ob-
jetos es perfecta a través de un sofisticado sistema de
mensajes permitiendo a los agentes hacer requisiciones
de servicio de otros agentes.
La tecnología de objetos está progresando y para poder
proveerlosprincipiosdeorganizaciónparalasiguientege-
neracióndelaarquitecturacliente/servidorsefundamenta
enlaComputaciónDistribuidaBasadaenObjetos(ODC),
lacualestáencaminadaalacomputacióncliente/servidor
orientadaaobjetos.Lasventajasqueresultandeesteam-
bientedecomputacióndistribuidabasadaenobjetosson
lassiguientes:
1. Lasaplicacionesconformadasporobjetosdistribuidos
sonunaimagenúnicadelaempresa.
2. Los servidores son transparentes hacia los clientes, los
cualespuedenserimplementadoscomoagentesmigra-
torios.
3. Tantolosobjetosremotos,comolocales,secomunican
de la misma manera a través de mensajes.
TEMAS 5
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
4. Elparticionamientopermitealosusuariosuncambiode
recursosdecómputoensusaccesos.
5. Laenvolturadelosobjetos(interfacesorientadasaob-
jetos)estáelaboradaparalacomunicaciónentreellos.
Losobjetosdistribuidos(DC-objetos)sepresentanalusua-
rio como algo muy familiar, no como máquinas, redes o
lenguajesdeprogramación;sonactores,jugadoresconsu
propia actividad o sustitutos de cosas del mundo real o
representacióndealgunosconceptos.Losmódulospue-
densercubiertosyapareceraldesarrolladorcomoagentes
y cuando se cuenta con esta cubierta, el código puede
participar en un ambiente ODC. El envolver o cubrir es
una técnica para crear una interface basada en objetos,
conlacualsepuedenaccesardeunamaneraespecíficay
funcionalloscontenidosdeunaomásdelasaplicaciones
existentesenunacomputadora.
2.1 Arquitectura de la computación distribuida
basada en objetos
La ODC es uno de los paradigmas de la computación
que admite distribuir objetos a través de una heterogé-
nea red permitiendo a cada uno de sus componentes
interactuar como una sola unidad. Este paradigma pro-
veedeunainfraestructuraparaabastecerloscomponen-
tes de servicios disponibles y así reunir los procesos
cooperativos distribuidos de una forma universal y trans-
parente. La ODC es un avance dramático en los forma-
tos de computación, es un resultado de la convergencia
de la tecnología orientada a objetos y la tecnología clien-
te/servidor, mezclando las ventajas de distribución de la
tecnologíacliente/servidorconlariquezadeinformación
del mundo real contenida en los modelos orientados a
objetos.
LosDC-objetospuedendistribuirseendiferentescompu-
tadoras a través de la red, y la ODC puede verlos como
unaredglobaldeclientesyservidoresheterogéneosyco-
operativos. La ODC satisface al paradigma al reunir de
maneraefectivaloscambiospuntoapuntoenlosaccesos
cliente/servidor,dondeelclienteservidorglobaldelared
es una computadora distribuida basada en objetos; tam-
biéncuentaconprovisionesparaelparadigmauniversalde
construcción,transparenteyadaptativoenlasinfraestruc-
turasdeinformaciónysistemas.
LaODCproponeunsofisticadosistemadeservicioproveí-
doporlosDC-objetospartidosenagentes(P-agentes),para
garantizar la integridad de propiedad y la debilidad en la
consistencia de los datos objeto. Una arquitectura ODC
tienequesoportarlainteroperacióndelosactosconcurren-
tes de los DM-agentes sobre las partes de los DC-objetos,
manteniendounacoordinadaactualizaciónenlosconflictos
defuentescomunesentrelosprocesosdelosDC-objetos,
portantohayunareducidacargaenlosDM-agentes.Los
servicios de la ODC están bien solicitados en el ambiente
distribuido;estoes,enformadinámicayproveyendodife-
rentessoportesenlacolaboracióndealtonivel.
Esta arquitectura es una consecuencia de la selección de
larepresentacióndelconocimientoylaestructuradedatos
orientados a objetos, ambas usadas por los modelos de
objetos. Los P-agentes son interfaces flexibles y progra-
mables entre DM-agentes y objetos distribuidos. Existen
implementaciones aproximadas de tres filas (three-tie-
red) para controlar todos los objetos de operación escri-
tura/lectura.LaarquitecturaODCesusadaporlosP-agentes
para entender el contexto dentro del cual están suce-
diendo las actualizaciones de los eventos. Los P-agentes
utilizan técnicas de inferencia para hacer factible las ope-
raciones de los DM-agentes sobre los DC-objetos y po-
der conceptualizar una vista del ambiente de DCS como
un middleware.
Los DM-agentes se comunican regularmente a través de
redesestructuradas,lascualesestánsoportadasporP-agen-
tes; cada P-agente está conectado con una lista de DM-
agentesdesarrollandolaspartesdelosDC-objetosmásun
númerodeP-agentesparapodersoportarlacoordinación
dedatoscomunescompartidosentrelaspartesdelosDC-
objetos;tambiénunDM-agentepuedecontenerunalista
decanalesparaintercambiarconP-agentesenlasdiferen-
tesplataformas.
TEMAS6
E n s a y o s
Las comunicaciones están establecidas mediante una
estructura de intercambio de mensajes la cual intero-
pera de acuerdo con la lista preestablecida en el for-
matodetransferencia(protocolos).Estasinteroperaciones
están basadas en un grafo de transformación de espe-
cificaciones de los agentes de acción. Los DM-agentes
pueden ser distribuidos con la información incomple-
ta, pero utilizando una forma semánticamente rica en
la descripción de las posibilidades del diseño basado
en fragmentos.
Los DM-agentes pueden activar algunos actores como
agentes computacionales (C-agentes) para que deci-
dan entre las diferentes tareas computacionales. Un
C-agente siempre espera una llamada de comunica-
ción y puede interpretar dicho mensaje de acuerdo a
su estado real. Un C-agente puede generar un nuevo
C-agente para que decida nuevas sub-tareas.
3. Funciones de los agentes
Los sistemas cooperativos están compuestos de una lis-
ta de agentes (llamados sistemas multi-agente-MAS) y
son considerados sistemas modulares de ODC. La teo-
ría de sistemas multi-agentes surge debido a la tenden-
ciadeldesarrollodesistemasinteligentesyalacomputación
distribuida.Aunquedesafortunadamentetodavíanoexiste
una metodología que permita analizar, especificar, di-
señar e implementar estos sistemas multi-agentes, no-
sotros especificamos el conocimiento de cada agente
internoysucomportamientoenelmundoexterno,además
de sus interacciones con otros agentes. Esto significa
que la comunicación entre ellos se da con especifica-
ciones semánticas, por lo que la corrección de los pro-
tocolos de interacción en sistemas específicos está
garantizada.
Para especificar la mayor parte de los sistemas multi-
agentes es necesario definir el conocimiento interno
que le pertenece a cada agente y sus funciones que
proceden del mundo exterior, muy cerca de la interac-
ciónconotrosagentes.Ennuestrainvestigaciónelmodelo
del sistema multi-agentes es usado por el modelo de
ambientecooperativo-DCS,endondeelMAStomaventaja
sobrelaparticipacióndinámicadecadaunodelosmiembros
del grupo, lo cual constituye un avance.
Un DM-agente puede usar toda una base de datos,
pero las operaciones de actualización sólo pueden ser
efectuadas fuera, en la parte de captura. Un DM-agen-
te tiene que capturar la parte seleccionada de un frag-
mento de DC-objeto, como protección de posibles
actualizaciones no coordinadas con otros DM-agentes.
Un DM-agente puede crear nuevos tipos de datos como
parte de modelos de un DC-objeto o sus instancias,
buscar prototipos para diseñar parte de nodos-consis-
tentes de los fragmentos capturados, transformando los
datos de ciertas operaciones mediante cálculos de in-
tervalos para definir valores restringidos para los atribu-
tos y, finalmente, enviar sus propósitos al P-agente para
su aceptación o rechazo.
La propuesta hecha localmente por un DM-agente está
disponible de inmediato para los DM-agentes que usen
elementos de interface para capturar el fragmento. En
general, la factibilidad de las operaciones de actuali-
zación de un P-agente sobre un DC-objeto está res-
tringida por la semántica de datos de los objetos; es
decir, las propiedades de un DC-objeto y sus requeri-
mientos aplicables a él. La coordinación de las accio-
nes concurrentes de los DM-agentes están basadas en
los conceptos de integridad de propiedad y la consis-
tencia de su cobertura para una base de datos en la
cual la idea de "actividad de un objeto" es usada de
acuerdo con las posibles operaciones definidas sobre
el estado del fragmento.
Los mensajes entre los P-agentes y los DM-agentes son
soportados por la arquitectura DCS y consiste en refe-
renciar los fragmentos capturados, sus transformacio-
nes,activosrestringidos,etcétera.LosmensajesP-agente
permiten DM-agentes, por ejemplo, para organizar una
efectiva búsqueda de partes constitutivas de un frag-
mento diseñado con propiedades compatibles.
TEMAS 7
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
Unadelasideasparaladeducciónclásicadeconsistencia
enlasbasesdedatoseslanocióndeunmodelodemundo
cerrado.Unabasededatosesconsistentesiesunmodelo
verdaderodeunmundodado.Por"verdadero"seentiende
laausenciadehechoscontradictoriosexistentesenelmun-
do (DB), tanto como los obtenidos de las aplicaciones de
lasleyesdeldominiodelproblema.Estasleyessonelsigni-
ficadoparalacapturadeunricomundodesemánticas.
Enelmundorealcadaobjetotieneunaúnicacualidad,un
únicoprocesoparatomardecisiones,reglasdeingeniería,
constreñimientoyrequerimientos.Estosignificaquecada
DC-objeto es el resultado de un proceso colaborativo ba-
sado en hechos únicos, conocimiento, toma de decisio-
nes y reglas de diseño. Para satisfacer la demanda de
nociones de la cobertura de consistencia para DB & KB,
seintroducelaconsistenciadentrodeunmini-mundode
cada DC-objeto.
Todoslosobjetossonincluidosenunobjetoporreferencia
de la persistencia de objetos. Los modelos DB & KB pro-
puestosnosonunaunióndisjuntademini-mundosdeto-
dos los proyectos. Los mini-mundos de dos DC-objetos
pueden ser interceptados si uno de los DC-objetos usa
alguna parte de otro DC-objeto como un fragmento. En-
tonceselsegundoDC-objetoaceptatodoslosdatosyco-
nocimientos del primer mini-mundo en la forma de un
modelofragmentado.Ambos,elprimeroyelsegundoDC-
objeto, deben ser consistentes con respecto a los hechos
relativosyalconocimientodelosfragmentoscompartidos.
4.1 Fragmentación
Unfragmentoesunapartedeunobjetoqueseinterpreta
comounobjetouobjetosinterrelacionadosconrestriccio-
nes entre ellos. Los fragmentos son unidades de toma de
decisión y distribución. Cada DM-agente puede ser refe-
renciadocomounatomadedecisióndeunfragmentocual-
quiera en un nivel conceptual como definición de este
modelo, o en un nivel paramétrico como definición de
propiedad.Eldiseñoconceptual,comounpasodelatarea
deconfiguración,seexportaporladefinicióndeestemo-
4. Integridad y consistencia de datos en los accesos
Las reglas de configuración para las acciones específi-
cas de actualización, como crear, borrar, insertar y mo-
dificar, deben satisfacer las reglas de integridad y
consistencia de los datos. En este caso solamente un
modelo DC-objeto puede contener todos los mecanis-
mos necesarios para coordinar una actualización con-
currente. Esta ventaja es motivada por el módulo de la
filosofía de la ingeniería concurrente donde ambos, el
objeto desarrollado y los aspectos de administración de
la ingeniería concurrente, son integrados. La idea bási-
ca de proponer esta ventaja es incrementar las posibili-
dades de expresión de una base de datos para la
representación semántica de sus relaciones entre las
partes de una entidad; por ejemplo la representación
de las compatibilidades semánticas de un modelo de
objeto para el soporte de un objeto agregado. Estas po-
sibilidades se conservan, lo cual significa la inclusión
del conocimiento al modelo de objeto que describe la
compatibilidad restringida entre sus componentes.
Una base de datos y una base de conocimientos mo-
delo pareja (DB & KB) se considera como una integra-
ción de un objeto modelo de datos y la representación
de su conocimiento con el mecanismo de coordina-
ción que usa una semántica específica para sus relacio-
nesconcadaDC-objetoysusvariantes.Estosedesarrolló
para organizar los datos y el almacenamiento del cono-
cimiento, así como la actualización concurrente en la
búsqueda de decisiones eficientes y factibles basadas
en mecanismos coordinados.
Para soportar el modelo de consistencia de DC-objetos
introdujimoslosconceptosdepropiedaddeintegridady
la cobertura de consistencia de datos de los DC-objetos
mediantelasemánticadedatos.Lapropiedaddeintegri-
dadincluyelademandadecompatibilidaddepropiedad
parapartespertenecientesaunasimpleestructuraidenti-
dad.Estanuevacualidadesusadaparaanalizarlafactibi-
lidad de los DM-agentes de decisión y su agregación al
modelo de DC-objetos.
TEMAS8
E n s a y o s
DB&KBDB&KB
fragmento α
β
χ
δ
IG
deloenformadeunaclasedeobjetousandounmecanis-
modeagregación.Lasoperacionesenestenivelpueden
generarnuevasclases,agregandosubclasesydefiniendo
unarestricciónentreellas.Lapropiedaddelfragmentodi-
señado es definida en el nivel paramétrico de ingeniería
deacuerdoconlarestricciónexistente.
El estado actual del fragmento y sus transiciones a otro
estado se dan por una lista de reglas con condiciones.
La principal dificultad se presenta por la necesidad de
incluir una nueva aplicación con acciones de larga du-
ración. Para aplicaciones ordinarias complejas las acciones
DB se unen a un acceso atómico de transacciones para
actualizar los fragmentos capturados. La concurrencia
de transacciones de larga duración no pueden ser eje-
cutadas secuencialmente. En el orden de realizar una
ejecución bien definida de estas acciones, se desarro-
lla el criterio de menor número de correcciones basa-
da en el grafo de transformación paralelo (GT). Este criterio
garantiza que una ejecución distribuida de una lista de
acciones de DM-agentes sea equivalente a alguna eje-
cución de un componente (amalgamado) GT, el cual
es resultado especial de un P-agente para todas las
actualizaciones aplicadas a la parte del DC-objeto con-
currente.
5. Modelos de grafos de transformación
5.1 Ventaja sobresaliente
Lateoríadetransformacióndegrafosproveeunparadig-
ma uniforme y un formalismo flexible para la especifica-
ción,laimplementaciónyelanálisissecuencialdesistemas
distribuidos y concurrentes. Las técnicas basadas en gra-
fos se aplican exitosamente en el desarrollo de DCS, re-
presentandounDC-objetocomounaestructurajerárquica
degrafosatribuidosparaelmodelocomunitariodeobje-
tos de multi-nivel.
La ventaja de GT se usa para el modelo concurrente y
distribuidodeaccionesdelDM-agentey alavezcoordina
la acción entre ellos. Un sistema GT es una colección
de reglas GT basadas en la llamada ventaja única de
pushout, donde pushout corresponde a un término de
unificación. Un paso en GT se define en términos de
producción y derivación de grafos. Una producción GT
se presenta mediante morfismos y aplicaciones de
producción en subgrafos, los cuales son grafos que se
describeneneldiagramaconmutativollamado pushout
(PO). Se usa la ventaja algebraica de la representación
GT en la categoría de atributos de grafos y por lo mismo
se crea su independencia, lo cual permite aplicar el
paralelismo, la concurrencia y la unificación. De esta
manera la actualización concurrente de los estados DC-
objeto se modelan por la noción del grafo de unifica-
ción para la computación concurrente.
El GT corresponde a una operación sobre el estado de
un DC-objeto representado por un atributo global del
grafo. Un DC-objeto se modela por una segmentación
del estado de un grafo en un conjunto de localidades
con una interface de grafos global (IGs). Los segmen-
tos de un grafo DC-objeto y los grafos locales con sus
IGs globales, se describen en la figura 1. La concurren-
cia directa GT de dos actualizaciones simultáneas DC-
objetosonindependientesenformaasíncrona,ounificados
de manera síncrona.
Figura 1. Segmentos de un grafo DC-objeto
TEMAS 9
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
CadaP-agentemantieneungrafolocal,GTeslocalsipue-
de ser ejecutado por un P-agente y es global si en su im-
plementación se usan dos o más P-agentes. Un P-agente
puede coordinar actualizaciones de DM-agentes locales
paralelosyproveerunacolaboraciónglobalconcurrente
de GTs, así las partes distribuidas integran un modelo de
objetos consistente, los cuales se unen a grafos locales
distribuidos a lo largo de sus IGs. De esta forma todos los
pasosdistribuidosparaunobjetosonsincronizadosydistri-
buidos. Los GT globales se consideran como el inicio de
unasecuenciacompuestadesegmentos,unionesypasos
dedistribución.
Un GT puede representarse formalmente de la siguiente
manera:rcorrespondealasreglasdeunGTysurepresen-
tación es r=L® R, donde L y R son grafos y el patrón es
incluidoenlaentradadadaporelgrafoG: m=L® G.Aquí
L es sustituida por la segmentación R en G, creando un
nuevo grafo H. Generalmente a través de las reglas r se
formaunGTdeungrafo Gporlaeliminacióndealgunas
partes de Del de G y define algunas partes de Kg en el
contextodeDel.Deinmediatoseagregaunanuevaparte
deAddconunnuevocontextodeKh
,resultandoungrafo
derivadoH,dondeKh
esconstruidodesdeKgylos nodosy
arcosdelcontextoestánestrechamenteunidos.
El principio de la construcción de las fórmulas de unión
paraderivacionesconcurrentesengrafossedaenEH,por
lotantonuestrasinvestigacionesseenfocanaldesarrollo
deestosmétodosformalesparaGTscondicionales,basa-
dos en el análisis de la consistencia.
5.2 Transformación de atributos de grafos
Las especificaciones GT consisten en objetos y referen-
cias entre ellas, representando condiciones de compati-
bilidad, por lo cual nosotros usamos una lista ordenada
para la evaluación de atributos de objetos. Las reglas GT
descritas por los morfismos y el álgebra se usan como un
dominio semántico de las especificaciones de los datos
de un grafo, el cual va equipado con el componente
tipo de datos, como atributo de un grafo codificado grá-
ficamente en estructuras con propiedades de objetos.
Los atributos de los grafos se usan en el modelo de eva-
luación de datos de un objeto como combinaciones al-
gebraicas de una estructura gráfica y otra del tipo
componente de datos. Las transformaciones directas se
forman en un paso para las transformaciones de estruc-
tura de grafo y componente de datos, y relaciona sus
pasosdondelosatributossecomponenconcondiciones
de consistencia adicional. Las composiciones de trans-
formación se integran con la composición doble de gra-
fos y la transformación de datos.
Lostiposdedatossedefinenalgebraicamente.Lasiglapara
el atributo de un grafo debe ser la misma en la estructura
gráfica(llamadaestructuraG).Lasiglaparaeltipodedatos
esDT-set,ylosatributosaloscualesselesasignanvalores
dedatosdeobjetoaobjetosserepresentancomoarcosde
unaformaespecial.
UnaestructuraGesunmodeloparcialalgebraicoendon-
desepermitentodoslostiposdeoperación.LasreglasGT
son morfismos parciales y satisfacen diferentes condicio-
nes. Las reglas de la estructura G son inyectivas para una
listadetransformacionesD,ysonisomórficasparatodala
organización de datos A. Sintácticamente, con el álgebra
se pueden representar variables con base en siglas que
contengansólodatosorganizadosyoperacionesdedatos
paralostiposdedatosseleccionados.
Losfragmentosdeobjetossonentidadespersistentesque
sobreviven a métodos de ejecución. Las configuraciones
delosobjetossemodelanporvariasseleccionesalgebrai-
casycadaconfiguraciónrepresentaunacomunidadestruc-
turada de objetos, la cual refleja la arquitectura de
interconexionesdeloscomponentes.
5.3 Condiciones de aplicación del GT
La consistencia de un sistema GT se basa en el uso del
teorema del paralelismo para la derivación de grafos con
condiciones de aplicación contextual (CACs) con restric-
ciones de consistencia. La aplicabilidad de las reglas GT
TEMAS10
E n s a y o s
secontroladirectamenteporCACsenunnivelsemántico
y se representa como subgrafos generalizados vincula-
dos. Para la interconexión de los grafos existen reglas
específicas hacia la derecha o izquierda y se verifican en
el tiempo de ejecución; antes de que CACs aplique la
regla,puedeexpresaruncontextodecondicionespositi-
vas o negativas, así como las combinaciones entre ellas,
que consisten en conclusiones de premisas disyuntivas.
CACs puede, por ejemplo, describir de manera única y
afirmativaloselementosenungrafo,sustipos,propieda-
des o ciertas restricciones concernientes a las siglas de la
lista del modelo DT. Para satisfacer las condiciones de
aplicaciónserequierelaconsistenciadelasespecificacio-
nes GT y la consistencia de un modelo de objetos de
datosquesecodificandentrodelosatributosdeungrafo
usandoidentificadoresadicionalesexpresadosenfórmu-
laslógicas.CACspuedecaracterizarsepormediodeecua-
ciones, o no, para la representación de intervalos
restringidos.Nosotrosusamosestascondicionesparalas
especificacionesdeconsistenciayapoyarlaspropiedades
de integridad en el modelo de objetos distribuidos.
Lascondicionesconceptualesdelaaplicacióncomparten
todaunaestructuradondelasrestriccionessontotalmente
morfismos L®®®®® L´ y se satisface por la pareja L®®®®® G. Esta
ventaja se define como y bajo las reglas GT, pueden ser
aplicadasconCACs,queproveenivelesintermediospara
expresarlapotenciaentrelagramáticalibredecontextoy
losgrafosdegramáticasensitivadecontexto.
UnasoluciónenelintervaloCSPeslaasignacióndevalores
paracadafragmento.Cadadominiopuedesermulti-evalua-
dodesdecadaatributoycaracterizadoporunalistadeinter-
valosdeatributos.ElsistemaGTconCACsesconsistentesi
elgrafoinicialsatisfacelascondicionesdeconsistenciaylas
reglasdepreservacióndeestapropiedad.
6. Coordinación
La coordinación entre dos DM-agentes se expresa por la
sincronizacióndesusP-agente(s)quepermitanlatransfe-
rencia de fragmentos capturados a procesar sobre el
P-agente(s).LacoordinaciónenDCSpermitelaresolución
de intereses conflictivos (recursos) y la interoperación de
DM-agentes. El DCS distribuido se construye en el nivel
superior de un mecanismo de comunicación, para efec-
tuareltrabajocooperativoporinteroperaciónatravésdela
red, vinculado a la ingeniería para lograr tanto las metas
individualescomolascomunes.
6.1 Estructura dinámica virtual
PararesolverunproblemadecoordinacióndeGTenfor-
malocal,cadaP-agentedesarrollaunaestructuradinámi-
ca virtual (VDF) de la parte del objeto que apoya, para
generar el espacio del arco de consistencia. Un VDF es
ungrafoespecíficoconnodoscomoDM-agentesyarcos
comorestriccionesexternasparalosfragmentoscaptura-
dosporellos.LosarcosentredosnodossonIGlocalesde
DM-agentes y se usan para coordinar sus acciones. Un P-
agente identifica cómo un nuevo DM-agente puede in-
cluirse en un VDF y cómo incluir las actualizaciones del
DM-agente al objeto. Un VDF es lo más adecuado para
representar diseños individualmente y permitir todas las
restricciones activas para que se consideren simultánea-
mente por parte del DC-objeto.
UnP-agenteposeeinformacióncompletasobrelaslimita-
ciones,variablesydominiosdevaloresparaencontrares-
tados consistentes de VDF; además utiliza los conceptos
de consistencia en los nodos y arcos para determinar y
apoyarlaintegridadyconsistenciadedatosparalasdeci-
sionesdelDM-agente,capturandotodaslasposiblesinte-
raccionesentreelDM-agenteysusaccionescoordinadas,
traduciendolosrequerimientosdelobjetoenlasespecifi-
cacionesderestricciones,ylosenvíaatodoslosDM-agen-
tespertinentes.ElP-agenteusaunmecanismocronológico
debúsquedaparaseleccionarotroconjuntodeDM-agen-
te propuesto, si se alcanza un ciclo final.
6.2 Amalgamación
El sistema GT especifica las acciones con diferentes estra-
tegias y permite implementar ejecuciones distribuidas
TEMAS 11
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
un P-agente (caso no distribuido). Esta situación se re-
suelve por un P-agente que usa un IG local compartido
paradosnodosdeVDFapropiadosparaestosagentes.La
sincronización se desempeñaría entonces en todos los
procesos de los IGs compartidos teniendo que esperar la
coordinacióndesusacciones.
Lacoordinacióndeprocesosconcurrentessedacuandoel
DM-agentecapturaelfragmentoapoyadopordosomás
P-agentes.Unacoordinacióndeaccionesdistribuidasusael
modelodepasodemensajesentreP-agentesparalacomu-
nicacióndelasactualizacionessincronizadasdelDC-objeto.
ElmensajedelDM-agentesetransfiereusandoelenfoque
3-tiered de acuerdo a una colección global de actualiza-
cionesparatodoslosP-agentespertinentes.LosIGsgloba-
lescomoobjetoscompartidossonaccesiblesportodaslas
partesdeunGTglobalqueestéinvolucrado.
6.4 Negociación y comunicación de agentes
Paralacorrectacooperaciónycoordinacióndetrabajoen
un MAS, donde la actuación de los agentes es en forma
interdependiente,debeexistirunmecanismoadicionalque
lespermitaunacolaboraciónycoordinaciónfactibleentre
ellos.Paradefinirunmétododeinteracciónentreagentes,
losprocesosdenegociaciónseespecificancomolacoordi-
naciónycooperación.
Lacooperaciónsignificaquelasolucióndeunproblemade-
terminadoseaelresultadodelainteraccióncooperativaentre
todoslosagentes;lacoordinaciónentreungrupodeagentes
permiteconsiderartodaslastareasarealizarycoordinarlas,ya
queesunadecisióndecompatibilidadentreellos.Aconti-
nuaciónsemencionanalgunascaracterísticasdeMAS:
1. Conocimientodetodoslosagentesdelsistema,esposi-
bleubicarloscuandoenvíanorecibenlosrequerimien-
tos a otro;
2. Conocimientodelpapelorolquecadaagentecumple
enlainteracción,yencadacasoesposiblesaberaquién
puededirigirse;
de operacionessobreelDC-objeto,asíproveelasemánti-
caoperacionalatravésdeGTs.Elmecanismodesincroni-
zaciónserepresentacomounaamalgamacióndegrafos
con reglas de GT y se emplea con el fin de definir la se-
mánticaoperacionalparaunsistemaGT.Latécnicadeamal-
gamaciónseusaparadescribirelefectodeinterconexión
queproveeunmecanismodelcontroldeprocesoGT.
Los GTs se ejecutan concurrente e independientemente
uno del otro y por su tipo de interacción se distinguen si
sonsíncronooasíncrono.DosGTspuedensincronizarse
mediante operaciones GT, utilizando IG comunes, cam-
biando éstos durante el proceso de las operaciones. En
este trabajo un GT síncrono se considera como un caso
especialdentrodelosasíncronos.
6.3 Envío de mensajes e IG compartidos
Unadelascaracterísticasprincipalesdelossistemasdistri-
buidoseslanaturalezalocaldelcómputo.Unconjuntode
DM-agentes,conectadosenalgunaformaespecífica,trata
dealcanzarunametacomún.Laspropiedadesglobalesdel
objeto pueden ser computadas con el significado de GR
local,oglobal,sobreDC-objetos.Laarquitecturacompar-
tidadeDC-objetosesunaestructuradereddinámicaque
integrasuscomponentesenDCSconrecursoscomunes,
incrementandosurehuso,modularidadyportabilidadde
suscomponentes.
SiunodelosDM-agentescambiaalIGcompartido,elotro
tieneconocimientodelcambio.Estoocurriráindependien-
temente de que las partes sean distribuidas, o no; este
mecanismoseusaparalaactualizacióndelacoordinación.
Lasincronizaciónseconformacuandotodoslosprocesos
compartidosIGtienenqueesperarsercoordinadosporsus
acciones.
ElDCScontienedosmecanismosparalacoordinaciónba-
sadosenpartesdelIG-compartido.
La coordinación de procesos paralelosse produce cuan-
do dos DM-agentes capturan fragmentos apoyados por
TEMAS12
E n s a y o s
3. Contar con una opinión de cada uno de los agentes
(conocimiento),siendoposibletener"criterios"enlatoma
de decisiones, entre otras.
6.4 Modelo de negociación
Lanegociaciónesunmecanismopararesolverlosconflic-
tos haciendo lo posible por alcanzar un consenso entre
DM-agentes.Latareacomputacionaldeunaconfiguración
es la formalización de un intervalo de satisfacción de res-
tricciones (ICSP). El ICSP asume que los valores del domi-
niosonintervalosyusanunintervaloaritméticoestándar
paraevaluarlaconsistenciadenodosyarcos.Enlaimple-
mentaciónactualseasumequetodaslaslimitacionesson
monolíticas,sinembargonosotrosinvestigamoselproble-
madecómolosDM-agentesqueactúandemaneracon-
currenteyresuelvenconflictospormediodenegociaciones
conunP-agente,detalformaquelosproblemasdediseño
puedenserresueltosefectivamenteensutotalidad.UnP-
agente necesita ser capaz de evaluar las propuestas del
DM-agenteparadefinirlaconsistenciadedatosyalfinse
comprometa,tomandoenconsideraciónsucontexto.
Las estrategias de negociación incluyen la selección de
decisiones efectivas cuando existen múltiples soluciones
defragmentosenformafactible;sialgunasoluciónnoes
factible es necesario omitir algunas restricciones para lo-
grarlasoluciónalproblema.
CadaDM-agentetratadeencontrarsolucionesdefragmento
conbaseencriterios(conocimiento)propiosyenvíanpro-
puestasalP-agente,elqueevalúaestaspropuestasconcu-
rrentemente y si satisfacen restricciones de intervalos
entonceselP-agenteenvía el mensajedeconfirmacióny
escribe las propuestas en DB & KB.
Sielacuerdonopuedealcanzarse,elP-agenteenvíamen-
sajes para disminuir u omitir algunas restricciones al DM-
agentequeestéparticipandoencadaconflicto.Estospasos
serepitenhastaqueselogreunadecisiónsatisfactoriaose
reconozcaqueelconflictonopuededecidirsedebidoalas
restriccionesabrumadorasyseabortalaoperaciónotarea.
6.5 Comunicación
LosDM-agentescomunicanloestablecidopor mediode
canalesatravésderedesregularmenteestructuradas.La
comunicacióndeagentesserepresentacomounconjunto
de esquemas de mensajes con la siguiente estructura: El
vocabulario es una parte de dominios específicos donde
cadapalabratieneunaanotaciónformalescritaenKIF(For-
matodeIntercambiodeConocimiento).
Un KIF es una versión de prefijo de cálculo de primer or-
den con diversas extensiones para mejorar su expresivi-
dad,ydefineunconjuntodeobjetos,funcionesyrelaciones
cuya semántica es fija. Pero es abierto y los usuarios son
libresparadefinirelsignificadodecualquierotrosímbolo
que no esté predefinido. Un mensaje es una expresión
KQML(PreguntasdeConocimientoyLenguajedeMani-
pulación)endondelosargumentossonlostérminosofra-
sesdelvocabularioenKIF.
7. Computación distribuida basada en objetos:
especificaciones e implementación
7.1 Arquitectura ODC
ODC es un ambiente complejo de computación y re-
quiere una infraestructura con una tecnología muy so-
fisticada y robusta. Las infraestructuras IT distribuidas
del futuro deben ser elaboradas con base en arquitec-
turas muy confiables.
Una arquitectura es un nivel descriptivo alto de la or-
ganización de las responsabilidades funcionales dentro
de un sistema, y además es la estructura general del
sistemaquedefinelarelacióndecomponentesdelmismo;
porejemplo,cliente/servidoreslaarquitecturaquedefine
una relación entre el consumidor y proveedor de re-
cursos.
Los siete niveles básicos que el modelo de la tecnología
deobjetosapoyaparaproveerelprocesamientoorientado
a objetos son:
TEMAS 13
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
1. LacapadeprogramaciónOOestradicionalalmodelo
OOyherramientasdeprogramación.
2. Lacapadeimplementaciónproveelainfraestructurapara
el ambiente basado en el objeto.
3. Enelnivelconceptuallosdesarrolladorescreanlas"en-
tidades" básicas del dominio del problema, sus asocia-
cionesconunosyotros,asícomosusrespectivospapeles
enlaconfiguración.
4. Las reglas de mantenimiento y restricciones limitan la
definiciónymecanismosdeinferencia.
5. Elniveldeeventospermitealosusuariosredefinirsuce-
sosdecomunicaciónanteriormentedefinidos.
6. Elniveldeescenariopermiteensamblarentidadespara
obrarrecíprocamenteenalgúnescenariodeldominio
delproblema.
7. El nivel de agentes organiza sucesos múltiples en un
flujodetareasotrabajosquesoncapacesdereconocer
aamboselcontextoycontenidodelainformación.
7.2 Tecnologías de objetos distribuidos:
componentes opuestos a los objetos
Un modelo de computación basado en el paradigma de
objetos puede proveer grandes ventajas y un alto rendi-
miento. La interacción del objeto se realiza mediante un
sofisticadoambientedemensajesquepermitealosobje-
tos solicitar servicios a otros objetos.
LosobjetosVEnecesitandelasventajasdelaarquitectura
cliente/servidordistribuidaqueapoyeladistribución,inde-
pendencia,continuidadyprocesamientoentiemporeal.
Laintegridadsemánticadeobjetosconelpotencialdela
arquitecturacliente/servidorseconcibecomoungranreto
delcómputoVE.
Loscomponentes(agentes)interactúanenformarecípro-
caatravésdelpasodemensajesrepresentandosolicitudes
para la obtención de información o servicios. Durante la
interacción,losobjetosasumendinámicamentelospape-
lesdeclientes/servidoresylaamalgamacióndeestosobje-
tosdistribuidosseunenenunObjetodeSolicitudes(ORB).
ElORBproveelosmediosparalocalizaryactivarotrosob-
jetos en la red, efectuándose de forma transparente a los
usuarios.ElORBeselmiddleware deODCquepermitela
funcionalidaddeinteroperabilidadenredesheterogéneas
deobjetos.
Unadelascontribucionesclavesdelatecnologíaorientada
a los objetos es ocultar los detalles de la implementación
dentrodecomponentesparamanejarconmáseficiencia
la complejidad en ODC. El usuario no tiene que estar tan
enteradodeplataformasyambientesdeprogramación,sim-
plemente debe ver la interacción de los DC-objetos que
colaboranrecíprocamentecomountodounificado(multi-
agentes).
7.3 Tecnologías orientadas a objetos
Unobjetoesunapiezadecódigofuentedesoftwareque
puedeusarseparaconstruirpartedeunaaplicación.Eltér-
minoorientadoaobjetos(OO)seaplicaanumerosasáreas
tecnológicascomo:lenguajesdeprogramación,análisisy
diseñodemétodos,basesdedatosysistemasoperativos.
Los lenguajes OO son los más eficientes medios para ex-
presar los conceptos e ideas en implementación que se
detallanenuncódigofuente.Paraqueunlenguajedepro-
gramaciónseatotalmenteorientadoaobjetos,debeapo-
yarlostrespilaresdelparadigmadeobjetos:encapsulación,
herenciaypolimorfismo.
Laencapsulaciónpermitealprogramadordefinirmodelos
quecontienentantométodos(comportamiento)comoatri-
butos(datos)condiferentesnivelesdeacceso.
Laherencia permitequelosdatosyprocedimientosdeun
modelo (la clase) se definan una sola vez y se reutilicen
por subclases de objetos, lo cual conduce a estructuras
llamadas jerarquía de clase (una clase hereda comporta-
miento[métodos]yestructurasdedatos[atributos]desde
la clase base).
La herencia múltiple es un poderoso concepto que pro-
veelacapacidadparaheredardirectamentedesde dos o
TEMAS14
E n s a y o s
mas clases; pero no es indispensable para considerar a
un lenguaje como orientado a objetos.
Elpolimorfismo,queliteralmentesignifica"muchasformas",
permiteaunsegmentodecódigodeprogramaenviarun
mensajeaunobjetosabiendoqueelobjetoreceptorres-
ponderá correctamente aun cuando la clase precisa del
objetonoesconocida.Asífamiliasenterasdeobjetospue-
dencompartirlosmismosnombresdemétodosqueper-
mitan a otras aplicaciones reutilizar grandes partes
(componentes)decódigodesarrollado.
7.4 Cómputo basado en componentes
Uncomponenteesunmódulodesoftwaredetrabajo.La
diferencia entre los componentes OOP y CC es semejan-
tealaqueexisteentreunproductoylaespecificaciónde
ingenieríadeeseproducto.Estaespecificacióncontienela
informaciónqueesútilparacrearlo,peronoestablecesu
utilidad.Lasventajasdeloscomponentesdesoftwareson
lassiguientes:
• Expansióndesistemasoperativosbasadosenarquitec-
turassubyacentesdeobjetos.
• Interfacesestándarprogramablesconbaseenunsiste-
mabinariorobustocomoestándardeobjetos
• Transparenciacorporativaconlosserviciosdesistemas
distribuidosbasadosenobjetos.
• Modelosdesistemasmultiplataformasbasadosenobje-
tosconcomponentesautónomosdesoftware
• Generacióndearquitecturascliente/servidor:primero
como two-layers y después como three -layers.
La implementación de la herencia consiste en que los
componentes pueden reutilizarse fácilmente a través de
diferentes aplicaciones mediante la herencia de clases,
que es una manera en que un objeto llama con facilidad
a otro objeto para proveer un servicio. Una aplicación
basada en objetos puede crearse como una tarea inde-
pendiente en un espacio de proceso separado -archivos
con extensión EXE-, proveyendo servicios a servidores
remotamente,ocomounabibliotecadeenlacedinámico
en el servidor que se procese en un mismo espacio
-archivos con extensión DLL-, que proveen servicios me-
diante la función de una llamada local. La aplicación de
objetos ejecutables que corre en un espacio de proceso
separado se refiere tanto a servidores locales como a re-
motos.
Lasaplicacionesdeobjetosqueseejecutanenelespacio
del proceso del servidor se conocen como in-process de
servidores,ycuandoserealizaunaaplicacióndeobjetos,
sereemplazalamayoríadelafuncionalidadproveídapor
el gestor de objetos.
7.5 Componentes distribuidos basados en objetos
Enestasecciónsehaceunaintroducciónalasespecifica-
ciones e implementación de diferentes sistemas de ODC
y sus características claves del ambiente en que operan.
Estacomparaciónnospermiteapreciardiversascaracterís-
ticas de ODC, como la extensibilidad, robustez, transpor-
tabilidadylaoperabilidad,asícomodequémaneraestas
característicasambientalesmotivanyformanmuchoscom-
ponentes reusables, además otras cualidades que se en-
cuentranenlasestructurasODC.
Los clientes y servidores pueden ejecutarse en diferen-
tes familias de sistemas operativos como UNIX, Win-
dows, O2 o MVS, que proveen diferentes conjuntos de
características (multi-hilos de ejecución, memoria com-
partida, entre otros) y diferentes sistemas de interfaces
(POSIX o Win32). Los componentes deben desarrollar-
se para trabajar con eficiencia y robustez a través de
redes. El enfoque de ODC ofrece muchos beneficios
potenciales con base en técnicas robustas de arquitec-
tura que existen en las estructuras distribuidas, como
CORBA, OODCE y OLE/COM/DCOM. CORBA es una
norma emergente para la computación de objetos dis-
tribuidos; OODCE es una estructura en C++ para el DCE,
yOLE/COM/DCOMesunatecnologíademicrosoftpara
componentes distribuidos. Los clientes y los servidores
se ejecutan en diferentes computadoras, que se unen
por una red heterogénea.
TEMAS 15
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
El protocolo de red que conecta los componentes distri-
buidospuedeserconbaseencualquiertipodefamiliasde
protocolos como TCP/IP, X.25, ISO OSI y Novell IPX/SPX,
lascualesapoyanpunto-a-puntolacomunicaciónytienen
diferentes características. Por ejemplo: TCP/IP es un pro-
tocolodetransporteporflujo debytesqueignoralímites
de mensaje.
Para proteger y eficientar las aplicaciones se necesita
seleccionar unos ODC que operen transparentemente
a través de diferentes protocolos a un nivel bajo de
comunicaciones, y estas estructuras tienen que pro-
veer componentes reusables que simplifiquen el desa-
rrollodeherramientasysistemasdistribuidos,porejemplo
lenguajes de definición de interfaces (IDLs) y de com-
piladores. Estas herramientas pueden generar códigos
que de manera automática ordenan y reorganizan pa-
rámetros de métodos a procesar tanto local como re-
motamente.
Este proceso convierte datos binarios de un proceso
a otro en un formato que es reconocible a lo largo
de un sistema heterogéneo de computadoras. COR-
BA no intenta definir un conjunto estándar de inter-
faces en un SO, sin embargo el usuario puede definir
estas interfaces para acceder a características de es-
tructuras del ODC, como la Interface de Invocación
Dinámica (DII) de CORBA. La DII permite a un cliente
acceder a los mecanismos de solicitudes provistos en
un Agente Objeto de Solicitud (Object Request Broker-
ORB). Las aplicaciones usan la DII y manejan en forma
dinámica las solicitudes a objetos sin requerir inter-
faces específicas que tengan que ser vinculadas en
el componente.
La localización simplifica la administración de un siste-
ma distribuido y promueve la distribución más flexible
y dinámica de servicios a través de la automatización
en la selección de objetos distribuidos. Tradicionalmente
los sistemas cliente/servidor identifican sus servicios por
medio de direcciones de memoria que indican la loca-
lización de objetos y subrutinas.
El esquemageneralparadirigirserviciosremotosenInter-
net es a través de puertos numerados (IP). Sin embargo,
estemecanismoesinadecuadoparaunaltogradodeesca-
lamientodistribuido,porloquenecesitamosmecanismos
mássofisticadosyrobustosparalaidentificaciónyubicación
delosserviciosremotosquepermitanalosclientesacceder
a los servicios de objetos remotos (más que por el bajo
direccionamientodememoriaonúmerodepuertosIP).
7.6 Especificaciones e implementaciones
CORBA
El Object Management Group(OMG) se formó con el fin
dedefinirlasnormasrequeridasparalossistemasdistribui-
dos basados en objetos en ambientes heterogéneos. Así
definenaunobjetocomo"unarepresentacióndelanatu-
ralezaycomportamientodeconceptosocosasmundiales
verdaderasentérminosquesonsignificativosaunproble-
macomún".
ElprincipalpropósitodeOMGradicaencrearestándares
quesoportenlainteroperabilidadentreaplicacionesinde-
pendientementedesarrolladasatravésderedesheterogé-
neas, y su objetivo es la definición de la Arquitectura de
GestióndeObjeto(OMA),quecomprendecuatroconjun-
tosdenormas:
1. Common Object Request Broker Architecture (COR-
BA)definelosserviciosqueseránproveídosporunORB
ymantieneelmodelodistribuidodeobjetoqueincluye
los mecanismos para hacer y recibir peticiones desde
otrosobjetosenformatransparente.
2. CommonObjectServicesSpecificationsoncolecciones
deserviciosconinterfacesdeobjetoqueproveefuncio-
nesbásicasparausareimplementarlametodologíade
objetos.
3.Common Facilitiessoncoleccionesdeserviciosorienta-
das a usuarios finales, por ejemplo documentos com-
puestos.
4. Application Objects son aplicaciones específicas basa-
dasenobjetosparausuariosfinales.
TEMAS16
E n s a y o s
La interoperabilidad ORB es una de las direcciones de las
especificacionesdeCORBA2.0.Variasfirmasestántraba-
jandosobreproductosdecómputodistribuidocondiseño
deobjetos,tomandocomobaselosORB.Loscomponen-
tes ORB se implementan en varios productos comercial-
mente disponibles, como el Object Broker de Digital o el
DOEdeSUN.Enlaactualidadhaymuchosproductosde
cómputodistribuidoorientadosaobjetosdisponiblesenel
mercado.
Dentrodelasimplementacionesmásimportantesyactua-
les de objetos distribuidos están: OMG’s CORBA,
Microsoft’s OLE/COM (DCOM), COSS, CF y BOMSIG; e
IBM’s SOM/DSOM, Sun’s NEO y Java, Taligent’s Ambien-
te de Desarrollo, IONAS Orbix, OCX, NeXT’s OpenStep y
HP’s CORBA 2.0-compliant ORB.
DCE
DCE es el Ambiente de Cómputo Distribuido de laOpen
SoftwareFoundationysediseñacomounmodelocliente/
servidorqueconstadecomponentesmúltiplesquesehan
integradoparatrabajarestrechamentejuntos.
DCE es conocido como el middleware y debería estar
integradoenunsistemaoperativo,obiencomopartede
libreríassoportadasporvariasfirmas.
DCEesunainfraestructuraparaaplicacionesdistribuidas
suplementariasenunambienteenterprisecliente/servidor;
ademásesunafundaciónsólidaparaelcómputodeobje-
tosdistribuidosyesunconjuntocomprensibleintegradoa
unconjuntomodulardeproductosparaapoyartransparen-
temente la interworking y recursos compartidos en siste-
masheterogéneosdeambientesenred.
DCEapoyaadostecnologíasorientadasaobjetos:
1. ProductosdeCORBA,basadosenDCE.CORBAesuna
especificaciónparatecnologíasdistribuidasdeobjetosy
proveeunaampliagamadeserviciosestándaresdein-
terfaces.Delosproductosdisponiblesdebuenacalidad
basados en la especificación CORBA, es probable que
seleccionemosalgunaimplementacióndeunafirmaes-
pecífica basada en CORBA a través de la organización
de un ambiente DCE.
2. El Network OLE de Microsoft. Mientras Network OLE
parece ser un buen ajuste técnico con DCE, es muy
prontoparasabersiseadaptarábienanuestrosrequeri-
mientos.
DCEesunenfoquederivadodeldesarrollobasadoenob-
jetos y constituye la base sobre la que se construye la tec-
nología distribuida de objetos. Además apoya la
encapsulaciónyelpolimorfismodedosdelastrescaracte-
rísticasrequeridasparalaorientaciónaobjetos.Lapiedra
angulardeDCERPCesellenguajededefinicióndeinter-
face (IDL) que permite especificar y definir los atributos
externosdeunconjuntodeoperacionesdeunservidor.
Microsoft OLE/COM y ActiveX/DCOM
El COM (DCOM) es el modelo subyacente de arquitectu-
raparalaindustria,quedifundeampliamenteelOLE.Éste
es un sistema extensible abierto que apoya tecnológica-
mente el desarrollo para la creación de aplicaciones que
puedan operar a través de otras aplicaciones, multiplata-
formas, y sobre todo para desarrollarlas como una colec-
ción de componentes que se instalan de manera
independienteyquepuedancomunicarsemedianteinter-
facesbasadasenelobjeto.
Así, COM es la especificación mediante la cual se define
elestándarbinarioparalaimplementacióndeobjetosque
es independiente del lenguaje de programación, y OLE
proveefuncionesdeinteroperabilidadusandoORPC(ob-
jetos RPCs) que se extienden en la implementación de
OLE Distribuido utilizando DCOM compatibles al DCE
RPCs, aunque Microsoft no ha licenciado DCE desde el
OSF.OLEproveelacomunicaciónentremódulosdecódi-
gobinariobajounsistemaenejecución.Esteestándarha-
bilitalacomunicaciónentredosaplicacionesmediantela
interfacebasadaenobjetos.
TEMAS 17
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
COM distribuido (DCOM) es un producto de COM y el
término "distribuido" se refiere a que es capaz de ejecu-
tar servidores y clientes en diferentes procesos a través
deIntranetoInternet.PorestoDCOMtrabajacomoCOM,
por ejemplo cuando un cliente solicita el registro donde
el servidor se localiza y, en vez de indicar alguna locali-
dad o registro de memoria sobre la máquina local, indica
una dirección IP: 123.234.199.27. La diferencia básica
entre COM y DCOM es que los procesos COM se eje-
cutan en la misma máquina en diferentes espacios de
dirección, y los procesos DCOM se extienden a través
de una red.
LastresespecificacionesprimariasparaOLEson:
a) Documentos OLE son un tipo de documentos com-
puestosquepuedenincorporarlosdatoscreadosencualquier
aplicación OLE permitida o disponible. Mediante la vin-
culación de objetos las aplicaciones pueden unirse a
objetos de datos dentro de otras aplicaciones. La incrus-
tacióndeobjetoseslacapacidadparavincularunobjeto
dentro de otro documento sin mantener un nexo con el
objeto fuente.
b) Controles OLE se emplean para la creación y gestión
decontrolespersonalizados.Estaespecificacióndescribe
cómocrearomanipularcualquiertipodecontrolpersona-
lizado en un modelo OLE. La arquitectura de controles
OLEpermitetrabajarconaplicacionesenambientesmúl-
tiples de desarrollo y a través de diferentes plataformas
tanto de equipos como de sistemas operativos.
c)LaautomatizaciónOLEseusaparaprogramaciónylen-
guajes script. Esta especificación describe cómo crear un
objeto o un "controlador" de automatización que pueda
manejarobjetossegúnunscriptomensajesdealgúntipo.
Porotrapartepermitealasaplicacionesexponerconjun-
tos de procedimientos y datos que operen dentro de es-
tasyatravésdeotrasaplicacionesparautilizarlosservicios
suministradosporotrasaplicacioneshabilitadasconlatec-
nología OLE; todo esto a través de objetos de automati-
zación.
ComponentesActiveXenaplicacionescliente/servidor
DebidoaqueActiveXestábasadosobreobjetoscomparti-
dos,suscomponentestienenintrínsecamentedefinidala
relacióncliente/servidor,endondeelclientesolicitaobjetos
y el servidor los provee. Sin embargo, la distinción entre
clientesyservidoresesdifusa,porqueelmismocomponen-
tepuedeserambos,yconfrecuenciaesalavezuncliente
yunservidor.Porestopodemosreferirlostípicamentecomo
"componentesActiveX"másquecomo"clientes"y"servido-
resActiveX".Dentrodeunaejecucióndecontextodetermi-
nada,esimportantelarelacióncliente/servidor.
ElestándardeActiveXestádiseñadoparapermitirquelos
clientessecomuniquenconotroscomponentessinimpor-
tardóndeseejecutan;puedeserdentrodelmismoproce-
soenlamismamáquina,oenunamáquinadiferente.Esto
significaquehayunmodelosimpledeprogramaciónpara
todoslostiposdecomponentesActiveX.Estoscomponen-
tesenlarelacióncliente/servidorpuedenestarcontenidos
enunacomputadora,oejecutarseendiferentescomputa-
dorasconectadasporunared.
UncomponenteActiveXsellamalocalcuandoseejecuta
en la misma computadora, y remoto cuando se hace en
unacomputadoradiferente.Uncomponenteesin-process
o out-of-process respecto a su cliente; es in-process si se
implementadinámicamentecomounalibreríadeenlace
dinámico (archivo *.dll), y por lo tanto se ejecuta en el
mismo espacio de proceso como un consumidor de sus
objetos, y out-of-process si el componente es un archivo
exe, que se ejecuta en un espacio con dirección propia.
7.7 Integración de DCE y OLE/COM
LafamiliadetecnologíasOLEincluyeunagranvariedadde
cosas, que van desde documentos compuestos hasta in-
terfacesestándarparaaccederaunabasededatos.Todas
lastecnologíasOLEsebasanenelmodeloCOM.Elproto-
colo de objetos RPC está altamente vinculado con el pro-
tocolo de red DCE RPC, y ocurre en ambos niveles, en el
de especificación y en el de implementación.
TEMAS18
E n s a y o s
El DECE permite la integración de ambientes heterogé-
neosparaorganizaryautomatizarelusodelatecnología
middleware ocultandolacomplejidad,yaqueproveeuna
capaprotectoraentrelosprogramasdeaplicaciónylatec-
nologíasubyacentedelainfraestructura.DECEcontiene
unconjuntodeherramientasparaautomatizarelusodel
middleware y un conjunto de servicios en tiempo de eje-
cuciónqueaumentalarobustezdesuambiente.
DECE se basa en una arquitectura de componentes, que
trata a cada elemento del sistema como un componente
de software reutilizable o DC-objeto.
Estos DC-objetos están encapsulados usando una sola y
biendefinida interfaceabstractaqueinvolucraalusuario
conloslenguajesyherramientasausarseenlaimplemen-
tación.
Los DC-objetos pueden fácilmente transportarse o du-
plicarse dentro de diferentes plataformas, y ser reuti-
lizados para operar en red, junto con una variedad de
configuraciones flexibles de objetos. El DECE permite
construir sistemas a gran escala de información utili-
zando y ensamblando un conjunto de objetos pre-exis-
tentes mediante una arquitectura de aplicación lógica
3-tiered.
OLEnterprise y su arquitectura
OLEnterpriseesunproductoDECEqueproveeunacceso
dinámicoaobjetosOLEdistribuidosparaunaccesouniver-
sal suministrando las herramientas y utililerías para la co-
nección de las aplicaciones de escritorio con datos y
serviciosqueresidenremotamenteenunambienteEnter-
priseutilizandomecanismosOLE.Tambiénesunlenguaje
yplataformaindependientedetecnologíasdeOLEdistri-
buido,loquefacilitalaautomatizacióndeobjetossinnin-
gunamodificaciónenelcódigo.AlutilizarelMicrosoftRPC
OLEnterprise deinmediatoproveelapotenciaylosbene-
ficiosdeOLE,permitiendoalasorganizacionesconstruiry
visualizarsofisticadasaplicacionesbasadasenobjetoscon
arquitecturamulti-tiered.
Un procedimiento de llamada remota en red basada en
COM (referido a ORPC) es equivalente a la llamada DCE
(DCERPC).COMespecificaconvencionesyproveeservicios
para definir y usar objetos, y al igual que CORBA, tiene
una Interface de Lenguaje de Definición (IDL) para es-
pecificar interfaces de objetos, incluyendo servicios que
permiten las instancias y la comunicación con otros. Mi-
crosoft usa DCE como base para la comunicación den-
tro de ActiveX. La mayoría de las firmas han intentado
usar DCE RPC como un ambiente específico de proto-
colos dentro de la interoperabilidad de las especifica-
cionesqueproveeCORBA.OLE(DCOM)haseleccionado
DCERPCcomo su protocolo decomunicaciones,eideal-
mente esto permitirá la interoperabilidad entre OLE y
DCE.
7.8 Middleware
Middleware se está usando como una manera de inter-
cambiarlainformaciónpormediodecomponentesenam-
bientesdistribuidos,porejemplosediseñaronparapermitir
el acceso remoto a bases de datos. Así constituye la infra-
estructurafundamentaldelacomputacióndistribuidaque
tradicionalmentesehausadoenlosproyectosEnterprise
punto-a-puntocliente/servidor.Sinembargoestedesarro-
llodesdeelpuntodevistadelatecnologíadeinformación
(IT), el enfoque del middleware es complicado, difícil de
usarydemantener.
Los problemas asociados con su uso están intrínseca-
mente definidos con la manera como se emplee en
la interacción de las aplicaciones. A fin de reducir el
impacto de complejidad es necesario definir una ar-
quitectura que las integre en componentes de apli-
caciones distribuidas, y que además pueda apoyar todos
los requerimientos de la computación distribuida, desde
aplicaciones complejas de apoyo de decisión hasta
robustos sistemas de aplicación de transacciones, y
permita una fácil integración a cualquier sistema de
Enterprise que opere en un ambiente de computacion
distribuda (DECE-Distributed Enterprise Computing
Environment).
TEMAS 19
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
LaarquitecturaOLEnterprise proveeunaaltaposibilidad
de crecimiento y los requerimientos de servicios son fáci-
lesdemanteneryaqueseapoyanenlabaseDECEenuna
multi-infraestructura. Estos servicios permiten la localiza-
cion de procesos y datos, la moderación en forma balan-
ceadadelacargadetrabajoenlosservidores,ladetección
automática de las fallas en los servidores, la autorización
deusuariosylaproteccióndedatos.
OLEnterprise tiene tres componentes: el Explorador de
Objetos (local y remoto), el Objeto Agente (servidor
OLE de automatización) y el Controlador Remoto de
Automatización OLE (Object Factory).
ElObjetoAgente esunaaplicaciónin-process deservidor
OLEdeautomatizaciónqueseejecutacomounaBibliote-
ca de Enlace Dinámico (DLL) y se localiza en la máquina
cliente,proveyendounaccesotransparenteydinámicoa
cualquierobjetoOLEoRPC.Asílaaplicaciónclienteseve
simplemente como cualquier otro servidor OLE de auto-
matización,conlacapacidaddedevolverunobjetosolici-
tado a un servidor remoto. Si el objeto remoto es OLE la
solicitudesdevueltaalObjectFactory quevuelveaemitir
la solicitud al sistema remoto; en cambio si el objeto re-
motoesenterprise,lapeticiónseconviertedinámicamen-
te en una llamada RPC solicitada por el Objeto Agente y
devueltaalservidorapropiado.
Un Objeto Agente se encuentra en la máquina cliente y
tienelacapacidaddeinterpretaryprocesartransparente
y dinámicamente cualquier solicitud de automatización
OLEyconvertirlaenunallamadaRPCparadevolverlaacual-
quierservidor.Enamboscasoslacomunicaciónsemaneja
por el mecanismo RPC, que se llama RPC nativo (NRPC).
CuandouncomponenteseejecutaenunaplataformaPC,
NRPC usa el RPC de Microsoft. Si el objeto remoto es una
automatizaciónOLE,lasolicitudesemitida alObjectFac-
tory, lacualasuvezemiteunasolicituddeautomatización
OLEalsistemaremoto.ElObjetoAgenteeselservidorde
automatizaciónenlamáquinacliente,yelMicrosoftRPCes
elmecanismodecomunicaciónparaOLERemotoquesirve
comointerfaceentreelObjetoAgenteyel ObjectFactory.
El Object Factory esuncontroladorOLEremoto(archivo
*.EXE)quedistribuyelosserviciosdeautomatizaciónOLE
(administradordesolicitudesremotasOLE)yseencuentra
en el servidor que es responsable de procesar las solicitu-
des, a través de instancias de objetos que se localizan en
clientesremotos.
El Explorador de Objetos tiene tres componentes prin-
cipales: un visualizador para inspeccionar registros lo-
cales o remotos; un mecanismo de exportación de
objetos OLE, para seleccionar servidores de automati-
zación para el acceso remoto, y un mecanismo de
importación para registrar servidores OLE remotos de auto-
matización local. En la plataforma del servidor se
generará y registrará localmente el servidor de automa-
tización OLE usando sus utilerías estándar. La referen-
cia para invocar al servidor de automatización OLE es
un programa identificado (ProgId) que se asocia a una
clase identificada (CLSID), y ambos se crean cuando el
servidor de automatización OLE se agrega a la base de
datos de registros locales.
8. Implementación de DCS
Eldiseñodeconfiguracionesseconsidera,ensíntesis,como
elprincipalcontenidoyanálisisestructuraldelossistemas
complejosdediferentenaturaleza[Yos87,SK95A].Losmo-
delos y métodos descritos se aplicaron al desarrollo de la
búsqueda de un prototipo DCS en Sistemas Flexibles de
Manufactura(FMS)dediseñodeconfiguración.
Un FMS se concibe como un diseño basado en objetos
que tiene una estructura jerárquica con un conjunto de
limitaciones relativas a diversos niveles de proyectos que
los modelan [GK93]. La meta de la implementación del
prototipo de búsqueda consiste en mostrar cómo los for-
malismosymétodosmencionadospuedenusarseenODC
conbaseenunenfoquedemulti-agentes.ElDCStambién
comprendeelapoyoparalaespecificaciónderequerimien-
tos, control de consistencia de los proyectos y el diseño
concurrenteconcomponentespredefinidosdeunesque-
maglobal.
TEMAS20
E n s a y o s
α
D-agente
β
D-agente
χ
D-agente
δ
D-agente
VDFZ
α χ
δ
P-agente Z
VDFS
α β
P-agente S
Servicios del sistema distribuido de configuración
envío de
mensajes
Petición Respuesta
DB&KB
DB&KB
fragmento α
β χ
δ
IG
Negociación
Enestetipodediseño,elDM-agenteseleccionaycaptura
unfragmentodelproyecto.LosfragmentosenABCDpue-
den ser virtualmente de cualquier complejidad, además
puedenserparametrizados(paramétricamentediseñados),
onoparametrizados(diseñadosdemaneraconceptual).
ElusodefragmentosaprovechaladistribucióndelDM-pro-
cesoenformaconcurrentesobreelproyectoquecomparte
elespaciodeconocimiento,dondeelDM-agentetrabaja
conunfragmentoincrustadoenelmodelodistribuidode
proyectos.ElP-agenteeselcoordinadordeproyectosque
sebasaenlacooperaciónycomparticióndecomponentes
sobreelmecanismo3-tiered paraapoyarlainteracciónen-
treDM-agenteyP-agenteconmúltiplesaspectosdeconfi-
guraciónparaleladeproyectosysusvariantes.
Un P-agente coordina todos los intercambios de datos e
informaciónenlapartecapturadadelproyecto;modelay
ejecuta concurrentemente el control de las propiedades
de integridad y de consistencia más débil con base en el
análisisdeVDF,ymodificademaneraconcurrentelaspar-
tes del proyecto.
El DCSsediseñaparacomplementaryextenderlascapa-
cidades de muchas de las herramientas de desarrollo ac-
tuales,sobretodoagregándoleslafuncionalidadrequerida
paralasaplicacionesenterprise conunampliopanorama
en la computación distribuida. Las interfaces del DCS no
se escriben en las aplicaciones, pero pueden fácilmente
mejorarse para aprovechar las tecnología ODC si tienen
esadisponibilidad.
La búsqueda del prototipo de DCS se ha estado desarro-
llando para el SO Windows95, utilizando Borland C++ 5.0
ylatecnologíaOLEdeautomatización[Bro93].Estaúltima
provee la estructura conceptual para crear, administrar y
accedermediantemecanismosbasadosencomponentes
de objetos. Además permite al DM-agente (OLE de clien-
te)exponerunconjuntodeoperacionesqueelP-agente
(OLEservidor)puedeinvocarosolicitar,yencadaopera-
ción de actualización los P-agentes usan el VDF para el
análisisdelaconsistencia.
ElDM-agenteorganizaunabúsquedaquepartedelfrag-
mento capturado que es análogo al mecanismo que se
basasobremétricasdecaracterísticasdeseablesenloscom-
ponentes.
Los módulos de agente desarrollados en C++ ofrecen su
funcionalidadpormediodealgunainterface.Laventajade
usarlatecnologíaOLEconsisteenelmodelodemúltiples
hilos de control sobre el nivel de eventos, ya que los hilos
son capaces de compartir datos comunes dentro de una
plataformadeterminada.Nosotrosusamosla sincroniza-
ción de hilos a fin de permitir la implementación del con-
trolconcurrente.
Figura 2. Modelo de la arquitectura DCS
La representación de mensaje en C++ tiene un API que
ocultatodoslosdetallesasociadosconlacomunicaciónde
redparaelusuario,yseusaparaapoyarlainteroperación
entreaplicacionesqueseejecutanenWindows(UNIXen
versiónpróxima).
TEMAS 21
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
Las acciones de los DM-agentes se llevan a cabo a tra-
vés de mensajes KQML que incluyen restricciones de
propiedades de objetos y otras definiciones primarias
de usuario. Un mensaje es una expresión KQML en donde
los argumentos son términos o sentencias KIF [Gen92].
Estos mensajes se encuentran en una lista de compo-
nentesagrupadosentreparéntesisdondelaprimerapalabra
indica el tipo de mensaje. KQML soporta lo que noso-
tros podemos obtener de una metodología que permi-
ta la especificación, diseño e implementación del software
cooperativo. En otras palabras, es una metodología que
permite construir modelos para el software cooperati-
vo que trabaje en un ambiente distribuido y de manera
asíncrona.
El mensaje toma las expresiones KQML que se pro-
cesan como eventos semánticos (llamada a un servi-
dor OLE). Un P-agente se utiliza para combinar datos
y operaciones que se transforman en eventos; pos-
teriormente el P-agente convierte la estructura de eventos
a estructuras de datos que son aceptados por servi-
dores OLE.
La especificación del objeto interface es similar al IDL
(DCOM basado en OLE [DCOM96]), por lo que un DCS
provee un número de servicios ODC, que permite a
los clientes encontrar una referencia al P-agente en el
tiempo de ejecución. Esto reduce la complejidad de im-
plementación del cliente y le da flexibilidad. El admi-
nistrador de objetos distribuidos (DCOM basado en OLE)
provee transparencia de localización para las conexio-
nes de DM y P-agentes. Los componentes de agentes
OLE proveen una interface basada en mensajes que son
independientes de estructuras de datos internos y al-
goritmos.
El P-agente (servidor OLE) toma las expresiones KQML y
las transforma en eventos semánticos. El mecanismo de
sincronizaciónseusaparacombinaroperaciones yestruc-
turasdedatosconestructurasGTaceptadasoválidaspara
las operacionesGT. Elprocesodeoperacióndel OLEnter-
prise es como se indica a continuación:
En la máquina cliente:
• Elexploradordeobjetosseconectaalamáquinaremotae
importalainformacióndelregistrodelservidordeauto-
matizaciónOLE.
• ElcontroladordeautomatizaciónOLEcreaunobjetoOLE
enelmomentodelaejecución.
• EnelmomentodelaejecuciónOLElocalizaelservidorde
automatizaciónusandoelProglddelobjeto(queseen-
cuentraenCLSID).
• Elobjetoagenteusaelregistrolocalparaencontrarelco-
rrespondienteObjectFactory.
Enlamáquinaservidor:
• Elexploradordeobjetosexportaelservidordeautomati-
zaciónOLEenelregistro.
• El Object Factory recibe la solicitud y usa su CLSID al
ejecutarelservidordeautomatizaciónOLEremotoenel
momentodeejecucióndelMicrosoftOLE.
AhoraelP-agenteyelDM-agentepuedenprocesarinvoca-
ciones de métodos mediante el objeto agente del Object
Factory.
Hay un API para las representaciones de notificaciones
y mensajes en C++, que oculta todos los detalles aso-
ciados con la comunicación de red repecto al usuario.
El API se usa para apoyar la interoperación entre aplica-
ciones que son ejecutables en Windows (y en UNIX
en versión próxima).
Los primeros resultados son prometedores. Un pro-
yecto colaborativo de tecnologías de configuración,
como parte de la ingeniería concurrente fundamen-
tada, llega a tener una mayor perspectiva en la toma
de decisiones descentralizadas y distribuidas sobre di-
ferentes dominios de problemas. Nosotros usaremos
esta metodología y las experiencias que obtengamos
con el fin de emplear el mejor enfoque en este de-
sarrollo.
TEMAS22
E n s a y o s
[Arb96]"TheIWIMModelforCoordinationofConcurrent
Activities", FirstInt.Con.OnCoordinationModels,Lan-
guagesandApplications,Italy,15-17April,1996,LNCS,
1062,Springer,pp.34-56.
[AI88] ASIRELLI, P.; INVERARDI,P.;MUSTARO,A. "ImprovingInte-
grity Constraint Checking in Deductive Data Bases",
ISDT’88, Ed. M. Gyssens, LNCS, N. 326, 1988.
[BF85] BOEHM, P.; FONIO, H. R., HABEL, A. "Amalgamation of
GraphTransformationswithApplicationstoSynchroni-
zation", MathematicalFoundationsofSoftwareDeve-
lopment, LNCS, V. 1, N. 185, 1985.
[Bro93] BROCKSCHMIDT, K. "Inside OLE", Microsoft Press,
1993.
[Csu93]CSUHAJ-VARJÚ,E."OnGrammarswithLocalandGlo-
bal Context Conditions", Int. J. Computer Math., 47,
17-27, 1993.
[Cut93] CUTKOSKY, M. R.; ENGELMORE, R. S.; FIKES, et al. "PACT:
AnExperimentinIntegratingConcurrentEngineering
Systems", IEEE Computer, 1993, 26(1):28-37.
[DCOM96]"DistributedComponentObjectModelProto-
col DCOM/1.0", Network Working Group, Internet-
Draft, 1996.
[EBH88] EHRIG, H.; BOEHM, P.; HUMBMMERT, U; LOWE, M. "Dis-
tributed Parallelism of Graph Transformation", LNCS,
314, pp. 1 -19, Berlin, 1988.
[Ehr90]EHRIG,H.;MAHR,B. "FundamentalofAlgebraicSpe-
cification:ModuleSpecificationandConstraints,V.21
ofEATCS",MonographsofTheoreticalComputerScien-
ce,Springer,1990.
[Ehr93] EHRIG, H.; Lowe, M. "Parallel and Distributed Deri-
vationinSinglePushoutApproach",TCS,109:123-143,
1993.
[Fin95] FININ, T.; FRITZSON, R.; MCKAY, D.; MCENTIRE. "KQML
asanAgentCommunicationLanguage", Proc. of 3th
Int.Conf.onInformationandKnowledgeManagement,
ACM Press, 1994.
[Gen92] GENESERETH, M. R.; FIKES, R. E. et al. "Knowledge
InterchangeFormat,Version3.0ReferenceManual,Te-
chnicalReportLogic-92-1",StanfordUniversity,1992.
[Gen94] GENESERETH, M. R.; and KETCHPEL, S. P. "Software
Agents", Communications of the ACM, 37(7):48-53,
1994.
[GG87]"Graph-GrammarsandTheirApplicationtoCom-
puter Science", Ed. H. Ehrig, Springer-Verlag, Berlin,
LNCS, N. 291, 1987.
[Gym91] GYMTRASIEWICZ, P. J.; DURFEE, E. H.; WEHE, D. K. "A
Decision-TheoreticApproachtoCoordinationingMulti-
agent Interactions", Proc. of the Twelfth Int. Con. on
AI, Sidney, Australia, 1991, pp. 62-68.
[GK93] GUSIKHIN, O. Y.; KOULINITCH, A. S. "Animated AI-ba-
sed Simulation in Production Scheduling: Case Study.
IFIP Transactions", B-11, KNOWHSEM’93, Inter.
KnowledgeBasedHybridSysteminEngineeringManu-
facturingWorkingCon.onHungary,IFIP,North-Holland,
1993.
[GT94] GAVRILA, I. S.; TREUR, J. A. "A Formal Model for
DynamicsofCompositionalReasoningSystems",Proc.
11th Eur. Con for the on AI, EC AI-94, Wiley & Sons,
pp. 307-311.
[Jen95] JENNINGS, N. R. "Controlling Cooperative Problem
Solving in Industrial Multi-Agent Systems Using Joint
Intentions", AI, 75(2), pp. 195- 240, 1995.
[Kle91]KLEIN,M."SupportingConflictResolutioninCoope-
rative Design Systems", IEEE Transactions on System,
Man, Cybernetics, 21(5):1379-1390, 1991.
[Kou93] KOULINITCH, A.S. "IntegritySupportforConcurren-
cyDecisionMakinginDesign",Int.Con.onCAD/CAM,
Robotics and Factories of the Future., St. Petersburg,
1993, pp. 243-251.
[Low93] LOWE, M.; KORFF, M.; WAGNER, A. "An Algebraic
Framework for the Transformation of Attributed Gra-
phs",TermGraphRewriting:TheoryandPractice, Chap-
ter 14, pp. 185-199, 1993.
Referencias
TEMAS 23
A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . .
[Mac77] MACKWORTH, A. K. "Consistency in Networks of
Relations", Artificial Intelligence, 1977, N. 8.
[Poi85]POIGNE,A."ElementsofCategoricalReasoning:Pre-
dicates and Coproducts (Colimits)", Category Theory
andComputerProgramming,Ed.D.Pitt,LNCS, N.240,
1985.
[Rot91] ROTH, S.; SADEH, N.; SYCARA, S.; FOX, M. "Distribu-
tedConstraintHeuristicSearch", IEEETransactionson
System, Man, Cybernetics, 21(5): 1446-1461, 1991.
[Ser91] SERRANO, D. "Constraint-BasedConcurrentDesign.
SystemsAutomation:Research&Applications",1991,
N. 3, V. 1, pp. 217-230.
[SK95a] SMIRNOV, A. V.; KOULINITCH, A. S.; SHEREMETOV, L. B.
"Knowledge-BasedConfigurationDesignofElectronic
Devices:ACaseStudy",WorkshoponDesignMethodo-
logiesforMicroelectronics,Austria,Sept.,11-15,1995.
[SK95c] SMIRNOV, A. V.; KOULINITCH, A. S.; SHEREMETOV, L. B.;
ROMANOV, G. V.; TURBIN, P. A. "DESO: A Constraint-Ba-
sedEnvironmentPrototypeforCooperativeDesignof
FMS", Proc. of the III IASTED Inter. Conf., Cancún,
México, June, 14-16, Anaheim-Zurich, 1995, pp. 384-
387.
[Tae95]TAENTZER,G. "TowardsSynchronousandAsynchro-
nousGraphTransformation",Special Issue of Founda-
mentaInformaticae,1995.
[Tan92] TANENBAUM, A.; KAASHOUEK, F.; BAL, H. "Parallel
ProgrammingUsingSharedObjectsandBroadcasting",
IEEE Computer, 25 (8), 1992, pp.10-19.
[Wie92] WIEDERHOLD, G. "Mediators in the Architecture of
Future Information Systems",IEEE Computer,5(3):38-
49, 1992.
[Wo94] WOOLDRIDGE, M.; JENNINGS, N. R. "Formalizing the
CooperativeProblemSolvingProcess",Proceedingsof
the 13th Inter. Workshop on Distributed Artificial Inte-
lligence (IWDAI-94), Lake Quinalt, WA., 1994, pp.
403-417.
[Yos87] YOSHIKAWA, H. "General Design Theory and Artifi-
cial Intelligence", Artificial Intelligence in Manufactu-
ring, Elsevier Science Publishers (Nort-Holland),
Amsterdam,1987,pp.35-61 T

Más contenido relacionado

La actualidad más candente

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale SystemsIan Sommerville
 
Aplicaciones Distribuídas
Aplicaciones DistribuídasAplicaciones Distribuídas
Aplicaciones DistribuídasJavierialv
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareJesús Navarro
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteriaannahallare_
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingSachin Gowda
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...IIUI
 
calidad para el producto del software
calidad para el producto del softwarecalidad para el producto del software
calidad para el producto del softwarearidesbetava15
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Android architecture
Android architectureAndroid architecture
Android architecturepoojapainter
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSsullinsan
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASEManju Pillai
 
Troubleshooting complex layer 2 issues ppt 16 bsit098
Troubleshooting complex  layer 2 issues ppt 16 bsit098Troubleshooting complex  layer 2 issues ppt 16 bsit098
Troubleshooting complex layer 2 issues ppt 16 bsit098Quratulain baloch
 

La actualidad más candente (20)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
Aplicaciones Distribuídas
Aplicaciones DistribuídasAplicaciones Distribuídas
Aplicaciones Distribuídas
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Metricas tecnicas del software
Metricas tecnicas del softwareMetricas tecnicas del software
Metricas tecnicas del software
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteria
 
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud ComputingVTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
 
Class notes
Class notesClass notes
Class notes
 
Lecture 15 requirements modeling - scenario, information and analysis class...
Lecture 15   requirements modeling - scenario, information and analysis class...Lecture 15   requirements modeling - scenario, information and analysis class...
Lecture 15 requirements modeling - scenario, information and analysis class...
 
calidad para el producto del software
calidad para el producto del softwarecalidad para el producto del software
calidad para el producto del software
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRS
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASE
 
Thin client
Thin clientThin client
Thin client
 
Troubleshooting complex layer 2 issues ppt 16 bsit098
Troubleshooting complex  layer 2 issues ppt 16 bsit098Troubleshooting complex  layer 2 issues ppt 16 bsit098
Troubleshooting complex layer 2 issues ppt 16 bsit098
 

Similar a Arquitectura basada en objetos de computación distribuida en la configuración de sistemas distribuidos

Actividad 1 de programacion
Actividad 1 de programacionActividad 1 de programacion
Actividad 1 de programacionkevinlugo11
 
Guía didactica módulo iv sub ii
Guía didactica módulo iv sub iiGuía didactica módulo iv sub ii
Guía didactica módulo iv sub iijacob_188
 
Comunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertidoComunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertidoJamil Cajamarca
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesTensor
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacionzulaymaylin
 
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.naviwz
 
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.naviwz
 
Unidad # 7 diseño estructurado de datos
Unidad # 7 diseño estructurado de datosUnidad # 7 diseño estructurado de datos
Unidad # 7 diseño estructurado de datosDarleneperalta
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesGary Araujo Viscarra
 
Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.Vanessa Toral Yépez
 
La arquitectura de 41 vistas
La arquitectura de 41 vistasLa arquitectura de 41 vistas
La arquitectura de 41 vistaszurda21
 
Diseño de sistemas de informacion
Diseño de sistemas de informacionDiseño de sistemas de informacion
Diseño de sistemas de informacionJhonderson
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 

Similar a Arquitectura basada en objetos de computación distribuida en la configuración de sistemas distribuidos (20)

Actividad 1 de programacion
Actividad 1 de programacionActividad 1 de programacion
Actividad 1 de programacion
 
Guía didactica módulo iv sub ii
Guía didactica módulo iv sub iiGuía didactica módulo iv sub ii
Guía didactica módulo iv sub ii
 
Comunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertidoComunidad emagister 63082_63082-convertido
Comunidad emagister 63082_63082-convertido
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
diseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informaciondiseño de arquitectura de un sistema de informacion
diseño de arquitectura de un sistema de informacion
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Copia de unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
 
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
Unidad 7 diseã‘o_estructructurado_de_datos_microsoft_access.
 
Unidad # 7 diseño estructurado de datos
Unidad # 7 diseño estructurado de datosUnidad # 7 diseño estructurado de datos
Unidad # 7 diseño estructurado de datos
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Primera evaluacion programacio
Primera evaluacion programacioPrimera evaluacion programacio
Primera evaluacion programacio
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentes
 
Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.Unidad 7 diseño estructructurado de datos microsoft access.
Unidad 7 diseño estructructurado de datos microsoft access.
 
La arquitectura de 41 vistas
La arquitectura de 41 vistasLa arquitectura de 41 vistas
La arquitectura de 41 vistas
 
Diseño de sistemas de informacion
Diseño de sistemas de informacionDiseño de sistemas de informacion
Diseño de sistemas de informacion
 
Patrones de diseño
Patrones de  diseñoPatrones de  diseño
Patrones de diseño
 
Patrones
PatronesPatrones
Patrones
 
Colegio
ColegioColegio
Colegio
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Ingenieria de Sorftware
Ingenieria de SorftwareIngenieria de Sorftware
Ingenieria de Sorftware
 

Más de Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

Más de Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Último

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 

Último (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 

Arquitectura basada en objetos de computación distribuida en la configuración de sistemas distribuidos

  • 1. TEMAS 3 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . E n s a y o s Arquitecturabasadaenobjetos decomputacióndistribuida enlaconfiguracióndesistemasdistribuidos Anatoli Semenovich Koulinitch* Francisco Espinosa Maceda** Carlos Benavides Martínez*** AbstractResumen 1. Introducción uniformedeconocimientoalcompartirlainformaciónen- tre los usuarios y los sistemas; además tiene numerosos problemas,entrelosquedestacanlosconcernientesalcre- cimiento,lamodularidadyelmantenimientodeunaapli- cación. Tradicionalmentelaconfiguraciónesconsideradacomouna secuenciadeestadosentreloscualesdestacanlaformula- ción del problema, el diseño conceptual, la síntesis de pa- rámetros,etcétera.Sehadesarrolladounanálisisparaevaluar las soluciones factibles y las características del objeto, las cualessondeterminadassecuencialmente,destacandoentre estosestadoslasoluciónefectiva. We are at the beginning of the age of distributed comput- ing. The basic idea of this approach is the development of application infrastructure so that the user does not need to know about computers, networks, operating sys- tems, programming language, components, modules, etc. To meet this challenge, we offer an interface-based orga- nization of components for distributed computing which we have used for the development of configuration sys- tems of complex projects. To reach this goal, we propose a sophisticated architecture of a distributed application environment where decision making agents interoper- ate and cooperate over a distributed configured object by means of special middleware. The architecture of this middleware has been developed as a distributed environ- ment supported by intelligent project agents. Property integrity and partial consistency of distributed complex projects are supported by special methods based on data base and knowledge base integration and distributed computing using graph grammar rules. Estamos en la etapa inicial de la computación distribuida. La idea básica de nuestro enfoque es el desarrollo de la infra- estructura de aplicaciones de tal manera que el usuario no necesite saber nada sobre computadoras, redes, sistemas operativos, lenguajes de programación, componentes, módu- los, etcétera. Para resolver este problema ofrecemos una or- ganización basada en interfaces de los componentes para la computación distribuida que hemos usado para el desarrollo de sistemas de configuración de objetos complejos. Para lo- grar esta meta proponemos una arquitectura sofisticada de ambiente de aplicaciones distribuidas donde agentes de toma de decisiones interoperan y cooperan sobre objetos dis- tribuidos y configurados a través de middleware especial. La arquitectura de este middleware se ha desarrollado como ambiente distribuido apoyado por agentes inteligentes de proyectos. La integridad de propiedades y consistencia par- cial de proyectos distribuidos complejos están soportados por métodos especiales basados en la integración de bases de datos y bases de conocimiento, así como en reglas de gra- mática de grafos. astecnologíasdeinformacióndistribuida(IT’s)pro- veenunaccesouniversaltransparentearecursos distribuidos, y como existe una gran variedad de tiposdecomputadoras,redesysistemasoperativos,lacom- putaciónempresarialeshoyendíaunacoleccióndediver- saspartesquetrabajanenconjuntoconunfincomún.La tecnologíacliente/servidoresactualmenteundesarrolloes- tratégicoencomputación,quenosuministraunmodelo L * DirectordelPosgradoenElectrónicayComputacióndelaUTM. ** Profesor-investigador de tiempo completo del Instituto de Electrónica y Computación,UTM. *** TesistadelalicenciaturaenIngenieríaenComputación,UTM.
  • 2. TEMAS4 E n s a y o s Elprogresodelainformacióntecnológicadistribuidaper- mitecombinardiferentesconfiguracionesdeestado,usan- doagentesbasadosenconocimientofuncionaldistribuido. Una configuración distribuida es un proceso de relación cooperativaenlacualtrabajanagentes(diseñadoresoex- pertos)enlosdiferentesaspectosopartesdeunDC-obje- to con el fin de promover acciones de integración en el consensodelosarchivos.Losdatosgeneradosporlosagen- tes deben ser compatibles con los DC-objetos y con los datosformadosconcurrentementeporotrosagentesde cadaDC-objeto. Hoylaingenieríaconcurrente(ConcurrentEngineering-CE) necesitadeunabuenacaracterizacióndelmodeloopera- cional;hayunasignificativanecesidaddeformalizarlade- cisióncooperativadistribuidayconcurrente,paralograruna interrelacióndeprocesosquepuedansermanejadosefec- tivamenteporagentesbasadosentecnologíasdeambien- tes sin restricciones. El DCS, como una especialización intelectualenambientes,puedefacilitarelmantenimien- todistribuidopormediodelmecanismodeagentespara coordinar el desarrollo de los DC-objetos, pero hay mu- chosproblemasrelacionadosconestedesarrollo,porejem- plo: la colaboración en la actualización de procesos independientes,loscualestienenquecalcularlaresultan- te de los datos concurrentes con una coordinación "se- mántica"; la integridad y consistencia de los datos y el modelado de las actividades, las cuales pueden ser com- plementadaspormásdeunobjetooporvariantes. Elproblemadeconfiguraciónseformulacomouninterva- lodelproblemarestricción-satisfacción,elcualasumeque losvaloresdeldominiosonintervaloseintervalosaritméti- cosestándarusadosparaevaluarnodosyarcosdeconsis- tencia. 2. Tecnologías de información distribuida basada en objetos La idea principal de la tecnología de información es dividir las aplicaciones complejas de programación en componentesomódulosfácilmentedesarrollables,com- prensibles, diseñándolos como módulos activos deno- minados agentes; estos componentes podrán trabajar en conjunto sólo si han sido diseñados y construidos bajo las interfaces estándar. La arquitectura basada en componentes para la construcción de aplicaciones de sistemas provee una lista de interfaces comunes para integrar sus diferentes componentes hacia una solu- ción completa. En la actualidad la tecnología de la in- formación está comprometida en solucionar la carencia de interoperabilidad de aplicaciones entre las diferen- tes plataformas de computadoras, y el ensamble de estos componentes comienza a ser el principal proble- ma para el desarrollo de las aplicaciones distribuidas. Para resolver este problema se necesita de una infraes- tructuracapazdeproveerlainvocacióndeprogramasre- motos y la comunicación con ellos; la comunicación de las aplicaciones a través de la red, se logra con algún middleware. El middleware, como los procesadores de transacciones, conectores de bases de datos, protocolos de comunicaciones, entre otros, proveen de diferentes clases de infraestructura, donde la interacción de los ob- jetos es perfecta a través de un sofisticado sistema de mensajes permitiendo a los agentes hacer requisiciones de servicio de otros agentes. La tecnología de objetos está progresando y para poder proveerlosprincipiosdeorganizaciónparalasiguientege- neracióndelaarquitecturacliente/servidorsefundamenta enlaComputaciónDistribuidaBasadaenObjetos(ODC), lacualestáencaminadaalacomputacióncliente/servidor orientadaaobjetos.Lasventajasqueresultandeesteam- bientedecomputacióndistribuidabasadaenobjetosson lassiguientes: 1. Lasaplicacionesconformadasporobjetosdistribuidos sonunaimagenúnicadelaempresa. 2. Los servidores son transparentes hacia los clientes, los cualespuedenserimplementadoscomoagentesmigra- torios. 3. Tantolosobjetosremotos,comolocales,secomunican de la misma manera a través de mensajes.
  • 3. TEMAS 5 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . 4. Elparticionamientopermitealosusuariosuncambiode recursosdecómputoensusaccesos. 5. Laenvolturadelosobjetos(interfacesorientadasaob- jetos)estáelaboradaparalacomunicaciónentreellos. Losobjetosdistribuidos(DC-objetos)sepresentanalusua- rio como algo muy familiar, no como máquinas, redes o lenguajesdeprogramación;sonactores,jugadoresconsu propia actividad o sustitutos de cosas del mundo real o representacióndealgunosconceptos.Losmódulospue- densercubiertosyapareceraldesarrolladorcomoagentes y cuando se cuenta con esta cubierta, el código puede participar en un ambiente ODC. El envolver o cubrir es una técnica para crear una interface basada en objetos, conlacualsepuedenaccesardeunamaneraespecíficay funcionalloscontenidosdeunaomásdelasaplicaciones existentesenunacomputadora. 2.1 Arquitectura de la computación distribuida basada en objetos La ODC es uno de los paradigmas de la computación que admite distribuir objetos a través de una heterogé- nea red permitiendo a cada uno de sus componentes interactuar como una sola unidad. Este paradigma pro- veedeunainfraestructuraparaabastecerloscomponen- tes de servicios disponibles y así reunir los procesos cooperativos distribuidos de una forma universal y trans- parente. La ODC es un avance dramático en los forma- tos de computación, es un resultado de la convergencia de la tecnología orientada a objetos y la tecnología clien- te/servidor, mezclando las ventajas de distribución de la tecnologíacliente/servidorconlariquezadeinformación del mundo real contenida en los modelos orientados a objetos. LosDC-objetospuedendistribuirseendiferentescompu- tadoras a través de la red, y la ODC puede verlos como unaredglobaldeclientesyservidoresheterogéneosyco- operativos. La ODC satisface al paradigma al reunir de maneraefectivaloscambiospuntoapuntoenlosaccesos cliente/servidor,dondeelclienteservidorglobaldelared es una computadora distribuida basada en objetos; tam- biéncuentaconprovisionesparaelparadigmauniversalde construcción,transparenteyadaptativoenlasinfraestruc- turasdeinformaciónysistemas. LaODCproponeunsofisticadosistemadeservicioproveí- doporlosDC-objetospartidosenagentes(P-agentes),para garantizar la integridad de propiedad y la debilidad en la consistencia de los datos objeto. Una arquitectura ODC tienequesoportarlainteroperacióndelosactosconcurren- tes de los DM-agentes sobre las partes de los DC-objetos, manteniendounacoordinadaactualizaciónenlosconflictos defuentescomunesentrelosprocesosdelosDC-objetos, portantohayunareducidacargaenlosDM-agentes.Los servicios de la ODC están bien solicitados en el ambiente distribuido;estoes,enformadinámicayproveyendodife- rentessoportesenlacolaboracióndealtonivel. Esta arquitectura es una consecuencia de la selección de larepresentacióndelconocimientoylaestructuradedatos orientados a objetos, ambas usadas por los modelos de objetos. Los P-agentes son interfaces flexibles y progra- mables entre DM-agentes y objetos distribuidos. Existen implementaciones aproximadas de tres filas (three-tie- red) para controlar todos los objetos de operación escri- tura/lectura.LaarquitecturaODCesusadaporlosP-agentes para entender el contexto dentro del cual están suce- diendo las actualizaciones de los eventos. Los P-agentes utilizan técnicas de inferencia para hacer factible las ope- raciones de los DM-agentes sobre los DC-objetos y po- der conceptualizar una vista del ambiente de DCS como un middleware. Los DM-agentes se comunican regularmente a través de redesestructuradas,lascualesestánsoportadasporP-agen- tes; cada P-agente está conectado con una lista de DM- agentesdesarrollandolaspartesdelosDC-objetosmásun númerodeP-agentesparapodersoportarlacoordinación dedatoscomunescompartidosentrelaspartesdelosDC- objetos;tambiénunDM-agentepuedecontenerunalista decanalesparaintercambiarconP-agentesenlasdiferen- tesplataformas.
  • 4. TEMAS6 E n s a y o s Las comunicaciones están establecidas mediante una estructura de intercambio de mensajes la cual intero- pera de acuerdo con la lista preestablecida en el for- matodetransferencia(protocolos).Estasinteroperaciones están basadas en un grafo de transformación de espe- cificaciones de los agentes de acción. Los DM-agentes pueden ser distribuidos con la información incomple- ta, pero utilizando una forma semánticamente rica en la descripción de las posibilidades del diseño basado en fragmentos. Los DM-agentes pueden activar algunos actores como agentes computacionales (C-agentes) para que deci- dan entre las diferentes tareas computacionales. Un C-agente siempre espera una llamada de comunica- ción y puede interpretar dicho mensaje de acuerdo a su estado real. Un C-agente puede generar un nuevo C-agente para que decida nuevas sub-tareas. 3. Funciones de los agentes Los sistemas cooperativos están compuestos de una lis- ta de agentes (llamados sistemas multi-agente-MAS) y son considerados sistemas modulares de ODC. La teo- ría de sistemas multi-agentes surge debido a la tenden- ciadeldesarrollodesistemasinteligentesyalacomputación distribuida.Aunquedesafortunadamentetodavíanoexiste una metodología que permita analizar, especificar, di- señar e implementar estos sistemas multi-agentes, no- sotros especificamos el conocimiento de cada agente internoysucomportamientoenelmundoexterno,además de sus interacciones con otros agentes. Esto significa que la comunicación entre ellos se da con especifica- ciones semánticas, por lo que la corrección de los pro- tocolos de interacción en sistemas específicos está garantizada. Para especificar la mayor parte de los sistemas multi- agentes es necesario definir el conocimiento interno que le pertenece a cada agente y sus funciones que proceden del mundo exterior, muy cerca de la interac- ciónconotrosagentes.Ennuestrainvestigaciónelmodelo del sistema multi-agentes es usado por el modelo de ambientecooperativo-DCS,endondeelMAStomaventaja sobrelaparticipacióndinámicadecadaunodelosmiembros del grupo, lo cual constituye un avance. Un DM-agente puede usar toda una base de datos, pero las operaciones de actualización sólo pueden ser efectuadas fuera, en la parte de captura. Un DM-agen- te tiene que capturar la parte seleccionada de un frag- mento de DC-objeto, como protección de posibles actualizaciones no coordinadas con otros DM-agentes. Un DM-agente puede crear nuevos tipos de datos como parte de modelos de un DC-objeto o sus instancias, buscar prototipos para diseñar parte de nodos-consis- tentes de los fragmentos capturados, transformando los datos de ciertas operaciones mediante cálculos de in- tervalos para definir valores restringidos para los atribu- tos y, finalmente, enviar sus propósitos al P-agente para su aceptación o rechazo. La propuesta hecha localmente por un DM-agente está disponible de inmediato para los DM-agentes que usen elementos de interface para capturar el fragmento. En general, la factibilidad de las operaciones de actuali- zación de un P-agente sobre un DC-objeto está res- tringida por la semántica de datos de los objetos; es decir, las propiedades de un DC-objeto y sus requeri- mientos aplicables a él. La coordinación de las accio- nes concurrentes de los DM-agentes están basadas en los conceptos de integridad de propiedad y la consis- tencia de su cobertura para una base de datos en la cual la idea de "actividad de un objeto" es usada de acuerdo con las posibles operaciones definidas sobre el estado del fragmento. Los mensajes entre los P-agentes y los DM-agentes son soportados por la arquitectura DCS y consiste en refe- renciar los fragmentos capturados, sus transformacio- nes,activosrestringidos,etcétera.LosmensajesP-agente permiten DM-agentes, por ejemplo, para organizar una efectiva búsqueda de partes constitutivas de un frag- mento diseñado con propiedades compatibles.
  • 5. TEMAS 7 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . Unadelasideasparaladeducciónclásicadeconsistencia enlasbasesdedatoseslanocióndeunmodelodemundo cerrado.Unabasededatosesconsistentesiesunmodelo verdaderodeunmundodado.Por"verdadero"seentiende laausenciadehechoscontradictoriosexistentesenelmun- do (DB), tanto como los obtenidos de las aplicaciones de lasleyesdeldominiodelproblema.Estasleyessonelsigni- ficadoparalacapturadeunricomundodesemánticas. Enelmundorealcadaobjetotieneunaúnicacualidad,un únicoprocesoparatomardecisiones,reglasdeingeniería, constreñimientoyrequerimientos.Estosignificaquecada DC-objeto es el resultado de un proceso colaborativo ba- sado en hechos únicos, conocimiento, toma de decisio- nes y reglas de diseño. Para satisfacer la demanda de nociones de la cobertura de consistencia para DB & KB, seintroducelaconsistenciadentrodeunmini-mundode cada DC-objeto. Todoslosobjetossonincluidosenunobjetoporreferencia de la persistencia de objetos. Los modelos DB & KB pro- puestosnosonunaunióndisjuntademini-mundosdeto- dos los proyectos. Los mini-mundos de dos DC-objetos pueden ser interceptados si uno de los DC-objetos usa alguna parte de otro DC-objeto como un fragmento. En- tonceselsegundoDC-objetoaceptatodoslosdatosyco- nocimientos del primer mini-mundo en la forma de un modelofragmentado.Ambos,elprimeroyelsegundoDC- objeto, deben ser consistentes con respecto a los hechos relativosyalconocimientodelosfragmentoscompartidos. 4.1 Fragmentación Unfragmentoesunapartedeunobjetoqueseinterpreta comounobjetouobjetosinterrelacionadosconrestriccio- nes entre ellos. Los fragmentos son unidades de toma de decisión y distribución. Cada DM-agente puede ser refe- renciadocomounatomadedecisióndeunfragmentocual- quiera en un nivel conceptual como definición de este modelo, o en un nivel paramétrico como definición de propiedad.Eldiseñoconceptual,comounpasodelatarea deconfiguración,seexportaporladefinicióndeestemo- 4. Integridad y consistencia de datos en los accesos Las reglas de configuración para las acciones específi- cas de actualización, como crear, borrar, insertar y mo- dificar, deben satisfacer las reglas de integridad y consistencia de los datos. En este caso solamente un modelo DC-objeto puede contener todos los mecanis- mos necesarios para coordinar una actualización con- currente. Esta ventaja es motivada por el módulo de la filosofía de la ingeniería concurrente donde ambos, el objeto desarrollado y los aspectos de administración de la ingeniería concurrente, son integrados. La idea bási- ca de proponer esta ventaja es incrementar las posibili- dades de expresión de una base de datos para la representación semántica de sus relaciones entre las partes de una entidad; por ejemplo la representación de las compatibilidades semánticas de un modelo de objeto para el soporte de un objeto agregado. Estas po- sibilidades se conservan, lo cual significa la inclusión del conocimiento al modelo de objeto que describe la compatibilidad restringida entre sus componentes. Una base de datos y una base de conocimientos mo- delo pareja (DB & KB) se considera como una integra- ción de un objeto modelo de datos y la representación de su conocimiento con el mecanismo de coordina- ción que usa una semántica específica para sus relacio- nesconcadaDC-objetoysusvariantes.Estosedesarrolló para organizar los datos y el almacenamiento del cono- cimiento, así como la actualización concurrente en la búsqueda de decisiones eficientes y factibles basadas en mecanismos coordinados. Para soportar el modelo de consistencia de DC-objetos introdujimoslosconceptosdepropiedaddeintegridady la cobertura de consistencia de datos de los DC-objetos mediantelasemánticadedatos.Lapropiedaddeintegri- dadincluyelademandadecompatibilidaddepropiedad parapartespertenecientesaunasimpleestructuraidenti- dad.Estanuevacualidadesusadaparaanalizarlafactibi- lidad de los DM-agentes de decisión y su agregación al modelo de DC-objetos.
  • 6. TEMAS8 E n s a y o s DB&KBDB&KB fragmento α β χ δ IG deloenformadeunaclasedeobjetousandounmecanis- modeagregación.Lasoperacionesenestenivelpueden generarnuevasclases,agregandosubclasesydefiniendo unarestricciónentreellas.Lapropiedaddelfragmentodi- señado es definida en el nivel paramétrico de ingeniería deacuerdoconlarestricciónexistente. El estado actual del fragmento y sus transiciones a otro estado se dan por una lista de reglas con condiciones. La principal dificultad se presenta por la necesidad de incluir una nueva aplicación con acciones de larga du- ración. Para aplicaciones ordinarias complejas las acciones DB se unen a un acceso atómico de transacciones para actualizar los fragmentos capturados. La concurrencia de transacciones de larga duración no pueden ser eje- cutadas secuencialmente. En el orden de realizar una ejecución bien definida de estas acciones, se desarro- lla el criterio de menor número de correcciones basa- da en el grafo de transformación paralelo (GT). Este criterio garantiza que una ejecución distribuida de una lista de acciones de DM-agentes sea equivalente a alguna eje- cución de un componente (amalgamado) GT, el cual es resultado especial de un P-agente para todas las actualizaciones aplicadas a la parte del DC-objeto con- currente. 5. Modelos de grafos de transformación 5.1 Ventaja sobresaliente Lateoríadetransformacióndegrafosproveeunparadig- ma uniforme y un formalismo flexible para la especifica- ción,laimplementaciónyelanálisissecuencialdesistemas distribuidos y concurrentes. Las técnicas basadas en gra- fos se aplican exitosamente en el desarrollo de DCS, re- presentandounDC-objetocomounaestructurajerárquica degrafosatribuidosparaelmodelocomunitariodeobje- tos de multi-nivel. La ventaja de GT se usa para el modelo concurrente y distribuidodeaccionesdelDM-agentey alavezcoordina la acción entre ellos. Un sistema GT es una colección de reglas GT basadas en la llamada ventaja única de pushout, donde pushout corresponde a un término de unificación. Un paso en GT se define en términos de producción y derivación de grafos. Una producción GT se presenta mediante morfismos y aplicaciones de producción en subgrafos, los cuales son grafos que se describeneneldiagramaconmutativollamado pushout (PO). Se usa la ventaja algebraica de la representación GT en la categoría de atributos de grafos y por lo mismo se crea su independencia, lo cual permite aplicar el paralelismo, la concurrencia y la unificación. De esta manera la actualización concurrente de los estados DC- objeto se modelan por la noción del grafo de unifica- ción para la computación concurrente. El GT corresponde a una operación sobre el estado de un DC-objeto representado por un atributo global del grafo. Un DC-objeto se modela por una segmentación del estado de un grafo en un conjunto de localidades con una interface de grafos global (IGs). Los segmen- tos de un grafo DC-objeto y los grafos locales con sus IGs globales, se describen en la figura 1. La concurren- cia directa GT de dos actualizaciones simultáneas DC- objetosonindependientesenformaasíncrona,ounificados de manera síncrona. Figura 1. Segmentos de un grafo DC-objeto
  • 7. TEMAS 9 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . CadaP-agentemantieneungrafolocal,GTeslocalsipue- de ser ejecutado por un P-agente y es global si en su im- plementación se usan dos o más P-agentes. Un P-agente puede coordinar actualizaciones de DM-agentes locales paralelosyproveerunacolaboraciónglobalconcurrente de GTs, así las partes distribuidas integran un modelo de objetos consistente, los cuales se unen a grafos locales distribuidos a lo largo de sus IGs. De esta forma todos los pasosdistribuidosparaunobjetosonsincronizadosydistri- buidos. Los GT globales se consideran como el inicio de unasecuenciacompuestadesegmentos,unionesypasos dedistribución. Un GT puede representarse formalmente de la siguiente manera:rcorrespondealasreglasdeunGTysurepresen- tación es r=L® R, donde L y R son grafos y el patrón es incluidoenlaentradadadaporelgrafoG: m=L® G.Aquí L es sustituida por la segmentación R en G, creando un nuevo grafo H. Generalmente a través de las reglas r se formaunGTdeungrafo Gporlaeliminacióndealgunas partes de Del de G y define algunas partes de Kg en el contextodeDel.Deinmediatoseagregaunanuevaparte deAddconunnuevocontextodeKh ,resultandoungrafo derivadoH,dondeKh esconstruidodesdeKgylos nodosy arcosdelcontextoestánestrechamenteunidos. El principio de la construcción de las fórmulas de unión paraderivacionesconcurrentesengrafossedaenEH,por lotantonuestrasinvestigacionesseenfocanaldesarrollo deestosmétodosformalesparaGTscondicionales,basa- dos en el análisis de la consistencia. 5.2 Transformación de atributos de grafos Las especificaciones GT consisten en objetos y referen- cias entre ellas, representando condiciones de compati- bilidad, por lo cual nosotros usamos una lista ordenada para la evaluación de atributos de objetos. Las reglas GT descritas por los morfismos y el álgebra se usan como un dominio semántico de las especificaciones de los datos de un grafo, el cual va equipado con el componente tipo de datos, como atributo de un grafo codificado grá- ficamente en estructuras con propiedades de objetos. Los atributos de los grafos se usan en el modelo de eva- luación de datos de un objeto como combinaciones al- gebraicas de una estructura gráfica y otra del tipo componente de datos. Las transformaciones directas se forman en un paso para las transformaciones de estruc- tura de grafo y componente de datos, y relaciona sus pasosdondelosatributossecomponenconcondiciones de consistencia adicional. Las composiciones de trans- formación se integran con la composición doble de gra- fos y la transformación de datos. Lostiposdedatossedefinenalgebraicamente.Lasiglapara el atributo de un grafo debe ser la misma en la estructura gráfica(llamadaestructuraG).Lasiglaparaeltipodedatos esDT-set,ylosatributosaloscualesselesasignanvalores dedatosdeobjetoaobjetosserepresentancomoarcosde unaformaespecial. UnaestructuraGesunmodeloparcialalgebraicoendon- desepermitentodoslostiposdeoperación.LasreglasGT son morfismos parciales y satisfacen diferentes condicio- nes. Las reglas de la estructura G son inyectivas para una listadetransformacionesD,ysonisomórficasparatodala organización de datos A. Sintácticamente, con el álgebra se pueden representar variables con base en siglas que contengansólodatosorganizadosyoperacionesdedatos paralostiposdedatosseleccionados. Losfragmentosdeobjetossonentidadespersistentesque sobreviven a métodos de ejecución. Las configuraciones delosobjetossemodelanporvariasseleccionesalgebrai- casycadaconfiguraciónrepresentaunacomunidadestruc- turada de objetos, la cual refleja la arquitectura de interconexionesdeloscomponentes. 5.3 Condiciones de aplicación del GT La consistencia de un sistema GT se basa en el uso del teorema del paralelismo para la derivación de grafos con condiciones de aplicación contextual (CACs) con restric- ciones de consistencia. La aplicabilidad de las reglas GT
  • 8. TEMAS10 E n s a y o s secontroladirectamenteporCACsenunnivelsemántico y se representa como subgrafos generalizados vincula- dos. Para la interconexión de los grafos existen reglas específicas hacia la derecha o izquierda y se verifican en el tiempo de ejecución; antes de que CACs aplique la regla,puedeexpresaruncontextodecondicionespositi- vas o negativas, así como las combinaciones entre ellas, que consisten en conclusiones de premisas disyuntivas. CACs puede, por ejemplo, describir de manera única y afirmativaloselementosenungrafo,sustipos,propieda- des o ciertas restricciones concernientes a las siglas de la lista del modelo DT. Para satisfacer las condiciones de aplicaciónserequierelaconsistenciadelasespecificacio- nes GT y la consistencia de un modelo de objetos de datosquesecodificandentrodelosatributosdeungrafo usandoidentificadoresadicionalesexpresadosenfórmu- laslógicas.CACspuedecaracterizarsepormediodeecua- ciones, o no, para la representación de intervalos restringidos.Nosotrosusamosestascondicionesparalas especificacionesdeconsistenciayapoyarlaspropiedades de integridad en el modelo de objetos distribuidos. Lascondicionesconceptualesdelaaplicacióncomparten todaunaestructuradondelasrestriccionessontotalmente morfismos L®®®®® L´ y se satisface por la pareja L®®®®® G. Esta ventaja se define como y bajo las reglas GT, pueden ser aplicadasconCACs,queproveenivelesintermediospara expresarlapotenciaentrelagramáticalibredecontextoy losgrafosdegramáticasensitivadecontexto. UnasoluciónenelintervaloCSPeslaasignacióndevalores paracadafragmento.Cadadominiopuedesermulti-evalua- dodesdecadaatributoycaracterizadoporunalistadeinter- valosdeatributos.ElsistemaGTconCACsesconsistentesi elgrafoinicialsatisfacelascondicionesdeconsistenciaylas reglasdepreservacióndeestapropiedad. 6. Coordinación La coordinación entre dos DM-agentes se expresa por la sincronizacióndesusP-agente(s)quepermitanlatransfe- rencia de fragmentos capturados a procesar sobre el P-agente(s).LacoordinaciónenDCSpermitelaresolución de intereses conflictivos (recursos) y la interoperación de DM-agentes. El DCS distribuido se construye en el nivel superior de un mecanismo de comunicación, para efec- tuareltrabajocooperativoporinteroperaciónatravésdela red, vinculado a la ingeniería para lograr tanto las metas individualescomolascomunes. 6.1 Estructura dinámica virtual PararesolverunproblemadecoordinacióndeGTenfor- malocal,cadaP-agentedesarrollaunaestructuradinámi- ca virtual (VDF) de la parte del objeto que apoya, para generar el espacio del arco de consistencia. Un VDF es ungrafoespecíficoconnodoscomoDM-agentesyarcos comorestriccionesexternasparalosfragmentoscaptura- dosporellos.LosarcosentredosnodossonIGlocalesde DM-agentes y se usan para coordinar sus acciones. Un P- agente identifica cómo un nuevo DM-agente puede in- cluirse en un VDF y cómo incluir las actualizaciones del DM-agente al objeto. Un VDF es lo más adecuado para representar diseños individualmente y permitir todas las restricciones activas para que se consideren simultánea- mente por parte del DC-objeto. UnP-agenteposeeinformacióncompletasobrelaslimita- ciones,variablesydominiosdevaloresparaencontrares- tados consistentes de VDF; además utiliza los conceptos de consistencia en los nodos y arcos para determinar y apoyarlaintegridadyconsistenciadedatosparalasdeci- sionesdelDM-agente,capturandotodaslasposiblesinte- raccionesentreelDM-agenteysusaccionescoordinadas, traduciendolosrequerimientosdelobjetoenlasespecifi- cacionesderestricciones,ylosenvíaatodoslosDM-agen- tespertinentes.ElP-agenteusaunmecanismocronológico debúsquedaparaseleccionarotroconjuntodeDM-agen- te propuesto, si se alcanza un ciclo final. 6.2 Amalgamación El sistema GT especifica las acciones con diferentes estra- tegias y permite implementar ejecuciones distribuidas
  • 9. TEMAS 11 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . un P-agente (caso no distribuido). Esta situación se re- suelve por un P-agente que usa un IG local compartido paradosnodosdeVDFapropiadosparaestosagentes.La sincronización se desempeñaría entonces en todos los procesos de los IGs compartidos teniendo que esperar la coordinacióndesusacciones. Lacoordinacióndeprocesosconcurrentessedacuandoel DM-agentecapturaelfragmentoapoyadopordosomás P-agentes.Unacoordinacióndeaccionesdistribuidasusael modelodepasodemensajesentreP-agentesparalacomu- nicacióndelasactualizacionessincronizadasdelDC-objeto. ElmensajedelDM-agentesetransfiereusandoelenfoque 3-tiered de acuerdo a una colección global de actualiza- cionesparatodoslosP-agentespertinentes.LosIGsgloba- lescomoobjetoscompartidossonaccesiblesportodaslas partesdeunGTglobalqueestéinvolucrado. 6.4 Negociación y comunicación de agentes Paralacorrectacooperaciónycoordinacióndetrabajoen un MAS, donde la actuación de los agentes es en forma interdependiente,debeexistirunmecanismoadicionalque lespermitaunacolaboraciónycoordinaciónfactibleentre ellos.Paradefinirunmétododeinteracciónentreagentes, losprocesosdenegociaciónseespecificancomolacoordi- naciónycooperación. Lacooperaciónsignificaquelasolucióndeunproblemade- terminadoseaelresultadodelainteraccióncooperativaentre todoslosagentes;lacoordinaciónentreungrupodeagentes permiteconsiderartodaslastareasarealizarycoordinarlas,ya queesunadecisióndecompatibilidadentreellos.Aconti- nuaciónsemencionanalgunascaracterísticasdeMAS: 1. Conocimientodetodoslosagentesdelsistema,esposi- bleubicarloscuandoenvíanorecibenlosrequerimien- tos a otro; 2. Conocimientodelpapelorolquecadaagentecumple enlainteracción,yencadacasoesposiblesaberaquién puededirigirse; de operacionessobreelDC-objeto,asíproveelasemánti- caoperacionalatravésdeGTs.Elmecanismodesincroni- zaciónserepresentacomounaamalgamacióndegrafos con reglas de GT y se emplea con el fin de definir la se- mánticaoperacionalparaunsistemaGT.Latécnicadeamal- gamaciónseusaparadescribirelefectodeinterconexión queproveeunmecanismodelcontroldeprocesoGT. Los GTs se ejecutan concurrente e independientemente uno del otro y por su tipo de interacción se distinguen si sonsíncronooasíncrono.DosGTspuedensincronizarse mediante operaciones GT, utilizando IG comunes, cam- biando éstos durante el proceso de las operaciones. En este trabajo un GT síncrono se considera como un caso especialdentrodelosasíncronos. 6.3 Envío de mensajes e IG compartidos Unadelascaracterísticasprincipalesdelossistemasdistri- buidoseslanaturalezalocaldelcómputo.Unconjuntode DM-agentes,conectadosenalgunaformaespecífica,trata dealcanzarunametacomún.Laspropiedadesglobalesdel objeto pueden ser computadas con el significado de GR local,oglobal,sobreDC-objetos.Laarquitecturacompar- tidadeDC-objetosesunaestructuradereddinámicaque integrasuscomponentesenDCSconrecursoscomunes, incrementandosurehuso,modularidadyportabilidadde suscomponentes. SiunodelosDM-agentescambiaalIGcompartido,elotro tieneconocimientodelcambio.Estoocurriráindependien- temente de que las partes sean distribuidas, o no; este mecanismoseusaparalaactualizacióndelacoordinación. Lasincronizaciónseconformacuandotodoslosprocesos compartidosIGtienenqueesperarsercoordinadosporsus acciones. ElDCScontienedosmecanismosparalacoordinaciónba- sadosenpartesdelIG-compartido. La coordinación de procesos paralelosse produce cuan- do dos DM-agentes capturan fragmentos apoyados por
  • 10. TEMAS12 E n s a y o s 3. Contar con una opinión de cada uno de los agentes (conocimiento),siendoposibletener"criterios"enlatoma de decisiones, entre otras. 6.4 Modelo de negociación Lanegociaciónesunmecanismopararesolverlosconflic- tos haciendo lo posible por alcanzar un consenso entre DM-agentes.Latareacomputacionaldeunaconfiguración es la formalización de un intervalo de satisfacción de res- tricciones (ICSP). El ICSP asume que los valores del domi- niosonintervalosyusanunintervaloaritméticoestándar paraevaluarlaconsistenciadenodosyarcos.Enlaimple- mentaciónactualseasumequetodaslaslimitacionesson monolíticas,sinembargonosotrosinvestigamoselproble- madecómolosDM-agentesqueactúandemaneracon- currenteyresuelvenconflictospormediodenegociaciones conunP-agente,detalformaquelosproblemasdediseño puedenserresueltosefectivamenteensutotalidad.UnP- agente necesita ser capaz de evaluar las propuestas del DM-agenteparadefinirlaconsistenciadedatosyalfinse comprometa,tomandoenconsideraciónsucontexto. Las estrategias de negociación incluyen la selección de decisiones efectivas cuando existen múltiples soluciones defragmentosenformafactible;sialgunasoluciónnoes factible es necesario omitir algunas restricciones para lo- grarlasoluciónalproblema. CadaDM-agentetratadeencontrarsolucionesdefragmento conbaseencriterios(conocimiento)propiosyenvíanpro- puestasalP-agente,elqueevalúaestaspropuestasconcu- rrentemente y si satisfacen restricciones de intervalos entonceselP-agenteenvía el mensajedeconfirmacióny escribe las propuestas en DB & KB. Sielacuerdonopuedealcanzarse,elP-agenteenvíamen- sajes para disminuir u omitir algunas restricciones al DM- agentequeestéparticipandoencadaconflicto.Estospasos serepitenhastaqueselogreunadecisiónsatisfactoriaose reconozcaqueelconflictonopuededecidirsedebidoalas restriccionesabrumadorasyseabortalaoperaciónotarea. 6.5 Comunicación LosDM-agentescomunicanloestablecidopor mediode canalesatravésderedesregularmenteestructuradas.La comunicacióndeagentesserepresentacomounconjunto de esquemas de mensajes con la siguiente estructura: El vocabulario es una parte de dominios específicos donde cadapalabratieneunaanotaciónformalescritaenKIF(For- matodeIntercambiodeConocimiento). Un KIF es una versión de prefijo de cálculo de primer or- den con diversas extensiones para mejorar su expresivi- dad,ydefineunconjuntodeobjetos,funcionesyrelaciones cuya semántica es fija. Pero es abierto y los usuarios son libresparadefinirelsignificadodecualquierotrosímbolo que no esté predefinido. Un mensaje es una expresión KQML(PreguntasdeConocimientoyLenguajedeMani- pulación)endondelosargumentossonlostérminosofra- sesdelvocabularioenKIF. 7. Computación distribuida basada en objetos: especificaciones e implementación 7.1 Arquitectura ODC ODC es un ambiente complejo de computación y re- quiere una infraestructura con una tecnología muy so- fisticada y robusta. Las infraestructuras IT distribuidas del futuro deben ser elaboradas con base en arquitec- turas muy confiables. Una arquitectura es un nivel descriptivo alto de la or- ganización de las responsabilidades funcionales dentro de un sistema, y además es la estructura general del sistemaquedefinelarelacióndecomponentesdelmismo; porejemplo,cliente/servidoreslaarquitecturaquedefine una relación entre el consumidor y proveedor de re- cursos. Los siete niveles básicos que el modelo de la tecnología deobjetosapoyaparaproveerelprocesamientoorientado a objetos son:
  • 11. TEMAS 13 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . 1. LacapadeprogramaciónOOestradicionalalmodelo OOyherramientasdeprogramación. 2. Lacapadeimplementaciónproveelainfraestructurapara el ambiente basado en el objeto. 3. Enelnivelconceptuallosdesarrolladorescreanlas"en- tidades" básicas del dominio del problema, sus asocia- cionesconunosyotros,asícomosusrespectivospapeles enlaconfiguración. 4. Las reglas de mantenimiento y restricciones limitan la definiciónymecanismosdeinferencia. 5. Elniveldeeventospermitealosusuariosredefinirsuce- sosdecomunicaciónanteriormentedefinidos. 6. Elniveldeescenariopermiteensamblarentidadespara obrarrecíprocamenteenalgúnescenariodeldominio delproblema. 7. El nivel de agentes organiza sucesos múltiples en un flujodetareasotrabajosquesoncapacesdereconocer aamboselcontextoycontenidodelainformación. 7.2 Tecnologías de objetos distribuidos: componentes opuestos a los objetos Un modelo de computación basado en el paradigma de objetos puede proveer grandes ventajas y un alto rendi- miento. La interacción del objeto se realiza mediante un sofisticadoambientedemensajesquepermitealosobje- tos solicitar servicios a otros objetos. LosobjetosVEnecesitandelasventajasdelaarquitectura cliente/servidordistribuidaqueapoyeladistribución,inde- pendencia,continuidadyprocesamientoentiemporeal. Laintegridadsemánticadeobjetosconelpotencialdela arquitecturacliente/servidorseconcibecomoungranreto delcómputoVE. Loscomponentes(agentes)interactúanenformarecípro- caatravésdelpasodemensajesrepresentandosolicitudes para la obtención de información o servicios. Durante la interacción,losobjetosasumendinámicamentelospape- lesdeclientes/servidoresylaamalgamacióndeestosobje- tosdistribuidosseunenenunObjetodeSolicitudes(ORB). ElORBproveelosmediosparalocalizaryactivarotrosob- jetos en la red, efectuándose de forma transparente a los usuarios.ElORBeselmiddleware deODCquepermitela funcionalidaddeinteroperabilidadenredesheterogéneas deobjetos. Unadelascontribucionesclavesdelatecnologíaorientada a los objetos es ocultar los detalles de la implementación dentrodecomponentesparamanejarconmáseficiencia la complejidad en ODC. El usuario no tiene que estar tan enteradodeplataformasyambientesdeprogramación,sim- plemente debe ver la interacción de los DC-objetos que colaboranrecíprocamentecomountodounificado(multi- agentes). 7.3 Tecnologías orientadas a objetos Unobjetoesunapiezadecódigofuentedesoftwareque puedeusarseparaconstruirpartedeunaaplicación.Eltér- minoorientadoaobjetos(OO)seaplicaanumerosasáreas tecnológicascomo:lenguajesdeprogramación,análisisy diseñodemétodos,basesdedatosysistemasoperativos. Los lenguajes OO son los más eficientes medios para ex- presar los conceptos e ideas en implementación que se detallanenuncódigofuente.Paraqueunlenguajedepro- gramaciónseatotalmenteorientadoaobjetos,debeapo- yarlostrespilaresdelparadigmadeobjetos:encapsulación, herenciaypolimorfismo. Laencapsulaciónpermitealprogramadordefinirmodelos quecontienentantométodos(comportamiento)comoatri- butos(datos)condiferentesnivelesdeacceso. Laherencia permitequelosdatosyprocedimientosdeun modelo (la clase) se definan una sola vez y se reutilicen por subclases de objetos, lo cual conduce a estructuras llamadas jerarquía de clase (una clase hereda comporta- miento[métodos]yestructurasdedatos[atributos]desde la clase base). La herencia múltiple es un poderoso concepto que pro- veelacapacidadparaheredardirectamentedesde dos o
  • 12. TEMAS14 E n s a y o s mas clases; pero no es indispensable para considerar a un lenguaje como orientado a objetos. Elpolimorfismo,queliteralmentesignifica"muchasformas", permiteaunsegmentodecódigodeprogramaenviarun mensajeaunobjetosabiendoqueelobjetoreceptorres- ponderá correctamente aun cuando la clase precisa del objetonoesconocida.Asífamiliasenterasdeobjetospue- dencompartirlosmismosnombresdemétodosqueper- mitan a otras aplicaciones reutilizar grandes partes (componentes)decódigodesarrollado. 7.4 Cómputo basado en componentes Uncomponenteesunmódulodesoftwaredetrabajo.La diferencia entre los componentes OOP y CC es semejan- tealaqueexisteentreunproductoylaespecificaciónde ingenieríadeeseproducto.Estaespecificacióncontienela informaciónqueesútilparacrearlo,peronoestablecesu utilidad.Lasventajasdeloscomponentesdesoftwareson lassiguientes: • Expansióndesistemasoperativosbasadosenarquitec- turassubyacentesdeobjetos. • Interfacesestándarprogramablesconbaseenunsiste- mabinariorobustocomoestándardeobjetos • Transparenciacorporativaconlosserviciosdesistemas distribuidosbasadosenobjetos. • Modelosdesistemasmultiplataformasbasadosenobje- tosconcomponentesautónomosdesoftware • Generacióndearquitecturascliente/servidor:primero como two-layers y después como three -layers. La implementación de la herencia consiste en que los componentes pueden reutilizarse fácilmente a través de diferentes aplicaciones mediante la herencia de clases, que es una manera en que un objeto llama con facilidad a otro objeto para proveer un servicio. Una aplicación basada en objetos puede crearse como una tarea inde- pendiente en un espacio de proceso separado -archivos con extensión EXE-, proveyendo servicios a servidores remotamente,ocomounabibliotecadeenlacedinámico en el servidor que se procese en un mismo espacio -archivos con extensión DLL-, que proveen servicios me- diante la función de una llamada local. La aplicación de objetos ejecutables que corre en un espacio de proceso separado se refiere tanto a servidores locales como a re- motos. Lasaplicacionesdeobjetosqueseejecutanenelespacio del proceso del servidor se conocen como in-process de servidores,ycuandoserealizaunaaplicacióndeobjetos, sereemplazalamayoríadelafuncionalidadproveídapor el gestor de objetos. 7.5 Componentes distribuidos basados en objetos Enestasecciónsehaceunaintroducciónalasespecifica- ciones e implementación de diferentes sistemas de ODC y sus características claves del ambiente en que operan. Estacomparaciónnospermiteapreciardiversascaracterís- ticas de ODC, como la extensibilidad, robustez, transpor- tabilidadylaoperabilidad,asícomodequémaneraestas característicasambientalesmotivanyformanmuchoscom- ponentes reusables, además otras cualidades que se en- cuentranenlasestructurasODC. Los clientes y servidores pueden ejecutarse en diferen- tes familias de sistemas operativos como UNIX, Win- dows, O2 o MVS, que proveen diferentes conjuntos de características (multi-hilos de ejecución, memoria com- partida, entre otros) y diferentes sistemas de interfaces (POSIX o Win32). Los componentes deben desarrollar- se para trabajar con eficiencia y robustez a través de redes. El enfoque de ODC ofrece muchos beneficios potenciales con base en técnicas robustas de arquitec- tura que existen en las estructuras distribuidas, como CORBA, OODCE y OLE/COM/DCOM. CORBA es una norma emergente para la computación de objetos dis- tribuidos; OODCE es una estructura en C++ para el DCE, yOLE/COM/DCOMesunatecnologíademicrosoftpara componentes distribuidos. Los clientes y los servidores se ejecutan en diferentes computadoras, que se unen por una red heterogénea.
  • 13. TEMAS 15 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . El protocolo de red que conecta los componentes distri- buidospuedeserconbaseencualquiertipodefamiliasde protocolos como TCP/IP, X.25, ISO OSI y Novell IPX/SPX, lascualesapoyanpunto-a-puntolacomunicaciónytienen diferentes características. Por ejemplo: TCP/IP es un pro- tocolodetransporteporflujo debytesqueignoralímites de mensaje. Para proteger y eficientar las aplicaciones se necesita seleccionar unos ODC que operen transparentemente a través de diferentes protocolos a un nivel bajo de comunicaciones, y estas estructuras tienen que pro- veer componentes reusables que simplifiquen el desa- rrollodeherramientasysistemasdistribuidos,porejemplo lenguajes de definición de interfaces (IDLs) y de com- piladores. Estas herramientas pueden generar códigos que de manera automática ordenan y reorganizan pa- rámetros de métodos a procesar tanto local como re- motamente. Este proceso convierte datos binarios de un proceso a otro en un formato que es reconocible a lo largo de un sistema heterogéneo de computadoras. COR- BA no intenta definir un conjunto estándar de inter- faces en un SO, sin embargo el usuario puede definir estas interfaces para acceder a características de es- tructuras del ODC, como la Interface de Invocación Dinámica (DII) de CORBA. La DII permite a un cliente acceder a los mecanismos de solicitudes provistos en un Agente Objeto de Solicitud (Object Request Broker- ORB). Las aplicaciones usan la DII y manejan en forma dinámica las solicitudes a objetos sin requerir inter- faces específicas que tengan que ser vinculadas en el componente. La localización simplifica la administración de un siste- ma distribuido y promueve la distribución más flexible y dinámica de servicios a través de la automatización en la selección de objetos distribuidos. Tradicionalmente los sistemas cliente/servidor identifican sus servicios por medio de direcciones de memoria que indican la loca- lización de objetos y subrutinas. El esquemageneralparadirigirserviciosremotosenInter- net es a través de puertos numerados (IP). Sin embargo, estemecanismoesinadecuadoparaunaltogradodeesca- lamientodistribuido,porloquenecesitamosmecanismos mássofisticadosyrobustosparalaidentificaciónyubicación delosserviciosremotosquepermitanalosclientesacceder a los servicios de objetos remotos (más que por el bajo direccionamientodememoriaonúmerodepuertosIP). 7.6 Especificaciones e implementaciones CORBA El Object Management Group(OMG) se formó con el fin dedefinirlasnormasrequeridasparalossistemasdistribui- dos basados en objetos en ambientes heterogéneos. Así definenaunobjetocomo"unarepresentacióndelanatu- ralezaycomportamientodeconceptosocosasmundiales verdaderasentérminosquesonsignificativosaunproble- macomún". ElprincipalpropósitodeOMGradicaencrearestándares quesoportenlainteroperabilidadentreaplicacionesinde- pendientementedesarrolladasatravésderedesheterogé- neas, y su objetivo es la definición de la Arquitectura de GestióndeObjeto(OMA),quecomprendecuatroconjun- tosdenormas: 1. Common Object Request Broker Architecture (COR- BA)definelosserviciosqueseránproveídosporunORB ymantieneelmodelodistribuidodeobjetoqueincluye los mecanismos para hacer y recibir peticiones desde otrosobjetosenformatransparente. 2. CommonObjectServicesSpecificationsoncolecciones deserviciosconinterfacesdeobjetoqueproveefuncio- nesbásicasparausareimplementarlametodologíade objetos. 3.Common Facilitiessoncoleccionesdeserviciosorienta- das a usuarios finales, por ejemplo documentos com- puestos. 4. Application Objects son aplicaciones específicas basa- dasenobjetosparausuariosfinales.
  • 14. TEMAS16 E n s a y o s La interoperabilidad ORB es una de las direcciones de las especificacionesdeCORBA2.0.Variasfirmasestántraba- jandosobreproductosdecómputodistribuidocondiseño deobjetos,tomandocomobaselosORB.Loscomponen- tes ORB se implementan en varios productos comercial- mente disponibles, como el Object Broker de Digital o el DOEdeSUN.Enlaactualidadhaymuchosproductosde cómputodistribuidoorientadosaobjetosdisponiblesenel mercado. Dentrodelasimplementacionesmásimportantesyactua- les de objetos distribuidos están: OMG’s CORBA, Microsoft’s OLE/COM (DCOM), COSS, CF y BOMSIG; e IBM’s SOM/DSOM, Sun’s NEO y Java, Taligent’s Ambien- te de Desarrollo, IONAS Orbix, OCX, NeXT’s OpenStep y HP’s CORBA 2.0-compliant ORB. DCE DCE es el Ambiente de Cómputo Distribuido de laOpen SoftwareFoundationysediseñacomounmodelocliente/ servidorqueconstadecomponentesmúltiplesquesehan integradoparatrabajarestrechamentejuntos. DCE es conocido como el middleware y debería estar integradoenunsistemaoperativo,obiencomopartede libreríassoportadasporvariasfirmas. DCEesunainfraestructuraparaaplicacionesdistribuidas suplementariasenunambienteenterprisecliente/servidor; ademásesunafundaciónsólidaparaelcómputodeobje- tosdistribuidosyesunconjuntocomprensibleintegradoa unconjuntomodulardeproductosparaapoyartransparen- temente la interworking y recursos compartidos en siste- masheterogéneosdeambientesenred. DCEapoyaadostecnologíasorientadasaobjetos: 1. ProductosdeCORBA,basadosenDCE.CORBAesuna especificaciónparatecnologíasdistribuidasdeobjetosy proveeunaampliagamadeserviciosestándaresdein- terfaces.Delosproductosdisponiblesdebuenacalidad basados en la especificación CORBA, es probable que seleccionemosalgunaimplementacióndeunafirmaes- pecífica basada en CORBA a través de la organización de un ambiente DCE. 2. El Network OLE de Microsoft. Mientras Network OLE parece ser un buen ajuste técnico con DCE, es muy prontoparasabersiseadaptarábienanuestrosrequeri- mientos. DCEesunenfoquederivadodeldesarrollobasadoenob- jetos y constituye la base sobre la que se construye la tec- nología distribuida de objetos. Además apoya la encapsulaciónyelpolimorfismodedosdelastrescaracte- rísticasrequeridasparalaorientaciónaobjetos.Lapiedra angulardeDCERPCesellenguajededefinicióndeinter- face (IDL) que permite especificar y definir los atributos externosdeunconjuntodeoperacionesdeunservidor. Microsoft OLE/COM y ActiveX/DCOM El COM (DCOM) es el modelo subyacente de arquitectu- raparalaindustria,quedifundeampliamenteelOLE.Éste es un sistema extensible abierto que apoya tecnológica- mente el desarrollo para la creación de aplicaciones que puedan operar a través de otras aplicaciones, multiplata- formas, y sobre todo para desarrollarlas como una colec- ción de componentes que se instalan de manera independienteyquepuedancomunicarsemedianteinter- facesbasadasenelobjeto. Así, COM es la especificación mediante la cual se define elestándarbinarioparalaimplementacióndeobjetosque es independiente del lenguaje de programación, y OLE proveefuncionesdeinteroperabilidadusandoORPC(ob- jetos RPCs) que se extienden en la implementación de OLE Distribuido utilizando DCOM compatibles al DCE RPCs, aunque Microsoft no ha licenciado DCE desde el OSF.OLEproveelacomunicaciónentremódulosdecódi- gobinariobajounsistemaenejecución.Esteestándarha- bilitalacomunicaciónentredosaplicacionesmediantela interfacebasadaenobjetos.
  • 15. TEMAS 17 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . COM distribuido (DCOM) es un producto de COM y el término "distribuido" se refiere a que es capaz de ejecu- tar servidores y clientes en diferentes procesos a través deIntranetoInternet.PorestoDCOMtrabajacomoCOM, por ejemplo cuando un cliente solicita el registro donde el servidor se localiza y, en vez de indicar alguna locali- dad o registro de memoria sobre la máquina local, indica una dirección IP: 123.234.199.27. La diferencia básica entre COM y DCOM es que los procesos COM se eje- cutan en la misma máquina en diferentes espacios de dirección, y los procesos DCOM se extienden a través de una red. LastresespecificacionesprimariasparaOLEson: a) Documentos OLE son un tipo de documentos com- puestosquepuedenincorporarlosdatoscreadosencualquier aplicación OLE permitida o disponible. Mediante la vin- culación de objetos las aplicaciones pueden unirse a objetos de datos dentro de otras aplicaciones. La incrus- tacióndeobjetoseslacapacidadparavincularunobjeto dentro de otro documento sin mantener un nexo con el objeto fuente. b) Controles OLE se emplean para la creación y gestión decontrolespersonalizados.Estaespecificacióndescribe cómocrearomanipularcualquiertipodecontrolpersona- lizado en un modelo OLE. La arquitectura de controles OLEpermitetrabajarconaplicacionesenambientesmúl- tiples de desarrollo y a través de diferentes plataformas tanto de equipos como de sistemas operativos. c)LaautomatizaciónOLEseusaparaprogramaciónylen- guajes script. Esta especificación describe cómo crear un objeto o un "controlador" de automatización que pueda manejarobjetossegúnunscriptomensajesdealgúntipo. Porotrapartepermitealasaplicacionesexponerconjun- tos de procedimientos y datos que operen dentro de es- tasyatravésdeotrasaplicacionesparautilizarlosservicios suministradosporotrasaplicacioneshabilitadasconlatec- nología OLE; todo esto a través de objetos de automati- zación. ComponentesActiveXenaplicacionescliente/servidor DebidoaqueActiveXestábasadosobreobjetoscomparti- dos,suscomponentestienenintrínsecamentedefinidala relacióncliente/servidor,endondeelclientesolicitaobjetos y el servidor los provee. Sin embargo, la distinción entre clientesyservidoresesdifusa,porqueelmismocomponen- tepuedeserambos,yconfrecuenciaesalavezuncliente yunservidor.Porestopodemosreferirlostípicamentecomo "componentesActiveX"másquecomo"clientes"y"servido- resActiveX".Dentrodeunaejecucióndecontextodetermi- nada,esimportantelarelacióncliente/servidor. ElestándardeActiveXestádiseñadoparapermitirquelos clientessecomuniquenconotroscomponentessinimpor- tardóndeseejecutan;puedeserdentrodelmismoproce- soenlamismamáquina,oenunamáquinadiferente.Esto significaquehayunmodelosimpledeprogramaciónpara todoslostiposdecomponentesActiveX.Estoscomponen- tesenlarelacióncliente/servidorpuedenestarcontenidos enunacomputadora,oejecutarseendiferentescomputa- dorasconectadasporunared. UncomponenteActiveXsellamalocalcuandoseejecuta en la misma computadora, y remoto cuando se hace en unacomputadoradiferente.Uncomponenteesin-process o out-of-process respecto a su cliente; es in-process si se implementadinámicamentecomounalibreríadeenlace dinámico (archivo *.dll), y por lo tanto se ejecuta en el mismo espacio de proceso como un consumidor de sus objetos, y out-of-process si el componente es un archivo exe, que se ejecuta en un espacio con dirección propia. 7.7 Integración de DCE y OLE/COM LafamiliadetecnologíasOLEincluyeunagranvariedadde cosas, que van desde documentos compuestos hasta in- terfacesestándarparaaccederaunabasededatos.Todas lastecnologíasOLEsebasanenelmodeloCOM.Elproto- colo de objetos RPC está altamente vinculado con el pro- tocolo de red DCE RPC, y ocurre en ambos niveles, en el de especificación y en el de implementación.
  • 16. TEMAS18 E n s a y o s El DECE permite la integración de ambientes heterogé- neosparaorganizaryautomatizarelusodelatecnología middleware ocultandolacomplejidad,yaqueproveeuna capaprotectoraentrelosprogramasdeaplicaciónylatec- nologíasubyacentedelainfraestructura.DECEcontiene unconjuntodeherramientasparaautomatizarelusodel middleware y un conjunto de servicios en tiempo de eje- cuciónqueaumentalarobustezdesuambiente. DECE se basa en una arquitectura de componentes, que trata a cada elemento del sistema como un componente de software reutilizable o DC-objeto. Estos DC-objetos están encapsulados usando una sola y biendefinida interfaceabstractaqueinvolucraalusuario conloslenguajesyherramientasausarseenlaimplemen- tación. Los DC-objetos pueden fácilmente transportarse o du- plicarse dentro de diferentes plataformas, y ser reuti- lizados para operar en red, junto con una variedad de configuraciones flexibles de objetos. El DECE permite construir sistemas a gran escala de información utili- zando y ensamblando un conjunto de objetos pre-exis- tentes mediante una arquitectura de aplicación lógica 3-tiered. OLEnterprise y su arquitectura OLEnterpriseesunproductoDECEqueproveeunacceso dinámicoaobjetosOLEdistribuidosparaunaccesouniver- sal suministrando las herramientas y utililerías para la co- nección de las aplicaciones de escritorio con datos y serviciosqueresidenremotamenteenunambienteEnter- priseutilizandomecanismosOLE.Tambiénesunlenguaje yplataformaindependientedetecnologíasdeOLEdistri- buido,loquefacilitalaautomatizacióndeobjetossinnin- gunamodificaciónenelcódigo.AlutilizarelMicrosoftRPC OLEnterprise deinmediatoproveelapotenciaylosbene- ficiosdeOLE,permitiendoalasorganizacionesconstruiry visualizarsofisticadasaplicacionesbasadasenobjetoscon arquitecturamulti-tiered. Un procedimiento de llamada remota en red basada en COM (referido a ORPC) es equivalente a la llamada DCE (DCERPC).COMespecificaconvencionesyproveeservicios para definir y usar objetos, y al igual que CORBA, tiene una Interface de Lenguaje de Definición (IDL) para es- pecificar interfaces de objetos, incluyendo servicios que permiten las instancias y la comunicación con otros. Mi- crosoft usa DCE como base para la comunicación den- tro de ActiveX. La mayoría de las firmas han intentado usar DCE RPC como un ambiente específico de proto- colos dentro de la interoperabilidad de las especifica- cionesqueproveeCORBA.OLE(DCOM)haseleccionado DCERPCcomo su protocolo decomunicaciones,eideal- mente esto permitirá la interoperabilidad entre OLE y DCE. 7.8 Middleware Middleware se está usando como una manera de inter- cambiarlainformaciónpormediodecomponentesenam- bientesdistribuidos,porejemplosediseñaronparapermitir el acceso remoto a bases de datos. Así constituye la infra- estructurafundamentaldelacomputacióndistribuidaque tradicionalmentesehausadoenlosproyectosEnterprise punto-a-puntocliente/servidor.Sinembargoestedesarro- llodesdeelpuntodevistadelatecnologíadeinformación (IT), el enfoque del middleware es complicado, difícil de usarydemantener. Los problemas asociados con su uso están intrínseca- mente definidos con la manera como se emplee en la interacción de las aplicaciones. A fin de reducir el impacto de complejidad es necesario definir una ar- quitectura que las integre en componentes de apli- caciones distribuidas, y que además pueda apoyar todos los requerimientos de la computación distribuida, desde aplicaciones complejas de apoyo de decisión hasta robustos sistemas de aplicación de transacciones, y permita una fácil integración a cualquier sistema de Enterprise que opere en un ambiente de computacion distribuda (DECE-Distributed Enterprise Computing Environment).
  • 17. TEMAS 19 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . LaarquitecturaOLEnterprise proveeunaaltaposibilidad de crecimiento y los requerimientos de servicios son fáci- lesdemanteneryaqueseapoyanenlabaseDECEenuna multi-infraestructura. Estos servicios permiten la localiza- cion de procesos y datos, la moderación en forma balan- ceadadelacargadetrabajoenlosservidores,ladetección automática de las fallas en los servidores, la autorización deusuariosylaproteccióndedatos. OLEnterprise tiene tres componentes: el Explorador de Objetos (local y remoto), el Objeto Agente (servidor OLE de automatización) y el Controlador Remoto de Automatización OLE (Object Factory). ElObjetoAgente esunaaplicaciónin-process deservidor OLEdeautomatizaciónqueseejecutacomounaBibliote- ca de Enlace Dinámico (DLL) y se localiza en la máquina cliente,proveyendounaccesotransparenteydinámicoa cualquierobjetoOLEoRPC.Asílaaplicaciónclienteseve simplemente como cualquier otro servidor OLE de auto- matización,conlacapacidaddedevolverunobjetosolici- tado a un servidor remoto. Si el objeto remoto es OLE la solicitudesdevueltaalObjectFactory quevuelveaemitir la solicitud al sistema remoto; en cambio si el objeto re- motoesenterprise,lapeticiónseconviertedinámicamen- te en una llamada RPC solicitada por el Objeto Agente y devueltaalservidorapropiado. Un Objeto Agente se encuentra en la máquina cliente y tienelacapacidaddeinterpretaryprocesartransparente y dinámicamente cualquier solicitud de automatización OLEyconvertirlaenunallamadaRPCparadevolverlaacual- quierservidor.Enamboscasoslacomunicaciónsemaneja por el mecanismo RPC, que se llama RPC nativo (NRPC). CuandouncomponenteseejecutaenunaplataformaPC, NRPC usa el RPC de Microsoft. Si el objeto remoto es una automatizaciónOLE,lasolicitudesemitida alObjectFac- tory, lacualasuvezemiteunasolicituddeautomatización OLEalsistemaremoto.ElObjetoAgenteeselservidorde automatizaciónenlamáquinacliente,yelMicrosoftRPCes elmecanismodecomunicaciónparaOLERemotoquesirve comointerfaceentreelObjetoAgenteyel ObjectFactory. El Object Factory esuncontroladorOLEremoto(archivo *.EXE)quedistribuyelosserviciosdeautomatizaciónOLE (administradordesolicitudesremotasOLE)yseencuentra en el servidor que es responsable de procesar las solicitu- des, a través de instancias de objetos que se localizan en clientesremotos. El Explorador de Objetos tiene tres componentes prin- cipales: un visualizador para inspeccionar registros lo- cales o remotos; un mecanismo de exportación de objetos OLE, para seleccionar servidores de automati- zación para el acceso remoto, y un mecanismo de importación para registrar servidores OLE remotos de auto- matización local. En la plataforma del servidor se generará y registrará localmente el servidor de automa- tización OLE usando sus utilerías estándar. La referen- cia para invocar al servidor de automatización OLE es un programa identificado (ProgId) que se asocia a una clase identificada (CLSID), y ambos se crean cuando el servidor de automatización OLE se agrega a la base de datos de registros locales. 8. Implementación de DCS Eldiseñodeconfiguracionesseconsidera,ensíntesis,como elprincipalcontenidoyanálisisestructuraldelossistemas complejosdediferentenaturaleza[Yos87,SK95A].Losmo- delos y métodos descritos se aplicaron al desarrollo de la búsqueda de un prototipo DCS en Sistemas Flexibles de Manufactura(FMS)dediseñodeconfiguración. Un FMS se concibe como un diseño basado en objetos que tiene una estructura jerárquica con un conjunto de limitaciones relativas a diversos niveles de proyectos que los modelan [GK93]. La meta de la implementación del prototipo de búsqueda consiste en mostrar cómo los for- malismosymétodosmencionadospuedenusarseenODC conbaseenunenfoquedemulti-agentes.ElDCStambién comprendeelapoyoparalaespecificaciónderequerimien- tos, control de consistencia de los proyectos y el diseño concurrenteconcomponentespredefinidosdeunesque- maglobal.
  • 18. TEMAS20 E n s a y o s α D-agente β D-agente χ D-agente δ D-agente VDFZ α χ δ P-agente Z VDFS α β P-agente S Servicios del sistema distribuido de configuración envío de mensajes Petición Respuesta DB&KB DB&KB fragmento α β χ δ IG Negociación Enestetipodediseño,elDM-agenteseleccionaycaptura unfragmentodelproyecto.LosfragmentosenABCDpue- den ser virtualmente de cualquier complejidad, además puedenserparametrizados(paramétricamentediseñados), onoparametrizados(diseñadosdemaneraconceptual). ElusodefragmentosaprovechaladistribucióndelDM-pro- cesoenformaconcurrentesobreelproyectoquecomparte elespaciodeconocimiento,dondeelDM-agentetrabaja conunfragmentoincrustadoenelmodelodistribuidode proyectos.ElP-agenteeselcoordinadordeproyectosque sebasaenlacooperaciónycomparticióndecomponentes sobreelmecanismo3-tiered paraapoyarlainteracciónen- treDM-agenteyP-agenteconmúltiplesaspectosdeconfi- guraciónparaleladeproyectosysusvariantes. Un P-agente coordina todos los intercambios de datos e informaciónenlapartecapturadadelproyecto;modelay ejecuta concurrentemente el control de las propiedades de integridad y de consistencia más débil con base en el análisisdeVDF,ymodificademaneraconcurrentelaspar- tes del proyecto. El DCSsediseñaparacomplementaryextenderlascapa- cidades de muchas de las herramientas de desarrollo ac- tuales,sobretodoagregándoleslafuncionalidadrequerida paralasaplicacionesenterprise conunampliopanorama en la computación distribuida. Las interfaces del DCS no se escriben en las aplicaciones, pero pueden fácilmente mejorarse para aprovechar las tecnología ODC si tienen esadisponibilidad. La búsqueda del prototipo de DCS se ha estado desarro- llando para el SO Windows95, utilizando Borland C++ 5.0 ylatecnologíaOLEdeautomatización[Bro93].Estaúltima provee la estructura conceptual para crear, administrar y accedermediantemecanismosbasadosencomponentes de objetos. Además permite al DM-agente (OLE de clien- te)exponerunconjuntodeoperacionesqueelP-agente (OLEservidor)puedeinvocarosolicitar,yencadaopera- ción de actualización los P-agentes usan el VDF para el análisisdelaconsistencia. ElDM-agenteorganizaunabúsquedaquepartedelfrag- mento capturado que es análogo al mecanismo que se basasobremétricasdecaracterísticasdeseablesenloscom- ponentes. Los módulos de agente desarrollados en C++ ofrecen su funcionalidadpormediodealgunainterface.Laventajade usarlatecnologíaOLEconsisteenelmodelodemúltiples hilos de control sobre el nivel de eventos, ya que los hilos son capaces de compartir datos comunes dentro de una plataformadeterminada.Nosotrosusamosla sincroniza- ción de hilos a fin de permitir la implementación del con- trolconcurrente. Figura 2. Modelo de la arquitectura DCS La representación de mensaje en C++ tiene un API que ocultatodoslosdetallesasociadosconlacomunicaciónde redparaelusuario,yseusaparaapoyarlainteroperación entreaplicacionesqueseejecutanenWindows(UNIXen versiónpróxima).
  • 19. TEMAS 21 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . Las acciones de los DM-agentes se llevan a cabo a tra- vés de mensajes KQML que incluyen restricciones de propiedades de objetos y otras definiciones primarias de usuario. Un mensaje es una expresión KQML en donde los argumentos son términos o sentencias KIF [Gen92]. Estos mensajes se encuentran en una lista de compo- nentesagrupadosentreparéntesisdondelaprimerapalabra indica el tipo de mensaje. KQML soporta lo que noso- tros podemos obtener de una metodología que permi- ta la especificación, diseño e implementación del software cooperativo. En otras palabras, es una metodología que permite construir modelos para el software cooperati- vo que trabaje en un ambiente distribuido y de manera asíncrona. El mensaje toma las expresiones KQML que se pro- cesan como eventos semánticos (llamada a un servi- dor OLE). Un P-agente se utiliza para combinar datos y operaciones que se transforman en eventos; pos- teriormente el P-agente convierte la estructura de eventos a estructuras de datos que son aceptados por servi- dores OLE. La especificación del objeto interface es similar al IDL (DCOM basado en OLE [DCOM96]), por lo que un DCS provee un número de servicios ODC, que permite a los clientes encontrar una referencia al P-agente en el tiempo de ejecución. Esto reduce la complejidad de im- plementación del cliente y le da flexibilidad. El admi- nistrador de objetos distribuidos (DCOM basado en OLE) provee transparencia de localización para las conexio- nes de DM y P-agentes. Los componentes de agentes OLE proveen una interface basada en mensajes que son independientes de estructuras de datos internos y al- goritmos. El P-agente (servidor OLE) toma las expresiones KQML y las transforma en eventos semánticos. El mecanismo de sincronizaciónseusaparacombinaroperaciones yestruc- turasdedatosconestructurasGTaceptadasoválidaspara las operacionesGT. Elprocesodeoperacióndel OLEnter- prise es como se indica a continuación: En la máquina cliente: • Elexploradordeobjetosseconectaalamáquinaremotae importalainformacióndelregistrodelservidordeauto- matizaciónOLE. • ElcontroladordeautomatizaciónOLEcreaunobjetoOLE enelmomentodelaejecución. • EnelmomentodelaejecuciónOLElocalizaelservidorde automatizaciónusandoelProglddelobjeto(queseen- cuentraenCLSID). • Elobjetoagenteusaelregistrolocalparaencontrarelco- rrespondienteObjectFactory. Enlamáquinaservidor: • Elexploradordeobjetosexportaelservidordeautomati- zaciónOLEenelregistro. • El Object Factory recibe la solicitud y usa su CLSID al ejecutarelservidordeautomatizaciónOLEremotoenel momentodeejecucióndelMicrosoftOLE. AhoraelP-agenteyelDM-agentepuedenprocesarinvoca- ciones de métodos mediante el objeto agente del Object Factory. Hay un API para las representaciones de notificaciones y mensajes en C++, que oculta todos los detalles aso- ciados con la comunicación de red repecto al usuario. El API se usa para apoyar la interoperación entre aplica- ciones que son ejecutables en Windows (y en UNIX en versión próxima). Los primeros resultados son prometedores. Un pro- yecto colaborativo de tecnologías de configuración, como parte de la ingeniería concurrente fundamen- tada, llega a tener una mayor perspectiva en la toma de decisiones descentralizadas y distribuidas sobre di- ferentes dominios de problemas. Nosotros usaremos esta metodología y las experiencias que obtengamos con el fin de emplear el mejor enfoque en este de- sarrollo.
  • 20. TEMAS22 E n s a y o s [Arb96]"TheIWIMModelforCoordinationofConcurrent Activities", FirstInt.Con.OnCoordinationModels,Lan- guagesandApplications,Italy,15-17April,1996,LNCS, 1062,Springer,pp.34-56. [AI88] ASIRELLI, P.; INVERARDI,P.;MUSTARO,A. "ImprovingInte- grity Constraint Checking in Deductive Data Bases", ISDT’88, Ed. M. Gyssens, LNCS, N. 326, 1988. [BF85] BOEHM, P.; FONIO, H. R., HABEL, A. "Amalgamation of GraphTransformationswithApplicationstoSynchroni- zation", MathematicalFoundationsofSoftwareDeve- lopment, LNCS, V. 1, N. 185, 1985. [Bro93] BROCKSCHMIDT, K. "Inside OLE", Microsoft Press, 1993. [Csu93]CSUHAJ-VARJÚ,E."OnGrammarswithLocalandGlo- bal Context Conditions", Int. J. Computer Math., 47, 17-27, 1993. [Cut93] CUTKOSKY, M. R.; ENGELMORE, R. S.; FIKES, et al. "PACT: AnExperimentinIntegratingConcurrentEngineering Systems", IEEE Computer, 1993, 26(1):28-37. [DCOM96]"DistributedComponentObjectModelProto- col DCOM/1.0", Network Working Group, Internet- Draft, 1996. [EBH88] EHRIG, H.; BOEHM, P.; HUMBMMERT, U; LOWE, M. "Dis- tributed Parallelism of Graph Transformation", LNCS, 314, pp. 1 -19, Berlin, 1988. [Ehr90]EHRIG,H.;MAHR,B. "FundamentalofAlgebraicSpe- cification:ModuleSpecificationandConstraints,V.21 ofEATCS",MonographsofTheoreticalComputerScien- ce,Springer,1990. [Ehr93] EHRIG, H.; Lowe, M. "Parallel and Distributed Deri- vationinSinglePushoutApproach",TCS,109:123-143, 1993. [Fin95] FININ, T.; FRITZSON, R.; MCKAY, D.; MCENTIRE. "KQML asanAgentCommunicationLanguage", Proc. of 3th Int.Conf.onInformationandKnowledgeManagement, ACM Press, 1994. [Gen92] GENESERETH, M. R.; FIKES, R. E. et al. "Knowledge InterchangeFormat,Version3.0ReferenceManual,Te- chnicalReportLogic-92-1",StanfordUniversity,1992. [Gen94] GENESERETH, M. R.; and KETCHPEL, S. P. "Software Agents", Communications of the ACM, 37(7):48-53, 1994. [GG87]"Graph-GrammarsandTheirApplicationtoCom- puter Science", Ed. H. Ehrig, Springer-Verlag, Berlin, LNCS, N. 291, 1987. [Gym91] GYMTRASIEWICZ, P. J.; DURFEE, E. H.; WEHE, D. K. "A Decision-TheoreticApproachtoCoordinationingMulti- agent Interactions", Proc. of the Twelfth Int. Con. on AI, Sidney, Australia, 1991, pp. 62-68. [GK93] GUSIKHIN, O. Y.; KOULINITCH, A. S. "Animated AI-ba- sed Simulation in Production Scheduling: Case Study. IFIP Transactions", B-11, KNOWHSEM’93, Inter. KnowledgeBasedHybridSysteminEngineeringManu- facturingWorkingCon.onHungary,IFIP,North-Holland, 1993. [GT94] GAVRILA, I. S.; TREUR, J. A. "A Formal Model for DynamicsofCompositionalReasoningSystems",Proc. 11th Eur. Con for the on AI, EC AI-94, Wiley & Sons, pp. 307-311. [Jen95] JENNINGS, N. R. "Controlling Cooperative Problem Solving in Industrial Multi-Agent Systems Using Joint Intentions", AI, 75(2), pp. 195- 240, 1995. [Kle91]KLEIN,M."SupportingConflictResolutioninCoope- rative Design Systems", IEEE Transactions on System, Man, Cybernetics, 21(5):1379-1390, 1991. [Kou93] KOULINITCH, A.S. "IntegritySupportforConcurren- cyDecisionMakinginDesign",Int.Con.onCAD/CAM, Robotics and Factories of the Future., St. Petersburg, 1993, pp. 243-251. [Low93] LOWE, M.; KORFF, M.; WAGNER, A. "An Algebraic Framework for the Transformation of Attributed Gra- phs",TermGraphRewriting:TheoryandPractice, Chap- ter 14, pp. 185-199, 1993. Referencias
  • 21. TEMAS 23 A r q u i t e c t u r a b a s a d a e n o b j e t o s d e . . . [Mac77] MACKWORTH, A. K. "Consistency in Networks of Relations", Artificial Intelligence, 1977, N. 8. [Poi85]POIGNE,A."ElementsofCategoricalReasoning:Pre- dicates and Coproducts (Colimits)", Category Theory andComputerProgramming,Ed.D.Pitt,LNCS, N.240, 1985. [Rot91] ROTH, S.; SADEH, N.; SYCARA, S.; FOX, M. "Distribu- tedConstraintHeuristicSearch", IEEETransactionson System, Man, Cybernetics, 21(5): 1446-1461, 1991. [Ser91] SERRANO, D. "Constraint-BasedConcurrentDesign. SystemsAutomation:Research&Applications",1991, N. 3, V. 1, pp. 217-230. [SK95a] SMIRNOV, A. V.; KOULINITCH, A. S.; SHEREMETOV, L. B. "Knowledge-BasedConfigurationDesignofElectronic Devices:ACaseStudy",WorkshoponDesignMethodo- logiesforMicroelectronics,Austria,Sept.,11-15,1995. [SK95c] SMIRNOV, A. V.; KOULINITCH, A. S.; SHEREMETOV, L. B.; ROMANOV, G. V.; TURBIN, P. A. "DESO: A Constraint-Ba- sedEnvironmentPrototypeforCooperativeDesignof FMS", Proc. of the III IASTED Inter. Conf., Cancún, México, June, 14-16, Anaheim-Zurich, 1995, pp. 384- 387. [Tae95]TAENTZER,G. "TowardsSynchronousandAsynchro- nousGraphTransformation",Special Issue of Founda- mentaInformaticae,1995. [Tan92] TANENBAUM, A.; KAASHOUEK, F.; BAL, H. "Parallel ProgrammingUsingSharedObjectsandBroadcasting", IEEE Computer, 25 (8), 1992, pp.10-19. [Wie92] WIEDERHOLD, G. "Mediators in the Architecture of Future Information Systems",IEEE Computer,5(3):38- 49, 1992. [Wo94] WOOLDRIDGE, M.; JENNINGS, N. R. "Formalizing the CooperativeProblemSolvingProcess",Proceedingsof the 13th Inter. Workshop on Distributed Artificial Inte- lligence (IWDAI-94), Lake Quinalt, WA., 1994, pp. 403-417. [Yos87] YOSHIKAWA, H. "General Design Theory and Artifi- cial Intelligence", Artificial Intelligence in Manufactu- ring, Elsevier Science Publishers (Nort-Holland), Amsterdam,1987,pp.35-61 T