Sie sind auf Seite 1von 85

Revista Alghoritmic

ISSN 2220-3982 Pag 1

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 de Investigacin

ALGHORITMIC

Revista Alghoritmic

ISSN 2220-3982 Pag 1

Revista Alghoritmic

ISSN 2220-3982 Pag 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

Universidad Nacional Mayor De San Marcos


Facultad de Ingeniera de Sistemas e Informtica
Instituto de Investigacin de Ingeniera de Sistemas e Informtica
Rector
Vicerrector Acadmico
Vicerrector de Investigacin
Consejo Superior de Investigaciones

Dr. Luis Izquierdo Vsquez


Dr. Victor Pea Rodriguez
Dra. Aurora Marrou Roldn
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

Revista de Investigacin Alghoritmic


Vol. 1 N 1
Agosto- Diciembre 2010
Lima-Per

ISSN 2220-3982

INDICE

Presentacin
1. Ingeniera dirigida por Modelos
Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,

2. Modelamiento matemtico de un servidor de correo electrnico


Flix Armando Fermn Prez

21

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
Horarios
Gilberto Salinas Azaa

37

5. Servicios web utilizando ASP


Santiago Moquillaza Henrquez, Percy de la Cruz Velez de Villa,

45

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

Revista de Investigacin Alghoritmic


Vol. 1 N 1
January - July 2010
Lima-Per

ISSN 2220-3982
ISSN

versin impresa
Electronic version

INDEX
Presentation
1.

Model Driven Engineering

Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,

2.

Mathematical modeling of a mail server


Flix Armando Fermn Prez

21

3.

Rules-based reasoning systems for refractive surgery is recommended


Augusto Cortez Vasquez, Virginia Vera Pomalaza

28

4.

Multiagent System for Generating System Implementation Schedule


Gilberto Salinas Azaa

37

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


processing on the web

56

Luzmila Pr Concepcin

Instructions for submission of articles

77

Revista Alghoritmic

ISSN 2220-3982 Pag 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

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
2

ISSN 2220-3982 Pag 8

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.
8

Revista Alghoritmic

ISSN 2220-3982 Pag 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 Windowsque 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.
9

Revista Alghoritmic

ISSN 2220-3982 Pag 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
10

Revista Alghoritmic

ISSN 2220-3982 Pag 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

11

Revista Alghoritmic
HTML
LATEX
Make
SQL
VHDL

ISSN 2220-3982 Pag 12


Hypertext web pages
Typesetting
Construccin de Software
Consultas a Base de datos
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 backend)
LISA
Universidad de Maribor
Metafront
Universidad de Aarhus
Metatool
Bell Labs
POPART
USC/Information Sciences
Institute
Smgn
Intel compiler Lab /
12

Revista Alghoritmic

SPARK
Spring
Stratego
TXL

ISSN 2220-3982 Pag 13

Universidad de Victoria
Universidad de Calgary
LaBRI/INRIA
Universidad de Utrecht
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

13

Revista Alghoritmic

ISSN 2220-3982 Pag 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 metaprogramacin. (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)

14

Revista Alghoritmic

ISSN 2220-3982 Pag 15

Tabla 3: Ejemplos de DSL desarrollados usando los sistemas de la Tabla 2 [7]


Sistema
DSL
Dominio de la
Usado
Aplicacin
ASF+SDF
Box
Prettyprinting
Risla
Producto
Financiero
Asml
UPnP
Protocolos de
XLANG
dispositivos de
Red
Protocolos de
Negocios
Eli
Maptool
Mapeo de
(Various)
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
Especificaciones
IMDL
de compilador IR
Reingeniera de
software
SPARK
Guide
Programacin en
CML2
la Web
Configuracin de
sistema
Sprint
GAL
Drivers de
PLAN-P
dispositivos de
Video
Protocolos de
aplicacin
especifica
Stratego
Autobundle Construccin de
CodeBoost Software
Optimizacin de
C++ en un
dominio
especifico

15

Revista Alghoritmic

ISSN 2220-3982 Pag 16

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 GLP
Open Source

2.0.0 Eclipse and EMF template-based


System for MDA generation.

AndroMDA
Open source

3.2

ADT
Open source
AToM3
Open source
DSL Tools (Visual
Studio 2005 SDK)
Kermeta

An extensible generator framework. Models from UML tools will be


transformed into deployable components for your favorite Platform
(J2EE, Spring, .NET).
2.0
ATL Development Tools are a suite of Eclipse plugging including an
ATL Engine (compiler and virtual machine) as well as an IDE.
2.2
A Tool for Multi-formalism and Meta-Modelling supporting modelling
of complex systems.
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.
0.4.1 A metamodeling language which allows describing both the structure
and the behaviour of models.
1.0.1 A tool that provides a framework For building application.

ModFact
GPL-Open source
Merlin
0.5.0 A software modelling tool based on model transformation and code
Open source
generation
MDA Workbench
3.0
The MDA Workbench is a MDA tool implemented as an Eclipse plugOpen source
in based on modelling and code generation.
MOFLON
1.1.0 A meta modelling framework built as plug-in for the graph
Open source
transformation tool Fujaba.
OptimalJ
3.0
Generator of J2EE applications using patterns to translate business
Professional
models into working applications.
Edition
QVT Partners
0.1
Tools based on QVT for transformation models to models and code
BSD like license
generator.
SmartQVT
0.1.4 A model transformation tool based on QVT-Operational language.
Open source
UMLX
0.2.0 An experimental concrete syntax for a transformation language.
Open source
Tabla 5. Herramientas IDM en funcin de meta modelos y expresin de modelos [3].

16

Revista Alghoritmic

ISSN 2220-3982 Pag 17

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.

17

Revista Alghoritmic

ISSN 2220-3982 Pag 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]

18

Revista Alghoritmic

ISSN 2220-3982 Pag 19

Tabla 7 herramientas IDM en trminos de otras operaciones.[3]


Herramienta
Repositorio
Interoperabilidad
Metamodelo Modelo
Restricci
transformac n
in
ACCELEO
DSL,MDR,
XMI
Eclipse,Netbeans
ECORE
AndroMDA
MOF, DSL
XMI
Eclipse
ADT
DSL,KM3,M Text (ATL) XMI
Eclipse, Netbeans
DR, ECORE
AToM3
Proprietary
graphical
multi formalism
DSL tools
DSLXML / XMI Eclipse, Netbeans
Proprietary
notation
Kermeta
ECORE
Text (QVT) XMI
Eclipse
ModFact
ECORE
XMI
XMI
Eclipse
Merlin
ECORE
Text (QVT) XMI
Eclipse
MDA
ECORE
XMI
XMI
Eclipse
Workbench
MOFLON
ECORE
XMI
Eclipse
OptimalJ
CWM,
XMI
XMI
Eclipse
ECORE
QVT Partners
ECORE
Text (QVT) XMI
Eclipse
SmartQVT
ECORE
Text (QVT) XMI
Eclipse
UMLX
ECORE
XMI, XSLT XMI,
Eclipse
XSLT
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
19

Revista Alghoritmic

ISSN 2220-3982 Pag 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

20

Revista Alghoritmic

ISSN 2220-3982 Pag 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.
21

Revista Alghoritmic

ISSN 2220-3982 Pag 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,
22

Revista Alghoritmic

ISSN 2220-3982 Pag 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
23

Revista Alghoritmic

ISSN 2220-3982 Pag 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:

donde y(k)
u (k)
A, B
k

(1)
: variable de salida
: variable de entrada
: parmetros de autoregresin
: 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.
24

Revista Alghoritmic

ISSN 2220-3982 Pag 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.
25

Revista Alghoritmic

ISSN 2220-3982 Pag 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.
26

Revista Alghoritmic

ISSN 2220-3982 Pag 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

27

Revista Alghoritmic

ISSN 2220-3982 Pag 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 socalled 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

28

Revista Alghoritmic

ISSN 2220-3982 Pag 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.

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.

29

Revista Alghoritmic

ISSN 2220-3982 Pag 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:
30

Revista Alghoritmic

ISSN 2220-3982 Pag 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
As

At11, At12, A t1n

(Lista de clausula a verificar,

Condicin

Lista de Acciones a ejecutar)

Accin

31

Revista Alghoritmic

ISSN 2220-3982 Pag 32

Figura A:

Arquitectura del SRBR

Base de
conocimientos
BC

Base de
hechos BH

Motor de
inferencias MI

Interfaz de
usuario

Interfaz del
administrador y/o
experto humano

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.

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

32

Revista Alghoritmic

ISSN 2220-3982 Pag 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
?

si

no

Miopa?

Edad?
1
85

>
6

SI

>45
>18 y
45
Miopa?

NO
NO

NO

1.5
>1
0

>1.5 y
10
NO
Diabetes?

NO
si

no
SI

NO
33

Revista Alghoritmic

ISSN 2220-3982 Pag 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 <=45 Y Miopa <= 6 Y Diabetes =NO ENTONCES SI
R3: SI Edad >45 ENTONCES NO
R4: SI Edad 18 ENTONCES NO
R5: SI Miopa >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

34

Revista Alghoritmic

ISSN 2220-3982 Pag 35

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

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.

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
35

Revista Alghoritmic

ISSN 2220-3982 Pag 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

36

Revista Alghoritmic

ISSN 2220-3982 Pag 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
resulta tedioso y oneroso.
La presente investigacin de agentes y multiagentes que son entidades de software
autnomos e inteligentes, nos permite una implementacin de un Sistema de Carga
Horaria ptima y flexible. Tambin nos permite aplicar lo ltimo en tendencias de
desarrollo de aplicaciones software.
Los resultados de esta investigacin pretenden mejorar el proceso de desarrollo de software
para mejora el proceso de distribucin de carga horaria evitando conflictos con las partes
interesadas.
Palabras Claves: Sistemas multiagentes, generacion de horarios
ABSTRACT
The distribution of hours is a complex process, this distribution is usually done manually,
despite repeated all semesters differs from previous semester either by increasing the
number of students, infrastructure constraints or changes in the availability of teachers
despite the willingness of those responsible, the distribution of workload, in many cases is
not the best which creates conflicts in stakeholders as students, teachers or employees.
There are other methods to solve assignment problems, some of which can be determined
very quickly and give good solutions, but for some cases are inflexible, that is, any change,
is almost like creating a new one, which is tedious and expensive. The present investigation
of agents and multiagent entities that are autonomous and intelligent software, allows us to
implement a Time Charging System optimal and flexible. It also allows us to apply the
latest trends in software application development. The results of this research could
improve the software development process to improve the load distribution process time
avoiding conflicts with stakeholders.
37

Revista Alghoritmic

ISSN 2220-3982 Pag 38

Keywords: multiagent systems, generation schedules

38

Revista Alghoritmic

ISSN 2220-3982 Pag 39

1. INTRODUCCIN
La distribucin de carga horaria siempre ha sido un problema en las instituciones
educativas tambin lo es para la institucin analizada.
La presente investigacin tiene por objetivo el estudio de los sistemas multiagentes, ya
que la programacin basada en agentes constituye un nuevo paradigma en la
construccin de sistemas de software y mejorar o hacer eficientes los recursos
humanos y de infraestructura.
Como tal, se tiene como objetivo principal la construccin de un sistema de generacin
de horarios para la Facultad de Ingeniera de Sistemas para lo cual se tomara en cuenta
el paradigma de los sistemas multiagentes, seleccionando el uso de las plantillas para la
documentacin y cumplimiento de las mejores prcticas en el desarrollo del software,
stas proveen una gua de cmo se debe documentar el software en su totalidad, para
esto se utiliza el lenguaje de Modelamiento UML en base a un proceso de desarrollo de
software agil en una platafrma de software libre.

2. Sistemas agentes y Multiagentes (marco terico)


Los sistemas multiagentes (SMAs) es un rea de la computacin muy utilizada en la
actualidad. Es un conjunto de conceptos y tecnologas, que hace posible dar respuestas
a problemas complejos, a travs de la construccin de sistemas auto-organizados y
dinmicos, que pueden integrarse con aplicaciones operativas que cuentan con una
utilidad real, sin la necesidad de desechar o reemplazar los sistemas heredados
heterogneos. [SHOHAM 2008], [DUNIN et al, 2005], [LIN, 2007].
Este paradigma, no se ha establecido en la mayora de ambientes empresariales e
industriales, a excepcin del sector de telecomunicaciones, donde se han desarrollado
una gran cantidad de aplicaciones que actualmente funcionan y resuelven una variedad
de problemas utilizando teoras de agentes. [CERRADA, 2006], [BELLIFEMINE et al,
2007], [WOODRIDGE, 2002]
Se percibe una creciente actividad sobre este tema en los departamentos de
investigacin y desarrollo de importantes empresas del ramo del software, tal es el caso
de IBM (International Business Machines), Microsoft, HP, entre otras. Adems, la
existencia de organizaciones tales como FIPA (Foundation Intelligent Physical Agents)
organizacin que agrupa importantes empresas del campo tecnolgico que han dictado
un conjunto de especificaciones para la construccin de sistemas multiagentes,
evidencia que este tipo de tecnologa ofrecer mejores y nuevas soluciones a problemas
que actualmente enfrentan las organizaciones que gestionan y mantienen procesos
complejos. [KIRN et al, 2006], [LIN, 2007], [MAMEI et al, 2005]
3. Mtodos y resultados
Se basa en la generacin de mdulos de software que tengan capacidades de
comunicacin y autonoma sobre sus acciones, lo que posibilita la construccin de
sistemas complejos autorregulados y ms eficientes, y que son una nueva forma de
realizar desarrollo de software.
39

