Top Banner
Revista Alghoritmic ISSN 2220-3982 Pag 1 Revista Alghoritmic ISSN 2220-3982 Pag 1 º Revista de Investigación ALGHORITMIC Vol. 1 N 1 ISSN 2220-3982 versión impresa Lima-Perú 2010 UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Decana de América Facultad de Ingeniería de Sistemas e Informática INSTITUTO DE INVESTIGACION
85
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Revista Alghoritmic ISSN 2220-3982 Pag 1

    Revista Alghoritmic ISSN 2220-3982 Pag 1

    Revista de Investigacin

    ALGHORITMIC

    Vol. 1 N 1 ISSN 2220-3982 versin impresa

    Lima-Per 2010

    UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Decana de Amrica

    Facultad de Ingeniera de Sistemas e Informtica

    INSTITUTO DE INVESTIGACION

  • Revista Alghoritmic ISSN 2220-3982 Pag 2

    2

    Presentacin

    El Instituto de Investigaciones de la Facultad de Ingeniera de Sistemas e Informtica de la

    Universidad Nacional Mayor de San Marcos, Lima Per, tiene como actividad principal la

    investigacin cientfica en las reas de Ingeniera de Sistemas, Ingeniera de software,

    Computacin e Informtica. El Instituto pretende ser un medio para difundir e integrar las

    disciplinas de las tecnologas de la informacin en el debate acadmico de nuestro tiempo.

    La Revista Alghoritmic es una publicacin cientfica editada por el Instituto de

    Investigaciones de Ingeniera de sistemas e Informtica, tiene una periodicidad semestral,

    se publica tanto en su versin impresa como digital; recibe artculos originales e inditos

    en los temas de relacionados con el campo de la Ingeniera de Sistemas, Ingeniera de

    Software, Ciencias de la Computacin e Informtica. El propsito principal es contribuir al

    esfuerzo que despliega la Facultad de Ingeniera de Sistemas. Para ello, el Instituto aspira a

    recoger las mltiples perspectivas tericas y empricas del conocimiento cientfico y

    difundirlas en la Revista Alghoritmic.

    El Comit editorial de la Revista Alghoritmic, expresa su satisfaccin y agradecimiento a

    cada uno de los responsables de los artculos, quienes muestran algunos resultados de los

    trabajos de investigacin que vienen desarrollando en nuestra facultad.

    Agradecemos al Vicerrectorado de Investigacin, al Consejo Superior de Investigaciones, y

    a la Facultad de Ingeniera de Sistemas por el apoyo econmico y financiero para la

    publicacin de la revista, as como a los docentes e investigadores, quienes conjugando

    docencia e investigacin comprenden a cabalidad la labor de una Facultad que forme

    profesionales de calidad, aportando sus conocimientos y experiencia volcados en sendos

    textos que presentamos en las siguientes paginas. Podemos apreciar que existe un esfuerzo

    importante por parte de los propios docentes de la Facultad y de la Universidad por aportar

    en la generacin de nuevas ideas y conocimientos que enriquezcan nuestro amor por la

    investigacin, y que generen a su vez nuevos conocimientos, integrndolos a sus procesos

    formativos, que puedan ser transmitidos a los alumnos y ex alumnos de nuestra querida

    Alma Mater.

    Editor Responsable

  • Revista Alghoritmic ISSN 2220-3982 Pag 3

    3

    Universidad Nacional Mayor De San Marcos

    Facultad de Ingeniera de Sistemas e Informtica

    Instituto de Investigacin de Ingeniera de Sistemas e Informtica

    Rector Dr. Luis Izquierdo Vsquez

    Vicerrector Acadmico Dr. Victor Pea Rodriguez

    Vicerrector de Investigacin Dra. Aurora Marrou Roldn

    Consejo Superior de Investigaciones Dr. Armando Yarleque Chocas

    Facultad de Ingeniera de Sistemas e Informtica

    Decano Mg.Carlos Navarro Depaz

    Instituto de Investigacin de Ingeniera de Sistemas e Informtica

    Director Mg. Augusto Cortez Vsquez

    Comit Editorial Mg. Augusto Cortez Vsquez

    Editor responsable

    Dr Renato Benazic Tome

    La revista Alghoritmic cuenta con el auspicio de la Facultad de Ingeniera de Sistemas Informtica, el

    Vicerrectorado de Investigacin y el Consejo Superior de Investigaciones

    Instituto de Investigaciones

    Facultad de Ingeniera de Sistemas e Informtica

    Pabelln de la Facultad de Ingeniera de Sistemas e Informtica

    Ciudad Universitaria. Av. Venezuela cuadra 34 Lima 1 Per

    Revista de Investigacin Alghoritmic

    Vol. 1 N 1 2010 ISSN 2220-3982 versin impresa

    Lima-Per

    E mail: [email protected]

    Home Page http://www.sistemas.unmsm.edu.pe

    Telefono 6197000-3604

    Cartula Facultad de Ingeniera de Sistemas e Informtica UNMSM Lima Per

    Los puntos de vista expresados por los autores son de estricta responsabilidad de ellos y no necesariamente

    reflejan la opinin del Editor ni del Comit Editorial; por lo tanto, no se asume responsabilidad por el contenido

    de cada artculo.

  • Revista Alghoritmic ISSN 2220-3982 Pag 4

    4

    Revista de Investigacin Alghoritmic

    Vol. 1 N 1 ISSN 2220-3982 Agosto- Diciembre 2010

    Lima-Per

    INDICE

    Presentacin

    1. Ingeniera dirigida por Modelos 7

    Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,

    2. Modelamiento matemtico de un servidor de correo electrnico 21 Flix Armando Fermn Prez

    3. Sistemas de Razonamiento basado en Reglas para determinar recomendacin 28

    de ciruga refractiva

    Augusto Cortez Vasquez, Virginia Vera Pomalaza

    4. Sistema de Multiagentes para Implementacin de Sistema Generacin de 37 Horarios

    Gilberto Salinas Azaa

    5. Servicios web utilizando ASP 45 Santiago Moquillaza Henrquez, Percy de la Cruz Velez de Villa,

    Hugo Vega Huerta

    6. Base de datos distribuidos usando algoritmos genticos para optimizacin de 56

    proceso de transaccin en la web

    Luzmila Pr Concepcin

    Programas y Lneas de Investigacin 76

    Instructivos para la presentacin de artculos 77

  • Revista Alghoritmic ISSN 2220-3982 Pag 5

    5

    Revista de Investigacin Alghoritmic

    Vol. 1 N 1 ISSN 2220-3982 versin impresa January - July 2010 ISSN Electronic version Lima-Per

    INDEX

    Presentation

    1. Model Driven Engineering 7

    Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,

    2. Mathematical modeling of a mail server 21 Flix Armando Fermn Prez

    3. Rules-based reasoning systems for refractive surgery is recommended 28 Augusto Cortez Vasquez, Virginia Vera Pomalaza

    4. Multiagent System for Generating System Implementation Schedule 37 Gilberto Salinas Azaa

    5. Web services using ASP 45

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

    Hugo Vega Huerta,

    6. Distributed database optimization using genetic algorithms for transaction 56 processing on the web Luzmila Pr Concepcin

    Instructions for submission of articles 77

  • Revista Alghoritmic ISSN 2220-3982 Pag 6

    6

    Ingeniera dirigida por Modelos

    Model Driven Engineering

    Espinoza Robles Armando David ,Trujillo Trejo John Ledgard,

    Universidad Nacional Mayor de San Marcos

    Facultad de Ingenieria de Sistemas e Informatica

    [email protected], [email protected],

    RESUMEN

    La Ingeniera dirigida por modelos(IDM), un nuevo paradigma en el proceso de desarrollo de

    software, viene ganando terreno en el ambiente del desarrollo de software, por los que se hace necesario

    tener claridad sobre sus conceptos fundamentales, tal como poner como centro del proceso de desarrollo

    de software a los modelos, la necesidad de tener un lenguaje de dominio especifico para modelar los

    dominios, producir con esto modelos productivos, que puedan ser transformados en diversos artefactos,

    y que el mantenimiento de estos artefactos no produzcan el desfase de los modelos.

    Palabras claves Modelo, Meta Modelo, Dominio Especifico, Lenguaje de domino especifico, Transformacin.

    ABSTRACT

    The Engineering headed by models(WDR), a new paradigm in the process of development of software,

    Is gaining ground in the environment of software development, which makes necessary to have clarity

    on their fundamental concepts, such as put as a center of the process of development of software to the

    models, The need to take a language of domain specific to shape the domains, produce with this

    production patterns, which can be processed into various artifacts, and that the maintenance of these

    devices do not produce the gap of the models.

    Key Words

    Model, Meta Model, Domain Specific Language of domino specific, processing.

  • Revista Alghoritmic ISSN 2220-3982 Pag 7

    7

    1 INTRODUCCION La mayora del Software en la actualidad aun se sigue desarrollando de manera artesanal. Aun es poco

    la cantidad de software que se realiza siguiendo un modelo especfico.

    Los modelos recorren todo el ciclo de vida del software, sin embargo en la mayora de los casos, los

    modelos solo sirven para un propsito especfico, despus de cual quedan obsoletos.

    Una vez elaborado el cdigo de un Sistema Informtico, este cdigo es sometido a un proceso de

    mantenimiento continuo. Los modelos que sirvieron en las distintas fases del ciclo de vida del

    software, para la elaboracin del Sistema, quedan obsoletos y ya no reflejan la realidad cambiante del

    Software.

    UML es de inters en todo el mundo y se ha tomado como un estndar de hecho para la realizacin de

    modelos por lo que se vincula a un modelo con un diagrama UML, el cual sirve para esbozar una parte

    del software. Una vez generado el cdigo estos modelos pasan al olvido.

    La Ingeniera Dirigida por Modelos (IDM) se plantea poner en el corazn del proceso de la elaboracin

    del software a los Modelo. Esto supone manejar los Modelos de una manera informtica, es decir los

    modelos deben estar rigurosamente definidos, para poder realizar la transformacin de estos modelos.

    IDM parte de considerar que el Software no es solo el cdigo, por lo que plantea que los modelos

    siempre deben reflejar la situacin actual del software, por lo que cualquier actualizacin del cdigo

    debe tambin reflejarse en la actualizacin de los modelos.

    MDA (Model Driven Architecture) es una propuesta de la OMG, es una implementacin posible de

    IDM, pero el MDA tiene limitaciones como estar basado en UML y MOF ((Facilidad de Meta

    Objeto) y los estndares de OMG. IDM pretende sobrepasar los marcos del MDA

    Durante aos existi una relativa estabilidad de los sistemas, en la actualidad ya no es as, por razones

    econmicas y comerciales los sistemas evolucionan rpidamente y cuando esto sucede el impacto

    sobre el software es cada vez mas importante.

    En la actualidad los sistemas son cada vez ms complejos, esta complejidad de los sistemas se trata de

    modelizar usando un solo lenguaje estndar, el UML, por ser este un consenso de facto, pero es

    bastante difcil que este lenguaje puede servir para modelizar toda la complejidad del software.

    En muchas casos para las especificacin de un sistema se recurre al lenguaje natural el cual es de por si

    ambiguo y tiene una falta de precisin. Para expresar un buen nivel de abstraccin se debe recurrir a

    lenguajes ms formales que nos ayuden a describir los diversos modelos en el ciclo de vida del

    desarrollo del software, como Lenguaje de descripcin de Arquitectura (ADL), Lenguajes de Dominio

    especfico (DSL)

    La IDM al poner los modelos como el centro del desarrollo de Sistemas de Informacin, se plantea el

    problema de encontrar lenguajes de modelizacin que tengan la suficiente semntica para expresar de

    manera formal niveles altos de abstraccin en cada etapa del proceso del Ciclo de vida del desarrollo

    de un Sistema de Informacin.

    Es de suma importancia para los Analistas de Sistemas, poder elaborar modelos bien definidos, para

    los cual deben contar con lenguajes de modelizacin formales que les permita realizar un alto nivel de

    abstraccin

    Para lo cual se debe utilizar Lenguajes de domino especficos para realizar Modelos de Dominio

    Especifico, que permita un alto nivel de abstraccin y modelos productivos bien definidos. En lugar de

    usar un modelo general como el UML.

  • Revista Alghoritmic ISSN 2220-3982 Pag 8

    8

    2 REVISION GENERAL

    IDM es un reciente paradigma donde el cdigo no es considerado el centro del software. El

    cdigo es un elemento, un modelo producido por la fusin del modelamiento de diferentes

    elementos. Minsky M. define que "Para un observador B, un objeto M* es un modelo de

    un objeto M en la medida en que B puede utilizar M* para responder a las preguntas que

    le interesen acerca de M. Esta definicin muestra que un modelo es un objeto destinado a representar un particular comportamiento, dependiendo de un particular contexto. En el

    contexto del IDM, modelos interesantes son aquellos que pueden ser formalizados para

    hacerlos productivos. Algunos autores integran esta limitacin en la definicin de modelo:

    Un modelo es una descripcin de (parte de) un sistema descrito en un bien definido

    lenguaje. En IDM, cada lenguaje es descrito por un meta modelo. Un Meta Modelo es una

    modelo de especificacin que define el lenguaje para expresar un modelo. De esta manera

    un meta modelo permite a los diseadores especificar su propio lenguaje de dominio

    especifico. Modelos y Meta Modelos son los principales conceptos de IDM

    Ingeniera Dirigida Por Modelos IDM El Enfoque de la Ingeniera Dirigida por Modelos (IDM) ha sido propuesto en el dominio de

    la ingeniera de software con el fin de proveer tcnicas y herramientas para tratar con los

    modelos de una forma automtica. El punto de vista de IDM esta basado en modelos, meta

    modelos, transformacin de modelos y tejido de modelos y apuntan a producir modelos

    productivos por ejemplo modelos concentrados e su poder generativo. Considerando esos dos

    dominios y la interaccin hombre maquina en IDM, la meta es entender las necesidades de

    diseo de la interaccin hombre maquina (HCI) para estudiar como las herramientas IDM

    pueden soportar las necesidades de HCI. El propsito del estudio de las herramientas IDM en

    consideracin a la gestin del modelo HCI

    El objetivo de la gestin de los modelos es proveer tcnicas y herramientas para relacionar los

    modelos de una forma ms automtica. Ello ha estado siendo estudiado por aos por varias

    comunidades de investigadores, en el contexto de bases de datos, gestin de documentos e

    ingeniera de software. En estos das un enfoque federativo emerge: Ingeniera Dirigida por

    Modelos IDM. En los orgenes del movimiento, el Grupo de Gestin de Objetos propuso la

    Arquitectura dirigida por modelos paran tecnologas orientadas a objetos. Pero esta dependa

    de una tecnologa y la ausencia de claridad en la definicin de los conceptos llevo a un punto

    de vista ms general, IDM. En IDM, cualquier tipo de modelo puede ser tomado dentro de una

    versin. As IDM esta difundindose rpidamente, en particular en el dominio HCI como

    puede ser visto por el recurrente taller Model Driven Development of Advanced User Interfaces una de las mayores conferencias acerca de IDM [3] En las cinco dcadas pasadas, los investigadores de software y los desarrolladores han estado

    creando abstracciones que los ayudan a programar en trminos de sus de diseos propuestos,

    envs de en trminos del ambiente de computacin subyacente por ejemplo, CPU, Memoria, y aparatos de red- y escudarlos de las complejidades de estos ambientes de computacin.

    Desde los primeros das de la computacin, estas abstracciones incluan lenguajes y

    tecnologas de plataforma. Por ejemplo, los primeros lenguajes de programacin, como

    Assembler y Fortran, escudaban a los desarrolladores de las complejidades de la programacin

    con cdigo de maquina. De la misma forma, las primera plataformas de sistemas operativos,

    como OS/360 y Unix, escudaban a los desarrolladores de las complejidades de programar

    directamente en hardware.

  • Revista Alghoritmic ISSN 2220-3982 Pag 9

    9

    Aunque estos primeros lenguajes y plataformas elevaron el nivel de abstraccin, aun tenan

    un claro enfoque Orientado a la computacin. En particular, ellos provean abstracciones del espacio de solucin esto es, el dominio de tecnologas de computacin- envs de las abstracciones del espacio del problema que expresan diseos en trminos de conceptos en

    dominios de la aplicacin, como por ejemplo telecomunicaciones, cuidado de la salud, y

    biologa

    Ingeniera de Software Apoyada por Computadoras Un esfuerzo muy importante que comenz en los 80s fue la Ingeniera de Software apoyada

    por computadoras (CASE), el cual se enfocaba en desarrollar mtodos de software y

    herramientas que permitiera a los desarrolladores expresar sus diseos en trminos de

    representaciones graficas de programacin de propsito general, como maquinas de estado,

    diagramas de estructura, y diagramas de flujo de datos. Una meta del CASE fue permitir un

    anlisis mas exhaustivo de programa grficos que acarrean menos complejidad que los

    lenguajes convencionales de propsito general; por ejemplo, mediante el evitamiento de

    corrupciones y fugas asociados con lenguajes como C. Otra meta fue sintetizar artefactos de

    implementacin desde representaciones graficas para reducir el esfuerzo de la codificacin

    manual, correccin de errores y transporte de programas. [2]

    Aunque CASE atrajo considerable atencin en la literatura de investigacin, no fue

    adoptada ampliamente en la prctica. Un problema que enfrento fue que las

    representaciones del lenguaje grafico de propsito general para escribir programas en

    herramientas CASE se mapeaban pobremente sobre las plataformas subyacentes, las cuales

    eran en su mayora sistemas operativos de un solo nodo como DOS OS/2 o Windows- que no tienen el soporte para propiedades importantes de calidad de servicio (QoS), como

    son la distribucin transparente, tolerancia de fallos y seguridad

    Otro problema con CASE fue su inhabilidad para escalar con el propsito de manejar

    sistemas complejos y ha escala productiva en un amplio rango de dominios de aplicacin.

    En general, las herramientas CASE no soportaban la ingeniera concurrente, as que se

    limitaron a programas escritos por una solo persona o por un equipo que se serializaba sus

    accesos a archivos usados por esta herramientas. Las herramientas CASE apuntaron a

    ambientes de ejecucin propietario, lo cual hizo difcil integrar el cdigo que ellos

    generaban con otro lenguaje de software y tecnologas de plataforma. Como resultado,

    CASE tubo un impacto relativamente pequeo en el desarrollo del software comercial

    durante los 80s y 90s.

    Plataforma Actual y Limitaciones del Lenguaje Avances en lenguajes y plataformas en las dos dcadas pasadas han aumentado el nivel de

    abstracciones de software, disponibles para los desarrolladores, y por lo tanto aliviando un

    impedimento a los primeros esfuerzos CASE. Por ejemplo, los desarrolladores hoy usan

    tpicamente lenguajes orientados a objetos mas expresivos, como C++, Java, C#, envs de

    Fortran o C. de la misma forma las libreras de clases reutilizables de hoy en da y las

    plataformas de entorno de aplicacin minimizan la necesidad de reinventar servicios de

    Middelware comn y de dominio especifico, como las transacciones, descubrimiento,

    tolerancia de fallos, notificacin de eventos, seguridad y manejo de recursos distribuidos.

    Debido a la maduracin de lenguajes de tercera generacin y plataformas reutilizables, los

    desarrolladores de software estn ahora mejor equipados para escudarse de las

    complejidades asociadas con la creacin de aplicaciones usando tecnologas pasadas.

  • Revista Alghoritmic ISSN 2220-3982 Pag 10

    10

    A pesar de estos avances, algunos problemas irritantes se mantienen. En el corazn de estos

    problemas esta el crecimiento de complejidad de plataformas, el cual ha evolucionado mas

    rpido que la habilidad de los lenguajes de propsito general para enmascararla. Un

    problema relacionado es que la mayora de cdigo de aplicacin y plataforma todava es

    escrito y mantenido manualmente usando lenguajes de tercera generacin lo cual conlleva

    excesivo tiempo y trabajo, particularmente para actividades claves relacionadas a la

    integracin, como son el despliegue del sistema, configuracin y aseguramiento de la

    calidad.

    Incluso usando nuevas notaciones, como los descriptores de despliegue basados en XML los

    cuales son populares con plataformas de componentes y plataformas de Middleware de

    arquitectura orientada a objetos, esta muy cargado de complejidad. Mucha de esta complejidad

    surge de la separacin semntica entre el propsito de diseo por ejemplo, desplegar componentes 1-50 sobre los nodos A-G y los componentes 51-100 sobre los nodos H-N en

    concordancia con los requerimientos de recursos de sistema y disponibilidad - y la expresin de este propsito en miles de lneas de XML codificado a mano cuya sintaxis visualmente

    densa no expresa ni la semntica de dominio ni el propsito de diseo. [2]

    Un enfoque promisorio para solucionar la complejidad de plataforma y la inhabilidad de los lenguajes de tercera generacin de aliviar esta complejidad y expresar conceptos de dominio

    de manera efectiva es desarrollar las tecnologas de la ingeniera dirigida por modelos que combina lo siguiente:

    Lenguajes de Modelamiento de Dominio Especfico (DSMLs) cuyo tipo de sistema

    formaliza la estructura de la aplicacin, el comportamiento y los requerimientos dentro de un

    particular dominio, tal como servicios financieros en lnea, gestin de almacenes, o incluso

    dominio de plataforma Middleware. Los DSMLs son descritos usando metamodelos, que

    definen las relaciones entre los conceptos en un dominio y especifican precisamente la clave

    semntica y las restricciones asociadas con esos conceptos del dominio. Los desarrolladores

    usan DSMLs para construir aplicaciones usando elementos tipo del sistema capturado por el

    metamodelo y expresar la intencin de diseo declarativa y no imperativa.

    Motores de transformacin y Generadores que analiza ciertos aspectos de los modelos y

    entonces sintetiza varios tipos de artefactos, tales como cdigo fuente, inputs de

    simulacin, descripciones de despliegue XML, o representacin de modelos alternativos.

    La habilidad para sintetizar artefactos desde modelos ayuda a asegurar la consistencia entre

    la implementacin de la aplicacin y el anlisis de la informacin asociada con

    requerimientos funcionales y QoS, capturados por los modelos

    En la actualidad el esfuerzo de investigacin en las herramientas IDM estn enfocadas en

    varios asuntos, uno de ellos es la necesidad de crear lenguajes que ayuden a reducir la

    complejidad del desarrollo y uso de las modernas plataformas. Existen muchos DSMLs que

    simplifican y automatizan las actividades relacionadas con el desarrollo, optimacin,

    despliegue, y verificacin de componentes distribuidos en tiempo real y sistemas empotrados.

    Otro asunto son los IDM Framework que usan tipos extendidos de sistemas para capturar

    software basado en componentes, arquitectura de lnea de productos y organizar esas

    arquitecturas en una jerarqua para transformar modelos independientes de la plataforma

    (PIM) a modelos de plataforma especifica (PSM)

    Como las herramientas IDM atraviesan la brecha de los primeros adoptantes de desarrollo

    de software, una clave del reto es definir estndares tiles que habiliten herramientas y

    modelos para trabajar juntos portabilidad y eficacia. Para eso se evala los pros y contra de

  • Revista Alghoritmic ISSN 2220-3982 Pag 11

    11

    UML 2.0 en trminos del soporte a IDM. Un ejemplo sobre estandarizacin es el open

    Tools Integration Framework, un metamodelo basado en un enfoque para herramientas de

    integracin IDM que define componentes de arquitectura y protocolos de interaccin para

    la formacin de cadena de herramientas de diseo integradas. Otro estndar, tal como

    Query/Views/Transformation y el MetaObject Facility empiezan a definirse como parte del

    estndar OMG para la Arquitectura Dirigida por Modelos basado en UML, puede tambin

    ser til como la base para herramientas IDM de dominio especifico

    Los estndares, por si solo, sin embargo son insuficientes sin una slida infraestructura de

    soporte para el desarrollo y evolucin de las herramientas de IDM. Por lo cual existen varias

    herramientas IDM, tales como Eclipse de IBM, y el Generic Modeling Environment del

    Institute for Software Integrate Systems.

    Muchas herramientas emergentes de IDM que vern la luz en futuro son el Eclipse Graphical

    Modeling Framework, el DSL Toolkit en Visual Studio Team System de Microsoft, y

    openArqchitectureWare disponible de SourceForge.

    Lenguajes de Dominio Especfico

    La industria del software tiene un gran problema cuando trata de construir Sistemas de

    Software grandes y complejos, con menos tiempo y menos dinero. Con C++ y Java fallando

    para aumentar significativamente la productividad de los desarrolladores, no es una sorpresa

    que alrededor del 40% de los desarrolladores estn ya usando o estn planeando usar un

    enfoque de generacin de cdigo para atacar este problema [5]

    Hay ahora muchos casos de estudio de la aplicacin satisfactoria de las herramientas y

    tecnologas de generacin de cdigo y es esta visin la que permite a los desarrolladores

    levantar el nivel de abstraccin por sobre los lenguajes de programacin de propsito general

    es la mejor apuesta para organizaciones de desarrolladores que desean direccionar los problemas de productividad mencionados arriba

    Los generadores de software estn entre los mtodos ms efectivos para lograr la reutilizacin

    de software. Los generadores reducen el costo de mantenimiento, producen software ms

    evolutivo, y proveen aumentos significativos en la productividad del software. Desde un

    punto de vista tcnico, los generadores son compiladores para lenguajes de dominio especfico

    (DSLs) o lenguajes de programacin de propsito general con extensiones especficas de

    dominio [1]

    Implementar un lenguaje de dominio especifico como una extensin de un lenguaje de

    programacin existente (llamado host language = lenguaje husped) tiene diferentes ventajas. Primero, podemos tomar ventaja de la funcionalidad existente y no tenemos que

    reimplementar, constructores de lenguaje comunes. Segundo, las extensiones mismas solo

    necesitan ser transformadas hasta el punto en que puedan ser expresadas en el host language.

    Tercero, la infraestructura existente (ej: ambientes de desarrollo y debugging) pueden ser

    reutilizados. Todos estos factores resultan en menores costos de implementacin para

    desarrolladores de programas y menores costos de transicin y educacin para los usuarios.

    Tabal 1. Relacin de algunos lenguajes de dominio especifico usados ampliamente

    DSL Dominio de aplicacin

    BNF Especificacin de sintaxis

    Excel macro languages Spreadsheets

  • Revista Alghoritmic ISSN 2220-3982 Pag 12

    12

    HTML Hypertext web pages

    LATEX Typesetting

    Make Construccin de Software

    SQL Consultas a Base de datos

    VHDL Diseo de Hardware

    Si vamos a darle facilidades a un experto del dominio para resolver problemas usando modelos, es muy

    importante que los lenguajes de modelamiento representen claramente los problemas del dominio. Por

    lenguajes de modelamiento se entiende la definicin de smbolos y relaciones que son usadas para construir modelos de algn problema del dominio. [10]

    Algunos podaran decir que un correcto punto de vista es definir un lenguaje de modelamiento de

    propsito general, y usarlo en todos los dominios enseando a los expertos del dominio como usar el

    lenguaje de propsito general. La experiencia con UML nos dice que esto no es frecuentemente exitoso.

    Llamamos lenguajes de modelamiento a los que estn cuidadosamente diseados para facilitar el

    modelamiento dentro de particular problema del dominio. Un Lenguaje de Dominio Especfico puede

    ser creado para numerosos problemas de dominio. [10]

    Tabla 2: algunos sistemas de desarrollo de lenguajes y kits de herramientas que han sido usadas

    para desarrollar DSL [7]

    Sistema Desarrollado en

    ASF + SDF CWI/ Universidad de

    Amsterdam

    AsmL Microsoft Research, Redmond

    Draco Universidad de California,

    Irvine

    Eli Universidad de Colorado,

    Universidad de Paderborn,

    Macquarie University

    Gem-Mex Universidad de LAquila

    Info Wiz Bell Labs / AT&T Labs

    JTS Universidad de Texas at

    Austin

    Khepera Universidad de North

    California

    Kodiyak Universidad de Minnesota

    LaCon Universidad de Paderborn

    (LaCon usa Eli como back-

    end)

    LISA Universidad de Maribor

    Metafront Universidad de Aarhus

    Metatool Bell Labs

    POPART USC/Information Sciences

    Institute

    Smgn Intel compiler Lab /

  • Revista Alghoritmic ISSN 2220-3982 Pag 13

    13

    Universidad de Victoria

    SPARK Universidad de Calgary

    Spring LaBRI/INRIA

    Stratego Universidad de Utrecht

    TXL Universidad de

    Toronto/Queens University al Kingston

    el Lenguaje de Modelamiento Unificado UML UML es un lenguaje de modelamiento de propsito general. Su desarrollo empez en 1990 cuando surge

    como un enfoque de unificacin de diagramas para el desarrollo de sistemas orientado a objetos

    propuesto por Booch, Rumbaug y Jacobson. Desde entones ha tenido una serie de revisiones, la mas

    reciente el desarrollo de la versin 2.

    Generacin de Cdigo en UML originalmente significaba un muy bajo nivel de generacin convirtiendo clases sobre un diagrama en una clase en C o Java. La experiencia ha demostrado que este

    nivel de modelamiento no entrega ningn beneficio en el negocio cuando es aplicado al sistema

    completo. Sin embargo, usando mas especializados o elementos de modelamiento mas abstractos, es

    posible aumentar el monto de la generacin. [1]

    Otra cuestin es el bajo nivel de UML y la liviandad (o generalidad) de su semntica: una crtica comn

    es que UML es grande y vago para ser efectivo. Esto presume que la nica posible generacin de cdigo es la generacin de cdigo de muy bajo nivel descrito fcilmente la suposicin es que UML no puede expresar un mas abstracto o especializado concepto. Pero esta crtica ignora los rasgos del

    perfil de UML.

    Contiene un conjunto grande de conceptos de modelamiento que son relacionadas de forma compleja.

    En defensa del tamao y la complejidad de UML 2.0, sus arquitectos sealan que el lenguaje esta

    orientado a soportar el modelamiento de una variedad de dominios. [7]

    Para hacer frente ha esta complejidad, los diseadores organizaron el estndar en cuatro partes:

    Infraestructura define las clases base que proveen los fundamentos para la construccin del modelamiento UML.

    Superestructura define los conceptos que los desarrolladores usan para construir modelos UML.

    Objeto de restriccin de lenguaje define el lenguaje usado para la especificacin de solicitudes, invariantes, especificacin de operaciones, en los modelos UML.

    Intercambio de diagramas define una extensin para el metamodelo UML que soporta almacenamiento e intercambio de informacin pertinente para las capas de os modelos UML.

    Jakarta Tool Suite JTS. El Jakarta Tool Suite (JTS) apunta a proveer esta infraestructura en comn: es un conjunto de

    herramientas independientes de dominio para extender los lenguajes de programacin industrial con

    constructores especficos de dominio. El JTS esta diseado especficamente para crear DSLs y

    generadores GenVoca. El JTS consiste de dos herramientas: Jak y Bali. El lenguaje Jak es un

    superconjunto extensible de Java que soporta meta-programacin (esto es, caractersticas que permiten a

    los programas de Java, escribir otros programas de Java). Bali es una herramienta para la composicin

    de gramticas. JTS es en si mismo un generado GenVoca. Los lenguajes y extensiones de lenguaje estn

    encapsulados como componentes reutilizables. Un componente JTS en un archivo de gramtica Bali

  • Revista Alghoritmic ISSN 2220-3982 Pag 14

    14

    (que define la sintaxis de de un lenguaje o extensin) y un conjunto de archivos Jak (que definen la

    semntica de la extensin como transformaciones sintcticas) [2].

    El Lenguaje Jak Jak es un superconjunto de Java abierto y extensible. Extiende Java con un soporte para meta-

    programacin. (Es decir, caractersticas que permiten a programas de java escribir otros programas de

    java). Jak tiene dos caractersticas claves -que son, constructores AST y Generation Scoping - que los

    distinguen de Java. Ambos han sido implementados como componentes JTS y son ejemplo de los tipos

    de extensiones de lenguaje que el JTS es capaz de expresar

    En la Tabla 3 se muestra algunos Lenguajes de domino especifico y el dominio de su aplicacin.

    SOFTWARE EXISTENTES EN IDM Diversidad de Herramientas En el nivel Commercial y de investigacin, muchas herramientas para IDM estas disponibles o en

    desarrollo. Esas herramientas son designadas como frameworks o como plug-in. Muchas clasificaciones

    y comparacin de herramientas fueron propuestas. Sin embargo, ninguna clasificacin estima el criterio

    funcional que describimos con relacin a las necesidades, en particular en trminos de modelos especficos usados en dominios HCI [3]. En la tabla 4, se muestra herramientas IDM enfocados en el dominio de la interrelacin hombre

    computadora (HCI)

  • Revista Alghoritmic ISSN 2220-3982 Pag 15

    15

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

    Sistema

    Usado

    DSL Dominio de la

    Aplicacin

    ASF+SDF Box

    Risla

    Prettyprinting

    Producto

    Financiero

    Asml UPnP

    XLANG

    Protocolos de

    dispositivos de

    Red

    Protocolos de

    Negocios

    Eli Maptool

    (Various)

    Mapeo de

    Gramticas

    Generacin de

    clases

    Gem-Mex Cubix Virtual data

    warehousing

    JTS Jak Transformacin

    Sintcticas

    LaCon (Various) Transformacin

    de modelos de

    datos

    LISA SODL Aplicaciones de

    Red

    Smg Hoof

    IMDL

    Especificaciones

    de compilador IR

    Reingeniera de

    software

    SPARK Guide

    CML2

    Programacin en

    la Web

    Configuracin de

    sistema

    Sprint GAL

    PLAN-P

    Drivers de

    dispositivos de

    Video

    Protocolos de

    aplicacin

    especifica

    Stratego Autobundle

    CodeBoost

    Construccin de

    Software

    Optimizacin de

    C++ en un

    dominio

    especifico

  • Revista Alghoritmic ISSN 2220-3982 Pag 16

    16

    3 Herramientas en trminos de Meta Modelos y expresin de Modelos. En lo que se refiere a modelos y meta modelos, la comunidad HCI necesita herramientas que no solo

    consideren los modelos UML, Sino tambin modelo especficos. Ya que nuestra lista de herramientas

    esta limitada ha este tipo de herramientas, cualquier herramienta en la lista puede ser adecuada para

    HCI en trminos de soporte de modelos y meta modelos, sin embargo, para refinar nuestra

    comparacin, introducimos un criterio acera de la forma de expresar modelos y meta modelos: los

    modelo y meta modelos pueden ser expresados ya sea textualmente o grficamente. Tambin

    notamos si algunas restriccin se puede aadir par completar modelos y meta modelos. Las

    restricciones estn escritas en OCL, el lenguaje de restricciones de UML, ver Tabla 5

    Tabla 4: Herramientas IDM enfocados al dominio HCI [3] Herramienta Ver Descripcin

    ACCELEO GLPOpen Source

    2.0.0 Eclipse and EMF template-based

    System for MDA generation.

    AndroMDA

    Open source

    3.2 An extensible generator framework. Models from UML tools will be

    transformed into deployable components for your favorite Platform

    (J2EE, Spring, .NET).

    ADT

    Open source

    2.0 ATL Development Tools are a suite of Eclipse plugging including an

    ATL Engine (compiler and virtual machine) as well as an IDE.

    AToM3

    Open source

    2.2 A Tool for Multi-formalism and Meta-Modelling supporting modelling

    of complex systems.

    DSL Tools (Visual

    Studio 2005 SDK)

    4.0 DSL Tools enable the construction of custom graphical designers and

    the generation of source code using domain-specific diagrammatic

    notations in Visual Studio 2005.

    Kermeta 0.4.1 A metamodeling language which allows describing both the structure

    and the behaviour of models.

    ModFact

    GPL-Open source

    1.0.1 A tool that provides a framework For building application.

    Merlin

    Open source

    0.5.0 A software modelling tool based on model transformation and code

    generation

    MDA Workbench

    Open source

    3.0 The MDA Workbench is a MDA tool implemented as an Eclipse plug-

    in based on modelling and code generation.

    MOFLON

    Open source

    1.1.0 A meta modelling framework built as plug-in for the graph

    transformation tool Fujaba.

    OptimalJ

    Professional

    Edition

    3.0 Generator of J2EE applications using patterns to translate business

    models into working applications.

    QVT Partners

    BSD like license

    0.1 Tools based on QVT for transformation models to models and code

    generator.

    SmartQVT

    Open source

    0.1.4 A model transformation tool based on QVT-Operational language.

    UMLX

    Open source

    0.2.0 An experimental concrete syntax for a transformation language.

    Tabla 5. Herramientas IDM en funcin de meta modelos y expresin de modelos [3].

  • Revista Alghoritmic ISSN 2220-3982 Pag 17

    17

    4 Herramientas en trminos de Transformacin de Modelos. Las necesidades de HCI en trminos de operaciones sobre modelos no estn limitas a transformaciones,

    la Tabla 6 muestra todas las manipulaciones de modelo propuestas por la herramientas y muestra que

    solo ADT provee alguna de la infraestructura para la creacin manual de modelos Weaving (Tejido de

    Modelos ), lo cual es una ventaja sobre otras herramientas.

    En la Tabla 6 la palabra texto es usada cuando el resultado de una transformacin es textual que

    puede ser un cdigo escrito en un lenguaje de programacin (Java, C++, C, Fortran etc) que pueden

    ser compilados o interpretados. El termino de XMI es usado cuando el resultado de una

    transformacin es un modelo de la forma XMI (XML meta data interchange), el cual puede ser

    cargado en muchas herramientas de diseo. Aqu tambin ATL y UMLX tienen una ventaja ya que

    proveen el XMI y el formato textual

    Considerando las operaciones de modelo dos herramientas son buenas candidatas para el dominio

    HCI: ATL que es la solucin para trabajos en el espritu SE (Software Engineering) y UMLX que es

    mas adaptada para trabajos con tecnologas WEB.

    Herramientas en trminos de otras Operaciones Es muy importante saber la capacidad de una herramienta para nter operar con otras herramientas. El

    formato es importante para el intercambio de modelos y meta modelos y reducir la separacin con el

    dominio de SE (Software Engineering). Una gran parte de las herramientas estn centradas en la

    especificacin MOF. As que pueden cubrir las necesidades de modelamiento de diferentes dominios

    y especialmente de HCI. Muchos formatos implementados han sido propuestos para el MOF: ECore,

    MDR (Meta Data Repository), KM3 (Kernel Meta Meta Model), DSL (Domain specific languages) y

    CWM (Common Warehouse Metal model). Sin embargo, el DSL no se ajusta a la implementacin de

    MOF. Fue por eso que se creo el KM3: que es un lenguaje especializado para especificar meta

    modelos y es usado como un puente entre el MOF y el DSL. El formato mas usado es ECore, el cual

    es una versin simplificada del MOF. En la Tabla 7 se muestra una lista de herramientas en trminos

    de otras operaciones.

  • Revista Alghoritmic ISSN 2220-3982 Pag 18

    18

    En lo que se refiere a transformacin de modelos el XMI es propuesto para transformaciones pero no

    es tan ampliamente usado. En realidad, muchas otras herramientas prefieren transformaciones

    textuales, en particular para herramientas QVT. En trminos de interoperabilidad, Eclipse propone

    mtodos de facto para el, almacenamiento y la recuperacin de modelos basados en XMI. As que la

    gran mayora de herramientas IDM esta basada en Eclipse y pueden interoperar con otras

    herramientas Eclipse

    Tabla 6: Herramientas IDM en trminos de transformacin de Modelos y Weaving [4]

  • Revista Alghoritmic ISSN 2220-3982 Pag 19

    19

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

    Herramienta Repositorio Interoperabilidad

    Metamodelo Modelo

    transformac

    in

    Restricci

    n

    ACCELEO DSL,MDR,

    ECORE

    - XMI Eclipse,Netbeans

    AndroMDA MOF, DSL - XMI Eclipse

    ADT DSL,KM3,M

    DR, ECORE

    Text (ATL) XMI Eclipse, Netbeans

    AToM3 Proprietary

    graphical

    multi -

    formalism

    - -

    DSL tools DSL-

    Proprietary

    notation

    XML / XMI - Eclipse, Netbeans

    Kermeta ECORE Text (QVT) XMI Eclipse

    ModFact ECORE XMI XMI Eclipse

    Merlin ECORE Text (QVT) XMI Eclipse

    MDA

    Workbench

    ECORE XMI XMI Eclipse

    MOFLON ECORE - XMI Eclipse

    OptimalJ CWM,

    ECORE

    XMI XMI Eclipse

    QVT Partners ECORE Text (QVT) XMI Eclipse

    SmartQVT ECORE Text (QVT) XMI Eclipse

    UMLX ECORE XMI, XSLT XMI,

    XSLT

    Eclipse

    5 CONCLUSIONES

    El paradigma de IDM esta en pleno desarrollo en la comunidad de la Ingeniera de

    Software, y para el IDM lo central son los modelos productivos definidos con rigurosidad

    por lenguajes de domino especifico para lo cual se hace necesario estudiar todas los

    tcnicas y herramientas existentes y ponerlos en trminos del proceso de la IDM, para lo

    cual se debe desarrollar de un mtodo o fragmento de mtodo para modelos de dominio

    especfico que tenga en cuenta los aspectos de los modelos, los procesos, y las

    herramientas.

    Surgirn problemas de interoperabilidad y heterogeneidad entre los diversos modelos que

    expresan a un Sistema de Informacin los cual debe ser abordado y superado

    El proceso de investigacin debe ser realizado enfocando modelos adecuados a temas

    genricos, procesos o herramientas en particular centrarse en el estudio los Gestin de los

    Procesos del Negocio

  • Revista Alghoritmic ISSN 2220-3982 Pag 20

    20

    El UML que es un estndar como lenguaje de modelamiento tiene mucha complejidad y es

    muy genrico para expresar adecuadamente la semntica de un dominio, por lo que para

    expresar rigurosamente los problemas de un dominio especifico se irn imponiendo los

    lenguaje de dominio especifico, los cuales estn en pleno desarrollo.

    6 LITERATURA CITADA

    [1] Don Batory, Bernie Lofaso, and Yannis Smaragdakis, JTS: Tools for Implementing

    Domain-Specific Languages, Department Of Computer Sciences the University Of

    Texas at Austin

    [2] Douglas C. Schmit, Model Driven Engineering, Published by the IEEE Computer

    Society February 2006, Vanderbit University

    [3] Jorge Luis Peres Medina, Sophie Dupuy Chessa, Agnes Front, A Survey of Model

    Driven Engineering Tools for User Interface Design, Laboratory of Informatics of

    Grenoble, France

    [4] Jos Norberto Masn, Enrique Ortega, Juan Trujillo, Ingeniera Inversa dirigida por

    modelos para el diseo de almacn de datos, Dpto. de lenguajes y Sistemas

    Informticos Universidad Alicante

    [5] Mark Dalgrano, Mathew Flowler, UML vs. Domain-Specific Languages, Methods

    & Tools Summer 2008

    [6] Marjan Mernik, Jan Heering, Anthony M. Sloane, When and How to Develop

    Domain Specific languages, University of Maribor, Slovenia , CWI Amsterdam,

    The Netherlands, Macquarie University, Australia. ACM Computing Surveys

    (CSUR), vol. 37, pp. 316-344, 2005

    [7] Mara Valeria Castro, Aproximacin MDA para el desarrollo orientado a servicios

    de sistemas de informacin Web: del modelo de negocio al modelo de composicin

    de servicios Web, Universidad Rey Juan Carlos, Tesis Doctoral, Espaa

    [8] Robert B. France, Sudipto Ghosh, and Trung Dinh Trong Model Driven

    Development Using UML 2.0. Promises and Pitfalls, Published by the IEEE

    Computer Society February 2006, Colorado State University.

    [9] Shane Sendall and Wojtek Kozaczynski, Model Transformation the Heart and Soul

    of Model Driven Software Development, Swiss Federal Institute of Technology in

    Lausanne (EPFL), Software Engineering Laboratory Microsoft, Prescriptive

    Architecture Guidance Group Redmond, WA, USA

    1) Steve Cookl, Domain-Specific Modelling and Model Driven Arquitecture, MDA, Software Architect Enterprise Framework & Tools Grup Microsoft Corporation,

    Jurnal January 2004

    2) Tom Mens, Krzysztof Czarnecki, and Pieter Van Gorp, A Taxonomy of Model Transformations, Software Engineering Lab, Universite de Mons-Hainaut, Belgium,

    Dept. Electrical and Computer Engineering, University of Waterloo, University

    Ave, Canada, Dept. Mathematics and Computer Science, Universite Antwerpen,

    Belgium

  • Revista Alghoritmic ISSN 2220-3982 Pag 21

    21

    Modelamiento matemtico de un servidor de correo electrnico Mathematical modeling of a mail server

    Flix Armando Fermn Prez

    Universidad Nacional Mayor de San Marcos, FISI

    Av. Germn Amzaga s/n Lima 1, Lima, Per

    [email protected]

    RESUMEN

    Sistemas informticos como los servidores de correo electrnico y otros se han constituido

    en componentes vitales de toda organizacin moderna, para administrar adecuadamente sus

    comunicaciones empresariales y sus operaciones. La teora de control trata sobre el gobierno

    automtico de los sistemas; para esto, primero se realiza el modelado matemtico del

    sistema en estudio y luego se procede a disear un controlador que controle el

    comportamiento del mismo.

    La presente investigacin se plantea determinar el modelo matemtico de un servidor de

    correo electrnico utilizando la identificacin de sistemas; para lo cual previamente se

    recoge informacin de su funcionamiento en el log del servidor, y luego mediante un sensor

    software se calcula la longitud de cola del servidor en unidades de tiempo.

    Los resultados de los experimentos han permitido obtener un modelo ARX lineal con una

    aproximacin del 85% al modelo real. Este modelo matemtico servir luego en otro estudio

    para disear un controlador siguiendo la metodologa de la teora de control realimentado.

    Palabras claves: teora de control, servidor de correo electrnico, sensor software.

    ABSTRACT

    Computer systems such as mail servers and others have become vital components of any

    modern organization in order to manage their business communications and operations.

    Control theory deals with automatic control systems; for this, a mathematical modeling of

    the system under study is performed first, and the design of a controller that controls its

    behavior, later.

    The objective of this work is to determine the mathematical model of a mail server using the

    system identification. For this, the input and output data are collected from the server and

    saved in their log, then a software sensor calculates the queue length server in units of time

    The results of the experiments have yielded a linear ARX model with an accuracy of 85% to

    the real model. This mathematical model will be used in another study to design a controller

    using the methodology of feedback control theory.

    Keywords: control theory, electronic mail server, software sensor.

  • Revista Alghoritmic ISSN 2220-3982 Pag 22

    22

    1. INTRODUCCION

    Los sistemas informticos en general se han constituido en componentes vitales de toda

    organizacin moderna, pequea o grande, por lo que es importante invertir no solo en la

    implementacin sino tambin en la administracin y el mantenimiento de servidores de

    aplicaciones web, servidores de base de datos y servidores de correo electrnico, en los que

    basan sus operaciones y comunicaciones. Los administradores de sistemas informticos y

    los jefes de informtica requieren de bastante dedicacin y trabajo manual, adems de contar

    con apropiadas herramientas software para el monitoreo del trfico de red, los tiempos de

    respuesta y la utilizacin de los recursos de procesamiento y de memoria para, por ejemplo

    en el caso de las empresas de telecomunicaciones, asegurar el cumplimiento de los niveles

    de calidad de servicio como parte de los acuerdos de nivel de servicio pactados, o en el caso

    de las pequeas y medianas empresas garantizar la disponibilidad y buen funcionamiento de

    sus sistemas informticos.

    La teora de control, conocida tambin por los trminos de sistemas de control, ingeniera de

    control, teora de servomecanismos, sistemas de control realimentados y otros, trata de

    controlar, regular, gobernar automticamente las caractersticas estticas y dinmicas de

    funcionamiento de sistemas de cualquier tipo [1]. En una arquitectura de control de lazo

    cerrado como el de la Figura N 1, se trata de obtener una seal de salida del sistema de

    control y(k) similar a la referencia r(k), mediante la accin de control u(k) que resulta del

    manipuleo de e(k) por el algoritmo implementado en el controlador. En general se pueden

    plantear objetivos de control regulatorio o de seguimiento cuando se desea por ejemplo

    mantener la utilizacin de algn recurso informtico alrededor de un valor predeterminado;

    de reduccin de las perturbaciones para evitar salir del rango de control en la presencia de

    eventos perturbadores como la ejecucin de programas antivirus u otros que sobrecargan al

    sistema; o de optimizacin, buscando obtener el mejor valor posible en la salida del sistema

    para reducir el tiempo de respuesta de las consultas a una base de datos, por ejemplo.

    Figura N 1. Sistema de control en lazo cerrado. (Elaboracin propia)

    La utilizacin de la teora de control es ampliamente conocida en diferentes reas de la

    ingeniera como la mecnica y otras debido a su enfoque sistemtico de anlisis y diseo de

    controladores basndose fundamentalmente en las matemticas. Utiliza conceptos tales

    como el de funcin de transferencia que relaciona la salida y entrada de los sistemas para

    estudiar ciertas propiedades de los sistemas de control en lazo cerrado. Se estudia la

    estabilidad, por ejemplo, que siempre es lo primero que se busca cumplir y consiste en

    acotar la salida del sistema cuando la entrada tambin lo es. Tambin la exactitud de la seal

    de salida del sistema, cuando se aproxima lo ms posible al valor de la seal de entrada,

  • Revista Alghoritmic ISSN 2220-3982 Pag 23

    23

    aunque en realidad lo que se mide generalmente para fines de control es el denominado error

    de estado estacionario, diferencia entre el valor de referencia, lo que se desea, y el valor real

    de la salida, lo que en realidad se obtiene. Otras caractersticas tales como el tiempo de

    establecimiento que muestra lo rpido que converge el sistema en estudio, o el tiempo de

    subida que muestra la velocidad de respuesta, estn relacionadas al comportamiento

    temporal del sistema. [2]

    La aplicacin de la teora de control a sistemas informticos como los servidores de correo

    electrnico, est orientada a brindar una alternativa de administracin automtica de estos

    servidores, reduciendo y aligerando la intervencin humana especializada cuando, por

    ejemplo, suceden eventos de congestin que degradan la calidad del servicio o incrementan

    el costo de operacin, mantenindolo en un rango aceptable de funcionamiento.

    La metodologa, mostrada en la Figura N 2, consta de dos fases denominadas como

    identificacin de sistemas y diseo del controlador. Este trabajo se centra solo en el

    modelado matemtico del servidor de correo electrnico; para ello, se hace uso de un

    generador de carga de trabajo que simula las solicitudes de servicio al servidor por parte de

    un nmero determinado de usuarios; y de un sensor software que mide la longitud de cola

    del servidor, parmetro necesario para hallar el modelo.

    Figura N 2. Metodologa de aplicacin de la teora de control. (Hellerstein, 2004)

    El inters en aplicar la teora de control a los sistemas informticos no es nuevo aunque data

    de inicios de los aos 90, as por ejemplo en 1991, Keshav [3] propuso controlar el flujo de

    paquetes de datos en redes de comunicacin mediante un modelo en tiempo continuo y la

    regulacin del servicio de colas. De manera similar se hicieron trabajos relacionados con el

    protocolo TCP mediante la utilizacin de modelos de flujo de fluidos [4]; y en el campo de

    los sistemas operativos se propuso su uso en el ajuste de parmetros que controlen las

    asignaciones de memoria [5] y de procesador, lo cual involucraba tener un conocimiento

    detallado de las entradas de control y de las salidas medidas del sistema operativo en

    estudio. Otra rea de aplicacin de la teora de control lo constituyen los middlewares, tales

    como los utilizados para transmitir imgenes y video en tiempo real ajustando

    dinmicamente la calidad de los datos enviados por redes con ancho de banda restringido

  • Revista Alghoritmic ISSN 2220-3982 Pag 24

    24

    [6]. Un middleware es un sistema software que facilita el desarrollo de robustas aplicaciones

    a nivel empresarial; ejemplos de middleware son los servidores de aplicaciones web, los

    servidores de base de datos y los servidores de correo electrnico, por citar aquellos en los

    que se ha aplicado la teora de control con mayor frecuencia. [7]

    2. METODOLOGIA

    Para hallar el modelo matemtico de un servidor de correo electrnico o de cualquier otro

    servidor informtico se puede emplear dos enfoques: el que tiene que ver con la utilizacin

    de las teoras por ejemplo, y de otro lado el enfoque emprico que emplea datos recopilados

    del funcionamiento del sistema mismo, en un periodo de tiempo.

    En trabajos previos se ha tratado de utilizar principios, axiomas, postulados, leyes o teoras

    bsicas para realizar el modelado matemtico de sistemas informticos, pero

    lamentablemente existen algunos serios inconvenientes con este enfoque. Primero, es difcil

    construir un modelo bajo estos principios bsicos ya que a menudo se asumen supuestos

    irreales, debido a la naturaleza compleja y estocstica de un sistema informtico. Segundo,

    es necesario tener un conocimiento detallado del sistema en estudio, ms aun, cuando cada

    cierto tiempo se van liberando al mercado actualizaciones del software, por lo que debera

    contarse con un experto de manera permanente. Y tercero, que este enfoque no aborda lo

    referido a la validacin del modelo. [8]

    La identificacin de sistemas es un enfoque emprico donde deben identificarse los

    parmetros de entrada y salida del sistema en estudio, para luego construir un modelo

    paramtrico como el ARX por ejemplo, basndose en tcnicas estadsticas de autoregresin.

    Este modelo o ecuacin parmetrica relaciona los parmetros de entrada y de salida del

    servidor de correo electrnico de acuerdo a la siguiente ecuacin:

    (1)

    donde y(k) : variable de salida

    u (k) : variable de entrada

    A, B : parmetros de autoregresin

    k : muestra k-sima.

    Debe notarse adems que este enfoque emprico trata al sistema en estudio como una caja

    negra de manera que no afecta la complejidad del sistema o la falta de conocimiento

    experto. Incluso cuando se actualicen las versiones del software bastara con estimar

    nuevamente los parmetros del modelo.

    En [2] se propone realizar la identificacin del sistema de la siguiente manera:

    1.- Especificar el alcance de lo que se va a modelar en base a las entradas y salidas

    consideradas.

    2.- Disear experimentos y recopilar datos que sean suficientes para estimar los parmetros

    de la ecuacin diferencia lineal del orden deseado.

    3.- Estimar los parmetros del modelo utilizando las tcnicas de mnimos cuadrados.

    4.- Evaluar la calidad de ajuste del modelo. Si la calidad del modelo debe mejorarse,

    entonces debe revisarse uno o ms de los pasos anteriores.

  • Revista Alghoritmic ISSN 2220-3982 Pag 25

    25

    La arquitectura del experimento a implementar, mostrada en la Figura N 3, consta de una

    computadora personal PC1 en la que se ha instalado y configurado el software del servidor

    de correo electrnico a utilizar. Adems en ella se encuentra instalado el sensor software que

    se encargar de recoger la informacin del log del servidor, para luego realizar los clculos

    de la longitud de cola del mismo basndose en el conteo de las llamadas a procedimientos

    remotos servidos.

    Por lo general los administradores de servidores de correo electrnico prestan mucha

    atencin al nmero de llamadas a procedimientos remotos normalmente procesados en el

    servidor ya que este valor se halla muy relacionado al nmero de usuarios activos cuyas

    solicitudes estn siendo procesadas por el servidor. Si por ejemplo, el nmero de llamadas a

    procedimientos remotos llega ser muy grande entonces habr una excesiva utilizacin del

    procesador, de la memoria y otros recursos provocando que la performance se deteriore

    rpidamente. En la prctica, los administradores de servidores de correo electrnico

    monitorean el uso de recursos del servidor y ajustan el valor del parmetro de entrada,

    nmero mximo de usuarios, para lograr el valor deseado de llamadas a procedimientos

    remotos normalmente procesados. [8]

    Figura N 3. Arquitectura para identificar el servidor de correo electrnico. (Elaboracin

    propia)

    Y en otra computadora personal PC2 se instala el generador de carga de trabajo, que simula

    la actividad de los usuarios concurrentes solicitando servicio mediante las llamadas a

    procedimientos remotos (RPC por sus siglas en ingls: Remote Procedure Call). El

    generador de carga de trabajo debe configurarse para que emita solicitudes al servidor con

    mensajes de diferentes tamaos ya que los usuarios no actan de la misma manera. La

    actividad generada en el servidor se almacena en el log del servidor. Con los datos de los

    parmetros de la entrada y la salida del servidor, se hace uso de una tcnica de autoregresin

    con entrada exgena para obtener el modelo ARX del servidor.

    3. RESULTADOS

    El primer paso para hallar el modelo matemtico de manera consiste en recoger informacin

    de las seales de entrada y salida para luego determinar el modelo ARX del servidor

    elegido. El servidor de correo electrnico utilizado fue el Kerio Mail Server para redes

    corporativas. Los datos recopilados de la entrada NumMaxUsuarios y de la salida Longitud

    de Cola se muestran en la Figura N 4.

  • Revista Alghoritmic ISSN 2220-3982 Pag 26

    26

    Figura N 4. Nmero Mximo de Usuarios y Longitud de Cola. (Elaboracin propia)

    Los datos recogidos de la salida, Longitud de Cola, previamente fueron ingresados a un

    sensor software en donde se cuenta el nmero de llamadas a procedimientos remotos que

    han sucedido en el periodo anterior y que se encuentran registrados en el log del servidor.

    Luego de utilizar la tcnica de autoregresin con entrada exgena ARX, se obtiene la

    ecuacin paramtrica siguiente:

    (2)

    La validacin del modelo obtenido, con un nivel de confianza de aproximadamente el 85%,

    se realiz tomando una parte de los datos recopilados experimentalmente y comprobando

    que los valores de la funcin de autocorrelacin de los residuos y la funcin de correlacin

    cruzada entre las entradas y los residuos se hallan dentro de los rangos mostrados en la

    Figura N 5.

    Figura N 5. Autocorrelacin y correlacin cruzada de residuos. (Elaboracin propia)

    4. CONCLUSIONES Y TRABAJOS FUTUROS

    Se concluye que si es posible hallar modelos matemticos de estos sistemas con bastante

    aproximacin al modelo real, como en este caso en el que el modelo se aproxima en un 85%

    al real.

  • Revista Alghoritmic ISSN 2220-3982 Pag 27

    27

    Con la finalidad de lograr mejores aproximaciones, se sugiere emplear modelos matemticos

    no lineales. As se podr aplicar las tcnicas de la ingeniera de control para estudiar la

    estabilidad y el comportamiento dinmico de sistemas informticos de manera ms

    aproximada al modelo real y por consiguiente, disear un controlador ms apropiado.

    El sensor software implementado ha permitido calcular la longitud de cola del servidor, en

    base a las llamadas a procedimientos remotos almacenados en el log del servidor en estudio.

    Trabajos futuros en la aplicacin de la teora de control involucran el estudio de otra gama

    importante de servidores informticos como los servidores web y los servidores de base de

    datos empleando modelos no lineales. Es importante anotar que en el futuro prximo, se

    plantear el diseo de controladores no lineales para los servidores informticos en general,

    ya que el comportamiento temporal de stos, es esencialmente no lineal, de manera que se

    hace adecuada la utilizacin de tcnicas de inteligencia artificial como la lgica difusa y las

    redes neuronales, principalmente.

    5. BIBLIOGRAFIA

    [1] Ogata K, Ingeniera de control moderna, 3ra ed., Mxico: Prentice Hall

    Hispanoamericana SA, 1998

    [2] Hellerstein J, Diao Y, Parekh S, Tilbury D, Feedback control of computing systems, 1ra

    edicin, USA: IEEE/Wiley-Interscience, 2004.

    [3] S. Keshav. Control-theoretic approach to flow control. ACM SIGCOMM Computer

    Communication Review [En lnea], 1991, 21(4): 3-15. Disponible en

    http://doi.acm.org/10.1145/115994.115995

    [4[ C. Hollot, V. Misra, D. Towsley, W. Gong. A control theoretic analysis of RED.

    Proceedings of IEEE INFOCOM 01 [En lnea], 2001, 3: 1510-1519. Disponible en http://dx.doi.org/ 10.1109/INFCOM.2001.916647

    [5] J. Aman, C. Eilert, D. Emmes, P. Yocom, D. Dillenberger. Adaptive algorithms for

    managing a distributed data processing workload. IBM Systems Journal. [En lnea], 1997,

    36(2): 242-283. Disponible en http://dx.doi.org/ 10.1147/sj.362.0242.

    [6] X Wang, M Chen, H Huang, V Subramonian, C Lu, C Gill. Control-Based Adaptive

    Middleware for Real-Time Image Transmission over Bandwidth-Constrained Networks,

    IEEE Transactions on parallel and distributed systems, [En lnea], 2008, 19(6): 779-793.

    Disponible en http://dx.doi.org/10.1109/TPDS.2008.41

    [7] J Hellerstein. Challenges in Control Engineering of Computing Systems. Proceedings of

    the 2004 American Control Conference, [En lnea], 2004, 3: 1970-1979. Disponible en

    http://dx.doi.org/10.1109/ACC.2004.182391

    [8] S. Parekh, N. Gandhi, J. Hellerstein, D. Tilbury, T. Jayram y J. Bigus, Using control

    theory to achieve service level objectives in performance management. Real-Time Systems,

    [En lnea], 2002, 23 (1-2): 127-141. Disponible en

    http://dx.doi.org/10.1023/A:1015350520175

  • Revista Alghoritmic ISSN 2220-3982 Pag 28

    28

    Sistemas Razonamiento basado en Reglas para determinar

    recomendacin de ciruga refractiva

    Reasoning Systems based on rules for determining recommendation refractive

    surgery

    Augusto Cortez Vasquez, Virginia Vera Pomalaza

    Universidad Nacional Mayor de San Marcos

    Facultad de Ingeniera de Sistemas e Informtica

    RESUMEN

    La ciruga refractiva es una conjunto de procedimientos quirrgicos que modifican la anatoma del

    ojo, especialmente la cornea, eliminado definitivamente los defectos refractivos de la miopa,

    hipermetropa y astigmatismo para que no sea necesario el uso de gafas o lentes de contacto. No

    todo paciente est en condiciones de que se le haga una ciruga refractiva. Para determinar si se

    recomienda o no una ciruga ocular, es necesario realizar un riguroso examen previo del paciente,

    ver si cumple todos estos requisitos y descartar cualquier patologa que impida realizar la ciruga o

    empeore el pronstico. El oftalmlogo es el especialista encargado de determinar la recomendacin.

    La construccin de sistemas inteligentes, simula de algn modo la manera en que los seres humanos

    resuelve problemas. Existen distintas maneras entre ellas los sistemas basados en conocimiento que

    es el objeto del presente articulo. Los Sistemas basados en reglas son agentes inteligentes que se

    encargan de resolver alguna tarea utilizando como principal recurso, precisamente el conocimiento.

    Se establece una separacin entre la informacin necesaria para resolver un problema y el mtodo

    para resolverlo, estos constituyen los elementos principales denominados base de conocimiento y

    motor de inferencia. El SRBR propuesto, plantea una solucin mediante una tarea de clasificacin,

    utiliza arboles de decisin, y propone un modelo en forma de reglas

    Palabras claves: Ingeniera de conocimiento, Sistemas inteligente, Sistema de

    razonamiento basado en reglas, ciruga refractiva, arboles de clasificacin.

    ABSTRACT

    The refractive surgery is a set of surgical procedures that amending the anatomy of eye, especially

    the cornea, definitively eliminated the defects refractive of the nearsightedness, farsightedness and

    astigmatism so that is not necessary to use glasses or contact lenses. Not every patient is in a

    position that he is made a refractive surgery. To determine if recommends or not an eye surgery, is

    necessary to carry out a rigorous examination of the patient, see if it meets all of these requirements

    and discard any pathology that prevents perform the surgery or worse prognosis. The

    ophthalmologist is the specialist responsible for determining the recommendation.

    The construction of intelligent systems, simulates somehow the manner in which human beings

    solves problems. There are several ways including systems based on knowledge that is the subject

    of this article. The Systems based on rules are intelligent agents that are responsible for settling any

    task using as main resource, precisely the knowledge. Establishing a separation between the

    information needed to solve a problem and the method to solve it, these are the main elements so-

    called knowledge base and engine of inference. The SRBR proposed, raises a solution through a

    task of sorting, uses trees of decision, and proposes a model in the form of rules.

    Key Words: Engineering knowledge systems, intelligent, System of reasoning based on rules,

    refractive surgery, trees of classification

  • Revista Alghoritmic ISSN 2220-3982 Pag 29

    29

    1 INTRODUCCION

    Dentro de Inteligencia artificial, existe una disciplina denominada Ingeniera de conocimiento (IC)

    que proporciona los mtodos y tcnicas para construir sistemas computacionales denominados

    Sistemas Basados en Conocimiento (SBC). Dentro de los SBC tenemos los sistemas de

    razonamiento basados en casos SRBC y los sistemas de razonamiento basado en reglas SRBR. Un

    sistema de razonamiento basado en reglas SRBR es un razonamiento que permite capturar la

    experiencia humana en la resolucin de problemas, con el fin de alcanzar decisiones consistentes y

    repetibles. Estos sistemas son interesantes especialmente en dominios en la que escasean los

    expertos (medicina, ingeniera etc.). Los SRBR produce un conjunto de reglas, las cuales pueden

    usarse para responder cuestiones como es recomendable que se realice una ciruga ocular a un

    paciente, atendiendo a sus antecedentes patolgicos?. En muchas situaciones, el mtodo tradicional

    de convertir datos en conocimiento consiste en un anlisis e interpretacin realizada de forma

    manual. El especialista en la materia, en nuestro caso un oftalmlogo, analiza los datos y elabora un

    informe o hiptesis que refleja las tendencias o pautas de los mismos. Por ejemplo un grupo de

    mdicos puede analizar la evolucin de enfermedades oculares entre la poblacin para determinar

    el rango de edad mas frecuente de las personas afectadas. Este conocimiento, validado

    convenientemente, puede ser usado por autoridades del sector salud para establecer polticas de

    prevencin de enfermedades oculares. De una manera simplista podramos decir que el objetivo de

    la minera de datos es convertir datos en conocimiento, para lograrlo se plantean dos retos: trabajar

    con grandes volmenes de datos, procedentes mayoritariamente de sistemas de informacin, y por

    otro lado usar tcnicas adecuadas para analizar los mismos y extraer conocimiento novedoso y til.

    La ciruga refractiva es una intervencin sin dolor. Esto es posible mediante la utilizacin del

    Excimer Lser en intervenciones que se realizan con anestesia local, mtodos incruentos y una

    permanencia en el quirfano de solo cinco minutos. El paciente se retira viendo normalmente.

    La meta de la ciruga refractiva con Excimer lser es lograr una mejor calidad de vida abandonando

    la dependencia del uso de anteojos o lentes de contacto.

    2 FUNDAMENTACION TEORICA

    Un SRBR es bsicamente un SBC, desde el punto de la inteligencia artificial, es un sistema

    que intenta imitar el comportamiento de un ser humano experto en alguna temtica, es decir

    imitan las actividades de un ser humano para intentar resolver los problemas de distinta

    ndole.

    Existen bsicamente tres tipos de sistemas SBC:

    Sistemas de razonamiento basados en reglas SRBR

    Los SRBR son sistemas expertos que utilizan para el proceso de inferencia un conjunto de

    reglas que constituyen la base de conocimiento del experto. Este conjunto de reglas pueden

    ser activadas a medida que las condiciones son evaluadas positivamente y su utilizacin

    implica la creacin de nuevos hechos. Este proceso permitir a partir de unos hechos

    iniciales desarrollar un proceso deductivo sobre un grupo de reglas, que concluir el

    momento en que no quede ninguna regla por ejecutar.

    Este proceso deductivo desarrolla un encadenamiento de reglas que puede ser

    encadenamiento hacia adelante, hacia atrs o una combinacin de ambos.

  • Revista Alghoritmic ISSN 2220-3982 Pag 30

    30

    Sistemas de razonamientos bayesianos SRB

    Son sistemas que basan su funcionamiento como su nombre propio indica en las redes

    bayesianas. As pues se trata de un modelo probabilstico que relaciona un conjunto de

    variables aleatorias mediante un grafo dirigido. El motor de inferencia que utiliza para

    procesar las evidencias se basa en la teora de probabilidades y ms concretamente con el

    Teorema de Bayes. Este mtodo es especialmente una herramienta extremadamente til en

    la estimacin de probabilidades ante nuevas evidencias [2].

    Sistemas de razonamientos basado en casos SRBC

    Modelo de razonamiento que permite resolver problemas, entender situaciones y aprender

    utilizando mecanismos de memorizacin, problemas superpuestos y criterios de

    optimizacin.

    Los SRBR presenta algunas ventajas frente a los sistemas tradicionales [3]:

    Adquisicin de conocimiento: La adquisicin del conocimiento se obtiene infiriendo desde

    el principio, esto es til cuando no se tiene un cuerpo de conocimiento como en los SRBC

    en los que se parte de casos memorizados.

    Solucin a casos especializados: En situaciones muy especificas en donde no se tiene

    experiencia o casos memorizados como los SRBC, se parte de cero a partir de reglas

    bsicas

    Aplicacin

    La ciruga refractiva es l termino que define los procedimientos quirrgicos para corregir

    los defectos de refraccin (Miopia, Astigmatismo e Hipermetropa) .

    El ojo se comporta en forma similar a una cmara fotogrfica, por tanto para que una

    imagen salga enfocada es necesario que dicha imagen se enfoque perfectamente sobre la

    retina.

    Existen dos estructuras que usted debe conocer para comprender todos los procedimientos

    refractivos:

  • Revista Alghoritmic ISSN 2220-3982 Pag 31

    31

    La cornea que es la superficie transparente de la parte anterior del ojo y es la encargada

    junto al cristalino la encargada de enfocar las imgenes sobre la retina.

    La retina es la que convierte las imgenes que se enfocan en la retina en impulsos

    nerviosos que por del nervio ptico se trasmiten al cerebro donde se interpretan.

    Hay tres tipos de defectos de refraccin: Miopa, Hipermetropa y Astigmatismo.

    Miopa. Es un problema visual por la cual los objetos cercanos se ven claramente, pero los

    lejanos se ven borrosos, debido a que la imagen visual se enfoca delante de la retina, y no

    directamente sobre ella.

    Hipermetropa. Es el efecto contrario a la miopa, suele aparecer en ojos algo ms

    pequeos de lo normal, los sntomas suelen ser cansancio y/o dolor de cabeza cuando se

    trabaja de cerca, y si la hipermetropa es ms alta tambin afectar a la visin de lejos.

    Astigmatismo. El astigmatismo es un problema que se presenta en la curvatura de la

    crnea, lo cual impide el enfoque claro de los objetos cercanos y lejanos. Cuando la

    crnea, en vez de ser redonda, se achata por los polos aparecen distintos radios de

    curvatura en cada uno de los ejes principales. Por ello, cuando la luz incide a travs de la

    crnea, se obtienen imgenes distorsionadas.

    3 MATERIALES Y MTODOS

    Se utiliza un esquema de solucin basado en razonamiento basado en reglas (SRBR) su

    arquitectura se presenta en la figura A.

    Base de Hechos:- Memoria de trabajo que contiene toda la informacin actual del

    problema a resolver. Contiene todos los cambios de informacin que se producen en el

    sistema durante cada proceso de inferencias

    Motor de Inferencias:- Intrprete de reglas que se encarga de examinar la BH y decidir

    que regla utilizar y como procesarla.

    Interfaz del Usuario:- La persona que utiliza el sistema.

    Interfaz del administrador y/o experto humano:- La persona que implementa el sistema

    experto y lo administra, en algunos casos es el experto humano.

    Base de conocimiento:- Contiene las reglas (antecedente, consecuente), el antecedente

    contiene una lista de clausulas a verificar y el consecuente una listas de acciones a ejecutar.

    Ct11, Ct12, C t1n At11, At12, A t1n

    As (Lista de clausula a verificar, Lista de Acciones a ejecutar)

    Condicin Accin

  • Revista Alghoritmic ISSN 2220-3982 Pag 32

    32

    Figura A: Arquitectura del SRBR

    La tarea de aprendizaje para lo cual los arboles de decisin se adecuan mejor es la

    clasificacin, lo que permitir determinar de entre varias clases a que clase pertenece un

    objeto, la estructura de condicin y ramificacin de un rbol de decisin es idnea para este

    problema. Por ello utilizaremos la tcnica de particin o divide y vencers.

    4 CASO DE ESTUDIO

    Consideremos el caso de un centro hospitalario en donde se realizan operaciones de ciruga

    ocular a las personas que lo solicitan. Un oftalmlogo desea disponer de un sistema que le

    sirva para determinar la conveniencia o no de recomendar la ciruga ocular a sus pacientes.

    Para ello dispone de una base de dato de sus antiguos pacientes clasificados en operados

    satisfactoriamente o no, en funcin del tipo de problema que padecan

    Base de

    conocimientos

    BC

    Base de

    hechos BH

    Motor de

    inferencias MI

    Interfaz de

    usuario

    Interfaz del

    administrador y/o

    experto humano

  • Revista Alghoritmic ISSN 2220-3982 Pag 33

    33

    El modelo resultante se utiliza para clasificar nuevos pacientes , es decir si es conveniente

    operarlos o no.

    Factores que determinan la recomendacin de operacin ocular:

    La edad del paciente

    Conocer el grado de miopa o hipermetropa que tiene el paciente.

    Ultima vez que se produjo un cambio en la graduacin de la vista.

    Tener corneas sanas y visin estable

    Tener ojos sanos, sin problemas en la retina u otras enfermedades oculares.

    No deber padecer ni diabetes, ni patologas oculares como consecuencia de ella

    (retinopatas, glaucoma, etc.).

    Se plantea un sistema de representacin del conocimiento basado en arboles de decisin, las

    mismas que pueden expresarse como conjunto de reglas.

    Astigmatismo

    ?

    Miopa? Edad?

    Miopa?

    si no

    6

    SI

    NO

    NO

    NO

    >

    6

    185

    >45

    >18 y 45

    >1

    0 >1.5 y 10

    1.5

    NO

    SI

    NO Diabetes?

    NO

    no si

  • Revista Alghoritmic ISSN 2220-3982 Pag 34

    34

    El rbol se puede expresarse mediante un sistema de reglas:

    Concluyendo en que SI es operado o No es operado el paciente.

    R1: SI Astigmatismo =SI Y Miopa >6 ENTONCES NO

    R2: SI 18< Edad 10 ENTONCES NO

    R6: EN OTRO CASO Operacin = SI

    Si consideramos que el paciente presenta:

    Astigmatismo = SI y Miopa > 6

    Las reglas pueden expresarse como pares:

    Ejemplo

    (paciente con astigmatismo y miopa 6, se recomienda operacin ocular)

    Otro ejemplo:

    (paciente sin astigmatismo con edad entre 25 y 50 y miopa entre 5 y 10, se recomienda

    operacin ocular)

    Generacin del rbol de decisin a partir de un conjunto de ejemplos, utilizando la

    tcnica de particin

    Cuadro A: Algoritmo de Creacin del Arbol

    E : conjunto de

    ejemplos

    R : Raz del rbol

    rbol de raz R

  • Revista Alghoritmic ISSN 2220-3982 Pag 35

    35

    Los arboles de decisin se adecuan mejor para tareas de clasificacin, esto es determinar de

    entre varias clases a que clase pertenece un objeto; la estructura de condicin y

    ramificacin de un rbol de decisin es idnea para este problema. El algoritmo va

    construyendo el rbol desde el rbol que contiene solo la raz, aadiendo particiones y los

    hijos resultantes de cada particin. En cada particin, los ejemplos se van dividiendo entre

    los hijos. Finalmente, se llega a la situacin en la que todos los ejemplos que caen en los

    nodos inferiores son de la misma clase y esa rama ya no sigue creciendo.

    Los arboles de decisin se pueden expresar como conjunto de reglas. Este conjunto de

    reglas se derivan de particiones. Cada particin es un conjunto de condiciones exhaustivas

    y excluyentes, cuantos ms tipos de condiciones permitamos, ms posibilidades de

    encontrar patrones que hay detrs de los datos.

    5 CONCLUSIONES

    Los SRBR se utilizan en dominios en donde es permisible capturar la experiencia

    humana en la resolucin de problemas.

    Los arboles de decisin se utilizan generalmente para problemas de clasificacin,

    aunque puede utilizarse en soluciones de regresin, agrupamiento.

    Los sistemas de reglas son una generalizacin de los arboles de decisin.

    Cuanto mas particiones permitamos mas expresivos podrn ser los arboles de

    decisin generados y, probablemente, mas precisos. Sin embargo, cuantas mas

    Principal()

    Inicio

    GeneraParticion(R,E) // invoca a GeneraParticion para un rbol de raz R para clasificar un

    conjunto de ejemplos E

    Fin

    Funcion GeneraParticion (N: Nodo , E: Conjunto de ejemplos)

    Inicio

    Si todos los ejemplos de E son de la misma clase C

    Asignar la clase C al nodo N

    Sino

    Particiones = generar posibles particiones

    MejorParticion= seleccionar mejor particin segn criterio de particion

    Para cada condicin i de la particin elegida

    Aadir un nodo hijo i a N y asignar los ejemplos consistentes a cada hijo(Ei)

    GeneraParticion(i, Ei) // realizar el procedimiento para cada hijo

    FinPara

    FinSi

    Fin

  • Revista Alghoritmic ISSN 2220-3982 Pag 36

    36

    particiones elijamos, la complejidad del algoritmo ser mayor. Por tanto el asunto

    importante en la eleccin de un algoritmo es encontrar un buen compromiso entre

    expresividad y eficiencia.

    Los algoritmos de aprendizaje de decisin, son de naturaleza voraz de estructura

    divide y vencers, se comportan eficientemente con grandes volmenes de datos,

    ya sean de gran dimensional dad (muchos atributos) o gran cardinalitas (muchos

    ejemplos). Este buen comportamiento se sustenta en el hecho de suponer que los

    datos caben en memoria, sin embargo en muchas aplicaciones de minera de datos

    no es cierta. Si los datos no caben en memoria el rendimiento de los algoritmos se

    degradara por el constante trasvase de informacin de disco o memoria. Para ello se

    utiliza los algoritmos de aprendizaje de arboles de decisin escalables.

    6 REFERENCIAS

    [1]. Palma Mndez Jose. Inteligencia Artificial. McGRAW-HILL Espaa 2008

    [2]. Anderson James Redes neuronales Edit AlfaOmega Mexico 2007

    [3]. Hernndez Orallo, Jose. Introduccin a la minera de datos. Edit Prentice Hall Espaa 2004.

    [4] Del Brio Bonifacio, Redes neuronales y sistemas borrosos Edit Alfaomega

    Mxico 2007

    [5] Ian Sommerville, Ingenieria de Software Edit Pearson Addison Wesley Madrid 2005

  • Revista Alghoritmic ISSN 2220-3982 Pag 37

    37

    Sistema de Multiagentes para Implementacin de Sistema Generacin de

    Horarios Multiagent System for Generating System Implementation Schedule

    Gilberto Salinas Azaa

    Universidad Nacional Mayor de San Marcos

    Facultad de Ingeniera de Sistemas e Informtica

    RESUMEN

    La distribucin de carga horaria es un proceso complejo, por lo general esta distribucin es

    realizada manualmente, a pesar de repetirse todos los semestres acadmicos difiere del

    semestre anterior ya sea por el aumento del nmero de alumnos, limitaciones de

    infraestructura o por cambios en la disponibilidad de los docentes a pesar de la buena

    disposicin de los responsables, la distribucin de la carga horaria, en muchos casos no es

    el mejor el cual crea conflictos en los interesados como alumnos, docentes o empleados.

    Existen otros mtodos para resolver problemas de asignacin, alguno de los cuales pueden

    determinarse muy rpidamente y dan buenas soluciones pero para algunos casos son

    inflexibles, esto es, cualquier cambio, prcticamente es como crear uno nuevo, lo cual

    resu