revista alhoritmic fisi 2011
Post on 06-Nov-2015
19 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
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: inst.investigaciones.fisi@gmail.com
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
davidespinozarobles@yahoo.com.mx, jtrujillot@unmsm.edu.pe,
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
fferminp@unmsm.edu.pe
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
top related