Revista Alghoritmic

ISSN 2220-3982 Pag 40

Analizador. El agente Analizador es el responsable de capturar la informacin


(datos) requerimientos del usuario y adems lleva a cabo una monitorizacin constante
para identificar informacin y experiencias entre el usuario y el sistema. El agente
analizador tiene tres categoras de fuentes de informacin que definen la
infraestructura de la facultad donde el agente analizador puede encontrar informacin
acerca de las Aulas con sus atributos, sus capacidades y estado; Cursos con sus
atributos y horarios; y Docentes con sus atributos, cursos que dicta y disponibilidad
horaria, ver Figura 1.
EAPs

Carga
Acadmica

AULAS

N
O

DOCENTES

N
O
SI

CURSOS

N
O
SI

SI

Asignar Carga
Horaria Acad

Figura N 1. Proceso de Asignacin de Carga


Horaria
Constructor. El agente Constructor es el encargado de distribuir carga horaria
teniendo en cuenta las restricciones para ello, como son la existencia de aula de la
capacidad solicitada, en el horario solicitado por el docente.
Buscador. El agente buscador es el responsable de buscar la infraestructura adecuada
basada en las restricciones de aulas, cursos y docentes.
Se han diseado modelos de multiagentes de software para cada una de las reas o
modulos que intervienen en el proceso de distribucion de horarios, que permitn que el
40

Revista Alghoritmic

ISSN 2220-3982 Pag 41

agente pueda desarrollar la actividad de acuerdo a la caracterstica especial que se le


haya asignado.
Agencias Multiagentes
Se ha descrito el modelo y los agentes para realizar el proceso de distribucin horaria
y se han dividido en las siguientes agencias:
Agencia Asignacin de Carga. Se encarga de dar soporte a los procesos de
distribucin de asignacin de carga horaria y se compone de los agentes
analizador, constructor y buscador.
Agencia de Usuario. Est formado por el Agente Interfaz que es mediador
entre los agentes. Entonces cuando un agente requiera enviar un mensaje al
usuario, el mencionado agente debe enviar un mensaje al Agente Interfaz para
que pueda mostrarlo para informacin al usuario.

Figura 2. Sistema Multiagentes, distribucin de los


agentes
4. Anlisis y discusin
A continuacin se ilustran los diagramas que representa el modelo de la figura 2
metamodelo de los agentes.
Los diagramas que a continuacin se detallan describen los roles y las tareas de los
agentes Analizador, Constructor y Buscador de la agencia Asignacin de Carga y el
agente Interfaz de la agencia Usuario.
Diagrama de interaccin de roles (Agentes)
41

Revista Alghoritmic

ISSN 2220-3982 Pag 42

Agente Analizador. A continuacin se describen las tareas llevadas a cabo por


este agente.
o El agente analizador recibe del Agente Buscador un curso, una
determinada aula y un profesor para ese curso, y procede a analizar si el
aula est disponible y tiene la capacidad para el curso, luego procede a
analizar el horario del curso y adems analiza si el docente est
disponible para ese curso en el respectivo horario.

Agente Constructor. A continuacin se describen las tareas llevadas a cabo por


este agente.
o El agente constructos asigna el aula marcndolo como ocupado, asigna
el curso marcndolo como asignado y asigna a un docente al curso en
una aula y en un horario determinado

42

Revista Alghoritmic

ISSN 2220-3982 Pag 43

Agente Buscador. A continuacin se describen las tareas llevadas a cabo por


este agente.
o El agente Buscador ubica aulas libres curso no asignados y docentes
disponibles

El agente interfaz es el agente encargado de monitorizar las actividades de los usuarios


para obtener sus perfiles, por tanto, sus metas consisten en monitorizar las tareas de los
usuarios y la de recomendar la informacin adecuada (si Armando solicita cambio de
horario. Las respuestas pueden ser: se acepta, o No pero puede ser el da tal a tal hora en tal
saln, o SIMPLEMENTE NO)
Para poder llevar a cabo estas metas se deb cumplir las siguientes tareas:
Modelar Perfiles. La tarea consiste en modelar el perfil de usuario, significa que el agente
debe identificar las preferencias, actividades de los usuarios y la informacin consultada.
43

Revista Alghoritmic

ISSN 2220-3982 Pag 44

Base de Conocimiento. Lleva a cabo tareas como crear y gestionar localmente una base de
conocimientos que almacene el perfil del usuario
Asesor. La tarea consiste en asesorar o recomendar el conocimiento o fuentes de
conocimiento (informacin relevante) para el usuario.

5. CONCLUSIONES
La presente investigacion ha permitido implementar un sistema de distribucion de
horarios de clases para la facultad.
Ha permitido al grupo la aplicacin de paradigmas de sistemas Multiagentes, lo cual
motivara a los dems investigadores seguir acercndose a nuevas metodologas.
La solucin del problema de distribucin de horarios con el paradigma de
multiagentes crea ventajas competitivas puesto que permite agilizar los procesos de
distribucin de horarios de clases evitando conflictos en los interesados como alumnos,
docentes y administrativos.
La investigacin de multiagentes nos ha llevado a solucionar el problema con
flexibilidad la distribucin de horarios de clases lo cual permite o ayuda a los
responsables desempearse con eficiencia, esto es, evitando la sobrecarga laboral.
La investigacin nos ha llevado solucionar el problema de distribucin de horarios con
seguridad, confiabilidad y extensibilidad
La investigacin nos ha llevado a la implementacin utilizando software libre como
Java JDK 7 IDE Eclipse.
6. Referencias Bibliogrficas
Yoav Shoham, Kevin Leyton-Brown Multiagent Systems: Algorithmic, GameTheoretic, and Logical Foundations Cambridge University Press, 2008
Barbara Dunin-Keplicz, Andrzej Jankowski, Andrzej Skowron, Marcin Szczuka.
Monitoring, Security, and Rescue Techniques in Multiagent Systems. Springer, 2005.
Mariela Cerrada, Jos Aguilar, Juan Cardillo y Ral Faneite. Especificacin Detallada
de los Agentes del SCDIA, Rev. Tc. Ing. Univ. Zulia v.29 n.3 Maracaibo dic. 2006.
Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood. Developing MultiAgent Systems with JADE. Wiley, 2007.
Hong Lin. Architectural Design of Multi-Agent Systems: Technologies and
Techniques. IGI Global, 2007.
Stefan Kirn, Otthein Herzog, Peter Lockemann, Otto Spaniol. Multiagent Engineering:
Theory and Applications in Enterprises. Springer. 2006
Marco Mamei (Author), Franco Zambonelli Field-Based Coordination for Pervasive
Multiagent Systems. Springer, 2005
Woodridge Michael. An Introduction to Multiagent System. Departament of Computer
Ciencie, University of Liverpool. U.K. John Wiley & Sons, 2002
44

Revista Alghoritmic

ISSN 2220-3982 Pag 45

SERVICIOS WEB UTILIZANDO ASP


Web services using ASP

Lic. Santiago Moquillaza Henrquez, Mg. Percy de la Cruz Velez de Villa, Mg. Hugo
Vega Huerta,
Facultad de Ingeniera de Sistemas e Informtica
Universidad Nacional Mayor de San Marcos
smoquillaza@yahoo.com, pdelacruzv@unsmsm.edu.pe, hugovegahuerta@hotmail.com,
RESUMEN
Los Servicios Web son aplicaciones realizadas por una empresa proveedora del servicio al
cual se suscriben mediante aplicaciones Web empresas clientes, interesadas en compartir la
informacin. Los Servicios Web son de amplia utilidad en el mundo globalizado en el cual
vivimos, se pueden realizar transacciones de compra y venta, financieras, etc. todo va
servicios web.
Es una necesidad para las empresas afines utilizar los Servicios Web de manera que estn
integradas, economizando tiempo y costos.
Un Servicio Web simple se caracteriza por cuatro estndares: XML, SOAP, UDDI, y
WSDL, los cuales al integrarse proporcionan las facilidades de peticin y respuesta.
En nuestro pas esta tecnologa emergente todava no se est explotando en su totalidad,
pero las necesidades y presiones del mercado obligarn a usar los servicios web, como
herramienta competitiva.
Palabras Claves:
Servicios web, XML, SOAP, UDDI, WSDL
ABSTRACT
Web Services are applications made by a company providing the service which are
underwritten by Web applications, client companies interested in sharing information. Web
services are widely use in the globalized world in which we live, you can make sale and
purchase
transactions,
financial,
etc.
primarily
via
web
services.
It is a necessity for companies related to use Web Services so that they are integrated,
saving time and costs.
A simple Web service is characterized by four standards: XML, SOAP, UDDI, and WSDL,
which
provide
integrated
facilities
to
request
and
response.
In our country this emerging technology is not yet fully exploited, but the needs and market
pressures will force to use Web services as a competitive tool.

KeyWords:
WEB SERVICES, XML, SOAP, UDDI, WSDL
45

Revista Alghoritmic

ISSN 2220-3982 Pag 46

1.- INTRODUCCION
En el mundo globalizado en el cual vivimos hoy en da, las empresas aliadas necesitan estar
conectadas a fin de compartir informacin para tomar ventaja en relacin a sus
competidores y los escenarios que puedan enfrentar, es indispensable en este ambiente
competitivo darle satisfaccin a sus clientes; adems de proveerle de servicios para que
estn informados y puedan realizar sus transacciones desde la comodidad de su hogar u
oficina. Lo mencionado es posible mediante los Servicios Web que utilizan como
tecnologa de transmisin de informacin el protocolo de Internet HTTP y el lenguaje
XML. con estndares o tecnologas como SOAP, UDDI WSDI, que ayudan a la integracin
y desarrollo de los negocios.
Para aclarar la utilidad de los Servicios Web podemos dar ejemplos de aplicaciones al
respecto:
Una persona desea viajar a otro pas ya sea para hacer turismo formal o por negocios, para
lo cual se comunica con una agencia de viajes, esta se comunica con su par en el pas
destino, la cual utiliza Servicios Web de los hoteles, indicando precios, habitaciones, fechas
atractivas, etc.; lneas areas, e informacin de bancos, a su vez disponen de Servicios Web
meteorolgicos los cuales comparten con los hoteles, buses para ir a la ciudad respectiva,
museos, centros histricos, etc. En base a todo ello la agencia responde el paquete adecuado
al turista, luego el turista realiza el pago a la agencia, con el conocimiento previo del pas
a visitar.
Una empresa necesita surtir el stock de su inventario. dado que su sistema activa la alarma
de stock de reposicin para alguno de sus productos o insumos, para ello utiliza un Servicio
Web para hacer una peticin al proveedor que mejor le cotice, y que sea de su confianza
por la calidad, enva su pedido a la empresa proveedora en lnea pudiendo seleccionar
automticamente la oferta que ms le convenga, realizando la transaccin va web.
Indudablemente, la transaccin de compra y venta, generar una reduccin de costos,
beneficiando a las empresas que interactan.
Los servicios de mensajera para enviar mensajes de texto a travs de SMS, servicio de
mensajes cortos, a un dispositivo mvil como telfono celular compatible con esta funcin.
Sin un Servicio Web adecuado, se tratara de una idea compleja que conllevara la conexin
fsica de un telfono celular a un ordenador va el puerto serial, o la integracin del
proveedor de SMS con lo que se perdera la sencillez que ofrece un Servicio Web [1].
En el presente artculo narraremos acerca de los Servicios Web y la plataforma sobre la
cual trabaja y haremos un pequeo ejemplo con el software ASP .NET , de manera que sea
ms didctico el artculo.

46

Revista Alghoritmic

ISSN 2220-3982 Pag 47

2. FUNDAMENTACIN TERICA
2.1. Definicin:
Un Servicio Web es como un Sitio Web al que solo pueden acceder ordenadores. La
empresa proveedora puede optimizar su sitio incluyendo determinadas herramientas
susceptibles de ser invocadas por los ordenadores. Si dos compaas quieren unir sus
ordenadores deben establecer algn tipo de mecanismo de enlace con dicho objetivo.
[1]
La informacin que vamos a pasar por HTTP va a ser informacin en formato XML

