-
Revista Alghoritmic ISSN 2220-3982 Pag 1
Revista Alghoritmic ISSN 2220-3982 Pag 1
Revista de Investigacin
ALGHORITMIC
Vol. 1 N 1 ISSN 2220-3982 versin impresa
Lima-Per 2010
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Decana de Amrica
Facultad de Ingeniera de Sistemas e Informtica
INSTITUTO DE INVESTIGACION
-
Revista Alghoritmic ISSN 2220-3982 Pag 2
2
Presentacin
El Instituto de Investigaciones de la Facultad de Ingeniera de
Sistemas e Informtica de la
Universidad Nacional Mayor de San Marcos, Lima Per, tiene como
actividad principal la
investigacin cientfica en las reas de Ingeniera de Sistemas,
Ingeniera de software,
Computacin e Informtica. El Instituto pretende ser un medio para
difundir e integrar las
disciplinas de las tecnologas de la informacin en el debate
acadmico de nuestro tiempo.
La Revista Alghoritmic es una publicacin cientfica editada por
el Instituto de
Investigaciones de Ingeniera de sistemas e Informtica, tiene una
periodicidad semestral,
se publica tanto en su versin impresa como digital; recibe
artculos originales e inditos
en los temas de relacionados con el campo de la Ingeniera de
Sistemas, Ingeniera de
Software, Ciencias de la Computacin e Informtica. El propsito
principal es contribuir al
esfuerzo que despliega la Facultad de Ingeniera de Sistemas.
Para ello, el Instituto aspira a
recoger las mltiples perspectivas tericas y empricas del
conocimiento cientfico y
difundirlas en la Revista Alghoritmic.
El Comit editorial de la Revista Alghoritmic, expresa su
satisfaccin y agradecimiento a
cada uno de los responsables de los artculos, quienes muestran
algunos resultados de los
trabajos de investigacin que vienen desarrollando en nuestra
facultad.
Agradecemos al Vicerrectorado de Investigacin, al Consejo
Superior de Investigaciones, y
a la Facultad de Ingeniera de Sistemas por el apoyo econmico y
financiero para la
publicacin de la revista, as como a los docentes e
investigadores, quienes conjugando
docencia e investigacin comprenden a cabalidad la labor de una
Facultad que forme
profesionales de calidad, aportando sus conocimientos y
experiencia volcados en sendos
textos que presentamos en las siguientes paginas. Podemos
apreciar que existe un esfuerzo
importante por parte de los propios docentes de la Facultad y de
la Universidad por aportar
en la generacin de nuevas ideas y conocimientos que enriquezcan
nuestro amor por la
investigacin, y que generen a su vez nuevos conocimientos,
integrndolos a sus procesos
formativos, que puedan ser transmitidos a los alumnos y ex
alumnos de nuestra querida
Alma Mater.
Editor Responsable
-
Revista Alghoritmic ISSN 2220-3982 Pag 3
3
Universidad Nacional Mayor De San Marcos
Facultad de Ingeniera de Sistemas e Informtica
Instituto de Investigacin de Ingeniera de Sistemas e
Informtica
Rector Dr. Luis Izquierdo Vsquez
Vicerrector Acadmico Dr. Victor Pea Rodriguez
Vicerrector de Investigacin Dra. Aurora Marrou Roldn
Consejo Superior de Investigaciones Dr. Armando Yarleque
Chocas
Facultad de Ingeniera de Sistemas e Informtica
Decano Mg.Carlos Navarro Depaz
Instituto de Investigacin de Ingeniera de Sistemas e
Informtica
Director Mg. Augusto Cortez Vsquez
Comit Editorial Mg. Augusto Cortez Vsquez
Editor responsable
Dr Renato Benazic Tome
La revista Alghoritmic cuenta con el auspicio de la Facultad de
Ingeniera de Sistemas Informtica, el
Vicerrectorado de Investigacin y el Consejo Superior de
Investigaciones
Instituto de Investigaciones
Facultad de Ingeniera de Sistemas e Informtica
Pabelln de la Facultad de Ingeniera de Sistemas e Informtica
Ciudad Universitaria. Av. Venezuela cuadra 34 Lima 1 Per
Revista de Investigacin Alghoritmic
Vol. 1 N 1 2010 ISSN 2220-3982 versin impresa
Lima-Per
E mail: [email protected]
Home Page http://www.sistemas.unmsm.edu.pe
Telefono 6197000-3604
Cartula Facultad de Ingeniera de Sistemas e Informtica UNMSM
Lima Per
Los puntos de vista expresados por los autores son de estricta
responsabilidad de ellos y no necesariamente
reflejan la opinin del Editor ni del Comit Editorial; por lo
tanto, no se asume responsabilidad por el contenido
de cada artculo.
-
Revista Alghoritmic ISSN 2220-3982 Pag 4
4
Revista de Investigacin Alghoritmic
Vol. 1 N 1 ISSN 2220-3982 Agosto- Diciembre 2010
Lima-Per
INDICE
Presentacin
1. Ingeniera dirigida por Modelos 7
Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,
2. Modelamiento matemtico de un servidor de correo electrnico 21
Flix Armando Fermn Prez
3. Sistemas de Razonamiento basado en Reglas para determinar
recomendacin 28
de ciruga refractiva
Augusto Cortez Vasquez, Virginia Vera Pomalaza
4. Sistema de Multiagentes para Implementacin de Sistema
Generacin de 37 Horarios
Gilberto Salinas Azaa
5. Servicios web utilizando ASP 45 Santiago Moquillaza Henrquez,
Percy de la Cruz Velez de Villa,
Hugo Vega Huerta
6. Base de datos distribuidos usando algoritmos genticos para
optimizacin de 56
proceso de transaccin en la web
Luzmila Pr Concepcin
Programas y Lneas de Investigacin 76
Instructivos para la presentacin de artculos 77
-
Revista Alghoritmic ISSN 2220-3982 Pag 5
5
Revista de Investigacin Alghoritmic
Vol. 1 N 1 ISSN 2220-3982 versin impresa January - July 2010
ISSN Electronic version Lima-Per
INDEX
Presentation
1. Model Driven Engineering 7
Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,
2. Mathematical modeling of a mail server 21 Flix Armando Fermn
Prez
3. Rules-based reasoning systems for refractive surgery is
recommended 28 Augusto Cortez Vasquez, Virginia Vera Pomalaza
4. Multiagent System for Generating System Implementation
Schedule 37 Gilberto Salinas Azaa
5. Web services using ASP 45
Santiago Moquillaza Henrquez, Percy de la Cruz Velez de
Villa,
Hugo Vega Huerta,
6. Distributed database optimization using genetic algorithms
for transaction 56 processing on the web Luzmila Pr Concepcin
Instructions for submission of articles 77
-
Revista Alghoritmic ISSN 2220-3982 Pag 6
6
Ingeniera dirigida por Modelos
Model Driven Engineering
Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,
Universidad Nacional Mayor de San Marcos
Facultad de Ingenieria de Sistemas e Informatica
[email protected], [email protected],
RESUMEN
La Ingeniera dirigida por modelos(IDM), un nuevo paradigma en el
proceso de desarrollo de
software, viene ganando terreno en el ambiente del desarrollo de
software, por los que se hace necesario
tener claridad sobre sus conceptos fundamentales, tal como poner
como centro del proceso de desarrollo
de software a los modelos, la necesidad de tener un lenguaje de
dominio especifico para modelar los
dominios, producir con esto modelos productivos, que puedan ser
transformados en diversos artefactos,
y que el mantenimiento de estos artefactos no produzcan el
desfase de los modelos.
Palabras claves Modelo, Meta Modelo, Dominio Especifico,
Lenguaje de domino especifico, Transformacin.
ABSTRACT
The Engineering headed by models(WDR), a new paradigm in the
process of development of software,
Is gaining ground in the environment of software development,
which makes necessary to have clarity
on their fundamental concepts, such as put as a center of the
process of development of software to the
models, The need to take a language of domain specific to shape
the domains, produce with this
production patterns, which can be processed into various
artifacts, and that the maintenance of these
devices do not produce the gap of the models.
Key Words
Model, Meta Model, Domain Specific Language of domino specific,
processing.
-
Revista Alghoritmic ISSN 2220-3982 Pag 7
7
1 INTRODUCCION La mayora del Software en la actualidad aun se
sigue desarrollando de manera artesanal. Aun es poco
la cantidad de software que se realiza siguiendo un modelo
especfico.
Los modelos recorren todo el ciclo de vida del software, sin
embargo en la mayora de los casos, los
modelos solo sirven para un propsito especfico, despus de cual
quedan obsoletos.
Una vez elaborado el cdigo de un Sistema Informtico, este cdigo
es sometido a un proceso de
mantenimiento continuo. Los modelos que sirvieron en las
distintas fases del ciclo de vida del
software, para la elaboracin del Sistema, quedan obsoletos y ya
no reflejan la realidad cambiante del
Software.
UML es de inters en todo el mundo y se ha tomado como un estndar
de hecho para la realizacin de
modelos por lo que se vincula a un modelo con un diagrama UML,
el cual sirve para esbozar una parte
del software. Una vez generado el cdigo estos modelos pasan al
olvido.
La Ingeniera Dirigida por Modelos (IDM) se plantea poner en el
corazn del proceso de la elaboracin
del software a los Modelo. Esto supone manejar los Modelos de
una manera informtica, es decir los
modelos deben estar rigurosamente definidos, para poder realizar
la transformacin de estos modelos.
IDM parte de considerar que el Software no es solo el cdigo, por
lo que plantea que los modelos
siempre deben reflejar la situacin actual del software, por lo
que cualquier actualizacin del cdigo
debe tambin reflejarse en la actualizacin de los modelos.
MDA (Model Driven Architecture) es una propuesta de la OMG, es
una implementacin posible de
IDM, pero el MDA tiene limitaciones como estar basado en UML y
MOF ((Facilidad de Meta
Objeto) y los estndares de OMG. IDM pretende sobrepasar los
marcos del MDA
Durante aos existi una relativa estabilidad de los sistemas, en
la actualidad ya no es as, por razones
econmicas y comerciales los sistemas evolucionan rpidamente y
cuando esto sucede el impacto
sobre el software es cada vez mas importante.
En la actualidad los sistemas son cada vez ms complejos, esta
complejidad de los sistemas se trata de
modelizar usando un solo lenguaje estndar, el UML, por ser este
un consenso de facto, pero es
bastante difcil que este lenguaje puede servir para modelizar
toda la complejidad del software.
En muchas casos para las especificacin de un sistema se recurre
al lenguaje natural el cual es de por si
ambiguo y tiene una falta de precisin. Para expresar un buen
nivel de abstraccin se debe recurrir a
lenguajes ms formales que nos ayuden a describir los diversos
modelos en el ciclo de vida del
desarrollo del software, como Lenguaje de descripcin de
Arquitectura (ADL), Lenguajes de Dominio
especfico (DSL)
La IDM al poner los modelos como el centro del desarrollo de
Sistemas de Informacin, se plantea el
problema de encontrar lenguajes de modelizacin que tengan la
suficiente semntica para expresar de
manera formal niveles altos de abstraccin en cada etapa del
proceso del Ciclo de vida del desarrollo
de un Sistema de Informacin.
Es de suma importancia para los Analistas de Sistemas, poder
elaborar modelos bien definidos, para
los cual deben contar con lenguajes de modelizacin formales que
les permita realizar un alto nivel de
abstraccin
Para lo cual se debe utilizar Lenguajes de domino especficos
para realizar Modelos de Dominio
Especifico, que permita un alto nivel de abstraccin y modelos
productivos bien definidos. En lugar de
usar un modelo general como el UML.
-
Revista Alghoritmic ISSN 2220-3982 Pag 8
8
2 REVISION GENERAL
IDM es un reciente paradigma donde el cdigo no es considerado el
centro del software. El
cdigo es un elemento, un modelo producido por la fusin del
modelamiento de diferentes
elementos. Minsky M. define que "Para un observador B, un objeto
M* es un modelo de
un objeto M en la medida en que B puede utilizar M* para
responder a las preguntas que
le interesen acerca de M. Esta definicin muestra que un modelo
es un objeto destinado a representar un particular comportamiento,
dependiendo de un particular contexto. En el
contexto del IDM, modelos interesantes son aquellos que pueden
ser formalizados para
hacerlos productivos. Algunos autores integran esta limitacin en
la definicin de modelo:
Un modelo es una descripcin de (parte de) un sistema descrito en
un bien definido
lenguaje. En IDM, cada lenguaje es descrito por un meta modelo.
Un Meta Modelo es una
modelo de especificacin que define el lenguaje para expresar un
modelo. De esta manera
un meta modelo permite a los diseadores especificar su propio
lenguaje de dominio
especifico. Modelos y Meta Modelos son los principales conceptos
de IDM
Ingeniera Dirigida Por Modelos IDM El Enfoque de la Ingeniera
Dirigida por Modelos (IDM) ha sido propuesto en el dominio de
la ingeniera de software con el fin de proveer tcnicas y
herramientas para tratar con los
modelos de una forma automtica. El punto de vista de IDM esta
basado en modelos, meta
modelos, transformacin de modelos y tejido de modelos y apuntan
a producir modelos
productivos por ejemplo modelos concentrados e su poder
generativo. Considerando esos dos
dominios y la interaccin hombre maquina en IDM, la meta es
entender las necesidades de
diseo de la interaccin hombre maquina (HCI) para estudiar como
las herramientas IDM
pueden soportar las necesidades de HCI. El propsito del estudio
de las herramientas IDM en
consideracin a la gestin del modelo HCI
El objetivo de la gestin de los modelos es proveer tcnicas y
herramientas para relacionar los
modelos de una forma ms automtica. Ello ha estado siendo
estudiado por aos por varias
comunidades de investigadores, en el contexto de bases de datos,
gestin de documentos e
ingeniera de software. En estos das un enfoque federativo
emerge: Ingeniera Dirigida por
Modelos IDM. En los orgenes del movimiento, el Grupo de Gestin
de Objetos propuso la
Arquitectura dirigida por modelos paran tecnologas orientadas a
objetos. Pero esta dependa
de una tecnologa y la ausencia de claridad en la definicin de
los conceptos llevo a un punto
de vista ms general, IDM. En IDM, cualquier tipo de modelo puede
ser tomado dentro de una
versin. As IDM esta difundindose rpidamente, en particular en el
dominio HCI como
puede ser visto por el recurrente taller Model Driven
Development of Advanced User Interfaces una de las mayores
conferencias acerca de IDM [3] En las cinco dcadas pasadas, los
investigadores de software y los desarrolladores han estado
creando abstracciones que los ayudan a programar en trminos de
sus de diseos propuestos,
envs de en trminos del ambiente de computacin subyacente por
ejemplo, CPU, Memoria, y aparatos de red- y escudarlos de las
complejidades de estos ambientes de computacin.
Desde los primeros das de la computacin, estas abstracciones
incluan lenguajes y
tecnologas de plataforma. Por ejemplo, los primeros lenguajes de
programacin, como
Assembler y Fortran, escudaban a los desarrolladores de las
complejidades de la programacin
con cdigo de maquina. De la misma forma, las primera plataformas
de sistemas operativos,
como OS/360 y Unix, escudaban a los desarrolladores de las
complejidades de programar
directamente en hardware.
-
Revista Alghoritmic ISSN 2220-3982 Pag 9
9
Aunque estos primeros lenguajes y plataformas elevaron el nivel
de abstraccin, aun tenan
un claro enfoque Orientado a la computacin. En particular, ellos
provean abstracciones del espacio de solucin esto es, el dominio de
tecnologas de computacin- envs de las abstracciones del espacio del
problema que expresan diseos en trminos de conceptos en
dominios de la aplicacin, como por ejemplo telecomunicaciones,
cuidado de la salud, y
biologa
Ingeniera de Software Apoyada por Computadoras Un esfuerzo muy
importante que comenz en los 80s fue la Ingeniera de Software
apoyada
por computadoras (CASE), el cual se enfocaba en desarrollar
mtodos de software y
herramientas que permitiera a los desarrolladores expresar sus
diseos en trminos de
representaciones graficas de programacin de propsito general,
como maquinas de estado,
diagramas de estructura, y diagramas de flujo de datos. Una meta
del CASE fue permitir un
anlisis mas exhaustivo de programa grficos que acarrean menos
complejidad que los
lenguajes convencionales de propsito general; por ejemplo,
mediante el evitamiento de
corrupciones y fugas asociados con lenguajes como C. Otra meta
fue sintetizar artefactos de
implementacin desde representaciones graficas para reducir el
esfuerzo de la codificacin
manual, correccin de errores y transporte de programas. [2]
Aunque CASE atrajo considerable atencin en la literatura de
investigacin, no fue
adoptada ampliamente en la prctica. Un problema que enfrento fue
que las
representaciones del lenguaje grafico de propsito general para
escribir programas en
herramientas CASE se mapeaban pobremente sobre las plataformas
subyacentes, las cuales
eran en su mayora sistemas operativos de un solo nodo como DOS
OS/2 o Windows- que no tienen el soporte para propiedades
importantes de calidad de servicio (QoS), como
son la distribucin transparente, tolerancia de fallos y
seguridad
Otro problema con CASE fue su inhabilidad para escalar con el
propsito de manejar
sistemas complejos y ha escala productiva en un amplio rango de
dominios de aplicacin.
En general, las herramientas CASE no soportaban la ingeniera
concurrente, as que se
limitaron a programas escritos por una solo persona o por un
equipo que se serializaba sus
accesos a archivos usados por esta herramientas. Las
herramientas CASE apuntaron a
ambientes de ejecucin propietario, lo cual hizo difcil integrar
el cdigo que ellos
generaban con otro lenguaje de software y tecnologas de
plataforma. Como resultado,
CASE tubo un impacto relativamente pequeo en el desarrollo del
software comercial
durante los 80s y 90s.
Plataforma Actual y Limitaciones del Lenguaje Avances en
lenguajes y plataformas en las dos dcadas pasadas han aumentado el
nivel de
abstracciones de software, disponibles para los desarrolladores,
y por lo tanto aliviando un
impedimento a los primeros esfuerzos CASE. Por ejemplo, los
desarrolladores hoy usan
tpicamente lenguajes orientados a objetos mas expresivos, como
C++, Java, C#, envs de
Fortran o C. de la misma forma las libreras de clases
reutilizables de hoy en da y las
plataformas de entorno de aplicacin minimizan la necesidad de
reinventar servicios de
Middelware comn y de dominio especifico, como las transacciones,
descubrimiento,
tolerancia de fallos, notificacin de eventos, seguridad y manejo
de recursos distribuidos.
Debido a la maduracin de lenguajes de tercera generacin y
plataformas reutilizables, los
desarrolladores de software estn ahora mejor equipados para
escudarse de las
complejidades asociadas con la creacin de aplicaciones usando
tecnologas pasadas.
-
Revista Alghoritmic ISSN 2220-3982 Pag 10
10
A pesar de estos avances, algunos problemas irritantes se
mantienen. En el corazn de estos
problemas esta el crecimiento de complejidad de plataformas, el
cual ha evolucionado mas
rpido que la habilidad de los lenguajes de propsito general para
enmascararla. Un
problema relacionado es que la mayora de cdigo de aplicacin y
plataforma todava es
escrito y mantenido manualmente usando lenguajes de tercera
generacin lo cual conlleva
excesivo tiempo y trabajo, particularmente para actividades
claves relacionadas a la
integracin, como son el despliegue del sistema, configuracin y
aseguramiento de la
calidad.
Incluso usando nuevas notaciones, como los descriptores de
despliegue basados en XML los
cuales son populares con plataformas de componentes y
plataformas de Middleware de
arquitectura orientada a objetos, esta muy cargado de
complejidad. Mucha de esta complejidad
surge de la separacin semntica entre el propsito de diseo por
ejemplo, desplegar componentes 1-50 sobre los nodos A-G y los
componentes 51-100 sobre los nodos H-N en
concordancia con los requerimientos de recursos de sistema y
disponibilidad - y la expresin de este propsito en miles de lneas
de XML codificado a mano cuya sintaxis visualmente
densa no expresa ni la semntica de dominio ni el propsito de
diseo. [2]
Un enfoque promisorio para solucionar la complejidad de
plataforma y la inhabilidad de los lenguajes de tercera generacin
de aliviar esta complejidad y expresar conceptos de dominio
de manera efectiva es desarrollar las tecnologas de la ingeniera
dirigida por modelos que combina lo siguiente:
Lenguajes de Modelamiento de Dominio Especfico (DSMLs) cuyo tipo
de sistema
formaliza la estructura de la aplicacin, el comportamiento y los
requerimientos dentro de un
particular dominio, tal como servicios financieros en lnea,
gestin de almacenes, o incluso
dominio de plataforma Middleware. Los DSMLs son descritos usando
metamodelos, que
definen las relaciones entre los conceptos en un dominio y
especifican precisamente la clave
semntica y las restricciones asociadas con esos conceptos del
dominio. Los desarrolladores
usan DSMLs para construir aplicaciones usando elementos tipo del
sistema capturado por el
metamodelo y expresar la intencin de diseo declarativa y no
imperativa.
Motores de transformacin y Generadores que analiza ciertos
aspectos de los modelos y
entonces sintetiza varios tipos de artefactos, tales como cdigo
fuente, inputs de
simulacin, descripciones de despliegue XML, o representacin de
modelos alternativos.
La habilidad para sintetizar artefactos desde modelos ayuda a
asegurar la consistencia entre
la implementacin de la aplicacin y el anlisis de la informacin
asociada con
requerimientos funcionales y QoS, capturados por los modelos
En la actualidad el esfuerzo de investigacin en las herramientas
IDM estn enfocadas en
varios asuntos, uno de ellos es la necesidad de crear lenguajes
que ayuden a reducir la
complejidad del desarrollo y uso de las modernas plataformas.
Existen muchos DSMLs que
simplifican y automatizan las actividades relacionadas con el
desarrollo, optimacin,
despliegue, y verificacin de componentes distribuidos en tiempo
real y sistemas empotrados.
Otro asunto son los IDM Framework que usan tipos extendidos de
sistemas para capturar
software basado en componentes, arquitectura de lnea de
productos y organizar esas
arquitecturas en una jerarqua para transformar modelos
independientes de la plataforma
(PIM) a modelos de plataforma especifica (PSM)
Como las herramientas IDM atraviesan la brecha de los primeros
adoptantes de desarrollo
de software, una clave del reto es definir estndares tiles que
habiliten herramientas y
modelos para trabajar juntos portabilidad y eficacia. Para eso
se evala los pros y contra de
-
Revista Alghoritmic ISSN 2220-3982 Pag 11
11
UML 2.0 en trminos del soporte a IDM. Un ejemplo sobre
estandarizacin es el open
Tools Integration Framework, un metamodelo basado en un enfoque
para herramientas de
integracin IDM que define componentes de arquitectura y
protocolos de interaccin para
la formacin de cadena de herramientas de diseo integradas. Otro
estndar, tal como
Query/Views/Transformation y el MetaObject Facility empiezan a
definirse como parte del
estndar OMG para la Arquitectura Dirigida por Modelos basado en
UML, puede tambin
ser til como la base para herramientas IDM de dominio
especifico
Los estndares, por si solo, sin embargo son insuficientes sin
una slida infraestructura de
soporte para el desarrollo y evolucin de las herramientas de
IDM. Por lo cual existen varias
herramientas IDM, tales como Eclipse de IBM, y el Generic
Modeling Environment del
Institute for Software Integrate Systems.
Muchas herramientas emergentes de IDM que vern la luz en futuro
son el Eclipse Graphical
Modeling Framework, el DSL Toolkit en Visual Studio Team System
de Microsoft, y
openArqchitectureWare disponible de SourceForge.
Lenguajes de Dominio Especfico
La industria del software tiene un gran problema cuando trata de
construir Sistemas de
Software grandes y complejos, con menos tiempo y menos dinero.
Con C++ y Java fallando
para aumentar significativamente la productividad de los
desarrolladores, no es una sorpresa
que alrededor del 40% de los desarrolladores estn ya usando o
estn planeando usar un
enfoque de generacin de cdigo para atacar este problema [5]
Hay ahora muchos casos de estudio de la aplicacin satisfactoria
de las herramientas y
tecnologas de generacin de cdigo y es esta visin la que permite
a los desarrolladores
levantar el nivel de abstraccin por sobre los lenguajes de
programacin de propsito general
es la mejor apuesta para organizaciones de desarrolladores que
desean direccionar los problemas de productividad mencionados
arriba
Los generadores de software estn entre los mtodos ms efectivos
para lograr la reutilizacin
de software. Los generadores reducen el costo de mantenimiento,
producen software ms
evolutivo, y proveen aumentos significativos en la productividad
del software. Desde un
punto de vista tcnico, los generadores son compiladores para
lenguajes de dominio especfico
(DSLs) o lenguajes de programacin de propsito general con
extensiones especficas de
dominio [1]
Implementar un lenguaje de dominio especifico como una extensin
de un lenguaje de
programacin existente (llamado host language = lenguaje husped)
tiene diferentes ventajas. Primero, podemos tomar ventaja de la
funcionalidad existente y no tenemos que
reimplementar, constructores de lenguaje comunes. Segundo, las
extensiones mismas solo
necesitan ser transformadas hasta el punto en que puedan ser
expresadas en el host language.
Tercero, la infraestructura existente (ej: ambientes de
desarrollo y debugging) pueden ser
reutilizados. Todos estos factores resultan en menores costos de
implementacin para
desarrolladores de programas y menores costos de transicin y
educacin para los usuarios.
Tabal 1. Relacin de algunos lenguajes de dominio especifico
usados ampliamente
DSL Dominio de aplicacin
BNF Especificacin de sintaxis
Excel macro languages Spreadsheets
-
Revista Alghoritmic ISSN 2220-3982 Pag 12
12
HTML Hypertext web pages
LATEX Typesetting
Make Construccin de Software
SQL Consultas a Base de datos
VHDL Diseo de Hardware
Si vamos a darle facilidades a un experto del dominio para
resolver problemas usando modelos, es muy
importante que los lenguajes de modelamiento representen
claramente los problemas del dominio. Por
lenguajes de modelamiento se entiende la definicin de smbolos y
relaciones que son usadas para construir modelos de algn problema
del dominio. [10]
Algunos podaran decir que un correcto punto de vista es definir
un lenguaje de modelamiento de
propsito general, y usarlo en todos los dominios enseando a los
expertos del dominio como usar el
lenguaje de propsito general. La experiencia con UML nos dice
que esto no es frecuentemente exitoso.
Llamamos lenguajes de modelamiento a los que estn cuidadosamente
diseados para facilitar el
modelamiento dentro de particular problema del dominio. Un
Lenguaje de Dominio Especfico puede
ser creado para numerosos problemas de dominio. [10]
Tabla 2: algunos sistemas de desarrollo de lenguajes y kits de
herramientas que han sido usadas
para desarrollar DSL [7]
Sistema Desarrollado en
ASF + SDF CWI/ Universidad de
Amsterdam
AsmL Microsoft Research, Redmond
Draco Universidad de California,
Irvine
Eli Universidad de Colorado,
Universidad de Paderborn,
Macquarie University
Gem-Mex Universidad de LAquila
Info Wiz Bell Labs / AT&T Labs
JTS Universidad de Texas at
Austin
Khepera Universidad de North
California
Kodiyak Universidad de Minnesota
LaCon Universidad de Paderborn
(LaCon usa Eli como back-
end)
LISA Universidad de Maribor
Metafront Universidad de Aarhus
Metatool Bell Labs
POPART USC/Information Sciences
Institute
Smgn Intel compiler Lab /
-
Revista Alghoritmic ISSN 2220-3982 Pag 13
13
Universidad de Victoria
SPARK Universidad de Calgary
Spring LaBRI/INRIA
Stratego Universidad de Utrecht
TXL Universidad de
Toronto/Queens University al Kingston
el Lenguaje de Modelamiento Unificado UML UML es un lenguaje de
modelamiento de propsito general. Su desarrollo empez en 1990
cuando surge
como un enfoque de unificacin de diagramas para el desarrollo de
sistemas orientado a objetos
propuesto por Booch, Rumbaug y Jacobson. Desde entones ha tenido
una serie de revisiones, la mas
reciente el desarrollo de la versin 2.
Generacin de Cdigo en UML originalmente significaba un muy bajo
nivel de generacin convirtiendo clases sobre un diagrama en una
clase en C o Java. La experiencia ha demostrado que este
nivel de modelamiento no entrega ningn beneficio en el negocio
cuando es aplicado al sistema
completo. Sin embargo, usando mas especializados o elementos de
modelamiento mas abstractos, es
posible aumentar el monto de la generacin. [1]
Otra cuestin es el bajo nivel de UML y la liviandad (o
generalidad) de su semntica: una crtica comn
es que UML es grande y vago para ser efectivo. Esto presume que
la nica posible generacin de cdigo es la generacin de cdigo de muy
bajo nivel descrito fcilmente la suposicin es que UML no puede
expresar un mas abstracto o especializado concepto. Pero esta
crtica ignora los rasgos del
perfil de UML.
Contiene un conjunto grande de conceptos de modelamiento que son
relacionadas de forma compleja.
En defensa del tamao y la complejidad de UML 2.0, sus
arquitectos sealan que el lenguaje esta
orientado a soportar el modelamiento de una variedad de
dominios. [7]
Para hacer frente ha esta complejidad, los diseadores
organizaron el estndar en cuatro partes:
Infraestructura define las clases base que proveen los
fundamentos para la construccin del modelamiento UML.
Superestructura define los conceptos que los desarrolladores
usan para construir modelos UML.
Objeto de restriccin de lenguaje define el lenguaje usado para
la especificacin de solicitudes, invariantes, especificacin de
operaciones, en los modelos UML.
Intercambio de diagramas define una extensin para el metamodelo
UML que soporta almacenamiento e intercambio de informacin
pertinente para las capas de os modelos UML.
Jakarta Tool Suite JTS. El Jakarta Tool Suite (JTS) apunta a
proveer esta infraestructura en comn: es un conjunto de
herramientas independientes de dominio para extender los
lenguajes de programacin industrial con
constructores especficos de dominio. El JTS esta diseado
especficamente para crear DSLs y
generadores GenVoca. El JTS consiste de dos herramientas: Jak y
Bali. El lenguaje Jak es un
superconjunto extensible de Java que soporta meta-programacin
(esto es, caractersticas que permiten a
los programas de Java, escribir otros programas de Java). Bali
es una herramienta para la composicin
de gramticas. JTS es en si mismo un generado GenVoca. Los
lenguajes y extensiones de lenguaje estn
encapsulados como componentes reutilizables. Un componente JTS
en un archivo de gramtica Bali
-
Revista Alghoritmic ISSN 2220-3982 Pag 14
14
(que define la sintaxis de de un lenguaje o extensin) y un
conjunto de archivos Jak (que definen la
semntica de la extensin como transformaciones sintcticas)
[2].
El Lenguaje Jak Jak es un superconjunto de Java abierto y
extensible. Extiende Java con un soporte para meta-
programacin. (Es decir, caractersticas que permiten a programas
de java escribir otros programas de
java). Jak tiene dos caractersticas claves -que son,
constructores AST y Generation Scoping - que los
distinguen de Java. Ambos han sido implementados como
componentes JTS y son ejemplo de los tipos
de extensiones de lenguaje que el JTS es capaz de expresar
En la Tabla 3 se muestra algunos Lenguajes de domino especifico
y el dominio de su aplicacin.
SOFTWARE EXISTENTES EN IDM Diversidad de Herramientas En el
nivel Commercial y de investigacin, muchas herramientas para IDM
estas disponibles o en
desarrollo. Esas herramientas son designadas como frameworks o
como plug-in. Muchas clasificaciones
y comparacin de herramientas fueron propuestas. Sin embargo,
ninguna clasificacin estima el criterio
funcional que describimos con relacin a las necesidades, en
particular en trminos de modelos especficos usados en dominios HCI
[3]. En la tabla 4, se muestra herramientas IDM enfocados en el
dominio de la interrelacin hombre
computadora (HCI)
-
Revista Alghoritmic ISSN 2220-3982 Pag 15
15
Tabla 3: Ejemplos de DSL desarrollados usando los sistemas de la
Tabla 2 [7]
Sistema
Usado
DSL Dominio de la
Aplicacin
ASF+SDF Box
Risla
Prettyprinting
Producto
Financiero
Asml UPnP
XLANG
Protocolos de
dispositivos de
Red
Protocolos de
Negocios
Eli Maptool
(Various)
Mapeo de
Gramticas
Generacin de
clases
Gem-Mex Cubix Virtual data
warehousing
JTS Jak Transformacin
Sintcticas
LaCon (Various) Transformacin
de modelos de
datos
LISA SODL Aplicaciones de
Red
Smg Hoof
IMDL
Especificaciones
de compilador IR
Reingeniera de
software
SPARK Guide
CML2
Programacin en
la Web
Configuracin de
sistema
Sprint GAL
PLAN-P
Drivers de
dispositivos de
Video
Protocolos de
aplicacin
especifica
Stratego Autobundle
CodeBoost
Construccin de
Software
Optimizacin de
C++ en un
dominio
especifico
-
Revista Alghoritmic ISSN 2220-3982 Pag 16
16
3 Herramientas en trminos de Meta Modelos y expresin de Modelos.
En lo que se refiere a modelos y meta modelos, la comunidad HCI
necesita herramientas que no solo
consideren los modelos UML, Sino tambin modelo especficos. Ya
que nuestra lista de herramientas
esta limitada ha este tipo de herramientas, cualquier
herramienta en la lista puede ser adecuada para
HCI en trminos de soporte de modelos y meta modelos, sin
embargo, para refinar nuestra
comparacin, introducimos un criterio acera de la forma de
expresar modelos y meta modelos: los
modelo y meta modelos pueden ser expresados ya sea textualmente
o grficamente. Tambin
notamos si algunas restriccin se puede aadir par completar
modelos y meta modelos. Las
restricciones estn escritas en OCL, el lenguaje de restricciones
de UML, ver Tabla 5
Tabla 4: Herramientas IDM enfocados al dominio HCI [3]
Herramienta Ver Descripcin
ACCELEO GLPOpen Source
2.0.0 Eclipse and EMF template-based
System for MDA generation.
AndroMDA
Open source
3.2 An extensible generator framework. Models from UML tools
will be
transformed into deployable components for your favorite
Platform
(J2EE, Spring, .NET).
ADT
Open source
2.0 ATL Development Tools are a suite of Eclipse plugging
including an
ATL Engine (compiler and virtual machine) as well as an IDE.
AToM3
Open source
2.2 A Tool for Multi-formalism and Meta-Modelling supporting
modelling
of complex systems.
DSL Tools (Visual
Studio 2005 SDK)
4.0 DSL Tools enable the construction of custom graphical
designers and
the generation of source code using domain-specific
diagrammatic
notations in Visual Studio 2005.
Kermeta 0.4.1 A metamodeling language which allows describing
both the structure
and the behaviour of models.
ModFact
GPL-Open source
1.0.1 A tool that provides a framework For building
application.
Merlin
Open source
0.5.0 A software modelling tool based on model transformation
and code
generation
MDA Workbench
Open source
3.0 The MDA Workbench is a MDA tool implemented as an Eclipse
plug-
in based on modelling and code generation.
MOFLON
Open source
1.1.0 A meta modelling framework built as plug-in for the
graph
transformation tool Fujaba.
OptimalJ
Professional
Edition
3.0 Generator of J2EE applications using patterns to translate
business
models into working applications.
QVT Partners
BSD like license
0.1 Tools based on QVT for transformation models to models and
code
generator.
SmartQVT
Open source
0.1.4 A model transformation tool based on QVT-Operational
language.
UMLX
Open source
0.2.0 An experimental concrete syntax for a transformation
language.
Tabla 5. Herramientas IDM en funcin de meta modelos y expresin
de modelos [3].
-
Revista Alghoritmic ISSN 2220-3982 Pag 17
17
4 Herramientas en trminos de Transformacin de Modelos. Las
necesidades de HCI en trminos de operaciones sobre modelos no estn
limitas a transformaciones,
la Tabla 6 muestra todas las manipulaciones de modelo propuestas
por la herramientas y muestra que
solo ADT provee alguna de la infraestructura para la creacin
manual de modelos Weaving (Tejido de
Modelos ), lo cual es una ventaja sobre otras herramientas.
En la Tabla 6 la palabra texto es usada cuando el resultado de
una transformacin es textual que
puede ser un cdigo escrito en un lenguaje de programacin (Java,
C++, C, Fortran etc) que pueden
ser compilados o interpretados. El termino de XMI es usado
cuando el resultado de una
transformacin es un modelo de la forma XMI (XML meta data
interchange), el cual puede ser
cargado en muchas herramientas de diseo. Aqu tambin ATL y UMLX
tienen una ventaja ya que
proveen el XMI y el formato textual
Considerando las operaciones de modelo dos herramientas son
buenas candidatas para el dominio
HCI: ATL que es la solucin para trabajos en el espritu SE
(Software Engineering) y UMLX que es
mas adaptada para trabajos con tecnologas WEB.
Herramientas en trminos de otras Operaciones Es muy importante
saber la capacidad de una herramienta para nter operar con otras
herramientas. El
formato es importante para el intercambio de modelos y meta
modelos y reducir la separacin con el
dominio de SE (Software Engineering). Una gran parte de las
herramientas estn centradas en la
especificacin MOF. As que pueden cubrir las necesidades de
modelamiento de diferentes dominios
y especialmente de HCI. Muchos formatos implementados han sido
propuestos para el MOF: ECore,
MDR (Meta Data Repository), KM3 (Kernel Meta Meta Model), DSL
(Domain specific languages) y
CWM (Common Warehouse Metal model). Sin embargo, el DSL no se
ajusta a la implementacin de
MOF. Fue por eso que se creo el KM3: que es un lenguaje
especializado para especificar meta
modelos y es usado como un puente entre el MOF y el DSL. El
formato mas usado es ECore, el cual
es una versin simplificada del MOF. En la Tabla 7 se muestra una
lista de herramientas en trminos
de otras operaciones.
-
Revista Alghoritmic ISSN 2220-3982 Pag 18
18
En lo que se refiere a transformacin de modelos el XMI es
propuesto para transformaciones pero no
es tan ampliamente usado. En realidad, muchas otras herramientas
prefieren transformaciones
textuales, en particular para herramientas QVT. En trminos de
interoperabilidad, Eclipse propone
mtodos de facto para el, almacenamiento y la recuperacin de
modelos basados en XMI. As que la
gran mayora de herramientas IDM esta basada en Eclipse y pueden
interoperar con otras
herramientas Eclipse
Tabla 6: Herramientas IDM en trminos de transformacin de Modelos
y Weaving [4]
-
Revista Alghoritmic ISSN 2220-3982 Pag 19
19
Tabla 7 herramientas IDM en trminos de otras operaciones.[3]
Herramienta Repositorio Interoperabilidad
Metamodelo Modelo
transformac
in
Restricci
n
ACCELEO DSL,MDR,
ECORE
- XMI Eclipse,Netbeans
AndroMDA MOF, DSL - XMI Eclipse
ADT DSL,KM3,M
DR, ECORE
Text (ATL) XMI Eclipse, Netbeans
AToM3 Proprietary
graphical
multi -
formalism
- -
DSL tools DSL-
Proprietary
notation
XML / XMI - Eclipse, Netbeans
Kermeta ECORE Text (QVT) XMI Eclipse
ModFact ECORE XMI XMI Eclipse
Merlin ECORE Text (QVT) XMI Eclipse
MDA
Workbench
ECORE XMI XMI Eclipse
MOFLON ECORE - XMI Eclipse
OptimalJ CWM,
ECORE
XMI XMI Eclipse
QVT Partners ECORE Text (QVT) XMI Eclipse
SmartQVT ECORE Text (QVT) XMI Eclipse
UMLX ECORE XMI, XSLT XMI,
XSLT
Eclipse
5 CONCLUSIONES
El paradigma de IDM esta en pleno desarrollo en la comunidad de
la Ingeniera de
Software, y para el IDM lo central son los modelos productivos
definidos con rigurosidad
por lenguajes de domino especifico para lo cual se hace
necesario estudiar todas los
tcnicas y herramientas existentes y ponerlos en trminos del
proceso de la IDM, para lo
cual se debe desarrollar de un mtodo o fragmento de mtodo para
modelos de dominio
especfico que tenga en cuenta los aspectos de los modelos, los
procesos, y las
herramientas.
Surgirn problemas de interoperabilidad y heterogeneidad entre
los diversos modelos que
expresan a un Sistema de Informacin los cual debe ser abordado y
superado
El proceso de investigacin debe ser realizado enfocando modelos
adecuados a temas
genricos, procesos o herramientas en particular centrarse en el
estudio los Gestin de los
Procesos del Negocio
-
Revista Alghoritmic ISSN 2220-3982 Pag 20
20
El UML que es un estndar como lenguaje de modelamiento tiene
mucha complejidad y es
muy genrico para expresar adecuadamente la semntica de un
dominio, por lo que para
expresar rigurosamente los problemas de un dominio especifico se
irn imponiendo los
lenguaje de dominio especifico, los cuales estn en pleno
desarrollo.
6 LITERATURA CITADA
[1] Don Batory, Bernie Lofaso, and Yannis Smaragdakis, JTS:
Tools for Implementing
Domain-Specific Languages, Department Of Computer Sciences the
University Of
Texas at Austin
[2] Douglas C. Schmit, Model Driven Engineering, Published by
the IEEE Computer
Society February 2006, Vanderbit University
[3] Jorge Luis Peres Medina, Sophie Dupuy Chessa, Agnes Front, A
Survey of Model
Driven Engineering Tools for User Interface Design, Laboratory
of Informatics of
Grenoble, France
[4] Jos Norberto Masn, Enrique Ortega, Juan Trujillo, Ingeniera
Inversa dirigida por
modelos para el diseo de almacn de datos, Dpto. de lenguajes y
Sistemas
Informticos Universidad Alicante
[5] Mark Dalgrano, Mathew Flowler, UML vs. Domain-Specific
Languages, Methods
& Tools Summer 2008
[6] Marjan Mernik, Jan Heering, Anthony M. Sloane, When and How
to Develop
Domain Specific languages, University of Maribor, Slovenia , CWI
Amsterdam,
The Netherlands, Macquarie University, Australia. ACM Computing
Surveys
(CSUR), vol. 37, pp. 316-344, 2005
[7] Mara Valeria Castro, Aproximacin MDA para el desarrollo
orientado a servicios
de sistemas de informacin Web: del modelo de negocio al modelo
de composicin
de servicios Web, Universidad Rey Juan Carlos, Tesis Doctoral,
Espaa
[8] Robert B. France, Sudipto Ghosh, and Trung Dinh Trong Model
Driven
Development Using UML 2.0. Promises and Pitfalls, Published by
the IEEE
Computer Society February 2006, Colorado State University.
[9] Shane Sendall and Wojtek Kozaczynski, Model Transformation
the Heart and Soul
of Model Driven Software Development, Swiss Federal Institute of
Technology in
Lausanne (EPFL), Software Engineering Laboratory Microsoft,
Prescriptive
Architecture Guidance Group Redmond, WA, USA
1) Steve Cookl, Domain-Specific Modelling and Model Driven
Arquitecture, MDA, Software Architect Enterprise Framework &
Tools Grup Microsoft Corporation,
Jurnal January 2004
2) Tom Mens, Krzysztof Czarnecki, and Pieter Van Gorp, A
Taxonomy of Model Transformations, Software Engineering Lab,
Universite de Mons-Hainaut, Belgium,
Dept. Electrical and Computer Engineering, University of
Waterloo, University
Ave, Canada, Dept. Mathematics and Computer Science, Universite
Antwerpen,
Belgium
-
Revista Alghoritmic ISSN 2220-3982 Pag 21
21
Modelamiento matemtico de un servidor de correo electrnico
Mathematical modeling of a mail server
Flix Armando Fermn Prez
Universidad Nacional Mayor de San Marcos, FISI
Av. Germn Amzaga s/n Lima 1, Lima, Per
[email protected]
RESUMEN
Sistemas informticos como los servidores de correo electrnico y
otros se han constituido
en componentes vitales de toda organizacin moderna, para
administrar adecuadamente sus
comunicaciones empresariales y sus operaciones. La teora de
control trata sobre el gobierno
automtico de los sistemas; para esto, primero se realiza el
modelado matemtico del
sistema en estudio y luego se procede a disear un controlador
que controle el
comportamiento del mismo.
La presente investigacin se plantea determinar el modelo
matemtico de un servidor de
correo electrnico utilizando la identificacin de sistemas; para
lo cual previamente se
recoge informacin de su funcionamiento en el log del servidor, y
luego mediante un sensor
software se calcula la longitud de cola del servidor en unidades
de tiempo.
Los resultados de los experimentos han permitido obtener un
modelo ARX lineal con una
aproximacin del 85% al modelo real. Este modelo matemtico servir
luego en otro estudio
para disear un controlador siguiendo la metodologa de la teora
de control realimentado.
Palabras claves: teora de control, servidor de correo
electrnico, sensor software.
ABSTRACT
Computer systems such as mail servers and others have become
vital components of any
modern organization in order to manage their business
communications and operations.
Control theory deals with automatic control systems; for this, a
mathematical modeling of
the system under study is performed first, and the design of a
controller that controls its
behavior, later.
The objective of this work is to determine the mathematical
model of a mail server using the
system identification. For this, the input and output data are
collected from the server and
saved in their log, then a software sensor calculates the queue
length server in units of time
The results of the experiments have yielded a linear ARX model
with an accuracy of 85% to
the real model. This mathematical model will be used in another
study to design a controller
using the methodology of feedback control theory.
Keywords: control theory, electronic mail server, software
sensor.
-
Revista Alghoritmic ISSN 2220-3982 Pag 22
22
1. INTRODUCCION
Los sistemas informticos en general se han constituido en
componentes vitales de toda
organizacin moderna, pequea o grande, por lo que es importante
invertir no solo en la
implementacin sino tambin en la administracin y el mantenimiento
de servidores de
aplicaciones web, servidores de base de datos y servidores de
correo electrnico, en los que
basan sus operaciones y comunicaciones. Los administradores de
sistemas informticos y
los jefes de informtica requieren de bastante dedicacin y
trabajo manual, adems de contar
con apropiadas herramientas software para el monitoreo del
trfico de red, los tiempos de
respuesta y la utilizacin de los recursos de procesamiento y de
memoria para, por ejemplo
en el caso de las empresas de telecomunicaciones, asegurar el
cumplimiento de los niveles
de calidad de servicio como parte de los acuerdos de nivel de
servicio pactados, o en el caso
de las pequeas y medianas empresas garantizar la disponibilidad
y buen funcionamiento de
sus sistemas informticos.
La teora de control, conocida tambin por los trminos de sistemas
de control, ingeniera de
control, teora de servomecanismos, sistemas de control
realimentados y otros, trata de
controlar, regular, gobernar automticamente las caractersticas
estticas y dinmicas de
funcionamiento de sistemas de cualquier tipo [1]. En una
arquitectura de control de lazo
cerrado como el de la Figura N 1, se trata de obtener una seal
de salida del sistema de
control y(k) similar a la referencia r(k), mediante la accin de
control u(k) que resulta del
manipuleo de e(k) por el algoritmo implementado en el
controlador. En general se pueden
plantear objetivos de control regulatorio o de seguimiento
cuando se desea por ejemplo
mantener la utilizacin de algn recurso informtico alrededor de
un valor predeterminado;
de reduccin de las perturbaciones para evitar salir del rango de
control en la presencia de
eventos perturbadores como la ejecucin de programas antivirus u
otros que sobrecargan al
sistema; o de optimizacin, buscando obtener el mejor valor
posible en la salida del sistema
para reducir el tiempo de respuesta de las consultas a una base
de datos, por ejemplo.
Figura N 1. Sistema de control en lazo cerrado. (Elaboracin
propia)
La utilizacin de la teora de control es ampliamente conocida en
diferentes reas de la
ingeniera como la mecnica y otras debido a su enfoque sistemtico
de anlisis y diseo de
controladores basndose fundamentalmente en las matemticas.
Utiliza conceptos tales
como el de funcin de transferencia que relaciona la salida y
entrada de los sistemas para
estudiar ciertas propiedades de los sistemas de control en lazo
cerrado. Se estudia la
estabilidad, por ejemplo, que siempre es lo primero que se busca
cumplir y consiste en
acotar la salida del sistema cuando la entrada tambin lo es.
Tambin la exactitud de la seal
de salida del sistema, cuando se aproxima lo ms posible al valor
de la seal de entrada,
-
Revista Alghoritmic ISSN 2220-3982 Pag 23
23
aunque en realidad lo que se mide generalmente para fines de
control es el denominado error
de estado estacionario, diferencia entre el valor de referencia,
lo que se desea, y el valor real
de la salida, lo que en realidad se obtiene. Otras
caractersticas tales como el tiempo de
establecimiento que muestra lo rpido que converge el sistema en
estudio, o el tiempo de
subida que muestra la velocidad de respuesta, estn relacionadas
al comportamiento
temporal del sistema. [2]
La aplicacin de la teora de control a sistemas informticos como
los servidores de correo
electrnico, est orientada a brindar una alternativa de
administracin automtica de estos
servidores, reduciendo y aligerando la intervencin humana
especializada cuando, por
ejemplo, suceden eventos de congestin que degradan la calidad
del servicio o incrementan
el costo de operacin, mantenindolo en un rango aceptable de
funcionamiento.
La metodologa, mostrada en la Figura N 2, consta de dos fases
denominadas como
identificacin de sistemas y diseo del controlador. Este trabajo
se centra solo en el
modelado matemtico del servidor de correo electrnico; para ello,
se hace uso de un
generador de carga de trabajo que simula las solicitudes de
servicio al servidor por parte de
un nmero determinado de usuarios; y de un sensor software que
mide la longitud de cola
del servidor, parmetro necesario para hallar el modelo.
Figura N 2. Metodologa de aplicacin de la teora de control.
(Hellerstein, 2004)
El inters en aplicar la teora de control a los sistemas
informticos no es nuevo aunque data
de inicios de los aos 90, as por ejemplo en 1991, Keshav [3]
propuso controlar el flujo de
paquetes de datos en redes de comunicacin mediante un modelo en
tiempo continuo y la
regulacin del servicio de colas. De manera similar se hicieron
trabajos relacionados con el
protocolo TCP mediante la utilizacin de modelos de flujo de
fluidos [4]; y en el campo de
los sistemas operativos se propuso su uso en el ajuste de
parmetros que controlen las
asignaciones de memoria [5] y de procesador, lo cual involucraba
tener un conocimiento
detallado de las entradas de control y de las salidas medidas
del sistema operativo en
estudio. Otra rea de aplicacin de la teora de control lo
constituyen los middlewares, tales
como los utilizados para transmitir imgenes y video en tiempo
real ajustando
dinmicamente la calidad de los datos enviados por redes con
ancho de banda restringido
-
Revista Alghoritmic ISSN 2220-3982 Pag 24
24
[6]. Un middleware es un sistema software que facilita el
desarrollo de robustas aplicaciones
a nivel empresarial; ejemplos de middleware son los servidores
de aplicaciones web, los
servidores de base de datos y los servidores de correo
electrnico, por citar aquellos en los
que se ha aplicado la teora de control con mayor frecuencia.
[7]
2. METODOLOGIA
Para hallar el modelo matemtico de un servidor de correo
electrnico o de cualquier otro
servidor informtico se puede emplear dos enfoques: el que tiene
que ver con la utilizacin
de las teoras por ejemplo, y de otro lado el enfoque emprico que
emplea datos recopilados
del funcionamiento del sistema mismo, en un periodo de
tiempo.
En trabajos previos se ha tratado de utilizar principios,
axiomas, postulados, leyes o teoras
bsicas para realizar el modelado matemtico de sistemas
informticos, pero
lamentablemente existen algunos serios inconvenientes con este
enfoque. Primero, es difcil
construir un modelo bajo estos principios bsicos ya que a menudo
se asumen supuestos
irreales, debido a la naturaleza compleja y estocstica de un
sistema informtico. Segundo,
es necesario tener un conocimiento detallado del sistema en
estudio, ms aun, cuando cada
cierto tiempo se van liberando al mercado actualizaciones del
software, por lo que debera
contarse con un experto de manera permanente. Y tercero, que
este enfoque no aborda lo
referido a la validacin del modelo. [8]
La identificacin de sistemas es un enfoque emprico donde deben
identificarse los
parmetros de entrada y salida del sistema en estudio, para luego
construir un modelo
paramtrico como el ARX por ejemplo, basndose en tcnicas
estadsticas de autoregresin.
Este modelo o ecuacin parmetrica relaciona los parmetros de
entrada y de salida del
servidor de correo electrnico de acuerdo a la siguiente
ecuacin:
(1)
donde y(k) : variable de salida
u (k) : variable de entrada
A, B : parmetros de autoregresin
k : muestra k-sima.
Debe notarse adems que este enfoque emprico trata al sistema en
estudio como una caja
negra de manera que no afecta la complejidad del sistema o la
falta de conocimiento
experto. Incluso cuando se actualicen las versiones del software
bastara con estimar
nuevamente los parmetros del modelo.
En [2] se propone realizar la identificacin del sistema de la
siguiente manera:
1.- Especificar el alcance de lo que se va a modelar en base a
las entradas y salidas
consideradas.
2.- Disear experimentos y recopilar datos que sean suficientes
para estimar los parmetros
de la ecuacin diferencia lineal del orden deseado.
3.- Estimar los parmetros del modelo utilizando las tcnicas de
mnimos cuadrados.
4.- Evaluar la calidad de ajuste del modelo. Si la calidad del
modelo debe mejorarse,
entonces debe revisarse uno o ms de los pasos anteriores.
-
Revista Alghoritmic ISSN 2220-3982 Pag 25
25
La arquitectura del experimento a implementar, mostrada en la
Figura N 3, consta de una
computadora personal PC1 en la que se ha instalado y configurado
el software del servidor
de correo electrnico a utilizar. Adems en ella se encuentra
instalado el sensor software que
se encargar de recoger la informacin del log del servidor, para
luego realizar los clculos
de la longitud de cola del mismo basndose en el conteo de las
llamadas a procedimientos
remotos servidos.
Por lo general los administradores de servidores de correo
electrnico prestan mucha
atencin al nmero de llamadas a procedimientos remotos
normalmente procesados en el
servidor ya que este valor se halla muy relacionado al nmero de
usuarios activos cuyas
solicitudes estn siendo procesadas por el servidor. Si por
ejemplo, el nmero de llamadas a
procedimientos remotos llega ser muy grande entonces habr una
excesiva utilizacin del
procesador, de la memoria y otros recursos provocando que la
performance se deteriore
rpidamente. En la prctica, los administradores de servidores de
correo electrnico
monitorean el uso de recursos del servidor y ajustan el valor
del parmetro de entrada,
nmero mximo de usuarios, para lograr el valor deseado de
llamadas a procedimientos
remotos normalmente procesados. [8]
Figura N 3. Arquitectura para identificar el servidor de correo
electrnico. (Elaboracin
propia)
Y en otra computadora personal PC2 se instala el generador de
carga de trabajo, que simula
la actividad de los usuarios concurrentes solicitando servicio
mediante las llamadas a
procedimientos remotos (RPC por sus siglas en ingls: Remote
Procedure Call). El
generador de carga de trabajo debe configurarse para que emita
solicitudes al servidor con
mensajes de diferentes tamaos ya que los usuarios no actan de la
misma manera. La
actividad generada en el servidor se almacena en el log del
servidor. Con los datos de los
parmetros de la entrada y la salida del servidor, se hace uso de
una tcnica de autoregresin
con entrada exgena para obtener el modelo ARX del servidor.
3. RESULTADOS
El primer paso para hallar el modelo matemtico de manera
consiste en recoger informacin
de las seales de entrada y salida para luego determinar el
modelo ARX del servidor
elegido. El servidor de correo electrnico utilizado fue el Kerio
Mail Server para redes
corporativas. Los datos recopilados de la entrada NumMaxUsuarios
y de la salida Longitud
de Cola se muestran en la Figura N 4.
-
Revista Alghoritmic ISSN 2220-3982 Pag 26
26
Figura N 4. Nmero Mximo de Usuarios y Longitud de Cola.
(Elaboracin propia)
Los datos recogidos de la salida, Longitud de Cola, previamente
fueron ingresados a un
sensor software en donde se cuenta el nmero de llamadas a
procedimientos remotos que
han sucedido en el periodo anterior y que se encuentran
registrados en el log del servidor.
Luego de utilizar la tcnica de autoregresin con entrada exgena
ARX, se obtiene la
ecuacin paramtrica siguiente:
(2)
La validacin del modelo obtenido, con un nivel de confianza de
aproximadamente el 85%,
se realiz tomando una parte de los datos recopilados
experimentalmente y comprobando
que los valores de la funcin de autocorrelacin de los residuos y
la funcin de correlacin
cruzada entre las entradas y los residuos se hallan dentro de
los rangos mostrados en la
Figura N 5.
Figura N 5. Autocorrelacin y correlacin cruzada de residuos.
(Elaboracin propia)
4. CONCLUSIONES Y TRABAJOS FUTUROS
Se concluye que si es posible hallar modelos matemticos de estos
sistemas con bastante
aproximacin al modelo real, como en este caso en el que el
modelo se aproxima en un 85%
al real.
-
Revista Alghoritmic ISSN 2220-3982 Pag 27
27
Con la finalidad de lograr mejores aproximaciones, se sugiere
emplear modelos matemticos
no lineales. As se podr aplicar las tcnicas de la ingeniera de
control para estudiar la
estabilidad y el comportamiento dinmico de sistemas informticos
de manera ms
aproximada al modelo real y por consiguiente, disear un
controlador ms apropiado.
El sensor software implementado ha permitido calcular la
longitud de cola del servidor, en
base a las llamadas a procedimientos remotos almacenados en el
log del servidor en estudio.
Trabajos futuros en la aplicacin de la teora de control
involucran el estudio de otra gama
importante de servidores informticos como los servidores web y
los servidores de base de
datos empleando modelos no lineales. Es importante anotar que en
el futuro prximo, se
plantear el diseo de controladores no lineales para los
servidores informticos en general,
ya que el comportamiento temporal de stos, es esencialmente no
lineal, de manera que se
hace adecuada la utilizacin de tcnicas de inteligencia
artificial como la lgica difusa y las
redes neuronales, principalmente.
5. BIBLIOGRAFIA
[1] Ogata K, Ingeniera de control moderna, 3ra ed., Mxico:
Prentice Hall
Hispanoamericana SA, 1998
[2] Hellerstein J, Diao Y, Parekh S, Tilbury D, Feedback control
of computing systems, 1ra
edicin, USA: IEEE/Wiley-Interscience, 2004.
[3] S. Keshav. Control-theoretic approach to flow control. ACM
SIGCOMM Computer
Communication Review [En lnea], 1991, 21(4): 3-15. Disponible
en
http://doi.acm.org/10.1145/115994.115995
[4[ C. Hollot, V. Misra, D. Towsley, W. Gong. A control
theoretic analysis of RED.
Proceedings of IEEE INFOCOM 01 [En lnea], 2001, 3: 1510-1519.
Disponible en http://dx.doi.org/ 10.1109/INFCOM.2001.916647
[5] J. Aman, C. Eilert, D. Emmes, P. Yocom, D. Dillenberger.
Adaptive algorithms for
managing a distributed data processing workload. IBM Systems
Journal. [En lnea], 1997,
36(2): 242-283. Disponible en http://dx.doi.org/
10.1147/sj.362.0242.
[6] X Wang, M Chen, H Huang, V Subramonian, C Lu, C Gill.
Control-Based Adaptive
Middleware for Real-Time Image Transmission over
Bandwidth-Constrained Networks,
IEEE Transactions on parallel and distributed systems, [En
lnea], 2008, 19(6): 779-793.
Disponible en http://dx.doi.org/10.1109/TPDS.2008.41
[7] J Hellerstein. Challenges in Control Engineering of
Computing Systems. Proceedings of
the 2004 American Control Conference, [En lnea], 2004, 3:
1970-1979. Disponible en
http://dx.doi.org/10.1109/ACC.2004.182391
[8] S. Parekh, N. Gandhi, J. Hellerstein, D. Tilbury, T. Jayram
y J. Bigus, Using control
theory to achieve service level objectives in performance
management. Real-Time Systems,
[En lnea], 2002, 23 (1-2): 127-141. Disponible en
http://dx.doi.org/10.1023/A:1015350520175
-
Revista Alghoritmic ISSN 2220-3982 Pag 28
28
Sistemas Razonamiento basado en Reglas para determinar
recomendacin de ciruga refractiva
Reasoning Systems based on rules for determining recommendation
refractive
surgery
Augusto Cortez Vasquez, Virginia Vera Pomalaza
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniera de Sistemas e Informtica
RESUMEN
La ciruga refractiva es una conjunto de procedimientos
quirrgicos que modifican la anatoma del
ojo, especialmente la cornea, eliminado definitivamente los
defectos refractivos de la miopa,
hipermetropa y astigmatismo para que no sea necesario el uso de
gafas o lentes de contacto. No
todo paciente est en condiciones de que se le haga una ciruga
refractiva. Para determinar si se
recomienda o no una ciruga ocular, es necesario realizar un
riguroso examen previo del paciente,
ver si cumple todos estos requisitos y descartar cualquier
patologa que impida realizar la ciruga o
empeore el pronstico. El oftalmlogo es el especialista encargado
de determinar la recomendacin.
La construccin de sistemas inteligentes, simula de algn modo la
manera en que los seres humanos
resuelve problemas. Existen distintas maneras entre ellas los
sistemas basados en conocimiento que
es el objeto del presente articulo. Los Sistemas basados en
reglas son agentes inteligentes que se
encargan de resolver alguna tarea utilizando como principal
recurso, precisamente el conocimiento.
Se establece una separacin entre la informacin necesaria para
resolver un problema y el mtodo
para resolverlo, estos constituyen los elementos principales
denominados base de conocimiento y
motor de inferencia. El SRBR propuesto, plantea una solucin
mediante una tarea de clasificacin,
utiliza arboles de decisin, y propone un modelo en forma de
reglas
Palabras claves: Ingeniera de conocimiento, Sistemas
inteligente, Sistema de
razonamiento basado en reglas, ciruga refractiva, arboles de
clasificacin.
ABSTRACT
The refractive surgery is a set of surgical procedures that
amending the anatomy of eye, especially
the cornea, definitively eliminated the defects refractive of
the nearsightedness, farsightedness and
astigmatism so that is not necessary to use glasses or contact
lenses. Not every patient is in a
position that he is made a refractive surgery. To determine if
recommends or not an eye surgery, is
necessary to carry out a rigorous examination of the patient,
see if it meets all of these requirements
and discard any pathology that prevents perform the surgery or
worse prognosis. The
ophthalmologist is the specialist responsible for determining
the recommendation.
The construction of intelligent systems, simulates somehow the
manner in which human beings
solves problems. There are several ways including systems based
on knowledge that is the subject
of this article. The Systems based on rules are intelligent
agents that are responsible for settling any
task using as main resource, precisely the knowledge.
Establishing a separation between the
information needed to solve a problem and the method to solve
it, these are the main elements so-
called knowledge base and engine of inference. The SRBR
proposed, raises a solution through a
task of sorting, uses trees of decision, and proposes a model in
the form of rules.
Key Words: Engineering knowledge systems, intelligent, System of
reasoning based on rules,
refractive surgery, trees of classification
-
Revista Alghoritmic ISSN 2220-3982 Pag 29
29
1 INTRODUCCION
Dentro de Inteligencia artificial, existe una disciplina
denominada Ingeniera de conocimiento (IC)
que proporciona los mtodos y tcnicas para construir sistemas
computacionales denominados
Sistemas Basados en Conocimiento (SBC). Dentro de los SBC
tenemos los sistemas de
razonamiento basados en casos SRBC y los sistemas de
razonamiento basado en reglas SRBR. Un
sistema de razonamiento basado en reglas SRBR es un razonamiento
que permite capturar la
experiencia humana en la resolucin de problemas, con el fin de
alcanzar decisiones consistentes y
repetibles. Estos sistemas son interesantes especialmente en
dominios en la que escasean los
expertos (medicina, ingeniera etc.). Los SRBR produce un
conjunto de reglas, las cuales pueden
usarse para responder cuestiones como es recomendable que se
realice una ciruga ocular a un
paciente, atendiendo a sus antecedentes patolgicos?. En muchas
situaciones, el mtodo tradicional
de convertir datos en conocimiento consiste en un anlisis e
interpretacin realizada de forma
manual. El especialista en la materia, en nuestro caso un
oftalmlogo, analiza los datos y elabora un
informe o hiptesis que refleja las tendencias o pautas de los
mismos. Por ejemplo un grupo de
mdicos puede analizar la evolucin de enfermedades oculares entre
la poblacin para determinar
el rango de edad mas frecuente de las personas afectadas. Este
conocimiento, validado
convenientemente, puede ser usado por autoridades del sector
salud para establecer polticas de
prevencin de enfermedades oculares. De una manera simplista
podramos decir que el objetivo de
la minera de datos es convertir datos en conocimiento, para
lograrlo se plantean dos retos: trabajar
con grandes volmenes de datos, procedentes mayoritariamente de
sistemas de informacin, y por
otro lado usar tcnicas adecuadas para analizar los mismos y
extraer conocimiento novedoso y til.
La ciruga refractiva es una intervencin sin dolor. Esto es
posible mediante la utilizacin del
Excimer Lser en intervenciones que se realizan con anestesia
local, mtodos incruentos y una
permanencia en el quirfano de solo cinco minutos. El paciente se
retira viendo normalmente.
La meta de la ciruga refractiva con Excimer lser es lograr una
mejor calidad de vida abandonando
la dependencia del uso de anteojos o lentes de contacto.
2 FUNDAMENTACION TEORICA
Un SRBR es bsicamente un SBC, desde el punto de la inteligencia
artificial, es un sistema
que intenta imitar el comportamiento de un ser humano experto en
alguna temtica, es decir
imitan las actividades de un ser humano para intentar resolver
los problemas de distinta
ndole.
Existen bsicamente tres tipos de sistemas SBC:
Sistemas de razonamiento basados en reglas SRBR
Los SRBR son sistemas expertos que utilizan para el proceso de
inferencia un conjunto de
reglas que constituyen la base de conocimiento del experto. Este
conjunto de reglas pueden
ser activadas a medida que las condiciones son evaluadas
positivamente y su utilizacin
implica la creacin de nuevos hechos. Este proceso permitir a
partir de unos hechos
iniciales desarrollar un proceso deductivo sobre un grupo de
reglas, que concluir el
momento en que no quede ninguna regla por ejecutar.
Este proceso deductivo desarrolla un encadenamiento de reglas
que puede ser
encadenamiento hacia adelante, hacia atrs o una combinacin de
ambos.
-
Revista Alghoritmic ISSN 2220-3982 Pag 30
30
Sistemas de razonamientos bayesianos SRB
Son sistemas que basan su funcionamiento como su nombre propio
indica en las redes
bayesianas. As pues se trata de un modelo probabilstico que
relaciona un conjunto de
variables aleatorias mediante un grafo dirigido. El motor de
inferencia que utiliza para
procesar las evidencias se basa en la teora de probabilidades y
ms concretamente con el
Teorema de Bayes. Este mtodo es especialmente una herramienta
extremadamente til en
la estimacin de probabilidades ante nuevas evidencias [2].
Sistemas de razonamientos basado en casos SRBC
Modelo de razonamiento que permite resolver problemas, entender
situaciones y aprender
utilizando mecanismos de memorizacin, problemas superpuestos y
criterios de
optimizacin.
Los SRBR presenta algunas ventajas frente a los sistemas
tradicionales [3]:
Adquisicin de conocimiento: La adquisicin del conocimiento se
obtiene infiriendo desde
el principio, esto es til cuando no se tiene un cuerpo de
conocimiento como en los SRBC
en los que se parte de casos memorizados.
Solucin a casos especializados: En situaciones muy especificas
en donde no se tiene
experiencia o casos memorizados como los SRBC, se parte de cero
a partir de reglas
bsicas
Aplicacin
La ciruga refractiva es l termino que define los procedimientos
quirrgicos para corregir
los defectos de refraccin (Miopia, Astigmatismo e Hipermetropa)
.
El ojo se comporta en forma similar a una cmara fotogrfica, por
tanto para que una
imagen salga enfocada es necesario que dicha imagen se enfoque
perfectamente sobre la
retina.
Existen dos estructuras que usted debe conocer para comprender
todos los procedimientos
refractivos:
-
Revista Alghoritmic ISSN 2220-3982 Pag 31
31
La cornea que es la superficie transparente de la parte anterior
del ojo y es la encargada
junto al cristalino la encargada de enfocar las imgenes sobre la
retina.
La retina es la que convierte las imgenes que se enfocan en la
retina en impulsos
nerviosos que por del nervio ptico se trasmiten al cerebro donde
se interpretan.
Hay tres tipos de defectos de refraccin: Miopa, Hipermetropa y
Astigmatismo.
Miopa. Es un problema visual por la cual los objetos cercanos se
ven claramente, pero los
lejanos se ven borrosos, debido a que la imagen visual se enfoca
delante de la retina, y no
directamente sobre ella.
Hipermetropa. Es el efecto contrario a la miopa, suele aparecer
en ojos algo ms
pequeos de lo normal, los sntomas suelen ser cansancio y/o dolor
de cabeza cuando se
trabaja de cerca, y si la hipermetropa es ms alta tambin afectar
a la visin de lejos.
Astigmatismo. El astigmatismo es un problema que se presenta en
la curvatura de la
crnea, lo cual impide el enfoque claro de los objetos cercanos y
lejanos. Cuando la
crnea, en vez de ser redonda, se achata por los polos aparecen
distintos radios de
curvatura en cada uno de los ejes principales. Por ello, cuando
la luz incide a travs de la
crnea, se obtienen imgenes distorsionadas.
3 MATERIALES Y MTODOS
Se utiliza un esquema de solucin basado en razonamiento basado
en reglas (SRBR) su
arquitectura se presenta en la figura A.
Base de Hechos:- Memoria de trabajo que contiene toda la
informacin actual del
problema a resolver. Contiene todos los cambios de informacin
que se producen en el
sistema durante cada proceso de inferencias
Motor de Inferencias:- Intrprete de reglas que se encarga de
examinar la BH y decidir
que regla utilizar y como procesarla.
Interfaz del Usuario:- La persona que utiliza el sistema.
Interfaz del administrador y/o experto humano:- La persona que
implementa el sistema
experto y lo administra, en algunos casos es el experto
humano.
Base de conocimiento:- Contiene las reglas (antecedente,
consecuente), el antecedente
contiene una lista de clausulas a verificar y el consecuente una
listas de acciones a ejecutar.
Ct11, Ct12, C t1n At11, At12, A t1n
As (Lista de clausula a verificar, Lista de Acciones a
ejecutar)
Condicin Accin
-
Revista Alghoritmic ISSN 2220-3982 Pag 32
32
Figura A: Arquitectura del SRBR
La tarea de aprendizaje para lo cual los arboles de decisin se
adecuan mejor es la
clasificacin, lo que permitir determinar de entre varias clases
a que clase pertenece un
objeto, la estructura de condicin y ramificacin de un rbol de
decisin es idnea para este
problema. Por ello utilizaremos la tcnica de particin o divide y
vencers.
4 CASO DE ESTUDIO
Consideremos el caso de un centro hospitalario en donde se
realizan operaciones de ciruga
ocular a las personas que lo solicitan. Un oftalmlogo desea
disponer de un sistema que le
sirva para determinar la conveniencia o no de recomendar la
ciruga ocular a sus pacientes.
Para ello dispone de una base de dato de sus antiguos pacientes
clasificados en operados
satisfactoriamente o no, en funcin del tipo de problema que
padecan
Base de
conocimientos
BC
Base de
hechos BH
Motor de
inferencias MI
Interfaz de
usuario
Interfaz del
administrador y/o
experto humano
-
Revista Alghoritmic ISSN 2220-3982 Pag 33
33
El modelo resultante se utiliza para clasificar nuevos pacientes
, es decir si es conveniente
operarlos o no.
Factores que determinan la recomendacin de operacin ocular:
La edad del paciente
Conocer el grado de miopa o hipermetropa que tiene el
paciente.
Ultima vez que se produjo un cambio en la graduacin de la
vista.
Tener corneas sanas y visin estable
Tener ojos sanos, sin problemas en la retina u otras
enfermedades oculares.
No deber padecer ni diabetes, ni patologas oculares como
consecuencia de ella
(retinopatas, glaucoma, etc.).
Se plantea un sistema de representacin del conocimiento basado
en arboles de decisin, las
mismas que pueden expresarse como conjunto de reglas.
Astigmatismo
?
Miopa? Edad?
Miopa?
si no
6
SI
NO
NO
NO
>
6
185
>45
>18 y 45
>1
0 >1.5 y 10
1.5
NO
SI
NO Diabetes?
NO
no si
-
Revista Alghoritmic ISSN 2220-3982 Pag 34
34
El rbol se puede expresarse mediante un sistema de reglas:
Concluyendo en que SI es operado o No es operado el
paciente.
R1: SI Astigmatismo =SI Y Miopa >6 ENTONCES NO
R2: SI 18< Edad 10 ENTONCES NO
R6: EN OTRO CASO Operacin = SI
Si consideramos que el paciente presenta:
Astigmatismo = SI y Miopa > 6
Las reglas pueden expresarse como pares:
Ejemplo
(paciente con astigmatismo y miopa 6, se recomienda operacin
ocular)
Otro ejemplo:
(paciente sin astigmatismo con edad entre 25 y 50 y miopa entre
5 y 10, se recomienda
operacin ocular)
Generacin del rbol de decisin a partir de un conjunto de
ejemplos, utilizando la
tcnica de particin
Cuadro A: Algoritmo de Creacin del Arbol
E : conjunto de
ejemplos
R : Raz del rbol
rbol de raz R
-
Revista Alghoritmic ISSN 2220-3982 Pag 35
35
Los arboles de decisin se adecuan mejor para tareas de
clasificacin, esto es determinar de
entre varias clases a que clase pertenece un objeto; la
estructura de condicin y
ramificacin de un rbol de decisin es idnea para este problema.
El algoritmo va
construyendo el rbol desde el rbol que contiene solo la raz,
aadiendo particiones y los
hijos resultantes de cada particin. En cada particin, los
ejemplos se van dividiendo entre
los hijos. Finalmente, se llega a la situacin en la que todos
los ejemplos que caen en los
nodos inferiores son de la misma clase y esa rama ya no sigue
creciendo.
Los arboles de decisin se pueden expresar como conjunto de
reglas. Este conjunto de
reglas se derivan de particiones. Cada particin es un conjunto
de condiciones exhaustivas
y excluyentes, cuantos ms tipos de condiciones permitamos, ms
posibilidades de
encontrar patrones que hay detrs de los datos.
5 CONCLUSIONES
Los SRBR se utilizan en dominios en donde es permisible capturar
la experiencia
humana en la resolucin de problemas.
Los arboles de decisin se utilizan generalmente para problemas
de clasificacin,
aunque puede utilizarse en soluciones de regresin,
agrupamiento.
Los sistemas de reglas son una generalizacin de los arboles de
decisin.
Cuanto mas particiones permitamos mas expresivos podrn ser los
arboles de
decisin generados y, probablemente, mas precisos. Sin embargo,
cuantas mas
Principal()
Inicio
GeneraParticion(R,E) // invoca a GeneraParticion para un rbol de
raz R para clasificar un
conjunto de ejemplos E
Fin
Funcion GeneraParticion (N: Nodo , E: Conjunto de ejemplos)
Inicio
Si todos los ejemplos de E son de la misma clase C
Asignar la clase C al nodo N
Sino
Particiones = generar posibles particiones
MejorParticion= seleccionar mejor particin segn criterio de
particion
Para cada condicin i de la particin elegida
Aadir un nodo hijo i a N y asignar los ejemplos consistentes a
cada hijo(Ei)
GeneraParticion(i, Ei) // realizar el procedimiento para cada
hijo
FinPara
FinSi
Fin
-
Revista Alghoritmic ISSN 2220-3982 Pag 36
36
particiones elijamos, la complejidad del algoritmo ser mayor.
Por tanto el asunto
importante en la eleccin de un algoritmo es encontrar un buen
compromiso entre
expresividad y eficiencia.
Los algoritmos de aprendizaje de decisin, son de naturaleza
voraz de estructura
divide y vencers, se comportan eficientemente con grandes
volmenes de datos,
ya sean de gran dimensional dad (muchos atributos) o gran
cardinalitas (muchos
ejemplos). Este buen comportamiento se sustenta en el hecho de
suponer que los
datos caben en memoria, sin embargo en muchas aplicaciones de
minera de datos
no es cierta. Si los datos no caben en memoria el rendimiento de
los algoritmos se
degradara por el constante trasvase de informacin de disco o
memoria. Para ello se
utiliza los algoritmos de aprendizaje de arboles de decisin
escalables.
6 REFERENCIAS
[1]. Palma Mndez Jose. Inteligencia Artificial. McGRAW-HILL
Espaa 2008
[2]. Anderson James Redes neuronales Edit AlfaOmega Mexico
2007
[3]. Hernndez Orallo, Jose. Introduccin a la minera de datos.
Edit Prentice Hall Espaa 2004.
[4] Del Brio Bonifacio, Redes neuronales y sistemas borrosos
Edit Alfaomega
Mxico 2007
[5] Ian Sommerville, Ingenieria de Software Edit Pearson Addison
Wesley Madrid 2005
-
Revista Alghoritmic ISSN 2220-3982 Pag 37
37
Sistema de Multiagentes para Implementacin de Sistema Generacin
de
Horarios Multiagent System for Generating System Implementation
Schedule
Gilberto Salinas Azaa
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniera de Sistemas e Informtica
RESUMEN
La distribucin de carga horaria es un proceso complejo, por lo
general esta distribucin es
realizada manualmente, a pesar de repetirse todos los semestres
acadmicos difiere del
semestre anterior ya sea por el aumento del nmero de alumnos,
limitaciones de
infraestructura o por cambios en la disponibilidad de los
docentes a pesar de la buena
disposicin de los responsables, la distribucin de la carga
horaria, en muchos casos no es
el mejor el cual crea conflictos en los interesados como
alumnos, docentes o empleados.
Existen otros mtodos para resolver problemas de asignacin,
alguno de los cuales pueden
determinarse muy rpidamente y dan buenas soluciones pero para
algunos casos son
inflexibles, esto es, cualquier cambio, prcticamente es como
crear uno nuevo, lo cual
resu