2.2 HTTP
Es el protocolo de TCP/IP a nivel de aplicacin que permite el funcionamiento de la
Word Wide Web, en trminos ms simples es una tecnologa de transmisin de
informacin [2].
2.3 XML
Es un lenguaje de marcas estndar cuyo objetivo es facilitar el intercambio de
informacin entre aplicaciones, sin importar las diferencias entre plataformas de
hardware, sistemas operativos, lenguajes de programacin ni idioma. Algunos expertos
denominan a este lenguaje como el nuevo ASCII, sistema universal de codificacin de
caracteres reconocido por la prctica totalidad de los sistemas.[3]
Un ejemplo de la estructura y los datos que contiene un archivo UML es el que
especificamos en el ejemplo, agenda es el nombre de la tabla y sus campos son
Nombre, Telfono y Celular como delimitadores se utiliza los smbolos <>, en medio
de dichos delimitadores est el nombre del campo a continuacin estn los valores y
luego cada campo se cierra con el delimitador </> y el nombre del campo respectivo.
<?xml version="1.0" standalone="yes"?>
<Cliente>
<Elemento>
<Nombre>SANTIAGO MOQUILLAZA HENRIQUEZ</Nombre>
<Telfono1>987654321</Telfono1>
<Celular>987654321</ Celular >
</Elemento>
<Elemento>
<Nombre>PERCY DE LA CRUZ VELEZ DE VILLA</Nombre>
<Telfono1>115889687</Telfono1>
<Celular>987654321</ Celular >
</Elemento>
<Elemento>
<Nombre>HUGO VEGA HUERTA</Nombre>
<Telfono1>689625874</Telfono1>
47

Revista Alghoritmic

ISSN 2220-3982 Pag 48

<Celular>987654321</ Celular >


</Elemento>
<Elemento>
<Nombre>EVA VASQUEZ VALLE</Nombre>
<Telfono1>489668524</Telfono1>
<Celular>987654321</ Celular >
</Elemento>
</Cliente>
Aplicacin ejemplo desarrollado por el grupo de trabajo.
2.4 SOAP o simple Object Access Protocol
Es un protocolo basado en el uso y utilizacin de XML, el cual se utiliza para
transportar las peticiones y respuestas enviadas a travs de la web por medio del
protocolo HTTP, de esta manera, no nos importar lo ms mnimo el sistema que haya
conectado en el otro extremo. La informacin ser manejada automticamente por el
protocolo.[2]
2.5 WSDL o web service Description Language,
Es un formato de intercambio de informacin, entre el servicio y el consumidor. Los
datos recibidos y enviados deben ser interpretados adecuadamente de alguna manera
WDSL es un documento XML, que describe los protocolos o servicios de transporte,
la semntica o peticiones y las llamadas a realizar, WDSL es un descriptor de cmo
debe hacerse el intercambio de la informacin. [2]
2.6 UDDI o universal Discovery, description and integration
Descubrimiento e Integracin Universal es un tipo de directorio orientado a la
integracin de procesos de negocio, se suele utilizar para buscar socios de negocio que
realicen una tarea concreta a travs de un Servicio Web. Es como unas pginas
amarillas gigante donde poder acudir en busca de informacin, descripciones, etc.
sobre Servicios Web XML [2]
2.7 ADO.NET y XML
XML se ha convertido en la piedra angular de la informtica distribuida de nuestros
das. De ah que gran parte de las motivaciones en cuanto a la redefinicin del API de
ADO, se deban a la adaptacin de los objetos a un modelo de procesos que se apoya en
documentos XML, no en objetos especficos de cada plataforma a partir de cursores.
Esto permite que las clases de ADO.NET puedan implementar mecanismos de
conversin de datos entre plataformas, lectura de datos de cualquier origen, habilitar
mecanismos de persistencia en el mismo formato en el que se procesan., etc.
En esta redefinicin, Microsoft ha puesto como intermediario entre un cliente y sus
datos, un adaptador que transforma cada comando y cada dato en modelos de
documentos XML. Tanto para consultas como para actualizaciones. Esto es lo que
posibilita la nueva filosofa de acceso a datos desconectados de ADO.NET: primero se
cargan en el cliente los documentos necesarios almacenndolos en DataSet, (tablas
temporales en memoria) a partir de consultas a tablas, vistas, procedimientos, etc.; se
48

Revista Alghoritmic

ISSN 2220-3982 Pag 49

nos da la posibilidad de trabajar con documentos, sin necesidad de estar continuamente


consumiendo recursos de la red; y por ltimo, se procesarn los cambios producidos
envindolos a la base de datos, el adaptador tomar los cambios del documento, y los
replicar al servidor. En la figura se puede ver un esquema de la relacin entre
ADO.NET y XML. [4]

Figura 1. Obtenido del libro de la referencia bibliogrfica [4]


2.8

Consideraciones relativas a la seguridad


Los desarrolladores de Servicios Web, deben dar respuesta a una serie de
consideraciones relativas a la seguridad para evitarse de problemas. La naturaleza de
los servicios Web pone nuestros mtodos a disposicin de pblica. Por ello debemos
tomar los medios para evitar accesos no autorizados a informacin sensible.
Una buena tcnica para proteger nuestros servicios consiste en pedir el nombre de
usuario y una contrasea en cada llamada, para controlar que el usuario que est
realizando la peticin es el emisor del pedido [1].

2.9

Servicios Web en nuestro pas


Todava en nuestro Per, no se utiliza masivamente, quizs porque implica mucha
confianza entre empresas aliadas, no hay una integracin vertical entre proveedores
y clientes, amn de que los sistemas estn pensados para el manejo al interior de la
empresa; solo se piensa en los canales de distribucin fsicos, pero no alineado a las
tecnologas de informacin, tal cual exige hoy en da el mercado global., otra de las
razones es la desconfianza de que los competidores se enteren de informacin
privada,
ello se salva con un adecuado diseo de perfiles, y la otra gran razn es que los
gerentes generales de las empresas desconocen la utilidad de los Servicios Web para
proponerlos a su departamento o gerencia de Sistemas; en breve tiempo veremos
que no solo se harn Sistemas para satisfaccin de la empresa sino pensando en los
clientes.
49

Revista Alghoritmic

ISSN 2220-3982 Pag 50

3. EJEMPLO DE CREACION Y CONSUMO DE UN SERVICIO WEB EN UNA


PLATAFORMA ASP
Se trata de una pequea aplicacin LEERDATOS creada por un productor

FIGURA 2. Elaborada por el grupo de trabajo, creacin del Servicio Web

50

Revista Alghoritmic

ISSN 2220-3982 Pag 51

FIGURA 3. Elaborada por el grupo de trabajo, nombrando el Servicio Web


Luego se nos presentar la ventana donde debemos digitar el cdigo:
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data.SqlClient, System.Data
COMENTARIO :
Se importa a la clase que reconoce base de datos sqlserver, asi como las facilidades web
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class LEERDATOS
Inherits System.Web.Services.WebService
Private CONEXION As String="SERVER=SANTIAGOF13B31\SQLEXPRESS;DATABaSE=PROVEEDOR;INTEGRATED SECURITY=SSPI"
Private CN As SqlConnection
Private DA As SqlDataAdapter
Private DS As New DATASET
<WebMethod()> _
Public Function LISTACLIENTES() As DataSet
51

Revista Alghoritmic

ISSN 2220-3982 Pag 52

CN = New SqlConnection(CONEXION)
CN.Open()
DA = New SqlDataAdapter("SELECT * FROM CLIENTES", CN)
DA.Fill(DS)
Return DS
End Function
End Class
COMENTARIO:
El cdigo anterior nos conecta a la base de datos y
y se gurda los datos en un espacio de memora da definido por la clases
Sqldataadapter , con este web service accedemos a la tabla clientes.

CLIENTE
Es la entidad que va a consumir o utilizar el Servicio Web, debemos agregar la referencia
Web donde se encuentra el servicio(aplicacin definida por el productor)
Para ello el servicio web destino debe estar habilitado, y poner la URl., correspondiente a
fin de que realice la bsqueda para luego si est activa aadirla a nuestra aplicacin cliente.

FIGURA 4. Elaborada por el grupo de trabajo, agregando la referencia web

52

Revista Alghoritmic

ISSN 2220-3982 Pag 53

FIGURA 5. Elaborada por el grupo de trabajo, ubicando la URL para agregar la


referencia web
Indicada la URL debe pulsarse Go y luego una vez que se halla el Servicio Web, pulsar en
Add Web Reference, de manera que la aplicacin cliente ubique el Servicio Web, a
continuacin y estando diseada la aplicacin cliente digitar el cdigo de la aplicacin
cliente para acceder a los mtodos del Servicio Web.
CODIGO DEL CONSUMIDOR WEB
Imports localhost.LEERDATOS
Partial Class _Default
Inherits System.Web.UI.Page
Private ACCESO As New localhost.LEERDATOS
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
If Not Page.IsPostBack Then
Me.GridView1.DataSource = ACCESO.LISTACLIENTES
Me.GridView1.DataBind()
COMENTARIO :
Se muestra en el objeto Gridview1 los datos de los clientes
mediante el objeto ACCESO.
End If
End Sub
End Class
53

Revista Alghoritmic

ISSN 2220-3982 Pag 54

//COMENTARIO :
//El objeto ACCESO instancia el mtodo LISTACLIENTES del Servicio Web que se
//halla en la clase proveedora LEERDATOS
// Y se lee los datos proporcionados por el Servicio Web, se debe hacer la atingencia //que
debe estar activo el Servicio Web de la mquina productora para que el //consumidor
pueda acceder y realizar las operaciones correspondientes.
4 CONCLUSIONES
- Posiciona a las empresas con ventaja, porque pueden enfrentar escenarios
con mayor adaptabilidad, al conocer la informacin del mercado.
- Se incrementa el nmero de clientes atrados por los servicios oportunos que
brinda la empresa
- Mayor facilidad de planificar a corto y mediano plazo.
- Se estrecha mejores relaciones entre empresas clientes y proveedores.
- Se reducen costos y sobre todo tiempo, por ende hay mayores utilidades debido
a que las transacciones son mediante las aplicaciones Web y no fsicas.
- La seguridad se logra con una buena planificacin en el diseo de los
Componentes.
- Los Servicios Web permiten que las organizaciones integren sus diferentes
aplicaciones de una manera eficiente, sin preocuparse por cmo fueron
construidas, dnde residen, son independientes del sistema operativo donde se
ejecutan o cmo acceder a ellas por las facilidades de los estndares explicados en
el artculo.
- En nuestro pas falta desarrollo de Servicios Web, dada la baja comunicacin entre
clientes y proveedores., amen del desconocimiento de las gerencias generales
acerca de sus ventajas.

5 REFERENCIAS BIBLIOGRFICAS
[1] Bill Forgey, Denise Gosnell, Matthew Reynolds, Iniciacin a Visual Basic. N

et

Base de Datos, Danisoft (Madrid-Espaa) ISBN: 1-861005-55, 2002.


[2] Jorge Serrano Prez, Manual Avanzado Visual Basic.Net impreso en Espaa
Ediciones Anaya, ISBN:84-415-1445-3
[3] Francisco Charte Ojeda, Programacin de Base de Datos con Visual Basic.Net Mdrid-Espaa ISBN:84-415-1375-9.2002.
54

Revista Alghoritmic

ISSN 2220-3982 Pag 55

[4] Lus Miguel Blanco Programacin en Visual Basic.Net - Grupo EIDOS, Madrid
(Espaa), ISBN 84-88457-53-7, 2002.

55

Revista Alghoritmic

ISSN 2220-3982 Pag 56

BASE DE DATOS DISTRIBUIDOS USANDO ALGORITMOS


GENTICOS PARA OPTIMIZACIN DE PROCESO DE
TRANSACCIN EN LA WEB
Distributed database optimization using genetic algorithms for transaction
processing on the web
Luzmila Pr Concepcin
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniera de Sistemas e Informtica
lproc2003@hotmail.com

RESUMEN
El presente articulo Base de Datos Distribuidos Usando Algoritmos Genticos Para Optimizacin
de Proceso de Transaccin en la Web, trata sobre algunas deficiencias presentadas en los
procesos de transaccin por el procesador del servidor; que actualmente trabajan con algoritmos
tradicionales; como la lectura / escritura de datos en el disco magntico en el servidor Web,
producindose por ejemplo, demora en la cola de espera, demora en tiempo de proceso de
transaccin, demora en tiempo de respuesta, que ocasionan los cuello de botella y falta memoria,
etctera. El problema central que se propone est orientado al crecimiento y, evolucin del servidor
web de una manera econmica y escalable que lleva a un rendimiento ptimo. Por consiguiente,
existe la necesidad de estudiar los procesos de transacciones del sistema, de tal manera que se
aplique otra alternativa como algoritmos genticos para optimizar el proceso de transaccin en el
servidor, a fin de as mejorar los procesos del servidor web y, mejorar la atencin a los clientes /
usuarios. Se implementara un simulador de transacciones orientando a la toma de decisiones del
administrador de transacciones aplicando los algoritmos genticos, tal que permita determinar que
transaccin se debe tomar para asignarlo en la cola de procesos. Se asumen ciertas restricciones que
el simulador tomar como dados.
Palabras claves: Algoritmos genticos, base de datos distribuidos, genoma, interconexin de
sistemas abiertos, protocolo de control de transmisin, protocolo de internet, servidor Web,
transaccin.
ABSTRACT
The development of the investigation "Distributed Database Using Genetic Algorithms For
Optimization of Process Transaction in the Web" that have been allowed to reach the following
there is deficiency in the time of transaction processes for processor of the server; that they are
working with traditional algorithms; as the reading / writing of data in the magnetic disk in server
web. For example, it delays in the wait line, it delays in time of transaction process, it delays in time
of answer that you/they cause as neck of the bottle, it lacks memory, etc. The central problem that
intends is guided to the growth and, evolution of the server web in an economic and scalable way

56

Revista Alghoritmic

ISSN 2220-3982 Pag 57

that takes to a good yield. Consequently, the necessity exists of studying the processes transactions
of the system, in such a way that another alternative is applied as genetic algorithms to optimize the
process of transactionin servant, basing stops to improve processes of the server web and, to
improve the attention to the clients / users. The objective is to implement a pretender of transactions
guiding the taking of the administrator's of transactions decisions with the application of genetic
algorithms. It was used the genetic algorithms to determine that transaction should take to assign it
in the line of processes. Certain restrictions are assumed that the pretender took as given.
Key words: Genetics algorithms, base of distribuid data, genoma, interconection of open
systems, protocol of control of transmission, protocol of Internet, Web Server, transaction.

1. INTRODUCCIN
El presente estudio trata de Base de Datos Distribuidos Usando Algoritmos Genticos Para
Optimizacin de Proceso Transaccin en la Web, identificado en el rea de ingeniera de software
en la web, para el desarrollo del estudio se ha requerido la tcnica de cach, proceso de transaccin,
un conjunto de procedimientos para el proceso de transaccin en el servidor web y la tecnologa de
base de datos distribuidos.
El estudio presentar una propuesta que mejorara los procesos de tareas en el servidor, ante algunas
deficiencias como en el tiempo de procesos de transacciones en el sistema; que estn trabajando con
algoritmos tradicionales, como la lectura / escritura de datos en el disco magntico en el servidor
web, por ejemplo, demora en tiempo de espera para el proceso de transaccin, demora en tiempo de
respuesta, que ocasionan los denominados cuellos de botella, y falta memoria, para lo cual se
propondr una metodologa nueva para el sistema de aplicacin usando algoritmos genticos, para
optimizar eventos concurrentes de proceso de transaccin en el servidor Web, que permitir ahorro
de: tiempo de espera de las colas, tiempo de proceso de tareas, menor tiempo de lectura / escritura
datos en disco magntico del servidor web de la empresa o institucin. En el estudio se utilizarn
Protocolo de Internet / Protocolo de Control Transmisin (TCP/IP) para la transmisin de datos
(paquetes) en redes de computadoras. El articulo se desarrollara a travs de los siguientes: Marco
Conceptual comprende Algoritmos Genticos, Sistemas Distribuidos, Base de Datos Distribuidos,
Gestin de Transacciones y la Metodologa de implementacin del simulador prototipo utilizando
algoritmos genticos para optimizar procesos de transaccin en la web, finalmente los Resultados y
Conclusiones.
2. MARCO CONCEPTUAL
2. 1 ALGORITMOS GENTICOS
2.1.1 Definicin
Los Algoritmos Genticos (AGs), fueron creados por John Holland (1975). Es una tcnica de
bsqueda aleatoria dirigida, que puede encontrar la solucin ptima global en los espacios de
bsqueda multidimensionales complejos. Los Algoritmos genticos, es un modelo de la
evolucin natural que los operadores emplean, inspirado por el proceso de evolucin natural.
Los operadores genticos, manipulan a los individuos en una poblacin a lo largo de varias
generaciones para mejorar su aptitud gradualmente. Los individuos son como la poblacin
semejante a los cromosomas, normalmente representado como una cadena de nmeros binarios.
2.1.2 Evolucin biolgica

57

Revista Alghoritmic

ISSN 2220-3982 Pag 58

Todo organismo vivo consiste de clulas. En cada clula hay el mismo conjunto de cromosomas. Los
cromosomas son cadenas de ADN y sirven como modelo del organismo completo. Un cromosoma
consiste de genes, bloques de ADN. Cada gen, codifica una protena particular.
Cada gen codifica una caracterstica, Por ejemplo, el color de los ojos de una persona, los posibles
valores de una caracterstica (azul, cafs) se llama alelos. Cada gen tiene una propia posicin en el
cromosoma, esta posicin se denomina locus. El conjunto completo del material gentico se llama
genoma. Un conjunto particular de genes en el genoma es llamado genotipo. El genotipo va acorde con el
desarrollo posterior, es como la base del nacimiento del fenotipo del organismo, el cual es la caracterstica
(fsica o mental), como el color de los ojos de la persona, la inteligencia de la persona, etctera (Darwin
1930). Se muestra en la figura 2.1.1 clula :

Figura 2.1.1 Clula.

2.1.3 Representacin
Normalmente, se representa la optimizacin de los parmetros que van a ser perfeccionados en
un formulario de una cadena de operadores genticos que son adecuados para este tipo de
representacin. Hay dos mtodos de representacin para los problemas de optimizacin
numrica (Davis 1991). El mtodo ms usado, es la de representacin de cadena binaria. El
segundo mtodo de representacin, es utilizando un vector de enteros o nmeros reales, con cada
entero o nmero real representado slo el parmetro.
2.1.4 Creacin de la poblacin inicial
Los algoritmos genticos, requieren un grupo de soluciones iniciales o poblacin inicial. Hay
dos maneras, de formar esta poblacin inicial. El primero consiste en utilizar las soluciones
aleatorias producidas al crear un generador del nmero aleatorio. El segundo mtodo, emplea el
conocimiento a priori sobre el problema de optimizacin dado.
2.1.5 Operadores genticos
Hay tres operadores genticos comunes: de seleccin, de cruzamiento y de mutacin.
a) La seleccin: El objetivo del procedimiento de seleccin, es producir ms reproducciones de
individuos cuyos valores de aptitud sean ms altos que aquellos cuyos valores de aptitud son
bajos. En los algoritmos genticos, hay dos procedimientos de seleccin: la seleccin
proporcional y la de seleccin jerrquica, basada en (Whitley 1989). La seleccin proporcional,
se le llama "rueda de la ruleta", mediante este procedimiento se valora la aptitud de individuos

58

Revista Alghoritmic

ISSN 2220-3982 Pag 59

los que son representados por las anchuras de las hendiduras de la rueda. Para seleccionar a un
individuo para la prxima generacin, los individuos de las hendiduras con anchuras grandes
representan los valores de aptitud altos, estos tendrn una oportunidad ms alta de ser
seleccionados, despus, de un funcionamiento de la rueda se obtiene un conjunto aleatorio. Una
manera, de prevenir la convergencia rpida es limitar el rango de ensayos asignados a un solo
individuo, para que ningn individuo genere demasiados descendientes. La clasificacin
jerrquica, basado en el procedimiento de la produccin de idea planteada. Cada individuo
genera un nmero esperado de descendientes que se basa en la lnea de su valor de aptitud.
b) El cruzamiento: Se considera que esta operacin es lo que hace a los algoritmos genticos
diferente de otros algoritmos, como la programacin dinmica. La operacin de cruzamiento, se
utiliza para crear dos nuevos individuos de dos individuos existentes, que son escogidos de la
poblacin actual para la operacin de seleccin. Hay varias maneras de hacer esta operacin.
El cruzamiento basado en un punto. Es la operacin de cruzamiento ms simple. Se
seleccionan dos individuos al azar como los padres de una familia de individuos formados por el
procedimiento de seleccin, el procedimiento se corta al azar en un punto escogido. Las colas
son las partes despus del punto cortante, y dos nuevos individuos se producen. Se observa que
esta operacin no cambia los valores de los bits. Se muestran la tabla 2.1,2 especificados Un
cruzamiento basado en un punto.

Tabla 2,1.2 Cruzamiento de Cromosomas


Del cruzamiento basado en un punto, el padre 1, tiene once bits de ceros y unos. Sea la longitud de 11
bits, como la frmula L-1 = L puntos de cruce, y aplicando en la Tabla 2.1.2, se tiene 11-1 = 10 puntos;
entonces, se debe generar un nmero aleatorio de 1 al 10. Se ha tomado el nmero 5, es decir, del padre
1 se toma los 5 bits primeros que son: 10001 y del padre 2, se toma los 6 bits ltimos que son: 100011 y
se une ambos bits; entonces se tiene la cadena nueva 1 que son los siguientes bits: 10001100011
resultado del cruzamiento basado en un punto. Del mismo modo, del padre 2 se toma los 5 primeros bits
que son: 01101 y del padre 1 se toma los 6 ltimos bits que son: 001111 y se une ambos bits; entonces,
se tiene la cadena nueva 2 que son el siguiente conjunto de bits: 01101001111 resultado del cruzamiento
basado en un punto. De est manera, en general se realizan el cruzamiento de puntos de la poblacin de
los algoritmos genticos.
c) La mutacin: En este procedimiento, se verifican a todos los individuos de la poblacin, bit por bit, y
los valores de bits se invierten al azar segn una proporcin especificada. A diferencia de la operacin de
cruzamiento, la mutacin es una operacin mondica, es decir, una cadena de un nio, se produce de una
sola cadena de un padre. El operador de la mutacin obliga al algoritmo a investigar nuevas reas de
solucin. En el futuro, ayuda a los algoritmos genticos a evitar la convergencia prematura y encuentra la
solucin ptima global. Un ejemplo se muestra en la tabla 2.1.3 siguiente:

59

Revista Alghoritmic

ISSN 2220-3982 Pag 60

La cadena vieja
11000101110
La cadena nuena 11001101110

TABLA 2.1.3 Mutacin de cromosomas.


La inversin, este operador adicional es empleado para varios problemas, incluso en el problema de la
colocacin celular. Se selecciona dos puntos al azar de un individuo y la parte de la cadena entre esos
dos puntos se invierte, segn se muestra en la tabla 2.1.4.
La cadena vieja
La cadena nuena

1011001110
1000111110

Tabla 2.1.4 Inversin de un segmento de la cadena binaria.


2.1.5 Funcionamiento de los algoritmos genticos
Se parte de una funcin f(x) muy sencilla de: f ( x)

x2

S se desea encontrar el valor de x, que hace que la funcin f(x) alcance su valor mximo, sin embargo,
restringiendo a la variable x, a tomar valores comprendidos entre 0 y 31. An ms, a x slo, le vamos a
permitir tomar valores enteros, es decir: 0, 1, 2, 3,..., 30, 31. Obviamente el mximo se tiene para x = 31,
donde f, vale 961. Lo primero, que se debe hacer es encontrar una manera de codificar las posibles
soluciones (posible valores de x). Una manera de hacerlo es mediante la codificacin binaria. Aplicando
esta codificacin a un posible valor de x es: (0, 1, 0, 1, 1). Luego se procede a multiplicar la ltima
componente (un 1) por 1, la penltima (un 1) por 2, la anterior (un 0) por 4, la segunda (un 1) por 8 y la
primera (un 0) por 16 y a continuacin calcular la suma: Resulta 11. Observar que (0, 0, 0, 0, 0) equivale a
x = 0 y que (1, 1, 1, 1, 1) equivale a x = 31. Por ejemplo, se muestra en la figura 2.1.2, la operacin de
cromosoma siguiente:

cin de cromosoma.

Figura 2.2.4 Operacin de Cromosoma

60

Revista Alghoritmic

ISSN 2220-3982 Pag 61

A cada posible valor de la variable x, en representacin binaria se le llamar individuo. Una coleccin de
individuos constituye una poblacin y el nmero de individuos es el tamao de la poblacin.
Una vez que se tiene codificada la solucin, se debe escoger un tamao de poblacin. Para este ejemplo
ilustrativo, se escoger a 6 individuos. Se debe partir de una poblacin inicial. Una manera de generarla
es aleatoriamente: Se coge una moneda y se lanza al aire; si sale cara, la primera componente del primer
individuo es un cero (0) y en caso contrario si sale una cruz es un uno (1). Repetir el lanzamiento de la
moneda y se tendr la segunda componente del primer individuo (un 0 si sale cara y un 1 si sale cruz). As
hasta 5 veces y se obtendr el primer individuo. Repetir ahora la secuencia anterior para generar los
individuos de la poblacin restante. En total se tiene que lanzar 5 * 6 = 30 veces el siguiente paso es hacer
competir a los individuos entre s. Este proceso de seleccin Se muestra en la tabla 2.1.5

(1)

(2)

(3)

(4)

(5)

(0,1,1,0,0)

12

144

(1.0.0,1,0)

18

324

(0,1,1,1,1)

15

225

(1,1,0,0,0)

24

576

(1,1,0,1,0)

26

676

(0,0,0,0,1)

Tabla 2.1.5 de seleccin


Cada fila en la tabla 2.1.5, est asociada a un individuo de la poblacin inicial. El significado de cada
columna de la tabla es el siguiente:
(1) = Nmero que se le asigna al individuo.

61

Revista Alghoritmic

ISSN 2220-3982 Pag 62

(2) = Individuo en codificacin binaria.


(3) = Valor de x.
(4) = Valor de f(x).

Observar que el mejor individuo es el de la fila 5 con f = 676. Calculando la media de f,


se obtendr fmed =324.3. En cuanto a la columna (5), se realiza la comparacin entre
parejas de los individuos. Una manera de realizar el proceso de seleccin es mediante un
torneo entre dos. A cada individuo de la poblacin se le asigna una pareja y entre ellos
se establece un torneo: el mejor genera dos copias y el peor se desecha. La columna (5),
indica la pareja asignada a cada individuo (aleatoriamente).
2.3 SISTEMAS DISTRIBUIDOS
2.3.1 Definicin de sistemas distribuidos
Es un conjunto de entidades que se comunican entre si a travs de mensajes, los cuales
son enviados sobre vas de comunicacin (Garca 1999). Son una coleccin de
elementos de cmputo autnomo que se encuentran fsicamente separados y no
comparten una memoria comn, se comunican entre s a travs del intercambio de
mensajes utilizando un medio de comunicacin. En todo sistema distribuido se
establecen una o varias comunicaciones siguiendo un protocolo prefijado mediante un
esquema cliente / servidor (Buades 2002). Un sistema distribuido se compone de
entidades, procesos, computadoras, redes de computadoras, dispositivos, procesadores
etctera. Se muestra en la figura 2.3.1 la conmutacin de mensajes /paquetes en una
LAN siguiente:

Figura 2.3.1 Conmutacin de mensajes /paquetes en una LAN


2.3.2 Ventajas y desventajas de sistemas distribuidos

62

Revista Alghoritmic

ISSN 2220-3982 Pag 63

En la Tabla 2.3.1, se hace una breve descripcin de ventajas y desventajas de sistemas distribuidos
(Tanenbaum 1996, Araujo 2004).
VENTAJAS

DESVENTAJAS

Procesadores ms poderosos y a menos costo.

Mayores controles de acceso, y son costosos

Avances en la Tecnologa de comunicaciones,

Servicios de replicacin de datos y servicios con

comparticin de recursos, el sistema se puede recuperar

posibilidades de fallas

de una falla.
Eficiencia, flexibilidad, disponibilidad y confiabilidad de los

Interconexin: fiabilidad posible perdida de mensajes y

sistemas distribuidos.

posibilidad saturacin

Crecimiento modular. Aadir en pequeos incrementos

Alguna potencia de cada nodo no adecuada. Adm


compleja

Los microprocesadores ofrecen mejor proporcin

Velocidad de propagacin de informacin lenta a veces

precio/rendimiento y mayor velocidad que los mainframes


Algunas aplicaciones utilizan mquinas que estn

Software ms complejo.

separadas a cierta distancia (distribucin inherente).

Tabla 2.3.1 Ventajas y Desventajas de los Sistemas Distribuidos


2.4. BASES DE DATOS DISTRIBUIDOS
2.4.1 Conceptos de base de datos distribuidos
Base de Datos es una coleccin de datos estructurados sobre una red y que pertenecen, lgicamente, a
un solo sistema distribuido (Hurtado 1997), la cual cumple las condiciones siguientes:
La informacin de la base de datos esta almacenada fsicamente en diferentes sitios de la red.
Las bases de datos locales tienen sus propios usuarios locales, su propio Sistema de Gestin de
Bases de Datos (DBMS) y programas para la administracin de transacciones, y su propio
administrador local de comunicacin de datos. Este gestor global permite que los usuarios puedan
acceder a los datos desde cualquier punto de la red.
2.4.2 Ejemplo de base de datos distribuidos
Sea un banco con sucursales, cada sucursal o sitio con una computadora que controla las
terminales de la misma y el sistema de cuentas, estn conectadas por la red. Durante las

63

Revista Alghoritmic

ISSN 2220-3982 Pag 64

operaciones, las aplicaciones en las terminales de la sucursal necesitan acceder la base de datos
de la misma. Como slo acceden a la misma red local, estas son aplicaciones locales. Desde el
punto de vista tecnolgico, aparentemente lo importante es la existencia de algunas
transacciones que acceden a informacin en ms de una sucursal. Estas transacciones son
globales o distribuidas. Una transaccin global sera una transferencia de fondos de una sucursal
a otra. Esta aplicacin requiere actualizar datos en dos diferentes sucursales y asegurarse de la
real actualizacin en ambos sitios o en ninguno. Figura 2.4.1 BDDH:

Figura 2.4 Base de Datos Distribuidos Homogneos

64

Revista Alghoritmic

ISSN 2220-3982 Pag 65

Figura 2.4.1 Base de Datos Distribuidas Homogneas (BDDH)


2.4.3 Base de datos homogneas y heterogneas
En los sistemas de bases de datos distribuidos homogneas, todos los sitios emplean idntico
software de gestin de bases de datos, son conscientes de la existencia de los dems sitios y
acuerdan cooperar en el procesamiento de las solicitudes de los usuarios..
En las bases de datos distribuidos heterogneas podra ser que los diferentes sitios utilicen
esquemas y software de gestin de sistemas de bases de datos diferentes.
2.5. GESTIN DE TRANSACCIONES
2.5.1 Concepto de transaccin
Las transacciones a menudo, desde el punto de vista del usuario de una base de datos, se
consideran a un conjunto de varias operaciones sobre una base de datos como una nica
operacin. Por ejemplo, una transferencia de fondos desde una cuenta corriente a una cuenta de
ahorros es una operacin simple desde el punto de vista del cliente; sin embargo, en el sistema
de base de datos, est compuesta internamente por varias operaciones. Evidentemente es esencial
que tengan lugar todas las operaciones o que, en caso de fallo, ninguna de ellas se produzca.
Sera inaceptable efectuar el cargo de la transferencia en la cuenta corriente y que no se abonase
en la cuenta de ahorros.
Una transaccin se inicia por la ejecucin de un programa de usuario escrito en un lenguaje de
manipulacin de datos de alto nivel o en un lenguaje de programacin (por ejemplo, SQL, C++ o
Java). La transaccin consiste en todas las operaciones que se ejecutan entre begin transaction y
end transaction (Silberschatz, Korth, Sudarshan 2006).
Para asegurar la integridad de los datos se necesita que el sistema de base de datos mantenga las
propiedades de las transacciones como son atomicidad, consistencia, aislamiento y durabilidad
(ACID: Atomocity, Consistency, Isolation and Durability)
El acceso a la base de datos se lleva a cabo mediante las dos operaciones siguientes:
leer(X), que transfiere el dato X, de la base de datos a una memoria intermedia local
perteneciente a la transaccin que ejecuta la operacin leer.
escribir(X), que transfiere el dato X, desde la memoria intermedia local de la transaccin que
ejecuta la operacin escribir a la base de datos.
2. 5.2 Ejecuciones concurrentes
Los sistemas de procesamiento de transacciones permiten la ejecucin de varias transacciones
concurrentemente. Se debe asegurar la consistencia a pesar de la ejecucin concurrente de las
transacciones; las transacciones se ejecuten en secuencia, comenzado cada una slo despus de
que la anterior se ha completado (Silberschatz, Korth, Sudarshan 2006). Sin embargo, existen

65

Revista Alghoritmic

ISSN 2220-3982 Pag 66

dos buenas razones para permitir la concurrencia se de. Supngase, que los valores actuales de
las cuentas A y B son $ 1.000 y $ 2.000 respectivamente. Supngase, que las dos transacciones
se ejecutan de una en una en el orden T1 seguida de T2. Esta secuencia de ejecucin se
representa mediante la Planificacin 1 en la figura 2.5.1. La secuencia de instrucciones aparece
en orden con las instrucciones de T1 en la columna izquierda y las de T2 en la derecha. Los
valores finales de las cuentas A y B, despus de la ejecucin 2.5, son de $ 855 y de $ 2.145
respectivamente. De este modo, la suma total de saldo de las cuentas A y B, es decir, la suma A
+ B se conserva tras la ejecucin de ambas transacciones.

Figura 2. 5.1 Planificacin 1, una planificacin en la que T2 sigue a T1


3. METODOLOGA DE IMPLEMENTACION DEL SIMULADOR PROTOTIPO UTILIZANDO ALGORITMOS
GENTICOS PARA OPTIMIZAR PROCESOS DE TRANSACCIN EN LA WEB
3.1 Anlisis, diseo e implementacin del sistema simulador
La metodologa para la implementacin del simulador de transacciones orientando a la toma de
decisiones del administrador de transacciones utilizando los algoritmos genticos. Se utiliza los
algoritmos genticos para determinar que transaccin se debe tomar para asignarlo en la cola de
procesos. Se asumen, ciertas restricciones que el simulador tomar como dadas. Por ejemplo,
cada transaccin tiene un nmero constante de recursos que solicitan. Cada recurso tiene una
cola que administra y solo se pueden hacer 2 tipos de requerimiento: leer y escribir. La
estructura de un cromosoma consta de un grupo de alelos y cada uno corresponde con un recurso
solicitado. El administrador de transacciones tomar el requerimiento por el recurso para ponerlo
en cola, el que tenga un mximo de cromosoma igual a 1, es decir, cuando encuentre entre el
grupo de transacciones la transaccin que tenga sus alelos en 1. Se tomar como cromosoma una
cadena binaria que ser convertida a nmeros enteros.
La presente propuesta es en base al anlisis de los modelos de transacciones que operan
actualmente y se ha extrado tales mecanismos para llevarlo a un proceso de toma de decisiones
en funcin de los algoritmos genticos.
3.2 Supuestos y restricciones
a) Supuestos
Las transacciones son generadas por el usuario:
-

Recepcionado. Indica que el coordinador de transacciones ha tomado la solicitud.

66

Revista Alghoritmic
-

ISSN 2220-3982 Pag 67

En cola. Indica que el administrador de transacciones lo esta atendiendo.


Atendido. Indica que la transaccin se ha ejecutado.
No atendido. Indica que no se esta procesando
-La cola de cada transaccin es establecida por el usuario.
-Las probabilidades de mutacin y de cruzamiento son establecidos por el usuario.
-El nmero de iteraciones y el nmero de alelos son establecidos por el usuario.

El administrador (despachador), asigna los procesos de manera secuencial a cada nodo,


si hay cola disponible para almacenar los procesos en espera de ser atendidos y
determina en funcin de los algoritmos genticos, cual de los nodos va atender un
proceso.

La generacin de un proceso se basa en un valor aleatorio, conformado por un nmero


entero cuyo rango mximo es la combinacin mxima de la longitud del cromosoma.

b) Restricciones
Una transaccin est conformada por un conjunto de procesos, cada proceso de una
transaccin solicita un recurso. Los recursos son fijos. El requerimiento por el recurso
consta de 2 estados: read(R) y write(W). Un proceso ejecuta cualquiera de las 2 opciones.
El sistema construye de forma aleatoria el requerimiento de (R) y (W) por cada proceso. Un
read(R) se asume entrada en cola de manera directa. Un write(W) queda en espera de entrar
en la cola hasta que el administrador de transacciones tome la decisin en funcin de los
algoritmos genticos, buscando que la transaccin tenga un cromosoma con alelos 1.
Cada transaccin tiene un tiempo mximo de ejecucin, pasado el tiempo, el coordinador
de transacciones ejecuta un ROLLBACK. El tiempo mximo de uso del recurso por el
proceso se genera de manera aleatoria y es como mximo el tiempo que tiene asignado la
transaccin.
3.3 Caractersticas y requerimientos del sistema
En esta seccin, se hace un breve resumen de caractersticas y requerimientos del sistema como:
Existen un conjunto de transacciones que compiten. Las transacciones pueden escribir:
write(W), read(R). Una transaccin puede constar de un conjunto de procesos y cada una de
ellas pueden hacer escritura o lectura para un conjunto de recursos.
El modelo debe cumplir con las propiedades que certifican una transaccin valida: atomicidad,
consistencia, aislamiento y durabilidad.
Existe un conjunto de procesos de distintas transacciones que esperan por un recurso. Una
transaccin puede solicitar varios recursos. Una transaccin involucra la solicitud de varios
recursos.
Una transaccin queda en espera cuando no ha obtenido todos los recursos. Cada recurso
mantiene una cola de atencin. Se definen los recursos como pginas por procesar. Solo un
proceso a la vez puede usar el recurso. Mientras este asignado, nadie puede tomar hasta que sea
liberado por el proceso.
El sistema libera un recurso si tiene mucho tiempo en espera, en este caso, la transaccin aborta.
Se usa un modelo pesimista esperando obtener todos los bloqueos.
El coordinador de transacciones ejecuta la administracin de las transacciones y coordina que
transaccin debe realizarse. Ejecuta la toma de decisiones usando algoritmos genticos para
decidir que transaccin es seleccionada para acceder a la cola del recurso. Asimismo, que la
transaccin finalmente se ejecutar y tiene la posesin de todos los recursos.
La configuracin de una transaccin involucra el tiempo que solicita un recurso. Si una
transaccin tiene la siguiente configuracin: solicita recursos ABCDEF, a su vez se indica el
tiempo que solicita por cada recurso. Cada recurso tiene una cola, cuando un proceso toma el
recurso, no involucra que se ejecutar, el proceso debe esperar por los dems recursos. El

67

Revista Alghoritmic

ISSN 2220-3982 Pag 68

tiempo mximo que un proceso espera es el tiempo que requiere la transaccin para ejecutarse.
Si excede este tiempo, el proceso se descarta y la transaccin se aborta. El coordinador de
transacciones ejecuta un ROLLBACK.
Una transaccin descartada va a un repositorio de transacciones descartadas. Una transaccin
exitosa implica que ha tomado todos los recursos y ha ejecutado la operacin con el tiempo
mximo permitido dado por el tiempo de la transaccin. Si un recurso acepta un requerimiento
y lo pone en la cola del recurso, el cromosoma de la transaccin cambia el alelo a 1, en caso
contrario se mantiene en 0. Los estados de una transaccin pueden ser: Rechazada. No existe
cola para procesamiento, las colas estn saturadas. No ejecutado. Aun el coordinador de
transacciones no ha tomado accin sobre la solicitud.
a) Requerimientos del sistema: Sistema operativo: Windows XP, Windows Vista, Windows Server
2003, Windows Server 2008.
b) Requerimientos para simulador prototipo: Memoria: 512 Mb (o superior) RAM, Disco: 2 Mb.
c) Herramientas de desarrollo: Compilador: Codegear 2009 Builder C++ de Borland, Lenguaje:
C++, Diagramador de procesos: Visio 2007.
3.4 Anlisis y diseo del sistema simulador
En esta seccin, se hace un breve resumen de anlisis y diseo del sistema simulador como:
1. Variables: Tiempo de respuesta de actualizacin, lectura, adicin, Modelo de cola. La transaccin
pasa a una cola, Modelo de procesamiento a disco de la transaccin, Arquitectura del sistema de
base de datos: paralelo, multihilo, multiproceso, distribuido.
2. Arquitectura en paralelo: Memoria compartida, Disco compartido, Sin compartimiento,
Jerrquico. Combinacin de memoria y disco,
3. Protocolo de concurrencia. Pesimista y optimista
4. RESULTADOS
4.1 Presentacin del sistema
El sistema consta de un conjunto de pasos para llegar a ejecutarlo, est organizado de manera
secuencial. Primero, se debe asignar la informacin para la opcin Cargar configuracin que esta
incluido en la configuracin inicial del sistema. En la opcin de Ejecucin puede iniciar el
proceso de simulacin y ver el reporte de salida en la opcin Reportes. Se muestra en la figura
4.1.1 ventana principal del simulador, ttulo denominado Simulador de Transacciones que
contiene las pestaas de: Configurar, Ejecutar, Reporte, Acerca del sistema. Ms abajo est la
ventana de los Parmetros del sistema, y otra ventana para la Lista de transacciones y otros.

68

Revista Alghoritmic

ISSN 2220-3982 Pag 69

Figura 4.1.1 Ventana principal del simulador.


4.2 Cargar configuracin del sistema
Este es el paso inicial, en la ventana principal las opciones estn inicializadas con ceros cada una.
Hacer clic en Cargar configuracin y aparecer la ventana Open. Seleccionar la opcin
testtransacciones.sim y se muestra en la figura 4.1..2 ventana Open, y hacer clic sobre l, y se muestra
en la figura 4.1.3 la ventana de parmetros del sistema siguiente:

69

Revista Alghoritmic

ISSN 2220-3982 Pag 70

Figura 4.1.2 Ventana Open.

70

Revista Alghoritmic

ISSN 2220-3982 Pag 71

Figura 4.1.3. Ventana de parmetros del sistema.

De la figura 4.1.3 los parmetros del sistema que contiene los datos iniciales para ejecutar el simulador
propuesto como:
Tiempo de simulacin

: 30 segundos.

Nmero de transacciones

: 16.

Tiempo de la transaccin

: 6.

Nmero de recursos

: 4.

Longitud de la cola del recurso: 8.


Probabilidad de cruzamiento : 0,09.
Probabilidad de mutacin

: 0,01.

71

Revista Alghoritmic

ISSN 2220-3982 Pag 72

4.3 Inicializar
Hacer clic en el botn Inicializar y aparecer la ventanita de Lista de transacciones que contiene datos
de: identificacin de transaccin, estructura de requerimiento y tiempo; R significa lectura y W significa
escritura para sistema. Se muestra en la figura 4.1.4 lista de transacciones, siguiente:

Figura 4.1.4. Lista de transacciones.


4.4 Ejecucin
Pulsar la pestaa de Ejecucin y aparecer la ventana de ejecucin, se muestran 3 bloques. El primer
bloque es parmetros del sistema, este bloque muestra los datos iniciales para ejecutar la transaccin.
El segundo bloque muestra las colas de recursos, es la administracin de colas de transaccin del
simulador.

72

Revista Alghoritmic

ISSN 2220-3982 Pag 73

El tercer bloque muestra las transacciones, es la administracin de ejecucin de transacciones del


simulador y se muestra en la figura 4.1.5 transacciones, siguiente:

Figura 4.1.5. Transacciones.


Hacer clic en el botn Iniciar para ejecutar la transaccin. Se muestra en la figura 4.1.6 la terminacin del
proceso de transacciones. Por ejemplo, en la ventanita de parmetros del sistema, se observa la
variacin de los datos iniciales, las colas de recursos, los datos, en las transacciones y el estado.

73

Revista Alghoritmic

ISSN 2220-3982 Pag 74

Figura 4.1.6.Terminacin de procesos transacciones.


Por ejemplo, en atendidos todos tienen 8, asimismo en cromosomas todos tienen 15 (1111 = 15), en
estado, 8 atendidos y en rechazados 8 que no han cumplido las condiciones.
El sistema muestra en lnea la evolucin de la simulacin. Est se enva a un reporte de salida. Se puede
guardar el reporte en un archivo de texto. Seleccionando el botn Guardar para salvar reporte. En reportes
se ha considerado solo las transacciones procesadas como ptimos.
De este modo, se ha implementado un simulador prototipo utilizando algoritmos genticos para optimizar
procesos de transacciones en la web; para el estudio Base de Datos Distribuidos Usando Algoritmos
Genticos Para Optimizacin de Proceso Transaccin en la Web, que permitir mejorar la asignacin
de transacciones de datos en el servidor, menor costo de recursos computacionales y el resultado
devolver a los usuarios / clientes en menor tiempo de procesos de transacciones, est se realizar a
travs de despachador del sistema local y/o remoto.

5. CONCLUSIONES
De estudio Base de Datos Distribuidos Usando Algoritmos Genticos Para Optimizacin de Proceso
Transaccin en la Web, se puede obtener las siguientes conclusiones:
1.- La evolucin de Internet ha llegado a una alta proliferacin y rendimiento en consultas de
informaciones en el servidor Web por usuarios / clientes que usan base de datos distribuidos.

74

Revista Alghoritmic

ISSN 2220-3982 Pag 75

2.- Existen algunas deficiencias en el procesos de transacciones por el procesador del servidor; que
actualmente trabajan con algoritmos tradicionales; como la lectura / escritura de datos en el disco
magntico en el servidor Web, producindose por ejemplo, demora en la cola de espera, demora
en tiempo de proceso de transaccin, demora en tiempo de respuesta, etecetera.
3.-El estudio se orienta al crecimiento y, evolucin del servidor web de una manera econmica
y escalable que lleva a un rendimiento ptimo. Por lo que se requiere aplicar otra alternativa
como los algoritmos genticos para optimizar el proceso de transaccin
4.-La estructura de un cromosoma consta de un grupo de alelos y cada uno corresponde con un
recurso solicitado. El administrador de transacciones tomar el requerimiento por el recurso
para ponerlo en cola, el que tenga un mximo de cromosoma igual a 1, es decir, cuando
encuentre entre el grupo de transacciones, la transaccin que tenga sus alelos en 1. Se tomar
como cromosoma una cadena binaria que ser convertida a nmeros enteros.
5.-Se ha realizado un anlisis de los modelos de transacciones que operan actualmente y se ha
extrado tales mecanismos para llevarlo a un proceso de toma de decisiones en funcin de los
algoritmos genticos.
6.-La implementacin del simulador prototipo para un sistema de aplicacin con algoritmos
genticos, para optimizar el proceso de transaccin, permite optimizar: tiempo de
procesamiento de datos, mediante el simulador es menor que el tiempo de procesamiento de
datos en un procesador convencional, por consiguiente mejor uso del recurso de la
computadora.

REFERENCIAS BIBLIOGRFICAS
1. ARAUJO CRDENAS, Alfonso. Sistemas Distribuidos, Conceptos y Caractersticas, 2004.
2. BUADES, G, Sistemas Distribuidos. Departamento de Investigacin de Ingeniera Informtica
de la UIB, 2002.
3. DARWIN, Charles ,Teora Biolgica Sobre la Evolucin. Inglaterra, investigacin cientfica,
1930.
4. DAVIS, L. Manual de Algoritmos Genticos. Van Nostrand Reinhold, Nueva York, 1991.
5. GARCIA Carballeira F. Sistemas Distribuidos. Departamento de Investigacin de Telemtica,
1999.
6. HOLLAND, John H. Compendio del Algoritmo Gentico. Universidad de Michigan, vol. 7, N
22, 1975.
7. ttp://www.inforg.uniovi.es/ia/Archivos/Apuntes%20y%20t/AlgoritmosGeneticos.pdf.
8. HURTADO JARA, O.Sistemas Distribuidos. Espaa, Departamento de Investigacin de la
Universidad Carlos III de Madrid, OmarH@ie.inf.uc3m.es, 1997.
9. KWAN, T. T., MCGRATH, R. E. y REED, D. A. Modelos de Accesos de Usuarios al Servidor
de Web de NCSA. Informe Tcnico de UIUCDCS-R-95-1934, dpto. de Comp. Sci., Univ. de
IL, feb.1995.
10. SILBERSCHATZ, Abraham; KORTH, Henry y SUDARSHAN, S. Fundamentos de Bases de
Datos. Espaa, quinta edicin, McGraw Hill, 2006.
11. TANENBAUM, A. S. Sistemas Operativos Distribuidos. Mxico, Prentice Hall
Hispanoamericana, S. A., 1996.
12. TANENBAUM, A. S.
S. A., 1997.

Redes de Computadoras. Mxico, Prentice Hall Hispanoamericana

75

Revista Alghoritmic

ISSN 2220-3982 Pag 76

PROGRAMAS Y LNEAS
Aprobado por Consejo de Facultad en Sesin de 03 de Diciembre de 2009
RD N. 0404-D-FISI
BASE LEGAL
Ley Universitaria
Estatuto de la UNMSM
RR 05680-R-08 Reglamento de Actividades de Investigacin

Programa 1
ALGORITMOS Y COMBINATORIA
P1.1 Optimizacin Combinatoria
P1.2 Complejidad Computacional
P1.3 Algoritmos y Estructura de Datos

Programa 2
REDES Y SISTEMAS DISTRIBUIDOS
P2.1 Procesamiento Paralelo
P2.2 Sistemas Distribuidos
P2.3 Computacin GRID

Programa 3
BASE DE DATOS
P3.1 Minera de Datos
P3.2 Datawarehouse e Inteligencia de Negocios

Programa4
COMPUTACIN GRAFICA Y PROCESAMIENTO DE
IMAGENES
P4.1 Geometra Computacional
P4.2 Procesamiento de Imgenes

Programa 5
INGENIERA DE SOFTWARE
P5.1 Tecnologas Open Source y Software Libre
P5.2 Proceso de Desarrollo de Software
P5.3 Ingeniera de Software dirigido por modelos

Programa 6
INTELIGENCIA ARTIFICIAL
P6.1 Redes Neuronales
P6.2 Sistemas Expertos

Programa 7
SISTEMAS, INFORMTICA Y SOCIEDAD
P7.1 Gestin del Conocimiento
P7.2 Redes Sociales
P7.3 Seguridad y Auditoria Informtica

76

Revista Alghoritmic

ISSN 2220-3982 Pag 77

INSTRUCTIVOS PARA LA PRESENTACION DE ARTICULOS


La Revista Alghoritmic es una publicacin cientfica editada por el Instituto de
Investigaciones de Ingeniera de sistemas e Informtica, Facultad de Ingeniera de Sistemas
e Informtica, Universidad Nacional Mayor de San Marcos, Lima Per. Tiene una
periodicidad semestral, y se publica tanto en su versin impresa como digital.
La Revista Alghoritmic recibe artculos completos, 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, elaborados segn las normas indicadas en las presentes
intructivos.
El articulo deber ser presentado acompaado de una carta dirigida al Editor Responsable,
firmada por el responsable del trabajo con quien se tendr comunicacin, indicando adems
el carcter indedito, original y completo del articulo presentado y su disposicin para que
sea revisado y editado.
Las publicaciones pueden estar dentro de las categoras:
1. TRABAJOS ORIGINALES. Artculos inditos que presentan resultados de trabajos de
investigacin y constituye aportes al conocimiento. Todo el artculo debe tener como
mximo 12 pginas, las ilustraciones deben ser solo las necesarias para una mejor
exposicin de los resultados.
1. NOTAS CIENTFICAS. Reportes de resultados cuya informacin es de inters para la
comunidad cientfica. La extensin del texto no ser mayor de 6 pginas.
1. ARTCULOS DE REVISIN. Trabajos que constituyen una exhaustiva revisin del tema
de investigacin del autor, se incluyen aqu tesis, revisiones taxonmicas y
recapitulaciones.
REDACCION DEL ARTICULO
GENERALIDADES
1. El

documento

deber

redactarse

cumpliendo

lo

siguiente:

a) Idioma :
Espaol , utilizando Microsoft Word
b) Formato :
A4 , tipo de letra : Time New Roman 12
c) Mrgenes:
25 mm, a espacio y medio (con excepcin de los cuadros).
Izquierda 30 mm y derecha 25 mm.
d) Numeracin : Inicie con el numero 1, consecutivamente en la parte central
inferior de cada pgina.
2

Los ttulos principales (encabezados de cada seccin: Resumen, Abstracto, Introduccin,


Material y Mtodos, Resultados, Discusin y Literatura Citada) van centrados, en
maysculas, y en negrita.

77

Revista Alghoritmic

ISSN 2220-3982 Pag 78

Los ttulos de primer orden se colocan en negrita, en maysculas tamao 12, al margen
izquierdo, en rengln separado, y sin puntuacin final. El texto que se le sigue se ubica en
prrafo aparte. Los ttulos de segundo y tercer orden se colocan en cursiva, al margen
izquierdo, en minscula. Pueden ir en rengln separado sin puntuacin final, o al inicio de
la primera lnea del prrafo, seguidos de un punto.

Los prrafos se justifican a ambos lados y se separan entre s con un rengln en blanco.

Utilice frases breves y precisas en la redaccin del documento, con los verbos en forma
activa y evitando el uso de la primera persona.

Los cuadros y figuras se ordenan con numeracin arbiga y con los ttulos autoexplicativos, de manera consecutiva en cada articulo y en la parte inferior.

Los nombres Cientficos, productos y herramientas tecnolgicas se colocan en cursiva.

En caso que el articulo exponga sobre experimentos con humanos y animales, los
procedimientos debern de ceirse a la Declaracin de Helsinki de 1975 y a las leyes
peruana vigentes (Ley 27265), debiendo presentarse las declaraciones pertinentes y
mencionadas en el texto.

Pgina Inicial
1. La primera pgina del documento deber contener:
a) Ttulo del articulo en espaol e ingls,
b) Titulo corto,
c) Nombre y apellidos de cada autor y, al pie, su afiliacin institucional, correo
electrnico,
2 El Titulo deber:
a) Contener a lo mas 20 palabras
b) Identificar el contenido real del estudio.
c) Ser descriptivo, breve y claro
d) No contener siglas ni abreviaciones.
e) El titulo corto es un titulo abreviado, no mayor de 80 caracteres incluyendo
espacios, que aparecer en la parte superior de las pginas impares del trabajo
publicado.
3 El Autor
Deber haber participado lo suficiente como para asumir la responsabilidad publica del
contenido del trabajo. Adems, debe haber contribuido en forma sustancial en:
a) La concepcin y el diseo del estudio, o en el anlisis y la interpretacin de los
datos;
b) La redaccin del artculo o la revisin critica de una parte sustancial de su
contenido intelectual; y
c) La aprobacin final de la versin que ser publicada.

Resumen
1. El Resumen deber contener el resumen en espaol seguido del abstract en ingls
conteniendo la misma informacin que el resumen.
2 El Resumen deber estar contenido en una sola pagina
3 El resumen deber contener los objetivos, procedimientos, resultados principales y las
conclusiones de la investigacin en un solo prrafo, no mayor de 300 palabras y en forma
clave y concisa.

78

Revista Alghoritmic
4

ISSN 2220-3982 Pag 79

No puede contener cuadros, figuras, citas bibliograficas, ni abreviaturas o acrnimos, salvo


que sean de uso comn o se definan en el mismo Resumen.

Palabras claves
Despus del Resumen (y del Abstract), dejando un rengln en blanco, escriba 4 a 6 palabras
claves (key words) para efectos de indizacin. Estas debern ser colocadas en minscula, a
excepcin de nombres propios, separadas por comas y sin puntuacin final.

Introduccin
Deber cumplir lo siguiente
a) Describir la naturaleza del problema en estudio,
b) Presentar trabajos relacionados o realizados por otros autores en el campo bajo
estudio.
c) Indicar como se pretende solucionar el problema, de que manera se aumenta el
acervo de conocimientos existentes sobre el tema.
d) Utilizar no ms de tres referencias para apoyar un concepto o idea.

Materiales y Mtodos
En caso se utilice, deber indicarse:
1. Materiales : Describir el objeto de estudio, sus caractersticas, la localizacin geogrfica y
periodo del estudio, as como los mecanismos utilizados para el desarrollo del trabajo,
incluyendo la forma de recoleccin de datos, el diseo experimental (si lo tuviera) y el tipo
de anlisis estadstico utilizado.
2 Mtodos : Indicar los mtodos, proporcionando las referencias cuando sean necesarias y lo
equipos de importancia utilizados.
3 Tcnicas : Usar referencias para las tcnicas utilizadas, o describa en detalle si son nuevas
o han sido modificadas.

Resultados
1
2
3

4
5

Deber:
Presentar los resultados y una discusin de los mismos
Presentar la informacin en forma de texto, cuadros y figuras, y siguiendo una secuencia
lgica.
Describir los hallazgos encontrados y el resultado de los anlisis, apoyado con cuadros y
figuras.
No repita en el texto los datos de los cuadros o figuras, sino resalte o resuma las
observaciones ms importantes. No repita conceptos indicados en la metodologa.
Puede combinarse la seccin de resultados con la Discusin

Discusin
1

3
4

Deber:
Explicar el significado de los resultados con el apoyo de referencias bibliogrficas, as
como sus implicancias en futuras investigaciones. Compare las observaciones realizadas
con aquellas de otros estudios pertinentes. Enfatice en aspectos nuevos e importantes del
estudio y en las conclusiones que se deriven de ellos.
Discutir las implicancias tericas o prcticas del estudio.
Evitar afirmaciones o conclusiones insuficientemente avaladas por los datos o con
resultados sin soporte estadstico.
No repetir los datos de informacin presentada en las secciones previas.

79

Revista Alghoritmic

ISSN 2220-3982 Pag 80

5 No hacer afirmaciones sobre costos o beneficios econmicos, salvo que en el trabajo se


incluyan datos y anlisis econmicos.
Conclusiones
1
2
3

Presentar en forma muy breve los principales hallazgos y planteamientos que fueran
producto del estudio. Use vietas si se tiene varias conclusiones.
Evitar conclusiones y opiniones personales que no estn respaldadas por los datos
presentados.
No sugiera continuar investigando sobre el tema. Esto no constituye una conclusin.

Agradecimientos
De haberlas:
Reconocer la ayuda de personas e instituciones que aportaron significativamente al
desarrollo de la investigacin, as como la entidad que financi el estudio.

Literatura Citada
Las referencias son importantes en todo trabajo acadmico pues indican al lector las
distintas fuentes de sus citas o ideas trabajadas en su investigacin. El mundo acadmico es
sumamente estricto en este sentido y una falta al indicar las fuentes equivale a plagio (o
hurto literario). En este sentido, el propsito de un sistema de referencias es describir las
fuentes de manera exacta y rigurosa, para indicar -en el mismo trabajo- dnde y cmo
fueron empleadas.

Deber:
1

2
3
4

Ordenarse alfabticamente por el apellido del autor. El formato requiere que los ttulos de
libros, diarios, etc. sean destacados utilizando tipografa itlica (conocida tambin como
cursiva). Si tiene dos o mas referencias de los mismos autores se ordenan por ao de
publicacin; si estos estn publicados en el mismo ao se ordenan por orden alfabtico de
los ttulos de los artculos, agregando un sufijo al ao de publicacin (por ejemplo, 2005,
2005b); y si tiene dos o mas referencias del mismo ao de publicacin y con tres o mas
autores, donde el primer autor es el mismo, se les agrega el sufijo al ao de publicacin
como en el caso anterior.
Limitar el nmero de referencias a las ms pertinentes o de mayor actualidad.
Solo la primera palabra y los nombres propios en los ttulos de las publicaciones van en
mayscula.
Evitar citar resmenes y literatura de publicaciones que no sean cientficas.

Libros
La informacin para citar un libro usualmente esta consignada al inicio de la obra, en el
reverso de la pgina del ttulo. Asegrese de identificar correctamente el nombre la casa
editorial y no confundirla con el de la imprenta. Esta es una informacin muy importante en
su lista de referencias. El Catlogo de su Biblioteca le proporcionar el nombre de la
editorial si tuviese alguna duda. No considere las fechas de reimpresin; lo que debe
considerar es la fecha en que se public la primera, segunda o la tercera edicin de la obra,
la misma que debe corresponder con la edicin que est empleando en su trabajo. En
algunos casos, es importante sealar la fecha de la primera edicin o versin original del
libro.
Moran Cortez, Enma Teolinda, Pearson H. 2001. Compactacion de memoria, 6 ed. Madrid:
McGrawHill. 150p.

Artculos de Revistas Cientficas

80

Revista Alghoritmic

ISSN 2220-3982 Pag 81

La informacin necesaria para citar un artculo de revista puede encontrarse, generalmente,


en el ndice, portada o en el artculo mismo.
Canepa Suarez JL, Wheaton JE. 2007. Tecnicas de modelamiento de datos. J Anim Sci
85:3249-3255.
Lam HM, Zhang QF. 1994. Risk assessment of nickel carcinogenicity and occupational lung
cancer. Environ Health Perspect 102 (Suppl.l):275-282.

Fuentes electrnicas
El patrn bsico para una referencia electrnica es:
Autor, inicial(es) de su nombre (ao). Ttulo. Mes, da, ao, de la direccin en
Internet.
Bancos, I. (n.d.). Las redes neuronales y la solucin de problemas del sector salud. Obtenida
el 29 de agosto de 2008, de http://www.coreguide.direct.nhs.uk/

Si no consigue identificar la fecha en que el documento fue publicado, utilice la abreviatura


n.d. (no date [sin fecha]).
Si no consigue identificar al autor, empiece su referencia con el ttulo del documento.
Si el documento se ubica dentro de una pgina institucional, como la de alguna universidad
o departamento gubernamental, primero cite el nombre de la organizacin o del
departamento en cuestin, antes de dar la direccin electrnica:
Cortez Vasquez , A., & Villen, J. A. (2003). Evaluando las Fuentes Electrnicas.
Consultado el 21 de agosto de 2001, Widener University, pgina web conmemorativa de la
biblioteca Wolfgram: http://www.ridener.edu/ Library/webevaluation / webeval.htm
Construyendo una idea. (2005). Consultado el 5 de septiembre de 2001, Portsmouth
University, pgina web de Servicios Profesionales:
http://www.port.ac.uk/departments/careers/plancareer/deciding-your-future.htm

Artculos electrnicos de revistas cientficas que a su vez son reproduccin de la


versin impresa
Emplee el mismo formato de referencia que utiliza para un artculo de revista cientfica
impresa y agregue "versin electrnica" entre corchetes, despus del ttulo del artculo:
Huerta Vega, Hugo. (2001). Un modelo de sistemas expertos para dietas caseras
[versin electrnica ]. Journal of Common Market Studies, 39(3), 228- 239.

Si tiene que citar un artculo electrnico cuya versin se diferencia de la versin


impresa, o incluye datos o comentarios adicionales, debe agregar la fecha en que
usted consult el documento en la web y su respectiva direccin (URL).
Artculos de revistas cientficas que slo se publican en la web.
Utilice la fecha completa de publicacin que figura en el artculo.
Cercirese de que no tenga paginacin.

Siempre que sea posible, procure que la direccin electrnica que cite (URL) remita
directamente al artculo.
Evite citar una direccin electrnica en dos lneas y cuide que el enlace (URL) no se
corte despus de un guin o antes de un punto. No inserte guiones en el enlace
cuando esto ocurra.
Korda, L. (2001, Julio). La fabricacin de un traductor. Translation Journal, 5(3).
Consultada el 21 de agosto de 2001, http://accurapid.com/journal/17prof.htm

81

Revista Alghoritmic

ISSN 2220-3982 Pag 82

Artculos obtenidos de una base de datos


Utilice el formato apropiado al tipo de trabajo obtenido y agregue la fecha de recuperacin del
material ms el nombre de la base de datos:
Moran Cortez, T. (2000, Julio 9). Distribucin de archivos en un sistema inteligente. The
Observer, p.7. consultado el 10 de septiembre de 2001, en The Porter y The Observer, en su
base de datos en CD-ROM.

a) Captulos de libro
Lama J. 1999. Sistemas expertos. En: Hafez ESE, Hafez B, eds. Reproduccin e
inseminacin artificial en animales. 7 ed. Mxico: McGrawHill. p224-242.

b) resmenes de congresos o reuniones


Argenti P, Ly J, Espinoza F. 2007. Evaluacin del efecto de secuestrantes en el control de
micotoxinas en alimentos para cerdos en crecimiento. En: XX Reunin ALPA. Cusco:
Asociacin Latinoamericana de Produccin Animal.

c) Tesis
PARIONA.J 2008 Deteccin de errores en el analisis sintactico de un compilador. Tesis de
Lic en Computacion. Lima: Univ. Nac. Mayor de San Marcos. 48 p.

d) Informe cientfico o tcnico


[UNMSM] Instituto de Investigacion. 2001. Factores de riesgos en la transmisin
electronica de datos. Lima Peru.541 p.

e) Material electrnico en CD ROM


Amadeo Vsquez Tavara. 2003. Redes Neuronales Artificiales [CD-ROM]. 13 ed. Madrid:
Editorial Medica Panamericana. 363 p.

f) Articulo en revista electrnica


Aparicio-Acosta FM. 2000. Universidad , Ciencia y Tecnologia [Internet], [28 noviembre
2007]. Disponible en: http://www.uk.es/bdARTE/v6n.htm

g) Sitio de Web
Portal Agrario. 2007. Lima: Ministerio de Agricultura. [Internet], [12 agosto 2007].
Disponible en: http://www.minag.gob.pe/

Cuadros
1. Las tablas deben de haber sido citados en el texto.
2 El titulo en la parte inferior comienza con la palabra Tabla, seguida del nmero que le
corresponda. Va en minscula con excepcin de los nombres propios y acrnimos. No lleva
puntuacin al final del titulo.
3 Cada columna debe ser identificada y solo la primera letra del encabezado va en mayscula.
Las explicaciones se colocan como notas al pie.

Figuras
1. Las figuras incluyen grficos, fotografas, imgenes, mapas y diagramas. Deben ser citadas
en el texto.
2 El titulo y la leyenda se colocan en la parte inferior de cada figura. El titulo comienza con la
palabra Figura, seguida del nmero que le corresponda. Va en minsculas, a excepcin de
los nombres propios y acrnimos.
3 Si la figura ha sido previamente publicada (a excepcin de documentos de dominio
pblico), cite la fuente original al final de la leyenda.

Unidades de medida
1. En los valores numricos, el punto seala la separacin entre los nmeros enteros y las
fracciones (ejemplo: 6.35). Se usa la coma para separar nmeros con ms de tres dgitos
(ejemplo: 9,232.5). Se coloca el 0 a la izquierda del punto en nmero y la unidad que le
corresponde.

82

Revista Alghoritmic

ISSN 2220-3982 Pag 83

2. No comience una frase con un nmero. Utilice otra expresin o deletree el nmero y la
unidad que le corresponde.
3. Al hacer referencia a porcentajes, el smbolo se coloca junto al nmero sin espacio en
blanco entre ellos (85%).
4. Cada vez que se mencione un nmero inferior a 10 y que no vaya seguido de una unidad de
medida, ste debe deletrearse (ejemplo: cuatro archivos, 14 procesos, dos gigabytes, etc.).
Si se menciona una serie de elementos semejantes que incluyen numero mayores y menores
de 10, todos se colocan en caracteres numricos.

Abreviaturas y smbolos
1. Utilice nicamente abreviaturas estndares. Las abreviaturas de las unidades de medida se
usan cuando van inmediatamente despus de un nmero. Evite las abreviaturas en un titulo
y en el resumen.
2 Al emplear una abreviatura en el texto por primera vez, ir entre parntesis precedida del
termino completo, salvo si se trata de una unidad de medida comn.
3 El resumen, as como cada cuadro y figura, debe entenderse en forma independiente, de
modo que las abreviaturas usadas deben ser definidas en extenso en cada caso.
4 Todas las abreviaturas de las unidades de medidas se escriben en singular, aunque se
refieran a un plural (ejemplo: kb, no kbs; gb, no gbs).
5 Trminos latinos como in situ, a priori, deben escribirse en cursiva.
6 El uso de y/o no esta permitido. Usar la ms adecuada o cambiar de expresin.
7 Usar el sistema de 24 horas al referirse al tiempo (Ejemplo: 14:10 en vez de 2:10 p.m.).

Formas de citar referencias bibliogrficas en el texto


1 En las citaciones en el texto, indique el concepto y coloque el autor entre parntesis
(Crdenas, 2005) o indicando que determinado autor seala un concepto [Vsquez
Moran (1975) se obtiene mayores ganancias de peso]
2 Alternativamente se puede citar una referencia de las fuentes al final del articulo
consignando el numero de la referencia entre corchetes.
Ejemplo
las bases de datos se definen...[4]
3 Las referencias en el texto principal se trabajan dando por supuesto que las mayores
especificaciones se ofrecern en la Bibliografa final del trabajo. De la siguiente
manera:
Crdenas (2005, p.45) En un estudio de las Bases de datos orientadas a objetos...
En un estudio de las Bases de datos orientadas a objetos (Crdenas, 2005,p.45)...

Cuando un autor, o un grupo de autores, tiene(n) ms de una publicacin en el mismo ao


especifique la fecha con una letra minscula. Por ejemplo:
En dos estudios recientes (Harding, 1986a, p.80; Harding, 1986b, p.138) se sugiri que...
En dos trabajos recientes (1986a, p.80; 1986b, p.138) Harding sugiri que...

Si se incluyen dos o mas citas dentro de una misma frase, las citas se arreglan en orden
cronolgico. Si tienen el mismo ao de publicacin se arreglan en orden alfabtico. Si el
mismo autor tiene varias publicaciones con distintas fechas se cita con el apellido del autor
seguido de los aos de las publicaciones.
(Garca et al., 1999; Prez y Vega, 2001; Ogata, 2006)
(Ball, 2004; Smith, 2004)
(Gil y Chvez, 2002, 2004)

Para citar a varios autores (hasta cinco autores) escriba todos los autores la primera
vez, despus utilice et al. [y otros]. la primera vez sera (Moore, Estrich, McGillis, y
Spelman 1984, p.33) y las referencias subsecuentes a la misma publicacin se haran con
(Moore et al.).

83

Revista Alghoritmic

ISSN 2220-3982 Pag 84

Para seis autores o ms, utilice en cualquier caso et al. despus del primer
autor. Cercirese de utilizar y para los casos en los que la referencia a et al. tenga
lugar dentro de su texto normal. En cambio, cuando esta referencia se incluya
completa entre parntesis, utilice el signo "&".
Cuando necesite referenciar una fuente cuyo autor no ha podido identificar con
precisin, cite las primeras dos o tres palabras del ttulo, seguido por el ao.

. ... en un reciente publicacin (Enciclopedia de la Psicologa , 1991, p.62)... ...


en el siguiente artculo ("Diferencias individuales," 1993, p.12)...

Este ejemplo es permitido para las direcciones electrnicas donde no ha podido identificar
ningn autor. Sin embargo, si el autor es "annimo", cite la palabra Annimo en su texto, por
(Annimo, 1993, p.116).

Nota: subraye o ponga en cursiva [itlica] el ttulo de un diario o el un libro y use comillas
dobles para identificar el correspondiente ttulo del artculo o captulo.
7) Cuando use citas literales en su texto principal, hgalo de la siguiente manera:
l seal que "la importancia relativa de los sistemas puede, sin embargo, ser
continua aproximadamente en la misma proporcin" (Gardner, 1973, p.41)
Smith (1991) descubri que "... no hay evidencia de que los chimpancs que
producen un dibujo distingan el objeto representado en l... "(p.84)

8) Si usted necesita citar una investigacin que encontr en otro trabajo, puede hacerlo de las
siguientes maneras:
Navarrete (2010, p.65) cita a Roig (1999) quien descubri que...
Roig (1999), citado por Navarrete (2010, p.65), descubri que...
Se encontr (Roig, 1999, citado por Navarrete, 2010, p.65) que...

9) Si la referencia tienen uno o dos autores, la cita contiene el (los) apellido(s) y el ao de


publicacin. Si tiene tres o mas autores, se cita slo con el apellido del primer autor seguido
de et al. Y el ao de publicacin. Si los autores tienen el mismo apellido se incluyen las
iniciales.
autor: Aho (1999)
autores: Pariona y Navarro (2001)
o mas autores: Tenembaum et al. (1999)
Apellido similar: Aho, T. y Aho, C. (1998)
4 La referencia es de una institucin se prefiere usar el nombre abreviado en el texto. Sin
embargo, si se le cita pocas veces, puede usarse el nombre en extenso.
El numero de alumnos desertores es de 400(UNMSM, 2005).
El numero de alumnos desertores en el pas es de 1250(Facultad de Educacin, 2005).

PRESENTACIN DEL ARTICULO


1

La presentacin del articulo deber hacerla personalmente el responsable del articulo,


debiendo presentar dos copias impresas del manuscrito en papel Bond A4 (Las figuras que
deban ir a color debern ser impresas a color) y en un CD debidamente rotulado,
conteniendo el trabajo en un archivo de Word, las ilustraciones en formato jpg. La Oficina
de la RISI: Av. Amezaga s/n CU San Marcos Pabelln Facultad Ingeniera de Sistemas,
3er piso Ofic. 301 Lima. Tel 6197000-3604
Si hubiera mas de un autor, el responsable debe ser el primero de la lista consignada en la
presentacin.
La RISI no cobra costos de impresin a los autores.

PROCESOS DE REVISIN
1. El Comit Editorial (CE) de la RISI verificara que el articulo presentado se circunscriba a la
temtica de la revista y que el formato del documento se encuadre dentro de las
especificaciones solicitadas a los autores.

84

Revista Alghoritmic
2
3

ISSN 2220-3982 Pag 85

Los trabajos que cumplan con estos requisitos sern derivados a los revisores cientficos
para su revisin.
Los revisores mantienen la confidencialidad del contenido del manuscrito, realizan una
revisin profesional al documento y preparan su informe con comentarios y sugerencias en
forma clara y precisa.
Los autores cuyos trabajos sean sujeto de correcciones debern resolverlas y devolver una
carta aceptando las sugerencias, presentando las modificaciones o justificando las razones
para no modificar.
El CE, en base a la respuesta de los autores, aprobar o rechazar el articulo y le
comunicara la decisin final a los autores. As mismo, enviara una carta electrnica a los
autores de trabajos indicando las razones correspondientes.

85

Das könnte Ihnen auch gefallen