Beruflich Dokumente
Kultur Dokumente
Tesis Doctoral
Director:
Dr. Vicente Botti Navarro
Autor:
MSc. Mónica Henao Cálad
Director:
Dr. Vicente Botti Navarro
Tribunal:
Presidente:
Dr. Federico Barber Sanchís
Secretario:
Dra. Eva Onaindía de la Rivaherrera
Vocales titulares:
Dr. Richard Benjamins
Dr. Fernando Martín Rubio
Dr. Carlos Iglesias Fernández
Vocales suplentes:
Dra. Ana García Serrano
Dr. José Ramón Rizo Aldeguer
Valencia – España
12 de junio de 2001
A mi esposo Riche,
que siempre me ha animado, apoyado y brindado su amor y comprensión,
estando a mi lado en todo momento
A mi familia,
por sus oraciones, su amor y respaldo durante toda mi vida
Reconocimientos
Hay muchas personas a las que quisiera agradecerle toda su colaboración, amistad y
apoyo durante este largo recorrido, pero en este momento quiero resaltar los siguientes:
A los profesores del DSIC que me dieron la oportunidad de realizar este doctorado, a
través de sus enseñanzas. En especial a la Dra. Matilde Celma, responsable del programa.
Resumen
Los sistemas basados en el conocimiento de tiempo real son sistemas informáticos que
manejan el conocimiento de un dominio específico y tienen la capacidad de garantizar una
respuesta en un tiempo fijo, dado que manejan restricciones temporales.
No se han hecho muchos trabajos sobre cómo construir un sistema de este tipo, sobre
qué actividades deben ser realizadas para plantear un proyecto que pretenda la creación del
sistema o cuáles son las pautas que se deben seguir en dicho desarrollo. Es por esto, por lo
que se ha planteado proponer una metodología para el desarrollo de sistemas basados en el
conocimiento de tiempo real, surgiendo CommonKADS-RT.
Para cada uno de los modelos se plantea su objetivo, los formularios que permiten
guiar su proceso de construcción y reflejar la información para incluir en la documentación
del proceso, los artefactos que resultan del desarrollo del modelo y los roles más
importantes que participan en dicho proceso.
HENAO, M., Soler, J. Botti V. Developing a Mobile Robot Control Application with
CommonKADS-RT. IEA/AIE 2001, The Fourteenth International Conference on Industrial
& Engineering Applications of Artificial Intelligence & Expert Systems. Budapest,
Hungary. 2001. (pendiente de publicar)
CommonKADS-RT – Resumen
Abstract
Real-time knowledge-based systems are computer systems with two main abilities. On
the one hand, they can manage knowledge about a specific domain. On the other hand, they
are able to guarantee an answer in a fixed time, given that they can manage temporal
restrictions.
Systems of this kind have been used for solving several types of problems, such as
process control systems, monitoring, diagnosis and fault maintenance systems. In general,
these systems are applicable in systems where decision making is dependent on time.
In the past, research about such systems has been focused towards issues as their
architectures, mechanisms to obtain strict timing guarantees in the reasoning process or
modifications to real-time scheduling policies in order to make them more predictable.
However, not much of this research has been oriented on how to build such systems, the
activities involved in developing a project to create these systems, or the guidelines to
follow in that development. In this context, this work proposes a new methodology for
developing real-time knowledge-based system. This new methodology is called
CommonKADS-RT.
For each of these models, the following aspects are described: its objective, the forms
which allow to guide its developing process and to gather the information to be included in
CommonKADS-RT – Resumen
the process documentation, the artifacts which result from the model development and the
most important roles which participate in that process.
The methodological proposals of this thesis also include the determination of when it
is appropriate to build a real-time knowledge-based system and whether this is the best
alternative. This is done by means of some filtering criteria and a characterization of the
domains on which it is possible to use the methodology.
In order to show the applicability of this new methodology, this thesis also presents
two real cases on which it has been applied. In the first scenario, the emphasis is on the
analysis phase, and specially on the organization model. In the second scenario, the design
phase is more deeply developed, specially the system architecture and the real-time task
model.
Some of the proposals of this thesis have been published in the following conferences:
HENAO, M., Soler, J. Botti V. Developing a Mobile Robot Control Application with
CommonKADS-RT. IEA/AIE 2001, The Fourteenth International Conference on Industrial
& Engineering Applications of Artificial Intelligence & Expert Systems. Budapest,
Hungary. 2001.
CommonKADS-RT – Resumen
Resum
Els sistemes basats en el coneixement i de temps real són sistemes informàtics que
manegen el coneixement d’un domini específic i tenen la capacitat de garantir una resposta
en un temps fixe, donat que tenen restriccions temporals.
Bàsicament les investigacions en aquestos sistemes han estat enfocades cap a la seva
arquitectura, sobre com aconseguir el compliment de les garanties temporals en el
raonament del coneixement o sobre com canviar les polítiques de planificació de temps real
per que siguen més predibles.
No s’han desenvolupat molts treballs sobre com construir un sistema d’aquest tipus,
sobre què activitats deuen ser realitzades per a plantejar un projecte que tracte la creació del
sistema o sobre quines són les pautes a seguir en aquest desenvolupament.
Es per això, per que s’ha plantejat proposar una metodologia pel desenvolupament de
sistemes basats en el coneixement de temps real, d’aquesta manera es planteja
CommonKADS-RT.
temps real per a definir l’estructura genèrica d’una tasca de temps real.
Els primers cinc models formen la fase d’ anàlisi i els dos últims la fase de disseny.
Per a cada model es planteja el seu objectiu, els formularis que permeten guiar el seu
procés de construcció i reflectir l’informació per a incloure en la documentació del procés,
els artefactes que resulten del desenvolupament del model i els rols més importants que
participen en dit procés.
HENAO, M., Soler, J. Botti V. Developing a Mobile Robot Control Application with
CommonKADS-RT. IEA/AIE 2001, The Fourteenth International Conference on Industrial
& Engineering Applications of Artificial Intelligence & Expert Systems. Budapest,
Hungary. 2001. (pendent de publicar)
CommonKADS-RT – Tabla de contenido
TABLA DE CONTENIDO
1.3 Objetivos...................................................................................... 7
i
CommonKADS-RT – Tabla de contenido
Capítulo 3. CommonKADS-RT 91
3.1 Introducción .............................................................................. 91
ii
CommonKADS-RT – Tabla de contenido
ABREVIATURAS 221
REFERENCIAS 223
ANEXO 1 239
iii
CommonKADS-RT – Índice de figuras
ÍNDICE DE FIGURAS
v
CommonKADS-RT – Índice de figuras
vi
CommonKADS-RT – Índice de figuras
vii
CommonKADS-RT – Índice de tablas
ÍNDICE DE TABLAS
ix
CommonKADS-RT – Índice de formularios
ÍNDICE DE FORMULARIOS
xi
CommonKADS-RT – Índice de formularios
xii
CommonKADS-RT – Capítulo 1. Introducción y objetivos 1
Capítulo 1.
Introducción y objetivos
1.1 Introducción
Los grandes avances en las tecnologías de los sistemas inteligentes y de los sistemas
de tiempo real, así como la necesidad que tienen las grandes industrias de tener software y
sistemas informáticos cada vez más complejos que respondan en tiempos definidos y que
manejen sus conocimientos de acuerdo con los cambios del entorno, han motivado la
investigación y el desarrollo de nuevas aplicaciones que tratan de solucionar, de la manera
más apropiada, dichos requerimientos.
Por el lado de los sistemas inteligentes, los sistemas basados en el conocimiento y los
agentes han revolucionado el concepto de cooperación, el manejo apropiado del
conocimiento, la distribución y el compartimiento del conocimiento, la reutilización y la
especialización de la información y la experiencia de un dominio.
Por el lado de los sistemas de tiempo real, cada vez los sistemas son más sofisticados
para llevar a cabo su función en entornos complejos y dinámicos, requiriendo tener mas
conocimiento y una mejor comunicación para responder adecuadamente, de acuerdo con
situaciones específicas para que se tomen las decisiones más apropiadas.
Han tomado tanta importancia los sistemas inteligentes de tiempo real que muchos
grupos de investigación ha propuesto arquitecturas específicas para su construcción, han
creado aplicaciones que resaltan la potencialidad de las mismas y se han comenzado a
introducir en la industria en general. Para ello, es necesario contar con las herramientas
necesarias, tanto de software, de hardware como de orgware, para que se puedan hacer de
CommonKADS-RT – Capítulo 1. Introducción y objetivos 2
la mejor manera. Las metodologías de desarrollo forman parte de las herramientas del
orgware, además de muchas políticas y estrategias organizacionales.
Sistemas de Sistemas
Tiempo Real Basados en el
Conocimiento
Sistemas basados en el
conocimiento de tiempo real
Todo esto conforma el marco teórico y conceptual de esta tesis, que se trata como un
capítulo completo con objetivos muy precisos y que tiene sus propias conclusiones y
referencias pertinentes para cada tema. Pero, dentro de esta introducción, se considera
relevante acordar lo que se entiende por los términos: metodología, método, proceso de
software, entre otros conceptos que se trabajan apropiadamente desde la Ingeniería del
Software.
Es importante también aclarar, que no se pretende construir una ontología para ello,
sino simplemente definir lo que se entenderá cada vez que se presente uno de estos
términos en esta disertación, teniendo como eje central los planteamientos de la Ingeniería
del Software, por ser ésta la encargada en la informática de proponer los conceptos
relacionados con el proceso de desarrollo del software.
Metodología:
1. Ciencia del método.
2. Conjunto de métodos que se siguen en una investigación científica o en una
exposición doctrinal.
Método:
1. Modo de decir o hacer con un orden una cosa.
2. Modo de obrar o de proceder, hábito o costumbre que cada uno tiene y observa.
3. Procedimiento que se sigue en las ciencias para hallar la verdad y enseñarla.
Puede ser analítico o sintético.
• Un lenguaje de modelado,
• unas heurísticas para modelar y
• un marco de trabajo para organizar y ejecutar el trabajo de desarrollo.
Es decir, que una metodología sin alguno de esos elementos, no es una metodología.
• Un marco semántico,
• un esquema notacional,
• una serie de actividades de trabajo secuenciales y,
• un conjunto de componentes de trabajo para entregar.
Las anteriores, son sólo algunas percepciones que se encontraron al respecto, y dado
que hay grandes diferencias entre algunas de ellas, consideramos en esta investigación que
es muy importante mantener las bases planteadas en la Ingeniería del Software, con el
vocabulario que se maneja en ese contexto, siguiendo un poco lo que se propone en
FRISCO (A Framework of Information Systems Concepts) [FHP+96]. De esta forma,
creemos que la forma más adecuada de definir una metodología es la siguiente:
• Qué es lo que se debe hacer, cuáles son las actividades específicas que se deben
realizar - Etapas.
• Cuál es el orden de realización de dichas etapas, cuándo se tienen que hacer las
actividades - Ciclo de Vida.
• Cuáles son las herramientas, conocimientos y utilidades para realizar las etapas -
Métodos.
• Cuáles son las guías que se van a utilizar para la toma de decisiones en cada una de
las etapas. - Los mecanismos de decisión.
Para los resultados finales de la investigación, se guardará este rigor, pero cuando se
presente los métodos y las metodologías en el capítulo del Estado del Arte, en las secciones
de sistemas basados en el conocimiento, sistemas de tiempo real y sistemas basados en el
conocimiento de tiempo real, se mantendrán los nombres originales, tanto por respeto a sus
creadores como porque es así como son reconocidos en el área tecnológica en que se
utilizan. Por tanto, en esos apartados se podrán ver como si los dos términos fueran
sinónimos.
• Para un mismo sistema físico, es posible definir diversos modelos, de acuerdo con el
punto de vista y el nivel de abstracción que se quiera resaltar. Es decir, el proceso de
modelado es dependiente de las interpretaciones subjetivas del modelador y por eso
se requiere que haya una confrontación con la realidad.
Esta tesis doctoral pretende analizar los siguientes aspectos referidos a las
metodologías para crear sistemas basados en el conocimiento de tiempo real:
• ¿Hay metodologías con amplia cobertura que sean específicas para el desarrollo de
sistemas basados en el conocimiento de tiempo real? ¿Son apropiadas para el
desarrollo de este tipo de sistemas?
• ¿Es posible que una metodología creada para el desarrollo de sistemas basados en el
conocimiento se pueda aplicar apropiadamente en la construcción de sistemas
basados en el conocimiento de tiempo real?
CommonKADS-RT – Capítulo 1. Introducción y objetivos 7
• ¿Es posible que una metodología creada para el desarrollo de sistemas de tiempo real
se pueda aplicar apropiadamente en la construcción de sistemas basados en el
conocimiento de tiempo real?
• ¿Es importante que se tomen en cuenta los conceptos que se manejan en cada una de
las diferentes áreas de conocimiento (ingeniería del software, sistemas basados en el
conocimiento, sistemas de tiempo real, inteligencia artificial de tiempo real) para
crear una metodología coherente?
• Al elegir una metodología existente ¿qué cambios hay que hacerle para que permita
lograr un buen análisis y diseño de un sistema basado en el conocimiento de tiempo
real?
• ¿Cuál es la semántica que se tiene al construir una aplicación que integra un sistema
basado en el conocimiento con un sistema de tiempo real?
1.3 Objetivos
Objetivo General:
Objetivos específicos:
Para poder llevar a cabo el objetivo general, se definen una serie de objetivos
específicos que permitan alcanzarlo. En términos generales se explorarán diferentes
metodologías para el desarrollo de sistemas basados en el conocimiento de tiempo real.
Para ello es importante adentrarse más en cada una de las áreas informáticas involucradas
en este tipo de sistemas. Por eso, se analizarán las características específicas de cada uno de
ellos para identificar tanto los conceptos fundamentales en que está soportado, como los
conceptos que son comunes entre ellos y los que son diferentes. Esto servirá para constituir
un vocabulario apropiado en el área de los sistemas basados en el conocimiento de tiempo
real.
CommonKADS-RT – Capítulo 1. Introducción y objetivos 8
Todo esto conlleva a cumplir con la meta final que se ha planteado en la investigación.
Es decir, se trazarán unas directrices metodológicas que facilitarán el análisis y el diseño de
un sistema basado en el conocimiento de tiempo real.
Por último, para que lo propuesto tenga una validez y una aceptación, se analizarán y
diseñarán dos aplicaciones diferentes, pero que serán representativas en el tipo de problema
que se quiere tratar con la metodología propuesta.
Los criterios que se utilizarán son los que se plantean en la ingeniería del
software para saber si una metodología es completa y además, los criterios que
son propios de la ingeniería del conocimiento.
Aspectos Aspectos
metodológicos de metodológicos de
Sistemas de Sistemas Basados
Tiempo Real en el
Conocimiento
Aspectos
metodológicos de
Ingeniería del
Software
• En el capítulo 2 se presentará una síntesis del estado del arte necesario para acometer
esta tesis. Incluye aspectos de los principales temas o áreas de conocimiento
relacionados con la investigación, de la siguiente forma:
CommonKADS-RT – Capítulo 1. Introducción y objetivos 11
− Cada uno de los modelos que se presentará, contendrá los formularios apropiados
para su aplicación, los roles que deben participar en la elaboración de dicho
modelo y los artefactos que se deben producir durante la creación del modelo.
Todo esto ajustado al concepto metodológico que se adoptó en esta tesis y que fue
presentado en la introducción de este capítulo 1.
escenario dado por una situación que se presenta en una terminal de contenedores,
en concreto en la terminal de Marítima Valenciana S.A. en el Muelle Príncipe
Felipe del Puerto de Valencia y que demostrará la aplicación apropiada de cada
uno de los modelos que se proponen en la metodología, a través de una situación
real y actual.
Capítulo 2.
Estado del arte
2.1 Introducción
Como fundamento de investigación para esta tesis doctoral, se debe partir de una serie
de tecnología claves para el planteamiento de las consideraciones metodológicas que
permitan desarrollar sistemas basados en el conocimiento de tiempo real. Las tecnologías
claves de las cuales se tratará su estado del arte son:
• Los sistemas de tiempo real, desde sus características hasta los métodos que se
utilizan para realizar su análisis y el diseño.
• Puede servir para evitar peligros a los usuarios, ya que puede ser usado en ambientes
pesados que pueden presentar riesgos al ser humano.
• Respuesta rápida: Dependiendo del software y del hardware usados, un SBC puede
responder rápidamente y tener mayor disponibilidad que la que tiene un experto
humano. Algunas situaciones de emergencia pueden requerir respuesta más rápida
que la de un humano y así el SBC responderá a tiempo.
• Puede servir como un tutor inteligente. El SBC puede actuar como un guía
inteligente dejando que el estudiante ejecute programas ejemplo y acceda a la
explicación del razonamiento del sistema.
• Base de datos inteligente. Un SBC puede ser usado para acceder a una base de datos
de una manera inteligente.
− Interprete: Sistema que infiere el significado de los datos (analiza los datos), es
decir, sirve para determinar qué está sucediendo en un momento dado.
− Sistema soporte: Es un SBC que puede darle soporte experto al usuario. Este
sistema puede actuar en diferentes roles, como asistente, colega crítico, segunda
opinión, asesor, consultor tutor, etc. Ofrece conocimientos y competencias pero
no prescribe soluciones o decisiones. Actúa como un ayudante, sin la intención de
reemplazar al experto.
Además, otros los clasifican según el nivel de conocimiento que el sistema tiene,
comparado con un experto humano, así: Sistema novato, cuando el conocimiento está
basado más en libros y artículos que en un experto, y requiere de su supervisión. Sistema
colega - ayuda, cuando el conocimiento que maneja está por los niveles del experto
humano. Sistema Experto, que maneja todo el conocimiento de un dominio, razona en
CommonKADS-RT – Capítulo 2. Estado del Arte 18
− Una tarea que define el problema que debería ser solucionado por el SBC.
− Una ontología que provee la terminología usada en las tareas, los métodos de
solución de problemas y el dominio.
• Base de datos
Contiene los hechos, los datos y las heurísticas puntuales del dominio. Estos
generalmente son obtenidos de las fuentes estáticas del conocimiento, con la revisión
del experto en el dominio. Típicamente se clasifican en datos de entrada, es decir,
datos requeridos por el sistema y que el usuario le proporciona, y datos inferidos que
se obtienen a partir de la relación de otros.
• Base de relaciones
Contiene las relaciones que se establecen entre los hechos o las heurísticas del
dominio. Normalmente se establecen por medio de reglas del tipo Si una condición,
Entonces una acción o conclusión. Estas relaciones se ejecutan de acuerdo con el
razonamiento que siga el motor de inferencia.
Los problemas que se encarga de resolver este componente son la búsqueda del
conocimiento y su control.
• Para realizar el control del conocimiento. Se utilizan métodos para determinar qué
conocimiento aplicar en un momento dado. Entre ellos hay tres que se destacan
como fundamentales para la resolución:
Además de estos componentes, hay otros que el sistema puede tener y que le servirán
para llegar a la categoría de sistema experto, estos son: el módulo explicativo, el módulo de
adquisición del conocimiento y la interfaz usuario - sistema:
Es importante reseñar que en general los procesos son aplicados y seguidos por grupos
interdisciplinares, en donde las personas pueden jugar varios roles a la vez o un rol ser
realizado por varias personas. Entre estos papeles se tienen los siguientes:
• Usuario: Es (son) la(s) persona(s) que va(n) a utilizar el sistema, que se va(n) a ver
beneficiado(s) directamente por la implantación del proyecto. Su conocimiento debe
ser considerado al desarrollar el SBC.
El objetivo final de este proceso es construir los modelos del conocimiento del SBC
[SFD+99], por ello se realiza durante todo el desarrollo del sistema, desde el mismo
momento en que se comienza a estudiar el problema y su solución hasta cuando se lleva a
cabo su evolución. Por lo tanto se efectúa durante todas las etapas del desarrollo, en unas
CommonKADS-RT – Capítulo 2. Estado del Arte 23
con mayor intensidad que en otras. Se puede decir que es un proceso que no termina
[SCG91].
• Adquisición del conocimiento de una fuente dinámica. Esta labor se realiza una
vez se haya adquirido el conocimiento básico del dominio por parte del (los)
ingeniero(s) del conocimiento. Hay diferentes estrategias para ello, a continuación se
presentan las más usuales.
Este tipo de recurso es muy valioso, aunque debe ser manejado con mucha
seriedad y precaución, teniendo en cuenta lo costoso del tiempo que se va a
invertir. Por lo tanto, el IC debe determinar los medios que requiere para poder
conservar y revisar el conocimiento adquirido [McH89].
Después de representar el conocimiento, éste debe ser validado tanto por el ingeniero
del conocimiento como por el experto del dominio. Siempre se debe asegurar que el
conocimiento que se adquiere y que se represente es igual al proporcionado por el experto.
Mediante este proceso de manipulación y prueba se deben hacer todas los ensayos posibles
para evitar mal manejo del conocimiento, bien sea por problemas de interpretación de los
hechos, las heurísticas o las relaciones, o por problemas de obtención de malas
conclusiones y explicaciones.
CommonKADS-RT – Capítulo 2. Estado del Arte 25
En los años 80 se crearon algunos métodos que servían para modelar SBC y que se
basaban en el nivel de conocimiento de Alan Newell [New82]. Este nivel permite describir
el razonamiento en términos de los objetivos a ser alcanzados, las acciones necesarias para
cumplir estos objetivos y el conocimiento necesario para ejecutar dichas acciones. Los
métodos se diferencian entre sí en la estructura que cada uno propone para analizar el
conocimiento, el grado de especificidad de la tarea, su relación con el código ejecutable, y
muchas otras propiedades, pero todas ellas basadas en la idea de construir un “modelo
conceptual” de un sistema que describe el conocimiento requerido y las estrategias en un
nivel lo suficientemente alto de abstracción, independientes de cualquier formalismo de
implementación en particular. Entre ellas está CommonKADS.
Posteriormente, hasta mediados de la década del 90, los métodos que primaron en la
creación de sistemas basados en el conocimiento estaban fundamentados en el principio de
desarrollar un prototipo incremental desde el comienzo del ciclo de vida del sistema. Desde
que se definen las especificaciones del sistema se construye un software (prototipo) que las
refleja y que se va refinando en la medida en que se continúa con el análisis y el diseño,
hasta llegar a tener el sistema completo. Esta es la razón por la que se llaman por
prototipos, pues se van creando productos que se van evaluando y adaptando. Pero, hay
mucha insatisfacción con este enfoque porque se basa en implementar inmediatamente el
conocimiento obtenido e interpretado en un formalismo dado, sin construir modelos que
CommonKADS-RT – Capítulo 2. Estado del Arte 26
Puede verse también como una rama de la Ingeniería del Software que trata de
modelar el conocimiento de un dominio para construir a través de unos métodos y
herramientas un sistema – software de calidad. Esto último surge de la necesidad que se
tenía de crear sistemas basados en el conocimiento que estuvieran siempre respaldados por
un proceso formal de gestión y desarrollo, lo cual no era completamente proporcionado por
la Ingeniería del Software debido a los diferentes aspectos que se incluyen en un proceso de
conocimiento [AFS90].
• METODOLOGÍA VITAL
− Modelo conceptual: Este proceso producto provee un modelo del experto que
captura las entidades relevantes del dominio, la estructura de la tarea y el
comportamiento que tiene el experto en la solución de problemas.
CommonKADS-RT – Capítulo 2. Estado del Arte 27
− Modelos del diseño: Comprende el modelo del Diseño Funcional y el modelo del
Diseño Técnico. El primero provee una descripción independiente de la
implementación del SBC objetivo y el segundo es una relación entre el modelo
del diseño funcional y el código ejecutable. Obviamente estos modelos dependen
de la situación específica de la implementación.
− El papel de cada proceso - producto - y sus enlaces con otros se debe hacer en
forma explícita.
Una desventaja que presenta es que es una metodología que está orientada a la
adquisición del conocimiento de un SBC creando un modelo del nivel del conocimiento
del problema y del diseño de su código. A pesar de tratar la especificación, no es una
metodología que esté orientada a la fase de análisis. Además, para ser orientado a
sistemas empotrados no menciona cómo es la comunicación con el entorno en donde el
sistema está inmerso.
• METODOLOGÍA KSM
entendimiento computables del problema que va a ser solucionado. Cubre los pasos del
análisis, el diseño, la implantación y el mantenimiento de una aplicación inteligente.
En ella se parte del concepto de unidad del conocimiento que permite elaborar su
modelado desde el mismo momento del análisis e incluso para hacer una reutilización
de él porque son modelos abstractos que facilitan que en el diseño se pase del modelo
de conocimientos a un código ejecutable. El modelo de conocimientos se comienza a
definir partiendo de la perspectiva del área de conocimientos que permite identificar el
cuerpo de conocimientos que se usa en un dominio específico, para solucionar
problemas determinados. Luego, se aplica la perspectiva de la tarea (define una meta u
objetivo a cumplir con sus entradas y salidas, y el método que especifica el cómo llegar
a esa meta). Este concepto de tarea es el mismo que se tiene en CommonKADS.
Específicamente en KSM se utiliza el lenguaje Link para construir estos métodos. Por
último, se tiene la perspectiva del vocabulario que incluye el léxico conceptual que
define los términos básicos para las áreas de conocimiento, a través del lenguaje
Concel. También, dentro de KSM se ofrece una forma para volver todo este
conocimiento en algo ejecutable por medio de unas interfaces y unas librerías.
Con esta metodología se han construido grandes sistemas, entre los cuales están:
Fluids, Trys, Bios, Artemis, Covalto y TCM.
La gran ventaja que tiene KSM es que construye modelos genéricos que pueden
ser reutilizados fácilmente. Pero el problema que presenta es que no proporciona los
criterios para hacer un análisis acerca de la situación inicial sino que parte de la
solución misma. Es decir, de la forma para adquirir y representar el conocimiento sin
saber si realmente es la mejor alternativa para solucionar el problema. Además, no está
enmarcada en todo el proceso de evaluación y planteamiento de proyectos, por lo que
no aplica conceptos de gestión de proyectos.
• METODOLOGÍA MIKE
sistema final. Pero, hasta el momento sólo se centra en la construcción del modelo de
conocimientos para describir los requerimientos funcionales del SBC, como se pudo
observar en la Figura 2-1. Es así, como esta metodología se fundamenta más en la
integración de prototipos y el desarrollo incremental que en la construcción de
diferentes vistas del problema y del SBC.
• METODOLOGÍA Protégé-II
• METODOLOGÍA CommonKADS
CommonKADS está fundamentada en el modelo del ciclo de vida en espiral que tanto
se trabaja en la Ingeniería del Software y que proporciona una estructura para el desarrollo
del sistema computarizado [WSB92]:
• Al final de cada fase han de producirse uno o más productos tangibles (por ejemplo,
documentos, informes, diseños, programas) normalmente como entradas a otras
fases.
La metodología está formada por una serie de etapas, cada una con unas tareas y
productos asociados. Brevemente éstas son:
• Implantación del sistema: En esta etapa se considera tanto la integración del software
desarrollado como su adaptación en la organización.
• Instalación: Consiste en la puesta en marcha del sistema con el fin de que comience a
operar en la empresa, iniciándose su proceso productivo.
Modelo de la
Organización
Qué Quiénes
Modelo de Modelo de
Tareas Agentes
Qué saben Cómo se
Con qué relacionan
Modelo de Modelo de
Conocimientos Comunicaciones
Base de conocimientos,
Razonamiento
interfaz
Modelo del
Diseño
• Modelo de la organización
Este modelo refleja el análisis de las características principales de una
organización con el objetivo de descubrir problemas que pueden ser solucionados por
sistemas de conocimiento, establecer su viabilidad y evaluar el impacto que tendría en
el entorno donde se implanten. Está formado por una serie de constituyentes o
conceptos que reflejan la información y el conocimiento de la organización, sus
problemas y sus soluciones, especialmente basadas en el conocimiento. En la Figura
2-3 se presenta su estructura, siguiendo la notación de [DBM+94]. Donde,
− Solución: Corresponde a los escenarios que han sido o serán desarrollados para
solucionar el problema actual o modificar las necesidades presentes.
− Cultura y Poder: Son las relaciones que existen entre los roles, las formas en que
se realizan las actividades y las políticas formales e informales que soportan la
organización.
− Los invariables son los que en la Figura 2-3 están encerrados en un marco de
líneas punteadas. No dependen del tipo de solución en particular porque se
asumen como fijos.
− OM-3: Descripción del proceso desde el punto de vista de las tareas en que está
compuesto y sus características principales.
Contexto
Organizacional
situado en Modelo
de
pertenece realizadas Agentes
mejorados por
Problema a Problemas y por
Soluciones Agente
actual oportunidades
respaldadas
se refiere a se refiere a por puede ser
tiene posiciones en
Estructura y Personas
organización -Roles-
derivado de mantienen puede
aplicado ser
posee
por
derivado aplicado
realizada en Cultura y Conocimiento por Recursos
poder de computacio.
requiere
Función realizada por Proceso Otros
usados
en recursos
define parte de
sirve
Tarea
Modelo
de Tareas
• Modelo de tareas
Para CommonKADS una tarea es una parte de un proceso de negocios que
representa una serie de actividades orientadas a alcanzar un objetivo, llevada a cabo por
unos agentes que siguen unos criterios de calidad y rendimiento. La tarea recibe
entradas y entrega salidas deseables en una forma estructurada y controlada, consume
recursos y requiere (y provee) conocimiento y otras habilidades. El análisis de tareas le
sirve al IC para organizar una vista de las tareas principales que un experto realiza en
un área dada y para determinar el alcance del SBC que servirá de soporte en el análisis
de viabilidad del proyecto.
− Cada sentencia de la tarea debe ser entendida claramente por quien hace el
trabajo. Una sentencia es una serie coherente de actividades.
− La sentencia describe una parte finita e independiente del trabajo. Es decir, tiene
significado en el contexto del proceso y sus instrucciones deben dar una
descripción completa de la correspondiente tarea.
− Una tarea comienza con una clave observable que permite definir cuando ésta es
iniciada. Es importante resaltar que en el caso en que la tarea sea continua, la
clave no existe.
Los constituyentes de este modelo se ven relacionados en la Figura 2-4 y son los
siguientes:
− Tarea: Entidad que representa una tarea del proceso y que es la parte central del
modelo.
Modelo de la Modelo de
Organización Conocimiento
Función
Tarea
define realizadas
sirve por
implementada por
Otro tiene
subsistema Tarea Característica
implementada
por
Subsistema realizadas
SBC en
requiere
entrada salida
Modelo de Entorno
Diseño Capacidades Ingrediente
tiene
especificada suministra
por ejecutada Transacción
por especificado
en
Agente recibe Elemento de
información
Modelo de
Agentes Modelo de
Comunicación
Los resultados que se obtienen al construir las diferentes instancias del modelo de
tareas se utilizan en CommonKADS para:
• Modelo de agentes
Para CommonKADS un agente es quien ejecuta una tarea. Puede ser un
individuo, un sistema de información o cualquier otra entidad capaz de llevar a cabo
dicha ejecución. Incluso el SBC por sí mismo es un agente para CommonKADS, lo
mismo que el usuario que va a interactuar con él.
− Agente: Se desarrolla por cada tipo de agente identificado. Tiene los siguientes
atributos:
o Nombre
o Tipo. Permite identificar si el agente es un humano o un sistema que debe ser
desarrollado en el SBC o un sistema que ya existe.
o Rol. Este atributo puede ser heredado del modelo de la organización.
o Posición. Se refiere al nivel en donde está el agente en la organización.
También puede ser heredado del modelo de la organización.
− Restricciones: Éste tiene tres atributos, de los cuales los dos primeros solamente
se aplican a agentes humanos:
o Normas que se refieren a lo que el agente considera que es lo más apropiado
para hacer en ciertas situaciones.
o Preferencias de cómo le gustaría al agente realizar una tarea en particular.
o Permisos que tiene el agente dentro de una tarea.
Las relaciones que hay entre el modelo de agentes y los demás se interpretan de
la siguiente forma:
− Relaciones Tarea – Agente: Todas las tareas son asignadas a los agentes que son
capaces de ejecutarlas y todos los ingredientes en el modelo de tareas son
servidos y recibidos por los agentes relevantes.
Modelo de
Comunicación
Transacción
Restricciones
participa inicia
tiene en Soluciones
efectuadas por
Capacidades
tiene
Agente es un Recursos
tiene puede
Capacidades ser
de Personal
Razonamiento
recibe suministra ejecuta Modelo de la
descrito por Organización
Tarea
Conocimiento Conocimiento
de aplicación estratégico Ingrediente
Modelo del
Conocimiento Modelo de
Tareas
• Modelo de conocimientos
Su propósito es explicar en detalle los tipos y estructuras del conocimiento usado
en la realización de una tarea. Para su definición se ha desarrollado el lenguaje CML2
(CML - Conceptual Modeling Language) [AnS94], que proporciona todas las
estructuras necesarias para especificar los datos y el conocimiento del sistema. La
definición que se hace en este lenguaje, es independiente de la implementación del
CommonKADS-RT – Capítulo 2. Estado del Arte 42
− El conocimiento de la tarea representa una estrategia fija para alcanzar las metas
de la solución del problema. Por lo tanto es otro tipo de control que tiene como
propósito especificar el registro de la ejecución de los pasos de inferencia básicos
definidos en el conocimiento de inferencia.
Categoría del
Conocimiento
Categoría de
Categoría del Categoría de la Tarea
Dominio Inferencia
Metas Estrategias
Inferencia Funciones de
Esquemas del Modelo del Transferencia
Dominio Dominio Roles del
Conocimiento
Conceptos Esquema
Relaciones Roles Roles
de Reglas
Dinámicos Estáticos
• Modelo de comunicación
El propósito de este modelo es especificar los procedimientos de intercambio de
información para realizar la transferencia de conocimiento entre los agentes que
participan en la ejecución de una tarea. Al igual que con el modelo anterior, esto es
hecho en una forma conceptual e independiente de su implementación [WHG+93].
Modelo de
Tareas
consiste
Discurso Artículos de
de Transacción
Información
Subsistema de
Funciones de interacción
Al igual que los demás modelos, tiene unos formularios (Communication Model -
CM) que facilitan su construcción:
• Modelo de diseño
Proporciona la especificación técnica del sistema en cuanto a la arquitectura, la
plataforma de implementación, los módulos de software, los métodos y mecanismos
computables, necesarios para implementar las funciones ofrecidas en los demás
modelos [VDS+94].
Este modelo es diferente a los demás porque parte del mundo del software. Es
decir, está en el dominio del software del sistema ya que está relacionado con el
software y su organización interna. En cambio los demás pertenecen al dominio de la
aplicación.
Las entradas a este modelo son: El modelo de conocimientos que se puede ver
como una especificación de los requerimientos de solución del problema y las
manifestaciones de la interacción externa y requerimientos no funcionales definidos en
el modelo de la organización. Sirve para describir la estructura del sistema de software
que se necesita para construirlo en función de sub-sistemas, módulos de software,
mecanismos computarizados y constructores que se requieren para implementar los
modelos de conocimientos y de comunicación.
El proceso del diseño consiste de cuatro pasos que se pueden apreciar en la figura
2-7 y que son los siguientes:
Especificac.
Diseño Especificac. Diseño
detallada de
Arquitectura plataforma detallado
la arquitectura
Hw/Sw aplicación
− Paso 1: Diseñar la arquitectura del sistema que define la estructura general del
software que se está construyendo y que comprende la descomposición del
sistema en sub-sistemas, un régimen de control global y una descomposición de
los sub-sistemas en módulos de software. Para este paso se cuenta con el
formulario (Design Model - DM) DM-1: Descripción de la arquitectura del
sistema.
CommonKADS proporciona algunas ayudas para realizar cada uno de los pasos
del modelo de diseño:
• El nivel del entorno, que relaciona la información del entorno del sistema de
conocimientos. Implica tener un entendimiento del contexto de la organización, de
su ambiente y de los factores críticos de éxito correspondientes al sistema de
conocimientos. En este nivel los modelos Organizacional, de Tareas y de Agentes
permiten responder a las siguientes preguntas: ¿Por qué un sistema de conocimiento
es una ayuda potencial o una buena solución de la situación actual? ¿Cuáles
problemas son los que se acoplan más con este tipo de solución? ¿Cuáles son los
beneficios, los costos y el impacto organizacional que tendría esta solución?
Para ver la integración de los modelos es útil plantear un ejemplo sencillo en el que se
haga esto explícito: en la interacción entre un usuario que proporciona datos a un sistema de
conocimientos y en donde este último razona y le presenta resultados al primero, entonces
los modelos contendrían en términos generales lo siguiente: El modelo de agentes la
descripción de los agentes involucrados, junto con sus capacidades; el modelo de tareas
presenta las tareas, sus entradas y salidas (objetos de información) y su asignación a los
diferentes agentes; Si la tarea es intensiva en conocimientos, entonces se describe en el
modelo de conocimientos, incluyendo una función de transferencia que indique que la
entrada y la salida del proceso de razonamiento deben ser obtenidas o entregadas a otro
agente; En el modelo de comunicación se describe la comunicación entre los agentes que
participan en el sistema; y por último, en el modelo del diseño se especifica la arquitectura
física de dicho sistema.
• Plan. Se hace el plan detallado para el siguiente ciclo, en función del grado de
finalización de uno o varios modelos (estados de los modelos). Se tiene el formulario
PM-2: Cómo describir el estado del modelo como un objetivo a ser alcanzado en el
proyecto.
Para cada una de estas actividades se ha definido una serie de documentos, reflejados
en la Figura 2-9, que deben ser creados al comienzo del proyecto y completados durante el
progreso de cada ciclo.
Otro aspecto para resaltar de esta metodología es el hecho de que es una de las
más utilizadas para el desarrollo de SBC, tomándose incluso como el estándar europeo.
Numerosas universidades y empresas europeas como bancos y compañías entre otras
han realizado sus proyectos a través de las técnicas de CommonKADS.
CommonKADS-RT – Capítulo 2. Estado del Arte 50
En general esta metodología cubre todos los aspectos que se necesitan para llevar
a buen término un proyecto de desarrollo de un SBC, desde el estudio del problema
hasta la implantación del software y su gestión. Los aspectos negativos que se presentan
son más de su aplicación que de su conceptualización, porque aplicar lo definido en ella
requiere de mucha experiencia y conocimiento de la misma metodología. Esto por
varias razones:
− Hay mucha información relevante que está en diversos sitios, lo que dificulta su
acceso y comprensión.
Una de las ideas erróneas que se tiene alrededor de este tipo de sistemas es que la
computación de tiempo real es sinónima de computación rápida. Esto ha sido muy discutido
y como lo menciona Ripoll [Rip98], es diferente un sistema de tiempo real a un sistema en
tiempo real, ya que este último se trata de un sistema que es muy rápido y da la sensación
de realidad. El objetivo de los sistemas de tiempo real es realizar su procesamiento
cumpliendo con unos requerimientos de tiempo previamente definidos [Ber98].
Los sistemas de tiempo real también se caracterizan porque tienen como componente
fundamental un programa de ordenador que interactúa con su entorno y que controla y
evalúa el tiempo en que se realizan sus actividades. Para poder cumplir sus especificaciones
temporales deben obedecer a unos requerimientos de: rendimiento (actuar dentro de los
tiempos que se han definido), oportunidad (responder en el momento apropiado y preciso) y
funcionamiento (estar lógicamente bien construidos).
Debido a las características propias que estos sistemas poseen, se han planteado
diversas formas de clasificarlos, algunas de ellas se presentan a continuación:
estados en que puede estar, como las entradas que requiere para que produzca una
salida que le permita pasar de un estado a otro.
También de estos sistemas hay muchos ejemplos, entre los cuales están: 1) un
sistema para descomprimir y visualizar archivos mpeg. 2) El sistema de reservas de
vuelos en una aerolínea. 3) Un sistema de predicción del valor de las acciones en la
Bolsa de Valores.
Hay también otra clasificación para estos sistemas, de acuerdo con el comportamiento
que tienen cuando se relacionan con el entorno [Dou99]:
Un sistema de tiempo real responde a una serie de eventos que pueden ser producidos
en su interior o en su entorno, llamándose eventos internos o externos, respectivamente y
que se caracterizan por lo siguiente:
Con todo esto, ya es posible hablar entonces del desarrollo de estos sistemas. Así, de la
misma forma como ocurre con cualquier otro tipo de sistema, se tienen que realizar dos
etapas o fases importantes: la especificación y la implementación [Ber98]. La primera se
refiere a la determinación del comportamiento externo deseado del sistema y la segunda a
la forma en que el programa - software debe ser organizado para cumplir con las
especificaciones. Pero, la diferencia radica en lo que se define como especificación del
sistema, como se verá a continuación.
− El tiempo máximo transcurrido en el cual una tarea tiene que terminar una vez
ésta ha empezado su ejecución.
− El tiempo mínimo de separación que pasa entre dos instantes de inicio de una
tarea.
− El tiempo de respuesta que transcurre desde la entrada hasta la salida del sistema.
Como se puede observar, todas las anteriores restricciones son definidas para el
tiempo, por lo que es importante entonces tener claro lo que éste implica. Para
referirse al tiempo se puede hablar de tiempo absoluto (de acuerdo con el meridiano
de Greenwich o con el estándar de hora local que se esté usando) o de tiempo
relativo (tiempo que ha pasado desde que ha ocurrido un evento conocido en un
proceso). Por ello, cuando se vayan a definir los requerimientos del STR en el
análisis de requisitos, se debe identificar la referencia a utilizar, la forma en que se
debe medir y las unidades respectivas [HaP88].
Para que el STR cumpla con sus restricciones temporales, debe acatar las siguientes
propiedades:
Es importante decir que cuando se tienen sistemas que requieren manejo del
tiempo se deben considerar otros temas o áreas de la informática que pueden afectar
el cumplimiento de las propiedades del sistema. Es así como el hardware, el lenguaje
de programación, el sistema operativo, la arquitectura del sistema y las metodologías
de desarrollo juegan un papel trascendental dentro de estos sistemas.
− El sistema operativo tiene un papel muy importante, ya que es quien debe dar el
soporte mínimo para garantizar los requisitos de tiempo real. Si el sistema
operativo es de tiempo real tiene como objetivo básico el conseguir planificar y
ejecutar las tareas o procesos de tiempo real de forma que se garantice que van a
finalizar a tiempo. Por tanto, la política de planificación se constituye en un
elemento crucial ya que el cumplimiento de los límites de tiempo de todas las
tareas dependerá del orden en que éstas se ejecuten.
CommonKADS-RT – Capítulo 2. Estado del Arte 56
− Por último, para desarrollar un sistema de este tipo se debe considerar también la
forma en que se llevan a cabo las actividades conducentes a su construcción,
teniendo métodos y herramientas apropiadas para ello.
Estos sistemas tienen una serie de características complejas que pueden ser
distinguidas de otros problemas o sistemas de software y que imponen varias necesidades
que tienen que ser incluidas en las notaciones de modelado [Deu88]. Resumiéndolas, éstas
son:
Un STR no tiene que cumplir con todo esto a la vez, pero el método de modelado que
se elija debe proporcionar las herramientas necesarias para exhibir lo apropiado. Como dice
[SkG89], es importante que la especificación de un sistema de este tipo no esté muy
relacionada con su arquitectura para evitar perder generalidad, lo que muchas veces no se
puede hacer.
El método que se elija como base para desarrollar el STR tiene que ser un método de
diseño y no una notación de diseño. Es decir, un método de diseño es aquel que incluye
todas las etapas para desarrollar el sistema, no se habla en este caso de un método para la
etapa Diseño. Una notación sugiere un enfoque particular para desarrollar la etapa del
diseño, pero no provee un enfoque sistemático de pasos específicos para ejecutar todas las
etapas de construcción [Gom84], [Gom86], [Gom89].
En caso de diseñar un STR crítico, los métodos deben proporcionar las herramientas
para definir y modelar los requisitos temporales y garantizar los plazos de las tareas críticas
en el peor caso posible o los plazos de todas las tareas en el caso normal, aunque las tareas
acríticas puedan fallar en el peor caso [Del97]. Si el STR crítico es, además, empotrado,
entonces su implementación exige una mezcla de sistemas de hardware y de software, y
depende de muchos tipos de restricciones además de las temporales: peso, tamaño,
fiabilidad, costos, entre otras. Por lo tanto los métodos de diseño deben reflejar estas
particularidades. Uno de los métodos más conocidos para este propósito es POLIS (A
Framework for Hardware-Software Co-Design of Embedded Systems). Para más
información ver [Pol00].
Los métodos y metodologías que se utilizan para construir sistemas de ese tipo son
muy específicos y, en el contexto de esta investigación, se trabaja con aquellos que son más
generales, para aplicaciones que implican más esfuerzo en el análisis del problema y en el
diseño de una solución software.
Estos métodos son una extensión del Análisis y del Diseño Estructurado de Ingeniería
del Software. En ellos se evoca la estrategia de la descomposición funcional, en donde el
modelo del sistema es dividido en funciones, transformaciones o procesos y se utilizan los
flujos de datos y los de control para hacer las interfaces entre dichas funciones. El sistema,
por tanto, es estructurado como un conjunto jerárquico de diagramas de flujo de datos y de
control: El diagrama de contexto define los límites entre el sistema a ser desarrollado y el
entorno externo; el modelo entidad - relación permite identificar los almacenamientos de
datos del sistema y mostrar sus relaciones. En algunos métodos, también se utilizan las
máquinas de estado finito con el propósito de definir las características del comportamiento
del sistema.
Este enfoque es muy bueno cuando se puede fácilmente descomponer el sistema. “Sus
mecanismos integradores son las funciones y la jerarquía, los cuales aportan resultados
satisfactorios cuando las funciones están bien identificadas y son estables con el tiempo”
[Mul97]. Pero, como un sistema de tiempo real es restringido por requerimientos no
CommonKADS-RT – Capítulo 2. Estado del Arte 58
Una ventaja que se tiene cuando se desarrolla software con estos métodos es que ellos
han sido empleados en una gran variedad de proyectos y por lo tanto se cuenta con una gran
cantidad de personas capacitadas para asesorar en estos desarrollos y, además, en el
mercado hay disponibles una variedad de herramientas que facilitan su implantación.
Pero, a pesar de esto y precisamente para subsanar algunas de estas debilidades, se han
definido algunas extensiones de estos métodos para sistemas de tiempo real [Pre98]. Entre
ellos, los más conocidos e importantes son: el método de Hartley-Pirbhai y el método de
Ward y Mellor que a continuación se explican:
HPM (Hartley Pirbhai Method). Esta extensión es un método gráfico usado para
detallar tanto las funciones de un sistema de tiempo real como sus componentes físicos
[HaH94]. Para ello, se separan las especificaciones del sistema en dos modelos, uno de
procesos que permite representar los datos y los procesos que los manejan y otro de
control que ilustra cómo los sucesos externos hacen que se activen los procesos:
Por esto, las principales variaciones que hicieron fueron las de agregar a la
notación del flujo de datos convencional la posibilidad de representar datos discretos y
continuos en el tiempo para poder vigilar la información continua que está siendo
generada por algún proceso. Hacen una diferenciación importante entre un flujo de
datos continuo y uno de datos discretos lo que permite que se aíslen los procesos que
son críticos para el rendimiento del sistema, en el momento en que éste se está creando.
Además, en el modelo físico en el que se define dónde y cómo se dará la recolección de
datos continuos, la notación permite establecer en dónde se necesita un hardware que
convierta señales analógicas a digitales y cuáles transformaciones requieren un software
de alto rendimiento.
Proceso
de datos
Flujo de datos
Proceso
de control
Elemento de control
Activación
de alarma
Estado del
sensor Comparación
Indicador de valores
de inicio
de acción
Pila/Buffer con valores
Interfaz de Procedimiento de
Datos
sensados monitoreo de regulación de
pacientes concentración de O2
Procesar
Ajuste de orden de
control de modificación
Botón de O2
comando del
médico
Al igual que para los Sistemas Basados en el Conocimiento, se han propuesto diversos
métodos para la creación de Sistemas de Tiempo Real fundamentados en la idea del
desarrollo rápido por prototipo.
CommonKADS-RT – Capítulo 2. Estado del Arte 62
Un objeto, según Gomaa [Gom89] tiene unas características que son importantes de
resaltar:
CommonKADS-RT – Capítulo 2. Estado del Arte 63
• Tiene un estado que cambia como resultado de las operaciones entre los objetos del
sistema. Son sus datos persistentes.
• Es caracterizado por las acciones que él provee y que él requiere de otros objetos.
En los últimos años, la mayoría de los métodos que se han propuesto para hacer
sistemas de tiempo real han estado basados en el paradigma de objetos ya que presenta
grandes ventajas. La principal es que al estructurar el sistema en objetos se logra que éste
sea más fácil de mantener y que sus componentes puedan ser reutilizables.
Pero también presenta algunos problemas, como por ejemplo que la forma de la
solución depende sustancialmente de la estrategia informal usada para identificar los
objetos y que en términos generales no ofrece alternativas para el manejo del tiempo ni
tampoco considera importante la estructuración de las tareas de tiempo real. Por ello, los
que han planteado métodos orientados por objetos para hacer STR se han basado en algún
método ya existente y han definido una extensión propia que permita modelar
apropiadamente las características específicas de estos sistemas. Los más relevantes son:
HRT-HOOD, ROOM y RT-UML. A continuación se presentan éstos en más detalles.
• METODOLOGÍA HRT-HOOD
HRT-HOOD está enfocado a las etapas de diseño lógico y físico y busca incluir
las características no funcionales de tiempo y dependencia lo más temprano posible en
el ciclo de vida de desarrollo. Su objetivo final es producir un diseño que facilite el
desarrollo de un método formal y que permita realizar un análisis de planificación.
Aunque ésta es una de sus fortalezas, también es una de sus debilidades ya que no hace
énfasis en el análisis del problema y su modelado gráfico. Por lo tanto, es más bien un
método de diseño.
• MÉTODO ROOM
Por ello, en este punto se incluye una explicación breve de UML, ya que éste se
utiliza no solamente en ROOM, sino también en otros métodos y metodologías.
Los elementos semánticos se refieren a aquella parte del lenguaje que tienen un
significado subyacente, con valores, modos de operación y restricciones. Ejemplos de ello
son las clases, los casos de uso y los estados. Los elementos sintácticos son los que
permiten representar los semánticos. El conjunto de todos los elementos semánticos de un
modelo se denomina el modelo.
CommonKADS-RT – Capítulo 2. Estado del Arte 65
Entonces, ROOM utiliza muchos de los componentes que propone UML para el
modelado de las características del sistema. Pero, quizá lo importante de ROOM es que
está basado en el principio que se debe emplear un único modelo para todas las fases
del proceso de desarrollo de software (Análisis, Diseño e Implementación), lo que
facilita el desarrollar un STR. Además, esboza una notación simple y elegante para
describir un sistema o una aplicación.
hasta que le llega un mensaje que le indica que un evento ha ocurrido [Sel92], [Sel96a]
y [Sel96b].
Especificación de los
requerimientos
Modelado de la
solución
Desarrollo de una
simulación
Implementación
ROOM tiene una serie de ventajas que la hacen muy poderosa para modelar el
comportamiento complejo que puede llegar a tener un sistema de tiempo real:
CommonKADS-RT – Capítulo 2. Estado del Arte 67
− Es orientada por objetos, lo cual permite explotar todas las fortalezas de ese
paradigma.
− Permite manejar actores dinámicos que reflejan los cambios que deben sufrir los
sistemas empotrados de tiempo real para poder responder rápidamente a cualquier
cambio del entorno.
• METODOLOGÍA RT-UML
Existen otras alternativas para el desarrollo de STR que son muy abiertas y que toman
algunos de los conceptos que son más comunes en ingeniería de software y los aplican.
Entre ellas están MCSE y DARTS:
• METODOLOGÍA MCSE
MCSE está basada en la idea que cualquier sistema puede ser observado por
medio de tres vistas, en donde cada una de ellas explica un aspecto específico y
adiciona información para describir el cómo del sistema:
− Una vista funcional que caracteriza las funciones internas del sistema.
− Una vista del hardware o de los recursos que distinguen la parte física del
sistema.
− La dimensión ejecutiva descrita por una estructura que expresa los componentes
hardware y las interconexiones necesarias para la operación del sistema.
Especificación Validación
VALIDACIÓN
Aceptación
Especificación
PRUEBA
Especificación
implementación Implementación Implementación
hardware software
• METODOLOGÍA DARTS
− Hacer el análisis de flujo de datos para poder determinar las principales funciones
del sistema, sus subsistemas y componentes.
CommonKADS-RT – Capítulo 2. Estado del Arte 70
− Identificar las tareas concurrentes por medio de unos criterios que permiten
determinar si un proceso debe hacerse como una sola tarea o como una
agrupación de ellas representadas como programas secuenciales. Estos criterios
son un conjunto de heurísticas derivadas de la experiencia obtenida en el diseño
de sistemas concurrentes.
− Establecer las interfaces entre las tareas, definidas en dos clases de módulos: Uno
para la comunicación de las tareas y otro para su sincronización.
temporales que ellas pueden involucrar. Fue elaborado conjuntamente por ObjectTime
Limited (creadores de ROOM) y Rational Corporation (creadores de UML).
Para el modelo de requerimientos se utilizan los casos de uso, que son una colección
de posibles secuencias de interacciones entre el sistema y sus actores externos, relacionados
con un objetivo en particular [Hil99].
Para el modelo estructural, se propone hacer una división de dos aspectos diferentes:
• La estructura lógica del sistema que refleja las relaciones inherentes entre los
elementos semánticos que tienen que ser verdaderos durante todo el desarrollo del
sistema y que UML lo modela como asociaciones entre clases, y
• La estructura física, que define las piezas físicas del sistema y la forma como ellas se
relacionan con los elementos lógicos.
Además, considera diferentes técnicas para modelar el STR. Por ejemplo, ofrece los
casos de uso y escenarios para modelar la comunicación entre los diferentes agentes del
sistema; Los diagramas de estado para modelar el comportamiento de los objetos; Los
diagramas de secuencia para modelar las restricciones temporales en el envío de mensajes;
La representación de las tareas y su sincronización; Los modelos de la topología física del
sistema y los modelos de organización del código fuente.
• Inicio, en donde se define el problema a resolver, se enumera las entidades con las
que el sistema interactuará (actores), la forma en que lo harán (casos de uso) y se
analiza si es viable realizar el proyecto y si ésta es la mejor forma de implementarlo.
• Elaboración, en donde se busca establecer los objetos, las clases y sus relaciones. Se
definen los fundamentos de la arquitectura estructura del sistema y se desarrolla un
plan del proyecto para establecer las iteraciones en la fase de construcción.
• Transición, para entregarle a los usuarios una versión de prueba del producto para su
evaluación.
Una vez se han hecho los cambios pertinentes se hace la entrega del producto y se da
la capacitación necesaria.
Es importante resaltar que en cada fase de la dimensión del tiempo se aplican las
actividades de la dimensión de los componentes del proceso.
• Los diagramas de objetos que son unos grafos de instancias, incluyendo objetos y
valores de los datos. Este diagrama es instancia del de clases, y muestran el estado
detallado del sistema en un momento del tiempo.
• El diagrama de los casos de uso es un grafo de actores, una serie de casos de uso,
posiblemente algunas interfaces y las relaciones entre esos elementos. Estos
representan la funcionalidad de un sistema como manifestación de entidades externas
que interaccionan con él. Se usan para definir el comportamiento de un sistema sin
especificar su estructura interna.
Catálogo de Teléfonos
Validación
del estado
Vendedor
Poner
Cliente orden
Llenar
orden Empleado de
transporte
El actor define una serie coherente de roles que los usuarios del sistema pueden
jugar cuando interactúan con él. Los casos de uso especifican una secuencia de
acciones que el sistema puede ejecutar, interactuando con los actores. Las relaciones
son asociaciones entre los actores y los casos de uso, generalización entre actores, y
generalizaciones, extensiones e inclusión entre los casos de uso. Un ejemplo de un
gráfico de este estilo es el que se presentó en la Figura 2-15.
b: escuchar tono
c: marcar dígito
< 10 seg.
d: enruta
contesta llamada
Timeout
OK/mostrar mensaje
después (15 seg)
después (15 seg) marcar dígito(n)
[incompleto]
TonoDial marcar dígito(n)
Marcando
OK/poner tono
• Diagramas de actividad. Son una variación de las máquinas de estado en donde los
estados se representan por la ejecución de acciones o subactividades y las
transiciones son disparadas por la terminación de las acciones o subactividades. El
propósito de estos diagramas es enfocar la conducción de los flujos por el
procesamiento interno (opuesto a los eventos externos). Estos diagramas permiten
representar decisiones, actividades concurrentes, actividades en diferentes unidades,
entre otras cosas. Ver el ejemplo que se presenta en la Figura 2-18.
[costo<50] Cargar a la
Calcular costo
total cuenta del
[costo>=50]
Obtener
autorización
Scheduler Asignación
Planificador Actualización
GUI
AdminServer:HostMachine
<<baseDatos>>
BDreuniones
:Scheduler Asignaciones
RT-UML tiene grandes ventajas cuando se compara con los otros métodos:
− A diferencia de ROOM que aplica el UML estándar con limitaciones para los
sistemas de tiempo real (por ejemplo el no tener un buen soporte del análisis
riguroso de tiempos y de los límites de tiempo), RT-UML hizo la ampliación del
lenguaje orientado a los sistemas de tiempo real.
− Ofrece criterios para evitar hacer un mal uso de los diferentes diagramas de UML
y otros para su utilización, lo cual es una buena guía para el constructor del
sistema, en especial para aquellos que no tienen mucha experiencia en la
utilización del lenguaje de modelado.
− Ha sido adoptada por los pioneros del paradigma de objetos y de UML, lo que da
ciertas garantías.
En general esta metodología cubre muchos de los aspectos que se necesitan para
llegar a buen término un proyecto de desarrollo de un STR, desde el estudio del
problema hasta la implantación del software. Pero, presenta algunos aspectos negativos
relacionados con la gestión del proyecto. Esto por varias razones:
CommonKADS-RT – Capítulo 2. Estado del Arte 78
Pero, a pesar de lo anterior y dado las fortalezas que ofrece RT-UML, se ha elegido
como la más importante y actual para la construcción de STR.
CommonKADS-RT – Capítulo 2. Estado del Arte 79
De esta forma, los sistemas de tiempo real requieren garantías en el uso de los
recursos, tales como el tiempo, la memoria o el procesador. Las tareas que realizan en
términos generales, son repetitivas y reflejan métodos procedurales, con tiempos de
ejecución y patrones de llegada definidos, asegurando los tiempos de respuesta
establecidos. Su objetivo es producir un resultado en el momento apropiado. Pero, cuando
se aumenta la complejidad de los problemas que pretenden ser solucionados por ellos, es
necesario plantear la aplicación de otras técnicas y métodos como por ejemplo los de la IA.
Por todo lo anterior, se pensó en crear sistemas que tuvieran las cualidades de los
sistemas de IA y un comportamiento apropiado para ser utilizado en entornos típicos de
TR- sistemas predecibles temporalmente -, como se explica en [VHB97]. Se afirma
entonces, que “los métodos de inteligencia artificial se están moviendo hacia dominios más
CommonKADS-RT – Capítulo 2. Estado del Arte 80
realistas que requieren de respuestas de tiempo real, y que los sistemas de tiempo real se
están moviendo hacia aplicaciones más complejas que requieren comportamiento
inteligente” [MHD+95]. Por lo tanto, si se fusiona apropiadamente un STR con uno de IA
se debe obtener un sistema que hace las cosas correctas en el momento oportuno. Desde el
punto de vista de Musliner [Mus93] es "hacer la mejor elección con base en los recursos y
el conocimiento limitado que el sistema tiene".
este enfoque lo que se pretende es que cada uno de los sistemas mantenga sus
fortalezas y no interfiera en el comportamiento del otro. El sistema global sería
inteligente acerca del tiempo real. Como ejemplo de este enfoque está CIRCA (The
Cooperative Intelligent Real-Time Control Architecture) propuesta por David
Musliner en 1993 [Mus93].
Como se puede observar, estas formas de sistemas no declaran una técnica o área
específica de la Inteligencia Artificial, se habla en forma general. Por lo tanto, es posible
instanciar el término a cualquiera de ellas (mencionadas en la sección 2.2), concretando o
especificando más según las características del área instanciada. En esta investigación la
particularización se hará hacia los sistemas basados en el conocimiento, de la siguiente
manera:
En este caso, el STR mantiene el comportamiento temporal, pero algunas de las tareas
que debe realizar son SBC. Así, la planificación del sistema incluye la realización de unas
tareas basadas en heurísticas o en técnicas propias de la ingeniería del conocimiento y los
algoritmos de búsqueda y de control del motor de inferencia deben estar acotados para
realizar su función. El asunto importante en este tipo de sistemas es cómo garantizar la
ejecución del SBC y cómo hacer que cumpla con los tiempos asociados.
CommonKADS-RT – Capítulo 2. Estado del Arte 82
Este tipo de sistemas se necesita porque como menciona Turner en [LCS+88], “la
principal razón para usar un sistema basado en conocimientos de tiempo real es reducir la
carga cognitiva en los usuarios o permitirles incrementar su productividad sin que la carga
cognitiva se les incremente”. Esto tiene muchas implicaciones en el ámbito tecnológico y
social pues hace que la persona que maneje el sistema no tenga que tener todos los
conocimientos del problema y su solución, o en aquellas situaciones que si se requiera le da
la posibilidad de manejar simultáneamente la información completa. Así como un sistema
basado en el conocimiento tiene una utilidad muy especial, estos sistemas también.
En este caso sería lo mismo que lo expresado para el caso general de tener cooperación
entre un sistema de IA y un STR. La clave de este tipo de sistemas es la forma en que se
define la comunicación y la cooperación entre los dos sistemas que lo conforman, lo cual
está fuera del alcance de esta investigación.
• Una de las áreas que busca encontrar soluciones inteligentes es la del monitorización
de alarmas y el diagnóstico de fallos porque cada vez se están creando plantas más
CommonKADS-RT – Capítulo 2. Estado del Arte 83
• El sistema ESSOC (Expert System for Satellite Orbit Control) que fue diseñado para
asistir en las maniobras de mantenimiento de estaciones de satélites (Delta V). A
partir de datos de telemetría del satélite determina los comandos apropiados para
ejecutar maniobras exitosas. Este sistema analiza los datos durante la rutina de
chequeo del estado del satélite, diagnostica las causas de anomalías y recomienda
comandos que las resuelven.
• El sistema FLES (Flight Expert System) fue diseñado para asistir al piloto de un
avión en las tareas de evaluación, análisis y diagnóstico de fallos en los sistemas de
la nave. Este sistema está basado en el modelo blackboard de Hearsay, en donde se
tienen fuentes de conocimiento que representan analizadores de interrupciones
provocadas por los sensores. El sistema con base en esas entradas construye una
serie de hipótesis sobre las posibles causas de las interrupciones, a través de un
procedimiento de verificación confirma si un componente no está operando y unos
procedimientos de diagnóstico determinan si el componente es la causa del fallo o es
un efecto de algún otro problema [AlS85].
Como se puede ver, hay muchas aplicaciones de este tipo que reflejan el
comportamiento de sistemas inteligentes de tiempo real. Pero, es importante resaltar que
hay unos problemas que se presentan en este tipo de sistemas, provocados por lo siguiente:
• La adquisición del conocimiento del área de aplicación puede ser muy compleja
porque para que el sistema obtenga buenas inferencia, hay que tener completa la
estructura de las reglas del dominio, en una forma que sea aceptable, verificable y
que soporte la suficiente información.
CommonKADS-RT – Capítulo 2. Estado del Arte 84
REAKT plantea tener múltiples agentes y como eje central un blackboard temporal.
Se propone tener un sistema operativo de tiempo real, un administrador de datos de
conocimiento y un servidor experto. Permite definir tareas periódicas, esporádicas o
actuadoras (tareas especiales que tienen como función la comunicación con el mundo
externo) [MKC+93], [ViB96].
• Las tareas reactivas que se ejecutan como respuesta a un evento que puede ser el
resultado de alguna modificación del entorno o de alguna condición temporal que se
haya definido con antelación.
• El foco de atención que se define cuando el sistema puede dirigir su atención según
el evento o la reacción que está atendiendo en un momento dado.
• Tareas concurrentes que pueden ser ejecutadas al mismo tiempo, en forma paralela.
generada en un agente diferente del que procesa la tarea disparada, es decir, que hay una
reacción externa.
En esta metodología no se hace la diferencia entre lo que es una tarea desde el punto
de vista de un proceso de la organización y lo que es una tarea (thread) de tiempo real.
Además, se confunde el concepto de tiempo real y en tiempo real, tal como se ha planteado
en la sección 2.3.1 de sistemas de tiempo real. En ésta no se hace un tratamiento riguroso
del tiempo, clave de los STR, pues no se plantea la inclusión de las características estrictas
del manejo de las tareas de tiempo real, como el deadline, el período o el tiempo de
ejecución en el peor de los casos. Por lo tanto, más bien se entiende como el manejo de la
temporalidad en un sistema basado en el conocimiento.
conocimiento es mucho más rico y más difícil de entender para que encaje en un enfoque
tan rígido. El desarrollo por prototipos ha sido de esta forma muy popular en los sistemas
de conocimiento porque le permiten aprender en el sitio y cambiar el curso cuando sea
necesario, pero su inconveniente es su naturaleza ad hoc, difícil de predecir y manejar.
Para construir sistemas más complejos, se ha trabajado con los métodos generales de
Ingeniería de Software y algunas personas y empresas han propuesta otras, pero el
problema es que no se han difundido y las grandes industrias que crean este tipo de
sistemas, simplemente siguen su propio método ad hoc.
Los métodos que se han presentando, son sólo una muestra de los muchos que existen
para construir este tipo de sistemas, han sido elegidos por ser típicos, ampliamente
utilizados y reconocidos, lo que garantiza en cierta forma su efectividad. Para más
información ver por ejemplo [Lee92], [Ell94], [ShC94].
Pero, cuando lo que se quiere es construir una aplicación muy sólida y compleja,
dirigida al sector industrial, estos métodos y metodologías no son apropiados pues es
necesario que además incluyan la fase de análisis para hacer el modelado conceptual, es
decir, un modelado del entorno del mundo real.
Hasta el momento la Inteligencia Artificial de Tiempo Real había sido enfocada desde
tres puntos de vista diferentes:
Por todo esto, es necesario proponer una metodología que se ajuste más a los sistemas
basados en el conocimiento de tiempo real, retomando algunas de las consideraciones
planteadas en las metodologías existentes.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 91
Capítulo 3.
CommonKADS-RT
3.1 Introducción
La importancia de toda metodología es que posibilita el tener un proceso de
producción de software más estructurado y controlado, facilitando el desarrollo del
proyecto y su gestión, de forma tal que se alcancen tanto los objetivos como los productos
definidos desde el comienzo.
Las metodologías existentes para hacer SBCTR, tal como se expresó en la sección
2.4.4, tienen algunas carencias en cuanto a este concepto metodológico y además, no han
tenido en cuenta una serie de concepciones que permiten modelar las características propias
de estos sistemas, a pesar de que el concepto reacción de RT-CommonKADS es muy útil e
importante. Por ello se propone CommonKADS-RT (CommonKADS-Real-Time) para
CommonKADS-RT – Capítulo 3. CommonKADS-RT 92
Todo esto hace que se piense en tener herramientas que permitan hacer un buen
modelado del sistema, integrando por ejemplo escenarios estímulo / respuesta y diagramas
de flujo de datos y de control para exhibir las entradas y las salidas del sistema. También se
podrían utilizar las máquinas de estados y los flujos y transformaciones de eventos y
estados para que reflejen los estados en los que puede estar el sistema en un momento
específico. Si se requiere involucrar el procesamiento concurrente entonces es importante
hacer el modelado del diseño físico del sistema, la interconexión de sus componentes y la
ubicación de los datos. Por último, como estos sistemas generalmente deben responder en
forma predecible y rápida, entonces sería importante contar con un medio para establecer su
rendimiento.
En este contexto, es importante determinar qué se entiende por tarea, dado que se trata
de una noción relevante que tiene diferentes connotaciones:
• Como un concepto de sentido común, una tarea es una actividad humana para
alcanzar algún propósito.
• Desde el punto de vista de los STR, una tarea se refiere a una especificación de bajo
nivel de cada uno de los hilos de ejecución de un proceso.
No obstante, CommonKADS sigue siendo la mejor alternativa para usarse como base
en el desarrollo del SBCTR por las siguientes razones:
• Es una metodología consistente y robusta que integra los conceptos más importantes
de la Ingeniería del Software y en especial de la Ingeniería del Conocimiento,
siguiendo con el paradigma de objetos.
• Dado que esta metodología es un estándar para el desarrollo de SBC, que ha sido
ampliamente utilizada y validada, da ciertas garantías para su utilización.
Adicionalmente, se puede decir que esta metodología es más de diseño que de análisis,
aunque ese no es su propósito, pues pone mucho énfasis en las actividades, modelos y
diagramas que se pueden utilizar para el diseño del STR, dejando de lado el análisis del
problema.
Se escogió UML para modelar las características de tiempo real, porque tiene una serie
de modelos que se pueden aplicar para realizar el análisis de un sistema de tiempo real e
incluso de un sistema basado en el conocimiento de tiempo real. La metodología que
soporta más ampliamente UML es RT-UML para la parte de tiempo real, pero es necesario
adicionarle otras herramientas que permitan modelar el conocimiento temporal.
• Cuáles son las características más importante que debe tener el dominio para que sea
apropiado utilizar esta metodología. Se plantearán en la siguiente sección – 3.4.
• Cuáles son las actividades específicas que se deben realizar (etapas o fases). En el
caso de CommonKADS-RT es la especificación de los diferentes modelos que se
deben elaborar para integrar el SBCTR. Esto es lo que se amplía en la sección 3.6
Modelos que integran a CommonKADS-RT.
• Cuáles son las herramientas, conocimientos y utilidades para realizar las actividades.
Es decir, cómo se deben preparar los modelos de CommonKADS-RT. También se
plantea en la sección 3.6.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 95
• Los resultados, productos o artefactos que se obtienen en cada una de las etapas y
modelos, se incluyen en la sección final de cada modelo de la metodología.
• Los mecanismos que sirven de guía de decisión en cada una de las tareas. Es decir, la
gestión del proyecto. Este tema se trata parcialmente en los modelos y el ciclo de
vida, pero no se profundiza mucho.
Modelo de la
Organización
Qué
Quiénes
Modelo de Modelo de
Tareas de Agentes
Alto Nivel
Qué saben
Con qué Cómo se relacionan
Modelo de Modelo de
Conocimientos Comunicaciones
Base de conocimientos,
restricciones temporales,
Razonamiento
interfaz
Modelo del
Diseño
Características de Hardware
y Software
Modelo de
Tareas de
Tiempo Real
los modelos que deben ser configurados, refinados y rellenados durante el desarrollo
del proyecto.
• Luego se comienza con el desarrollo del modelo de tareas de alto nivel, variación del
modelo de tareas. Para esto además de utilizar los nuevos formularios, se debe
construir un diagrama de flujo de la TAN seleccionada, un diagrama de conceptos
(entidades o clases), la profundización del diagrama de actividades del modelo de la
organización y los diagramas de estado de aquellos conceptos que lo requieran.
• Por último, se definen las características de las tareas de tiempo real en el modelo de
TTR para poder hacer el test off line de planificabilidad y comprobar si el sistema si
lo cumple o no, para poderlo implantar.
Es importante aclarar que el hecho que se hayan definido estos puntos específicos, no
quiere decir que se tengan que dar en ese orden, ya que algunos de los procesos de análisis
se pueden hacer en forma paralela.
Además, la información que se va a modelar será importante para las decisiones que se
tengan que tomar en cuanto a aspectos de planificabilidad y predecibilidad del sistema.
El modelo de TTR describe las tareas de tiempo real que serán ejecutadas en el
SBCTR. Su alcance está dado por lo siguiente:
• Este modelo sólo contiene aquellas tareas que tienen restricciones temporales
asociadas y que en conjunto deben ser analizadas para determinar la planificabilidad
y predecibilidad del sistema.
• Las tareas de tiempo real son descritas independiente del sistema operativo y de la
plataforma hardware del mismo.
• Los sistemas basados en el conocimiento de tiempo real deben ser sistemas que se
fundamenten y manejen el conocimiento pertinente para solucionar un problema
específico.
• Análisis del Problema: En esta etapa se pretende modelar la solución del problema,
definiendo los procesos que van a quedar reflejados en el sistema, planteando
esquemas para la implantación de los componentes del sistema y determinando
cuáles son las herramientas necesarias para llevar a cabo dicha construcción. Las
actividades son: conceptualización, planteamiento del nuevo sistema, modelado y
planeación de la siguiente etapa. (modelo de la organización, modelo de TAN,
modelo de agentes, modelo de conocimiento, modelo de comunicaciones)
• Evaluación: Incluye la realización de las pruebas finales por parte del experto y de
los usuarios, y la realización del test de planificabilidad.
Viabilidad
Construcción
Diseño Análisis
Detallado
Formalización
Test de
Planificabilidad
No
cumplir Ciclo de
Desarrollo
Si
Integración del
Sistema
Evolución a largo
plazo
<<systemModel>>
Tareas de Alto
Organización Nivel
Conocimiento Comunicaciones
Agentes Diseño
Tareas de
Tiempo Real
La relación entre los modelos y el ciclo de vida se puede apreciar en la Tabla 3-1
siguiente:
Tabla 3-1 Relación entre las etapas del ciclo de vida y los modelos de CommonKADS-
RT
Modelo Modelo Modelo Modelo de Modelo de Modelo Modelo
de la de TAN de Conoci- Comunicacio- de de TTR
Organiza- Agentes mientos nes Diseño
ción
Viabilidad X
Análisis X X X X X
Fornalización X X X
Diseño X X
Detallado
A continuación se detalla cada uno de estos modelos. Es importante aclarar que los
cambios que se le han hecho a los formularios están resaltados en negrilla.
problema específico o mejorar un proceso real. Por tanto, a través de él se hace el análisis
de la organización en diversos aspectos: su estructura, sus procesos, el factor humano que
participa en los procesos, los recursos que se generan y consumen, las relaciones entre los
procesos y su gente, entre otras.
Las actividades centrales que se realizan en este modelo tienen que ver con la
identificación y descripción de los patrones de manejo, comunicación y producción que se
poseen, tanto en el momento presente en la organización – situación actual - como en el
futuro - la situación a la que se quiere ir, es decir, la situación deseada una vez el SBCTR
esté inmerso en ella.
Como se menciona en [Igl98] hay tres enfoques que se pueden aplicar para
identificar los problemas y oportunidades de una organización:
Por otra parte, una solución debe ser por medio de un sistema de tiempo real
cuando en los procesos del problema hay tareas que requiere que se realicen en unos
períodos definidos o en un tiempo máximo específico.
Con los resultados de OM-1 se debe escoger el problema que cumpla con las
condiciones mencionadas anteriormente y que tiene mayor prioridad, necesidad o
CommonKADS-RT – Capítulo 3. CommonKADS-RT 105
es_proveedor_de
MARÍTIMA ARMADOR
VALENCIANA
Para describir las tareas de alto nivel que conforman el proceso, se utiliza el
diagrama de actividades. Dichas tareas son las que se deben analizar para ver cuáles
requieren del cumplimiento de unas restricciones temporales y son intensivas en
conocimiento. Para ello también se tienen los dos formularios que a continuación se
presentan:
• OM-3: Descripción del proceso en función de las Tareas de Alto Nivel (TAN) en
que está compuesto
Este formulario permite especificar mucho más el proceso que se ha elegido, por
medio de su descomposición en tareas. En CommonKADS se denomina Descripción
del proceso en función de las tareas que lo componen y sus principales características.
Para aquellas TAN que se clasifiquen como no automáticas, se debe justificar las
restricciones tecnológicas o de impacto que hacen que se comporte de esta forma. Es
muy importante tener en cuenta lo que aquí se especifique pues esto deberá verse
reflejado en las soluciones que se planteen como posibles restricciones o limitaciones
del sistema computarizado. En caso de tener que hacer un análisis más detallado de las
TAN, bien sea porque son muy complejas e involucran diversas tipos de problemas
(ejemplo, de análisis o de síntesis), entonces se puede desarrollar otro formulario OM-3
que refleje más detalladamente las características de ellas.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 107
Formulario 3-3 OM-3: Descripción del proceso en función de las tareas de alto nivel en que está compuesto
* La escala que se ha definido para medir qué tan intensiva es la TAN en conocimientos, está dada por:
• ALTO: Cuando es una tarea que refleja un proceso de análisis o síntesis, relacionando datos e información a través de heurísticas. Por ejemplo la TAN para hacer la planificación de la
carga y la descarga de contenedores de un barco.
•
• MEDIO: Cuando con los datos se toma alguna decisión básica. Es decir, una decisión que puede ser aprendida por cualquiera que no tenga los conocimientos mínimos sobre el dominio en
cuestión. Por ejemplo cuando un barco atraca por primera vez en el puerto y hay que hacerle el registro de información y guardarlo en una carpeta apropiada.
• BAJO / NADA: Cuando sólo es un manejo puro de datos que no requiere tener conocimientos para ello. Por ejemplo, verificar si el barco ha atracado alguna vez en el puerto, lo que es una
simple comparación de datos.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 108
TAN-2
Rol-1 Rol-2
Rol-1 Rol-3
TAN-1 TAN-3 TAN-n
Rol-1 Rol-4
TAN-4
Este formulario está asociado con la descripción del conocimiento de cada una de
las Tareas de Alto Nivel intensivas en conocimiento que deben realizarse.
… … … … … … …
Formulario 3-4 OM-4: Descripción del componente de conocimiento del modelo de la
organización
CommonKADS-RT – Capítulo 3. CommonKADS-RT 109
datos información
datos
SBCTR información
conocimiento
Actor 2
Actor 1
Estímulos Respuestas
Donde:
Es el flujo de conocimiento
Con esto se logra conocer realmente cuáles son los activadores del sistema total y
sus reacciones. Así, cuando posteriormente se requiera desglosar los procesos del
sistema, se tendrá computerizada la información completa sobre el entorno y su relación
con el sistema.
El modelo de la organización lo que permite identificar son los elementos del contexto
(perspectiva externa) y del comportamiento (cómo se comporta) del sistema. Dentro de los
del contexto están los actores, los casos de uso, los mensajes externos y los riesgos
identificados; dentro de los de comportamiento están las restricciones del sistema de tiempo
real, la descripción del proceso del negocio, los diagramas de transición, los escenarios y
los protocolos de mensajes entre los diferentes actores y agentes (esta parte se deja para
completarla con otros modelos).
Por lo tanto, los resultados que se obtienen con la definición del modelo de la
organización se refieren a los requerimientos del análisis realizado para identificar en
dónde es posible o viable hacer un SBCTR, además de definir la semántica de dicho
sistema. Para ello se tienen la lista de eventos externos, los casos de uso, el diagrama de
contexto, el diagrama de actividades, el análisis de riesgo, la matriz DOGA y los criterios
de filtrado, entre otros.
• Los formularios OM-1, OM-2, OM-3 y OM-4 forman parte del Dominio del
Problema. Es decir, que ellos se obtienen a través del análisis de la situación actual y
real que se manifiesta en la organización, sin considerar el tipo de solución más
apropiado para modificar ese estado inicial.
• Los formularios OM-5 y OM-6 forman parte del Dominio de la Solución. Es decir,
que están asociados directamente con la solución elegida, con el desarrollo de un
SBCTR.
Organización
debilidades fortalezas
amenazas oportunidades
priorización
Problema elegido
Estructura Impacto
de la
organización Cultura OM-2
Proceso Personas que y poder
asociado al participan en el Restricciones
problema proceso Recursos Prioridad
Conocimiento
SBCTR Propuesto
Impacto
Ubicación del
SBCTR Cultura
Esquema del Personas que Restricciones y poder OM-5
proceso participan
automatizado Recursos Restricciones del
Conocimiento
Si por ejemplo se tiene que el proceso que se identificó en unos de los escenarios que
se presentan en el capítulo 4, relacionado con la Operativa Marítima en una terminal de
contenedores, entonces las tareas de alto nivel que lo conforman son:
à Atención
à Scheduling
TAN1
à Planificación
TAN2
à Operativa Marítima
TAN3
à Despacho
TAN4
TAN5
Donde, cada una de ellas debe ser analizada en detalle y puede a su vez, convertirse en
un proceso para ser trabajado independientemente y definido como una TAN que también
debe ser modelada y analizada. Por lo tanto, si en un momento determinado se encuentra
que una buena solución se obtiene con el planteamiento del SBCTR para una de estas TAN,
entonces se deben replantear las consideraciones del modelo de la organización y continuar
con la definición de tareas de alto nivel para ese nuevo proceso.
Las TAN a su vez, pueden ser descompuestas en tareas hasta llegar a un nivel en
donde no sea posible descomponer más. En el modelo de conocimientos se especificará el
conocimiento que se requiere para llevarlas a cabo. El nivel más bajo de las tareas (las
tareas de las hojas del diagrama de descomposición de tareas), es el que se ampliará en el
modelo de comunicación.
El modelo de tareas de alto nivel, por lo tanto debe permitir examinar cada una de las
tareas en forma global, sus entradas, salidas, precondiciones, criterios de ejecución,
recursos y habilidades necesarias para su realización. Para esto se tienen los formularios
TM-1, TM-2 y TM-3 que permiten reflejar el conocimiento relacionado con dichas
funciones.
• TM-1: Descripción refinada de las tareas de alto nivel dentro del proceso objetivo
Este formulario permite ubicar cada una de las TAN dentro del proceso al que
pertenecen y hacer una descripción más detallada de ella. También amplía la
información que en el modelo de la organización se trató en los apartes que hablaban de
las tareas de alto nivel.
Estructura del
Conocimiento
CommonKADS-RT – Capítulo 3. CommonKADS-RT 119
Disponibilidad del
Conocimiento
Limitaciones en tiempo
Limitaciones en espacio
Limitaciones en acceso
Limitaciones en calidad
Limitaciones en forma
Formulario 3-9 TM-2 Especificación del conocimiento empleado en la tarea de alto
nivel y posibles cuellos de botella y áreas para mejorar
Hasta el momento sólo se ha hablado del conocimiento de las tareas dado que
CommonKADS fue planteada para SBC, pero como CommonKADS-RT también tiene
que involucrar el tiempo, entonces se requiere otra información importante para
modelar apropiadamente la TAN. Por ello se ha incluido el siguiente nuevo formulario.
• TM-3: Descripción de las tareas de alto nivel a través de los eventos que las afectan
Tabla 3-2 Descripción de las tareas de alto nivel a través de los eventos que las
afectan
Modelo de Tarea de Descripción de estímulos y respuestas de la TAN
Alto Nivel Hoja de Trabajo TM-3
Estímulo, puede ser un Nombre del Escenario, Respuesta, puede ser un evento de salida de
evento de entrada de nombre del proceso de datos (información) o de control resultante y
datos o un evento de la TAN que se ve los estados modificados del sistema
control y los estados afectado por el evento
actuales del sistema
completo
También, en los sistemas de tiempo real se pueden asociar las TAN a los
dispositivos, mecanismos o subsistemas que lo forman. Por lo tanto, si se diligencia el
formulario TM-3 para cada uno de ellos, entonces se tienen el análisis completo de
cómo funciona, qué hace, qué requiere para actuar y qué produce.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 120
Además, se deben modelar los eventos que ocurren en la tarea con la ayuda de
los diagramas de transición de estados y de la lista de eventos externos que se plantea
en el modelo de agentes (como en la Tabla 3-3).
• El tipo de tarea, de acuerdo con los tipos de problemas o procesos generales y que
permite reutilizar las plantillas definidas en CommonKADS y optimizan el tiempo
del modelado del conocimiento.
Para realizar este modelo se requiere que participen el (los) experto(s) del dominio, el
(los) usuario(s), el (los) ingenieros del conocimiento y tiempo real, y el gerente del
proyecto.
Por esto, el concepto que en esta propuesta se maneja es que además de lo anterior, se
debe considerar que:
CommonKADS-RT – Capítulo 3. CommonKADS-RT 121
• El agente puede ser simplemente el que solicita un servicio, el que lo realiza o el que
se ve afectado por lo que otro hace.
− El agente actor, que es el ser humano que ejecuta una TAN o parte de ella.
• El SBCTR no se considera un agente para él mismo. Así que sólo será un agente,
cuando se esté modelando otro sistema diferente de él. Pero, es posible que el
SBCTR esté conformado por una serie de agentes, llegando a ser un sistema
multiagentes (esto requiere de otras consideraciones que no están dentro del alcance
de esta investigación).
Para este análisis se utiliza la lista de eventos externos para identificar los eventos
del ambiente que son de interés para el SBCTR. En ésta se señala el nombre de los
eventos, quién lo produce, las acciones que el sistema tiene que realizar como respuesta
a dichos eventos, la forma en que cada evento llega al sistema (periódico o esporádico)
y el tiempo límite en que el sistema tiene que realizar las acciones – deadline (ver la
Tabla 3-3).
Tabla 3-3 Ejemplo de la lista de eventos externos que tienen relación con el sistema
Evento Agente que Acciones del Tipo de evento deadline
lo produce Sistema según su llegada
1 ev-señal-sensor Bumper evitar-obstáculo periódico desconocido
2
..
Como se dijo anteriormente, esta tabla se puede detallar más en la medida en que
se vaya avanzando en el proceso de análisis del SBCTR.
el entorno y que afectan o deben ser procesados por el sistema. Para precisar los
eventos del sistema se utiliza de nuevo la tabla de eventos externos. Ver Tabla 3-4
a)
Pasajero potencial Ascensor Ascensor Pasajero
b)
Pasajero Ascensor Ascensor Pasajero
Sube hasta el
Cola solicitudes piso 3
t=5 seg. X 2
pisos
Apaga luz de
Ascensor llega al llamado Ascensor llega al Apaga indicador
piso 1 piso 3 del piso 3
Puerta se abre
Enciende luz de
Pasajero 3 seg. llamado
potencial pasa a Fin de tiempo de
ser Pasajero puerta y cierra
Puerta se abre
Pasajero se baja
Fin de tiempo de
Ascensor queda puerta y cierra
en espera de una
solicitud
Los diagramas de casos de uso se pueden utilizar de nuevo en este modelo, para
mostrar realmente cómo es la comunicación entre los agentes y el SBCTR, lo cual se
debe detallar mucho más en el modelo de comunicaciones por medio de los diagramas
de secuencia.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 125
Solicitud de
servicios
Jefe de
Planificación Planeación de
actividades
Barco
<<uses>>
Asignación de
recursos
<<uses>>
Orden de
carga
Al igual que para el modelo de TAN, los productos de este modelo se refieren a la
documentación, el formulario y los gráficos que en él se han realizado. Es decir:
• El formulario AM-1,
Son los mismos que participan en el modelo de TAN mas los actores que se hayan
identificado.
sea un medio importante para la comunicación entre los expertos y los usuarios durante el
desarrollo del sistema y en su ejecución.
Para construir este modelo primero se debe identificar el conocimiento, luego se debe
especificar y después, se debe hacer su refinamiento. A continuación se presenta la idea
general de estos procesos, que al final quedarán reflejados en diferentes formularios y en
especial en el Formulario 3-11 KM-1: Lista de comprobación de la documentación del
modelo del conocimiento.
Se utilizará las funciones receive y present para definir la comunicación entre los
agentes (actores, emisores y actuadores) y el SBCTR de forma que pueda reflejarse la
comunicación asíncrona entre ellos, lo cual es común en estos sistemas.
transfer-function medir-señal;
type: receive
roles:
input: señal-sensor;
output: lista-de-medidas;
end transfer-function transfer-function;
Estos tipos de tarea definen la forma en que ellas llegan al sistema y cómo deben ser
atendidas. Si la tarea es periódica, se espera que cada cierto tiempo – período – llegue o sea
activada. Si la tarea es esporádica entonces el sistema sabe qué hacer cuando llegue, pero
no está esperándola, no sabe si llegará. Si es aperiódica entonces se sabe que llegará pero
no cuándo.
real-time-task planificador-Acciones;
goal: “ se encarga de planificar las acciones que debe hacer el robot de
acuerdo con los valores emitidos por los sensores y por la situación inicial
del micro mundo. Esta tarea es periódica pues debe realizarse cada cierto
tiempo”.
rt-task-type: periodic;
from: buscar-Objeto;
period: 100; /* milisegundos */
deadline: 8; /* milisegundos */
CommonKADS-RT – Capítulo 3. CommonKADS-RT 130
real-time-task-before: percep-Entorno;
formed-by-others: Yes;
roles :
input: lista-medidas-sensor, mapa-inicial;
output: acción;
end real-time-task planificador-Acciones;
• En el ámbito del Conocimiento del dominio se introducen dos nuevos valores a los
tipos de datos manejados en CommonKADS. Por una lado está el symbol (como fue
propuesto en [Pal99], pero incluyéndolo dentro de los tipos primitivos pues si se
define como un value type sólo estará disponible para ese dominio específico.
• El formulario KM-1diligenciado.
• Del modelo de TAN la lista de TAN realizadas por un agente en especial. Para este
modelo importan las tareas hoja o sea las que no se descomponen más, junto con sus
objetos de información de entrada y salida
Teniendo como base el SBCTR, entonces se asume que los agentes son objetos
externos al sistema y que por lo tanto en CommonKADS-RT es importante modelar esa
comunicación, a través del modelo de comunicaciones, de los diagramas de casos de uso y
de los diagramas de protocolos [Fip01a] similares a los diagramas de secuencia.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 132
Para efectos de esta tesis, se está hablando de un SBCTR genérico, en donde la parte
central está puesta en el conocimiento, y el tiempo real es información adicional que limita
o restringe el acceso de los datos, el razonamiento y el conocimiento mismo. Por esto, el
modelo de comunicaciones de CommonKADS-RT es básicamente el mismo de
CommonKADS, pero incluyendo los diferentes tipos de agentes que pueden presentarse en
el sistema. Esto implica, que deban especificarse diferentes tipos de transacción
dependiendo de los agentes que participan en la comunicación.
El ACL posibilita la comunicación entre los diversos agentes en una forma que les
permita derivar semánticamente información útil sin requerir un acuerdo a priori sobre el
lenguaje usado en la comunicación [Fip01b]. Esto se logra a través de la combinación de
tres aspectos:
Especificación de Describir todos los mensajes que forman la transacción. Por cada uno se debe
Mensajes definir:
1. Tipo de comunicación. El tipo de la comunicación del mensaje,
describiendo su intención, según los diferentes patrones de comunicación
y la Tabla 3-5 Estructura de un mensaje según
2. Contenido. La instrucción o proposición contenida en el mensaje.
3. Referencia. En ciertos casos, puede ser útil adicionar una referencia, por
ejemplo, cuál es el modelo del dominio de conocimiento o la capacidad del
agente que se requiere para enviar o procesar el mensaje.
Control sobre los Dar, si es necesario, una especificación del control sobre los mensajes dentro de
mensajes la transacción. Esto puede ser realizado en forma de pseudo código o en un
diagrama de estado - transición, similar a como es especificado el control sobre
transacción dentro del plan de comunicación.
Formulario 3-13 CM-2: Especificación de los mensajes y los puntos de información
que hacen una transacción individual dentro del modelo de comunicación
Igual que en el anterior, pero se requiere que se tenga mucho conocimiento en los
protocolos y mensajes de FIPA.
• Un régimen completo de control por medio del cual los subsistemas interactúan.
ARTIS constituye una extensión del modelo blackboard (memoria global estructurada
que contiene objetos del espacio de solución) adaptado para entornos de tiempo real
estricto. En ella se combinan y potencian las ventajas de la inteligencia artificial (su
flexibilidad) y de los sistemas de tiempo real (su predecibilidad). Un sistema ARTIS
debe tener funcionalidades de:
Acción: se ejecutan las acciones deseadas que influyen sobre las entidades externas.
ENTORNO
PLANIFICADOR DE TAREAS
Donde:
• Las tareas de percepción proporcionan una interfaz de comunicación entre las
entidades externas y el sistema.
• Las tareas actuadoras transmiten las soluciones calculadas por las tareas inteligentes
al entorno exterior.
Plataforma de implementación
Este aspecto del diseño se refiere a la determinación de las bibliotecas que se pueden
utilizar en la construcción del SBCTR, incluyendo las librerías de CommonKADS para las
tareas generales. También es importante elegir la forma para representar el conocimiento,
las interfaces con otro software, el lenguaje de desarrollo, entre otras. El resultado de este
proceso es un modelo de componentes.
Señal cable
Componente de
comunicación Sensores
RS232 C
Batería
VDC
Componente de
planificación
Motor
Componente de VDC
control inteligente
Diseño detallado
Al nivel de un programador o usuario especializado para el desarrollo de una
aplicación bajo ARTIS, se tiene la siguiente especificación:
• Conocimiento del dominio: información relacionada con el entorno del sistema, los
datos que necesita para resolver un problema. En términos del modelo de
conocimientos es el conocimiento del dominio. En ARTIS esto se realiza mediante el
concepto de creencia que representa una visión parcial del entorno que incluye tanto
la información que es capaz de percibir directamente como la información que
infiere a partir de los datos deducidos. Esto es así porque no es posible que el sistema
pueda disponer de una visión completa del entorno en el que se encuentra en un
instante determinado, si no que tendrá una visión reducida y en ocasiones, no
actualizada del mismo. Para representar adecuadamente la evolución que él ha
seguido a lo largo del tiempo, así como los posibles estados futuros que se pueden
alcanzar a partir de la situación actual, se distinguen los distintos tipos de
información atendiendo a los siguientes criterios:
− Según su carácter:
o observable. Es la información externa que se adquiere directamente a través
de los sensores.
CommonKADS-RT – Capítulo 3. CommonKADS-RT 139
− Según su procedencia:
o de entrada.
o interna
o de salida
AA
Donde:
− AA es un agente ARTIS que representa un agente físico, que es autónomo,
reactivo, y tiene continuidad temporal. Está compuesto por una serie de métodos
para el manejo de sensores y actuadores, un módulo de control que se
responsabiliza por la ejecución de tiempo real de cada uno de los componentes
del AA, y un servidor inteligente que se encarga de producir respuesta de muy
buena calidad en caso de que tenga tiempo suficiente para hacer el razonamiento.
− Un agente interno (IA – In-Agent) que es una entidad interna que posee el
conocimiento necesario para solucionar un problema en particular, a distintos
niveles de abstracción y el método que se aplica depende del tiempo que tenga
CommonKADS-RT – Capítulo 3. CommonKADS-RT 140
Como parte de este paso del modelo de diseño se propone el MODELO DE TAREAS
DE TIEMPO REAL que hace parte del diseño detallado del SBCTR, que se presenta en la
sección 3.6.7 más adelante pues es necesario definir la tarea de tiempo real, de bajo nivel.
Por último, para el diseño detallado es importante definir cómo se van a manejar los
eventos internos, los externos, qué tipo de acciones puede hacer el sistema (por ejemplo,
imprimir, leer del teclado, acceder a disco duro). Todo esto dependerá de la aplicación, en
especial si el sistema es crítico o no en el cumplimiento de sus tiempos. Para ello se
propone el Formulario 3-16 DM-3: Lista de chequeo de decisiones en relación con la
especificación de la arquitectura.
Aplicación en la arquitectura
Este aspecto del diseño se relaciona con llevar a cabo los modelos del análisis, en
especial el modelo de conocimientos (las tareas, inferencias, bases de conocimiento) y del
modelo de comunicaciones (las transacciones). Para esto se utiliza el Formulario 3-17 DM-
4: Decisiones del diseño de la aplicación.
Si el test dice que no se cumplen los tiempos, entonces pueden suceder varias cosas:
Al igual que con los otros modelos, en éste también se produce la documentación que
soporta el proceso realizado e incluso, los planes que se tienen para llevar a cabo la
implantación del sistema en la organización, incluyendo los formularios diligenciados.
Junto con el modelo de diseño, este modelo da la especificación técnica del sistema
basado en el conocimiento de tiempo real en función de su arquitectura, la plataforma de
implantación, los módulos del software y los mecanismos computacionales necesarios para
llevar a cabo las funciones determinadas en los modelos de conocimiento y de
comunicaciones.
• Bases o razones:
− Debería servir para especificar las características particulares de una tarea de
tiempo real.
− Debería proporcionar las herramientas para modelar las tareas de tiempo real a
través de diagramas apropiados.
• Contenido del MTTR: El contenido de este modelo está dado por los elementos del
modelo y sus relaciones. Se puede apreciar en la Figura 3-15.
Modelo de
Conocimientos Modelo de
Diseño Agentes
Modelo de
Modelo de detallado Agente
Conocimiento
Diseño
Arquitectura
implementada en Modelo de
Tarea de Comunicaciones
Modelo de Tiempo Real
TAN implementa
realizada en período Transacción
TAN deadline
wcet
tiene
Es parte de
Tipo TTR Es parte de
− Aprobación del test. En caso de que se cumplan las restricciones temporales, que
el plan sea efectivo, entonces se termina este modelo.
− Tiene: Es una relación entre dos componentes del modelo, específicamente entre
la TTR y su tipo, en donde este último establece si la TTR es periódica,
esporádica o aperiódica.
− Hace parte de: Es otra de las relaciones con el modelo de diseño, para definir que
el modelo de TTR es parte del modelo de diseño.
Este modelo es representado como una serie de tareas de tiempo real con una
estructura que permite que varias tareas se relacionen entre sí. Una TTR será definida por
sus restricciones temporales y sigue la estructura de un in-agent, el cual consta de un
componente de percepción, un componente inteligente o cognitivo y un componente de
acción. Estos componentes deben ser ejecutados en este orden y la ejecución de cada uno
debe empezar después de la finalización del componente previo. Además, el in-agent se
caracteriza por tener un comportamiento periódico y dispone de un plazo máximo de
ejecución – deadline – para realizar las acciones que crea más oportunas. La Figura 3-16
presenta esta estructura en forma gráfica.
La estructura de una tarea de tiempo real está dada por una parte inicial obligatoria,
una parte opcional (si hay tiempo) y una parte final obligatoria. Así, que pasando lo que es
el in-agent a esta estructura, la TTR queda de la siguiente forma (ver Figura 3-17):
• La parte opcional, como su nombre lo dice es opcional y contiene todas las partes
opcionales de la percepción y la cognición. Su tiempo de cómputo para el peor caso
CommonKADS-RT – Capítulo 3. CommonKADS-RT 148
no es predecible o no puede ser garantizado por una política de planificación por ser
tan grande. Refina la solución inicial o proporciona una solución alternativa.
TTR
con deadline y wcet
Así, se debe garantizar la planificabilidad de las partes iniciales y finales de cada in-
agent o TTR.
(importance int)
(method Multiple | Refinament))
Desde el punto de vista de tiempo real para planificar el sistema, se asume que el in-
agente está formado por un período, un deadline, y un tiempo de cómputo del peor caso
(wcet). Si un in-agent no tiene un plazo máximo de ejecución explícito, se le supone igual
al período. En la planificación del conjunto de tareas resultado de la compilación de los in-
agents se garantizará mediante un análisis off-line del mismo, que la parte obligatoria y
final de todos ellos se ejecutará antes de su plazo máximo de realización, ejecutándose, si es
posible, las partes opcionales de cada tarea en el tiempo re procesador disponible entre la
finalización de la parte obligatoria y el inicio de la parte final. Este tema es muy importante
para todo SBCTR pero queda fuera del alcance de esta investigación, será parte de los
trabajos futuros.
También, como parte del diseño detallado se deben especificar los objetos a escala
individual, es decir que se deben especificar en forma de algoritmos o SBC cada uno de los
KS que forman parte del MKS, incluyendo la definición de todos los atributos de la
aplicación en términos de los tipos primitivos de datos provistos por el lenguaje de
implementación.
Wcet
.
Formulario 3-18 Especificación de las tareas de tiempo real
Los resultados obtenidos al realizar ese modelo se expresan en el diseño detallado del
sistema, la especificación de las TTR y la determinación de sí se cumple o no el test de
planificabilidad. Igual que en los demás, se tiene la documentación de las actividades
realizadas, de las pruebas y de las incidencias posibles.
• Define el orden en el cual éstas deben ser ejecutadas, lo que se conoce como el ciclo
de vida.
• Establece los roles o el perfil de cada uno de los que participa en las diferentes etapas
de desarrollo del proyecto de desarrollo del sistema basado en el conocimiento de
tiempo real.
• Permite llevar hasta el software del sistema, planteando incluso la realización del test
de planificabilidad.
CommonKADS-RT – Capítulo 4. Validación a través de casos 151
Capítulo 4.
Validación experimental de
CommonKADS-RT a través de casos
4.1 Introducción
En este capítulo se presentan dos escenarios en los que se quiere demostrar la
aplicación de CommonKADS-RT. El primero de ellos es acerca del proceso de la operativa
marítima que se realiza en la terminal de contenedores de la empresa Marítima Valenciana
que atiende el puerto marítimo de la ciudad de Valencia, España. El segundo refleja la
situación de tener un robot móvil navegando por un micro mundo especial.
El objetivo de este caso es el siguiente: “Con este análisis pretendemos conocer en forma
detallada el proceso de las Operaciones Marítimas para plantear soluciones informáticas a situaciones
que requieran un uso intensivo de conocimiento bajo restricciones de tiempo”.
un SBCTR para hacer algunas de sus tareas. Por lo tanto, de este formulario solamente se
presentará la información relacionada con el Contexto de la Organización [BRH00]:
Marítima Valenciana S.A. ofrece a sus clientes un servicio integral puerta a puerta de
transporte para sus productos, contando para ello con las tecnologías más avanzadas y con una
estructura de empresa flexible, dinámica, eficiente y con calidad contrastada, donde destaca su
equipo humano altamente cualificado y profesional.
Visión:
Ser el mejor Terminal Marítimo del Mediterráneo. Lo cual está trabajando a través de un
proyecto de Calidad en compañía de las autoridades portuarias.
• Una de las fortalezas que la empresa presenta es que su personal conoce muy bien el
trabajo que realiza, el por qué y para qué de él, dando una visión compartida global,
lo que ha facilitado la identificación de los procesos que deben ser estudiados a
fondo y la obtención de la información y el conocimiento de ello.
• Una de las grandes oportunidades que tiene esta empresa es que está en crecimiento,
con un interés muy fuerte por mejorar y por invertir en tecnologías apropiadas para
cada uno de sus departamentos y unidades.
• Una de sus debilidades es que varios de sus procesos recaen específicamente sobre el
personal, faltando la documentación apropiada o el registro tecnológico de los
procesos y sus conocimientos.
• Una de sus amenazas es que debe competir contra otros puertos que tradicionalmente
han sido mucho más “conocidos” y “grandes”. Esto obviamente también se puede
ver como una oportunidad.
CommonKADS-RT – Capítulo 4. Validación a través de casos 154
Después de hacer una análisis detallado y de realizar diversas discusiones con expertos
en operaciones marítimas se concluyó que uno de los problemas que se debe solucionar
más prontamente, tiene que ver con el hecho de registrar el conocimiento específico de las
tareas que ellos realizan. Esto evitará su perdida, permitiría que se pueda replicar, transmitir
y generar así, la memoria corporativa de la empresa.
El tiempo en el que se realizan las tareas es muy importante porque se quiere que el
barco sea atendido lo más rápido posible para que esté el menor tiempo en el muelle y
porque los índices de productividad están en relación directa con el manejo de los recursos
en función del tiempo, lo que hace que éste sea un concepto relevante. A continuación se
presenta el análisis de la operativa marítima con detenimiento.
1) Estructura:
La empresa tiene un organigrama en forma jerárquica, que tiende a ser una estructura
plana. Ver Figura 4-1.
CommonKADS-RT – Capítulo 4. Validación a través de casos 155
Presidencia
Vicepresidencia
Director General
Operación Planificación
RIBA
Operaciones
Marítimas
Operaciones Planificación
RIBA
Comunicaciones Secuenciación
2) Proceso:
El proceso que se realiza en las Operaciones Marítimas está descrito en el documento
PR.09.01 del 15 de abril de 1999. Ver Figura 4-3.
Donde:
Operaciones Operaciones
Marítimas Terrestres
Atención
Scheduling Planificación
Reserv. Espacio
y Preparación
transbordos
Operativa Apoyo
Marítima terrestre
Despacho
Donde:
CommonKADS-RT – Capítulo 4. Validación a través de casos 158
• Atención se refiere al proceso que se realiza cuando el Armador hace contacto con la
empresa Marítima Valenciana S.A. con el fin de solicitar un servicio de carga o
descarga en el Puerto Príncipe Felipe de Valencia. Por lo tanto, en este proceso se
hace la búsqueda de la información de barco o el registro de la misma en caso de ser
un servicio solicitado por primera vez. Este proceso es llevado a cabo por
Comunicaciones que son los que tienen la relación con el Armador.
• Operativa Marítima se relaciona con todas las actividades y acciones que se llevan a
cabo para cumplir con la carga o descarga del barco. Realizado por las Operaciones
de Riba.
• Despacho. Registra las incidencias que han ocurrido durante la carga y descarga e
informa al Armador y al siguiente puerto la situación final del barco cuando
abandona el Puerto de Valencia. Es realizada por Comunicaciones y Secuenciación.
3) Personas
a) Empresas relacionadas con el proceso de las Operaciones Marítimas:
− Marítima Valenciana S.A.
− SEVASA (estibadores)
− El ARMADOR
es_proveedor_de
MARÍTIMA ARMADOR
VALENCIANA
es_cliente_de
MARÍTIMA SEVASA
VALENCIANA
Para establecer las relaciones específicas entre las personas de la empresa SEVASA y
las áreas de MARÍTIMA VALENCIANA es necesario establecer los roles que integran una
mano:
− 1. Capataz de mano
− 1. Sobordista
− 1. Clasificador
− Varios Estibadores
− Un Conductor de grúa marítima
− Uno o varios Conductores de camión
sirve Operación
Manos RIBA
contrata
Planificación
Figura 4-7 Relación entre las manos de Sevasa y las unidades de Marítima
Valenciana
sirve Operaciones
Conductor
transtainer Marítimas
o Agente
o Personal del Barco - Marineros
Gráficamente, las relaciones específicas entre las personas del ARMADOR y las
áreas de MARÍTIMA VALENCIANA, son las siguientes:
Dice QUÉ
Consignatario Planificación
Dice CÓMO
Planner Planificación
(Antes de llegar el barco)
carga o descarga
Agente Secuenciación
Capitán solicita_atraque
Puerto
barco
Figura 4-12 Relación del Capitán del barco con Marítima Valenciana
comunica_incidencias
Primer
Comunicaciones
oficial
Figura 4-13 Relación del Primer oficial del barco con Comunicaciones
c) Personas de Soporte:
− Operador de la consola del trunking
CommonKADS-RT – Capítulo 4. Validación a través de casos 161
Para resumir la forma como las personas – agentes - se relacionan con los procesos de
las Operaciones Marítimas, se presenta el siguiente diagrama de casos de uso de UML, en
donde se muestran las funciones que dichos agentes realizan.
Solicitud de
servicios
Planeación de Comunicador
Armador
actividades
<<uses>
Asignación de
recursos
<<uses>>
Jefe de
Elaboración
secuencia
Planificación
<<uses>>
Operador de
Riba Carga /
descarga barco
Registro de
Secuenciador
incidencias
4) Recursos:
Para realizar los procesos de las Operaciones Marítimas es necesario contar con
recursos básicos de oficina, ordenadores (que no se detallarán en este documento) y los
siguientes sistemas tecnológicos:
CommonKADS-RT – Capítulo 4. Validación a través de casos 162
− Sistema de optimización de máquina: Este sistema controla que una vez que el
sistema de ubicación automática asigna posición, se establezca la orden a la
máquina que esté mejor ubicada para que de manera óptima, en tiempo y
operativa, se realice el movimiento.
Por último, hay muchas unidades móviles equipadas con un terminal que
acceden directamente a las aplicaciones del sistema central.
múltiples en vídeo de hasta 16 cámaras 24h. al día registrando los posibles incidentes
tanto operativos como de seguridad.
• Sistemas informáticos:
− Cuenta con una moderna infraestructura de comunicaciones de voz y datos para
conectar todas sus oficinas. Se tienen dos AS/400 para gestionar el TOS (Sistema
Operativo de la Terminal) y dos servidores que se encargan de conformar y
ofrecer los servicios propios de la Intranet de Marítima Valenciana (Ofimática, E-
Mail, Internet, Publicación WEB Interna...) Adicionalmente, el sistema permite
establecer la comunicación con los armadores (agentes marítimos y
consignatarios).
− Wincasp: Software que permite extraer del bayplan, el plano de las bodegas
(arrival).
5) Conocimiento:
El conocimiento que se necesita para llevar acabo el proceso mencionado
anteriormente, es el siguiente:
• Planificación de los recursos que se demandan para llevar a cabo la carga y descarga
del barco. En especial la asignación de las manos y las grúas. Obviamente esto
involucra tener criterios para la optimización de los recursos.
• Planeación de la secuencia de carga y descarga del barco.
• Criterios de optimización de las manos. Para saber cuándo y cuántas manos asignar a
cada uno de los barcos.
6) Prioridad Asociada:
Para la empresa Marítima Valenciana S.A. es fundamental que se mejore el proceso
que actualmente se tiene en el área de Operaciones Marítimas, con el objetivo de que se
cumpla con los criterios de calidad que allí se han establecido y se reflejen en sus índices de
gestión (estos se presentan más adelante, en el formulario OM-5). Por lo tanto, en este
momento se dirá que la prioridad es la más alta.
7) Restricciones Temporales:
Dentro de los criterios de calidad que se han establecido en esta área, se tienen algunos
que se relacionan directamente con el tiempo.
• En primer lugar, la atención de un barco debe ser lo más rápido posible, una vez él
avise que está listo para atracar. Para la atención del barco (carga y descarga) se
miden unos índices de productividad relacionados con los movimientos (carga,
descarga, en el muelle y en el barco) y el tiempo.
• La atención del barco es algo periódico, pues generalmente los barcos atracan en
períodos fijos, dados por una unidad de días. Esto no es rígido ni estático y puede
variar pues su cumplimiento depende muchas veces de factores externos como el
clima, desperfectos o fallas en el barco, entre otros.
• Los procesos internos de las operaciones marítimas no se deben parar una vez se ha
iniciado el proceso global. Si esto ocurre, entonces se buscan las razones y se
corrigen. Los procesos se deben realizar en un orden específico. Así, que si un
proceso se retraza, afecta a los demás.
8) Cultura y poder:
• Como se dijo anteriormente en el numeral 1), la empresa Marítima Valenciana sigue
una estructura jerárquica en su organización, lo que se refleja al interior de cada uno
de sus departamentos, por eso en Operaciones Marítimas se tiene una estructura
jerárquica, tal como se vio en la Figura 4-2.
• Un cargo puede ser desempeñado por diferentes personas, dependiendo del trabajo y
del turno realizado. Esto ocasiona que en algunos casos, se tengan visiones e ideas
diferentes para la misma situación.
9) Impacto:
Como ya se manifestó anteriormente, en este proceso intervienen varias unidades de la
Marítima Valenciana: La Dirección Administrativa, Operaciones Terrestres, Operación
CommonKADS-RT – Capítulo 4. Validación a través de casos 165
10) Conclusiones:
El proceso que se está analizando es uno de los procesos fundamentales de la empresa,
que dan la razón de ser de la misma, por lo que todos los cambios que se hagan en ella se
verán reflejados en el resto de la empresa, especialmente en las unidades que tienen
relación con él. Si se introducen sistemas que optimizan el tiempo, los recursos y la toma de
decisiones dentro del proceso, se tendrán implicaciones importantes para otros procesos que
se realizan en las demás unidades. Esto es bueno si los demás están preparados, pero puede
tener riesgos asociados porque puede ocasionar cuellos de botellas o malestar en las
personas que no participan directamente en el proceso por sentir que los demás si pueden
mejorar su rendimiento.
Se han planteado diversas alternativas para identificar las tareas de alto nivel más
relevantes y para proponer soluciones claves en ellas. Por esto, es importante continuar con
el análisis del modelo de la organización.
4.3.1.3 OM-3 Descripción del proceso en función de las Tareas de Alto Nivel
(TAN) en que está compuesto
El proceso de la Operaciones Marítimas está formado por una o varias Tareas de Alto
Nivel – TAN que se caracterizan porque son completas, de gran alcance, tienen unos
objetivos definidos y unas salidas específicas. Para ello se cuenta con el Formulario 4-1
que facilita su comprensión.
CommonKADS-RT – Capítulo 4. Validación a través de casos 166
Ident. Nombre Objetivo de Tipo de Ejecutada Importancia de la Intensivo Datos, información y ¿Puede tener ¿Es posible
de la de la la TAN TAN por y en TAN en conoci- conocimiento restricciones introducir un
TAN TAN dónde miento involucrado temporales? sistema informático
en la TAN?
ATN Atención Establecer la ----- Comunica- Es siempre la primera Bajo / nada − Historia del barco Puede ser Si. Para registrar toda la
comunicación ciones en TAN y debe ser − Información nueva dada periódica, pues se información de los
con el Armador Operaciones realizada por el Agente, el Armador sabe cuando llegan barcos. Ya existe un
y con el barco Marítimas apropiadamente y el capitán del barco los servicios. Pero sistema que registra en
para abrir la porque de ella − Habilidades de puede variar una base de datos todos
carpeta del depende la comunicación los datos obtenidos.
servicio información que se − Habilidad de registro de la Habría que revisar si es
obtenga del barco información completo dicho sistema.
SCHE Scheduling Realizar la Planificación Jefe de Es importante porque Alto − Historia del barco No tiene un tiempo Si, para
planeación de y Scheduling Planificación trata de minimizar el − Situación actual fijo, pero la la gestión del atraque
la atención de en tiempo de estancia − Situación prevista del atención debe ser de los barcos, o
los barcos que Operaciones del barco muelle rápida desde el la programación de las
están en el Marítimas − Experiencia en asignación mismo momento actividades y la
muelle y la de barcos al muelle en que el barco asignación de recursos,
asignación de − Criterios de asignación de avisa que está en con el objetivo de hacer
los recursos los barcos Valencia. las listas de carga y
que se requiere − Experiencia en descarga, o
para ello programación de registro de la
actividades y recursos. información
− Optimización de recursos
− Evaluación de riesgos
− Datos o Inf. obtenida del
proceso para hacer la
notificación al barco y al
Agente
PLAN Planifica- Planear la Planificación Jefe de Es importante porque Alto − Historia No tiene. Aunque Si, para
ción secuencia de y Scheduling Planificación trata de optimizar la − Lista de carga y descarga hay unos tiempos Hacer la planificación
carga y Secuencia- forma de hacer la − Disposición por destinos que se miden para de la carga y descarga
descarga de dores en carga y descarga del − Plano del barco ver su ejecución. del barco en función de
CommonKADS-RT – Capítulo 4. Validación a través de casos 167
contenedores Operaciones barco, en función de − Características del barco Estos se describen la experiencia de los
en o del barco. Marítimas los recursos, de las − Características de la carga más adelante en el secuenciadores y de la
Implica la características del − Experiencia en Planeación formulario OM-5 situación real y actual
asignación barco de actividades de carga y
apropiada de descarga
las manos − Criterios de asignación de
manos, grúas y camiones
OP- Operativa Hacer la carga Asignación Los Es importante porque Medio − Situación actual del barco Debería tener unas Si, para hacer la
MAR Marítima y descarga de operadores son los que se y situación final del barco especificaciones actualización del plano
los de la Riba en encargan − Recursos disponibles temporales del barco y del puerto
contenedores Operaciones directamente de − Experiencia en la dependiendo de los una vez se carguen o
Marítimas ejecutar el plan y las operación marítima criterios de descarguen
secuencias. − Experiencia en transporte calidad. Podrían contenedores
de los diferentes tipos de fijarse en función
contenedores del tipo de carga,
− Conocimiento sobre del número de
manejo de incidencias contenedores,
− Habilidad de solución de manos, camiones y
problemas y toma de grúas.
decisiones
− Habilidad de
comunicación
DES Despacho Consignar toda ----- Comunica- Es muy importante Bajo / nada − Información obtenida No. Si. Un sistema que
la información ciones y para mantener la durante el proceso Debería estar en registre (puede ser el
del proceso, Secuencia- información línea mismo que se utilizó en
incluyendo las ción en completa y la Atención) y
incidencias Operaciones actualizada de todos comunique la situación
Marítimas los servicios final
realizados
Formulario 4-1 OM-3: TAN del Proceso de la atención y prestación de servicios marítimos
CommonKADS-TR – Capítulo 4. Validación a través de casos 168
• Datos:
− Historia del barco
− Situación actual del muelle
− Lista de carga y descarga del barco
− Características del barco
− Características de la carga
− Planos del barco en función de la carga
− Plano de carga, identificado por destinos, peso y contenedores especiales
− Situación final – deseada del barco
− Datos nuevos obtenidos del proceso a notificar al barco y al Agente
− El puerto de Valencia es el primero y el último de llegada / salida a / de Europa.
Por lo tanto la lista de remociones es muy importante.
− Recursos disponibles
− Lista de remociones y posiciones.
• Información:
− Información nueva dada por el Agente, el Armador y por el Capitán del barco,
− Situación prevista del muelle
− Requerimientos o especificaciones del Armador
− El orden de atención de los buques es por orden de fondeo y por la maquinaria
que esté disponible para operar.
− La información mínima que se requiere para poder dar la orden de atracar un
barco es si éste está lleno o vacío y el número de movimientos.
− La lista de carga normalmente se tiene 4 horas antes de que el barco llegue.
− El caso ideal es tener el E.T.A. y el plano del barco para hacer la planeación de la
operación. Esto se da en un 80 u 85% de los casos. Los otros casos, 15 o 20%,
nos e conocen con anterioridad..
− El objetivo de la Operativa Marítima es no PARAR el buque.
− La hoja de tiempos
− El plano de carga masterplan (en disquete).
− Se puede decir que periódicamente llegan los servicios. Por ejemplo, se sabe que
los miércoles llega el buque X. Obviamente esto puede tener algunas variaciones.
− El orden de atención de los buques es por orden de fondeo y por la maquinaria
que esté disponible para operar.
CommonKADS-TR – Capítulo 4. Validación a través de casos 169
• Habilidades o capacidades:
− De comunicación,
− De solución de problemas,
− De toma de decisiones.
− De registro de la información
− De evaluación de riesgos
El conocimiento del proceso es lo que se debe analizar en OM-4, tal como se presenta
en el Formulario 4-2.
CommonKADS-RT – Capítulo 4. Validación a través de casos 170
• Muchas de las cosas que se analizan tiene que ver con la rutina que se ha obtenido o
se ha ido ganando de la experiencia de los secuenciadores.
Adicionalmente, en este caso un SBCTR se puede plantear como una buena opción
para mejorar la TAN (En el Formulario 4-3 se detalla más esta TAN) porque cumple con
los requisitos mínimos para plantear esta alternativa de solución:
• Intensiva en conocimientos
• Muchas de las actividades que allí se realizan deben cumplir con unos tiempos y
deben ser ejecutadas en un período específico de tiempo.
CommonKADS-RT – Capítulo 4. Validación a través de casos 172
− Tiempo neto de grúa: Suma de los tiempos gastados por cada grúa que opera en el mismo barco, desde el primer movimiento hasta el último
− Productividad neta de grúa: La relación entre la totalidad de movimientos hechos y el tiempo neto de grúa.
− Tiempo neto del neto de grúa: Suma de tiempos gastados por cada grúa operando en el mismo barco, desde el primer movimiento hasta el último,
descontando las interrupciones dentro de esos períodos
− Productividad neta del neto de grúa: La relación entre la totalidad de movimientos hechos y el tiempo neto del neto de grúa.
− Tiempo bruto de atraque: Tiempo desde el momento en que el barco atraca y el momento en que deja el muelle
− Productividad bruta de atraque: La relación entre la totalidad de los movimientos hecho y el tiempo bruto de atraque
− Tiempo neto de atraque: Tiempo desde el momento en que se inicia la operación en el barco hasta que se acaba
− Productividad neta de atraque: La relación ente la totalidad de los movimientos hecho y el tiempo neto de atraque
Cultura y Poder Para lograr que el SBCTR se implante apropiadamente, es necesario mantener a las personas de la sección de Planificación informadas del proceso que
se está llevando a cabo e involucrarlas activamente en él.
Impacto Las personas que se ven afectadas son:
− Jefe de Planificación, en forma indirecta pues las actividades que él realiza podrán apoyarse mucho en el sistema.
− Secuenciadores, en forma directa pues el sistema les ayudará a realizar su labor. No constituyendo en ningún momento una amenaza para su cargo,
todo lo contrario: el sistema será una ayuda para mejora su desempeño y su productividad.
Formulario 4-3 OM-5: Descripción de los aspectos de la organización que tendrán impacto en o estarán afectados por la solución escogida del
SBCTR
CommonKADS-TR – Capítulo 4. Validación a través de casos 174
Base de
Datos
SBCTR Secuencia
Planificación de carga
Secuenciadores
Figura 4-15 Vista general del SBCTR para la Planificación en la TAN Planificación
Además, se tiene la siguiente figura que muestra como quedaría el sistema integrado
en las Operaciones Marítimas:
Operaciones Operaciones
Marítimas Terrestres
Atención
SBCTR
Scheduling
Planificación
Reserv. Espacio
y Preparación
transbordos
Operativa Apoyo
Marítima terrestre
Despacho
Por último, se debe diligenciar el formulario OM-6 que es el resultado del estudio de
Viabilidad:
Una vez el sistema esté operando, se espera que la atención (el tiempo de
estancia en el puerto) de los clientes (barcos) se mejore, dando la posibilidad de
aumentar también, el número de atendidos, lo cual representa un retorno a la
inversión al corto plazo.
Por último, es importante analizar aspectos relacionados con los recursos que se
requieren tanto para el desarrollo del proyecto como para la implantación del
sistema. Los recursos humanos, como se mencionó anteriormente, están disponibles
y dispuestos a trabajar en el proyecto. La relación entre los expertos y los ingenieros
del conocimiento se ha hecho de la mejor forma posible, facilitando la adquisición
del conocimiento. En cuanto al hardware para desarrollo es de propiedad de la
Universidad Politécnica de Valencia, lo que le permite trabajar en forma flexible en
el proyecto, y la empresa y Marítima Valenciana cuenta con el equipo requerido para
implantar el sistema. La herramienta de desarrollo es un producto resultado de un
proyecto de investigación realizado en el GTI (Grupo de tecnologías Informáticas
del DSIC), además se utilizan lenguajes de uso popular, lo cual simplifica la
instalación y ejecución del sistema.
• Planteamiento de alternativas:
CommonKADS-TR – Capítulo 4. Validación a través de casos 177
• En caso de elegirse la última alternativa, los objetivos de este proyecto y del sistema
serán:
− Desarrollar una herramienta del software computacional que sirva como asistente
en la planificación de la secuencia de carga y descarga del barco, utilizando el
enfoque de un sistema basado en el conocimiento de tiempo real.
− Tener una base de conocimiento del sistema, que además de prestarle la asesoría
al secuenciador, también le servía como herramienta de entrenamiento para las
personas que son novatas en el trabajo de las operaciones marítimas.
Por lo tanto, se decide que la acción a seguir es: Hacer un prototipo robusto que refleje
el comportamiento de la planificación de la secuencia de carga, el cual servirá para
determinar si luego se debe crecer e incluso, si es posible automatizar de esta misma forma
los procesos en otras áreas.
Para hacer la descripción refinada de las TAN dentro del proceso objetivo, utilizamos
el Formulario 3-8 que se presentó en el capítulo anterior.
2. Tiempo límite
No hay un tiempo límite definido, pues depende de las características del barco y
del número de contenedores a mover. Esto se observa en un nivel de alto de
abstracción, pero en los niveles más bajos, se sabe con un grado de certeza muy
alto, que los procesos involucrarán manejo de restricciones temporales
3. Control - Ver Figura 4-17 Diagrama de Flujo de la TAN PLAN
4. Restricciones:
- La orden para planificar la secuencia de carga y descarga es dada una vez la
TAN ATN tenga la información completa para ese proceso.
- El plan se cumple siempre y cuando se cumplan los tiempos y las actividades
de la TAN.
Agentes Los secuenciadores son los que realizan la secuencia de carga y descarga. Ellos son
los responsables.
Conocimiento y Ver TM-1.1 y las explicaciones siguientes
Habilidades
Recursos El tiempo es un recurso muy importante en estas actividades. Las manos, los
trastainers y las grúas.
Formulario 4-4 TM-1: Descripción refinada de las tareas de alto nivel dentro del
proceso objetivo
Lista carga y
Lista descarga
Por cada uno de los conocimientos definidos en OM-4 se hace un formulario TM-2. Es
decir, para los criterios para la asignación de los barcos, la planeación (secuencia de carga y
descarga del barco), el scheduling de recursos (grúas y manos) y actividades, los criterios
de optimización de manos y el manejo de incidencias. Luego de hacer el análisis de la
especificación del conocimiento empleado en la tarea de planificación y sus posibles
cuellos de botella y áreas para mejorar, se concluye lo siguiente:
• Los roles que en MARÍTIMA VALENCIANA tendrá relación directa con la TAN
PLAN o se verán afectados por ella, es decir los actores son:
− Jefe de Operaciones Marítimas
− Jefe de Planificación
− Secuenciadores
− Comunicadores
• Los agentes software son los sistemas informáticos que estarían en relación directa
con el SBCTR con las Bases de datos y los sistemas Wincasp y Ships, mencionados
en la parte de recursos en OM-2. Estos agentes son descritos y trabajados en un
proyecto que actualmente se está realizando para la misma unidad de la empresa. No
se considera relevante para esta investigación, incluir dicha información en ella.
Ident. Nombre de Tipo de ¿Ejecutada ¿En dónde? ¿Intensivo Conocimiento ¿Es ¿Puede tener ¿Es posible
de la la TAN TAN por? en conoci- involucrado importante restricciones introducir un
TAN miento? para el temporales? sistema
proceso? informático en la
TAN?
PLAN.. Gestionar Asignación − Personal de Planificación Alto − Historia (puntualidad,..) Este proceso es - Puede definirse el Si. Un sistema que
ATR Atraque planificación − Situación prevista en el muy importante y tipo de tarea según tuviera la imagen
− Jefe de día de llegada requiere que se la frecuencia como del muelle y que de
Planificación (conocimiento que es manejen los se realiza. Podría acuerdo con las
incierto) siguientes llegar a tener un especificaciones y
− Experiencia en asignación criterios: comportamiento restricciones,
de barcos − Dar la atención periódico. permitiera tomar
oportuna a los decisiones EN
buques tiempo real
− Maximizar la
utilización del
muelle
PLAN.. Programación Programación − Jefe de Planificación Alto − Historia (cómo se ha Tiene que ser - Una vez se va a Si. Un scheduler
CyD de carga y Planificación cargado el barco realizada empezar a atender que asignara los
descarga − Personal de anteriormente) apropiadamente. el barco, deberían recursos necesarios,
Marítima − Situación actual (del Los criterios que tenerse unos las manos para
barco, del muelle y del se manejan son: tiempos definidos cargar y descargar
puerto) − La optimización para la carga y la el barco
− Experiencia en de los recursos descarga, de
Programación de − Minimizar el acuerdo con el tipo
actividades y recursos tiempo de carga de barco, de carga,
− Optimización de recursos y descarga el número de
− Evaluación de riesgos contenedores,
entre otros.
PLAN.. Generar Planeación − Personal de Planificación Muy Alto − Experiencia en planeación Tiene que ser - Igual que el No. Debe ser
SEQ secuencia de Planificación de secuencia de realizada anterior realizado
carga contenedores apropiadamente. manualmente.
− Conocimiento o manejo Se tratan los
de prioridades de acuerdo siguientes
CommonKADS-TR – Capítulo 4. Validación a través de casos 182
CONCEPT maquina;
ATTRIBUTES:
num-maquina: INTEGER;
tipo: STRING;
estado: STRING;
operativa: STRING;
posicion-actual: INTEGER = 0;
END CONCEPT maquina;
CommonKADS-RT – Capítulo 4. Validación a través de casos 184
barco carpeta
E.T.A.
bodega bayPlan
1..*
secuencia
1..*
posicion
1..*
contiene
situado-en
conduccion-
contenedor pos-terminal maquinaria
chasis-Term trastainer
planta calle
CONCEPT contenedor;
ATTRIBUTES:
num-boletin: INTEGER;
num-contenedor: STRING;
clase: INTEGER;
CommonKADS-RT – Capítulo 4. Validación a través de casos 185
estado: STRING;
peso: INTEGER;
rango: STRING;
destino: STRING;
buque: STRING;
temperatura: INTEGER;
alturaMaxima: INTEGER;
END CONCEPT contenedor;
BINARY-RELATION conduccion-maquinaria;
DESCRIPTION:
“Conducción por parte de un conductor de una máquina”;
ARGUMENT-1: conductor;
CARDINALITY; 1;
ARGUMENT-2: maquina;
CARDINALITY; 1;
ATTRIBUTES:
Fecha-conduccion;
END BINARY-RELATION conduccion-maquinaria;
descarga carga
Llegada Tránsito Salida
Libre
resevar
desbloquear
bloquear liberar
desbloquear
Bloqueada Asignada a
Servicio
bloquear
extraer ocupada
vacía
asignar_ depositar
contenedor
asignada
vacía
asignar
ocupada
extraer
asignada depositar
CML2 ROLES:
INPUT:
objetos: “los contenedores que necesitan ser ubicados en las
bodegas de un barco”;
recursos: “las posiciones en las bodegas en donde se van a
ubicar los contenedores en el barco”;
OUTPUT:
localizaciones: “El conjunto de asignaciones contenedor –
posición de la bodega”;
END TASK asignación;
Especificación del método de TASK-METHOD método-asignación;
la tarea en CML2 REALIZES: asignación;
DESCOMPOSITION:
INFERENCES: select-subset, group, assign;
ROLES:
INTERMEDIATE:
conjunto-contenedores: “subconjunto de los contenedores
con la misma prioridad de asignación”;
grupo-contenedores: “conjunto de contenedores que pueden
conjuntamente ser asignados a la misma bodega del barco”;
recurso: “un recurso que es asignado”;
ubicaciones-actual: “asignaciones contenedor-bodega
actual”;
CONTROL-STRUCTURE:
WHILE NOT EMPTY objetos DO
select-subset (objetos -> conjunto-contenedores);
WHILE NOT EMPTY objetos DO
group (conjunto-contenedores -> grupo-
contenedores);
assign (grupo-contenedores + recursos + ubicaciones-
actual -> recurso);
ubicaciones-actual := < grupo-contenedores, recurso
> ADD ubicaciones-actual;
conjunto-contenedores := conjunto-contenedores
DELETE grupo-contenedores;
recursos := recursos DELETE recurso;
END WHILE
contenedores := contenedores DELETE conjunto-
contenedores;
END WHILE
END TASK-METHOD método-asignación;
Estas TAN requieren que se ejecuten si el sistema tiene tiempo para cumplir con los
plazos que se han definido, así que el manejo de las restricciones temporales será hecho por
el controlador del SBCTR.
Este caso, como se dijo en su introducción, ha servido para mostrar los modelos de la
fase de análisis, los cuales se han presentado en detalle. Lo importante de esto, es mostrar
que la metodología CommonKADS-RT es una herramienta muy completa para realizar el
estudio de un problema, la formalización del mismo y de su solución. Es una buena
herramienta gerencial de toma de decisiones.
4.4 Robot
Como ya se dijo anteriormente, el problema que vamos a resolver con el Robot no está
ubicado en ningún contexto organizacional, por lo que se obviarán muchos de los
planteamientos del modelo de la organización, en especial aquellos puntos que se refieren
al estudio de aspectos específicos de la empresa.
De la fase de diseño, se incluyen algunos apartes del diseño global, del detallado y se
presentan los resultados de una simulación que se hizo para este caso.
decir, el rectángulo debe ser guardado en la pared en donde se encuentre el hueco en forma
de rectángulo, y así para cada una de las formas definidas.
Objetivo:
Dado un mundo cerrado que contiene figuras geométricas básicas y que sus paredes
tienen incrustaciones también de forma geométrica, se requiere construir un sistema en el
que el robot pueda encontrar cada una de las piezas del mundo, identificarlas y ubicarlas en
su lugar respectivo (un proceso de reconocimiento y clasificación o asignación de formas).
Las formas básicas son: el rectángulo, el triángulo y el semi-círculo. Ver figura 4-1.
Robot
Formas básicas
Proceso a realizar:
Dadas las características de este robot se debe desarrollar un sistema que pueda
cumplir con el objetivo definido. Es así como llega a un nivel más detallado en el análisis
del problema:
• Una vez el robot está listo, debe comenzar a buscar el objeto que se encuentra en el
micro mundo. Para esto debe hacer una serie de tareas que más adelante se definirán.
• Luego de hallar el objeto, el robot debe identificarlo de acuerdo con las formas que
él reconoce.
• También, debe planear la forma como debe moverlo o desplazarlo por el micro
mundo para ubicarlo en la pared que le corresponde. Esto último lo sabe porque en
cada una de las paredes del micro mundo hay un cajón o hueco predeterminado con
una forma de figura específica. Para facilidad de la prueba, se ha definido que
inicialmente son cuatro paredes, el hueco estará siempre en la misma pared (definida
como parte del estado inicial del micro mundo) Además, hay un solo hueco en la
pared y debe ser diferente de las demás.
CommonKADS-RT – Capítulo 4. Validación a través de casos 192
• Posteriormente, el robot debe mover el objeto hasta llegar al objetivo final. Es decir,
hasta que introduzca el objeto en el hueco que le corresponde. En ese momento, el
proceso se da por terminado con éxito.
Figura 4-24 Proceso que debe realizar el robot para cumplir con el objetivo final
Como se puede observar, en este proceso sólo interviene el actor humano para definir
las condiciones iniciales del micro mundo o para iniciar la ejecución del sistema. Pero,
durante el desarrollo de la tarea, es el robot autónomo en su realización.
Adicionalmente, este proceso se puede ver como una TAN que empieza con la puesta
en marcha del robot y que termina con el objeto ubicado en su sitio correspondiente.
También esta TAN puede ser divida en otras que permiten estructurar el proceso en una
forma más detallada con el fin de conocer a fondo cuáles son las actividades que el robot
debe realizar. En el formulario OM-3 se puede observar la especificación de las TAN, de
acuerdo con lo planteado en la metodología CommonKADS-TR.
Ident. Nombre Objetivo de la Tipo de TAN Importancia de ¿Es intensiva en Conocimiento ¿Puede tener
TAN TAN TAN la TAN para el conocimientos? involucrado restricciones
proceso temporales?
Config Configuración Establecer las Es importante pero Nada No
condiciones del no requiere de
micro mundo conocimientos
ActRobot Activación robot Protocolo de Igual que la Nada Si. El robot maneja unos
inicio, verificación anterior tiempos para revisar su
del robot batería, los sensores y los
motores. Es un tiempo fijo
BuscaObj Búsqueda objeto Encontrar el objeto Planeación Es fundamental Alto Planificación de acciones, Si. Hay tareas que serán
que debe reconocer Scheduling para planificar las interpretación del micro periódicas, que tendrán unos
y trasladar Monitorización acciones y asignar mundo, verificación de la deadlines y también un wcet
los tiempos trayectoria
IdObj Identificación Identificar el Clasificación La clave es la Alto Conocimiento de formas Igual que la anterior
objeto objeto encontrado diferenciación de objetos
entre las diferentes trigonométricos,
figuras. planeación de trayectoria,
interpretación,
verificación.
MovObj Movimiento Trasladar el objeto Configuración Es necesario tener Alto Identificación de la pared Igual que la anterior
objeto hasta el sitio en Planeación un planeador objetivo, planificación de
donde debe ser Scheduling la trayectoria, cómo
guardado Monitorización mover el objeto.
Formulario 4-7 Descripción del proceso en función de las TAN que lo componen
CommonKADS-TR – Capítulo 4. Validación a través de casos 194
La TAN BuscaObj tiene que incluir actividades con restricciones temporales para
controlar algunas de las acciones del robot. Por ejemplo, dentro de esta tarea es necesario
hacer un plan de las acciones a realizar por el robot, de tal forma que se define una subtarea
llamada PlanAcción con un período de 100 milisegundos, para significar que esta TAN
tiene que ser repetida o realizada cada 100 milisegundos. Lo mismo sucede con leerSensor,
una tarea hoja, que tiene definido como tiempo de ejecución para el peor de los casos
(Worst Computer Execution Time – wcet) es 2 milisegundos. Esto se detallará en el modelo
del conocimiento, más adelante.
A través del Diagrama de Conceptos se presenta el esquema del dominio. Ver Figura
4-26.
posición
batería
ubicado-en
sonido bumper planificador
mundo
plan-acción
formas
plan-búsqueda plan-traslado
rectángulo
plan-identif
triángulo
círculo
Figura 4-26 Diagrama de Conceptos para el sistema del robot móvil en el micro
mundo
CommonKADS-TR – Capítulo 4. Validación a través de casos 196
CONCEPT robot;
ATTRIBUTES:
pos: posición;
bump: bumper;
estado: valor-estado;
vel_derecha: INTEGER;
vel_izq: INTEGER;
sonar_frontal: sonar;
sonar_lateral: sonar;
estado_serial: INTEGER
END CONCEPT robot;
VALUE-TYPE valor-estado;
TYPE NOMINAL:
VALUE-LIST: {apagado, encendido};
END VALUE-TYPE valor-estado;
no-encuentra- encuentra-objeto
objeto Buscando Reconociendo
objeto forma-desconocida objeto
No-Detectado Objeto-
Detecta
planificando O.K.
planificando
siguiente
siguiente
acción
detectado acción
Adicionalmente, se concluye que al nivel abstracto del nivel del conocimiento, la TAN
de planificación se puede modelar como lo proponen [SAA+00] en los templates
knowledge model. El tratamiento que se haga en el diseño, depende tanto de la arquitectura,
como de los algoritmos de planificación que se estén manejando para garantizar las
restricciones temporales.
Robot Planificador
Robot en el
estado inicial chequeo
20 segs
Robot listo
100 ms
Plan-
acciones
Ejecuta acción 1. acción
solicitud de datos
fin acción
Plan-
acciones
n. acción
Tiene una variedad de puertos de expansión para la entrada y salida, que incluye: un
bus de entrada / salida direccionable para máximo 16 dispositivos, dos puertos seriales RS-
232C, ocho puertos digitales de entrada y salida, cinco puertos A/D y controlador PSU. En
detalle, el Hardware es el siguiente:
Señal cable
Componente de
comunicación Sensores
RS232 C
Batería
VDC
Componente de
planificación
Motor
Componente de VDC
control inteligente
• Información enviada:
− Byte Count (1 byte): indica el número de bytes que forman el paquete, cuyo
tamaño es variable (depende del tipo de comando enviado).
− Tipo de argumento (1 byte): tipo del argumento que requiere el comando (entero
positivo, entero negativo, string).
• Información recibida:
− Byte Count (1 byte): indica el número de bytes que vienen a continuación y que
forman parte del paquete. Este campo está presente en todos aquellos paquetes
que recibe cualquier robot cuando el tamaño del paquete es variable. En nuestro
caso, el número de bytes enviados por el servidor depende del número de sonares
cuyo valor varía de una lectura a la siguiente.
− Posición del robot (Xpos, Ypos, Thpos): el servidor envía unos valores que
multiplicados por unas constantes (DistConvFactor, para Xpos y Ypos;
AngleConvFactor, para Thpos), indican la posición actual del robot en milímetros
y grados, respectivamente.
− Velocidad de las ruedas: el servidor envía la velocidad de cada una de las ruedas
en unas unidades que hay que multiplicar por la constante VelConvFactor para
convertirlas a mm/s.
− Bumpers: indicador de choque, tanto para los bumpers delanteros como los
traseros.
− Checksum: se utiliza para comprobar que los datos de la trama recibida son
correctos.
Tabla 4-4 Comparación de la información enviada por el robot Pioneer con un robot
general.
• Estructuras:
− Estructura para la manipulación del estado de los paquetes leídos del puerto serie.
La estructura que se muestra a continuación se utiliza para almacenar el estado de
los paquetes que se van recibiendo.
struct paquete {
int actual_p; // Posición de la última trama
int estado; // Estado de la trama actual: COMPLETO-
PENDIENTE
int leidos_C; // Nº bytes de la cabecera leídos hasta
el momento
int leidos_T; // Nº bytes de la trama leídos hasta el
momento
};
struct info {
struct sonar {
};
struct robot {
unsigned char status; // Estado del robot:
STOPPED, MOVING
short int Xpos,Ypos,Thpos; // Coordenadas de la
posición local
short int Lvel, Rvel; // Velocidad de las ruedas
short int battery; // Nivel de la batería
short int bumpers; // Indicador de choque
short int timer; // Puerto analógico
seleccionado
sonar sonares[16]; // Vector que contiene los
16 sonares
};
• Funciones
o int obtener_trama(): lee del puerto serie los datos que contiene una trama.
Devuelve el número de bytes leídos.
o int esperar_cabecera(): lee del puerto serie hasta que obtiene la cabecera
completa del paquete enviado por el robot. Devuelve 0 si se leyó
correctamente; -1 en caso de error.
o int esperar_trama(): lee del puerto serie hasta obtener la trama de datos
completa del paquete enviado por el robot. Devuelve –1 si hay error; 0 si se
leyó correctamente y el checksum de la trama es correcto.
o int leer_paquete(): lee el contenido del puerto serie, llamando a las funciones
obtener_cabecera() y obtener_trama(), desde donde se había quedado la
última vez. Devuelve –1 si ha ocurrido un error; 1 si la cabecera o la trama
están pendientes de lectura (incompletas); 0 en caso contrario.
− Hay funciones para gestionar la información del robot. Una vez la conexión ha
sido establecida, el robot comienza a enviar paquetes de información
periódicamente cada 100 ms a través del puerto serie. Las siguientes funciones
obtienen el paquete enviado por el robot, y lo almacenan en la estructura de datos
robot, para su posterior utilización. Además, existen unas funciones que
permiten imprimir la información que contiene esta estructura.
intentos=0
NO_CONNECT
Si (intentos<100) Envio_SYNC0
SYNC0
Recibo_SYNC0
Error
SYNC0_R
intentos++
Envio_SYNC1
SYNC1 Si
(intentos>=N)
Recibo_SYNC1
SYNC1_R
Envio_SYNC2
CONNECTION
CONNECT
FAILED
Por defecto la información es enviada cada 100 ms, valor que puede ser modificado
accediendo a la flash ROM del robot.
Módulo Buscar-Objeto
1. Leer sensores
2. Analizar sensores por sector (delanteros, traseros, laterales)
Obtener coordenadas del objeto
3. Si alguna coordenada no coincide con límite del mapa
3.1. Orientar robot en dirección (x, y,θ)
3.2. Avanzar hasta coordenadas
CommonKADS-TR – Capítulo 4. Validación a través de casos 206
Robot
AA
In-Agents
Config ActRobot BuscaObj IdObj MovObj
En donde, se tiene una TTR por cada in-agente que se defina, de modo que en este
caso se tienen cinco tareas de tiempo real, definidas de la siguiente forma en términos de
CML2:
Al traducir estas estructuras de CML2 al lenguaje de bajo nivel (al que el usuario no
tiene acceso, sino que el sistema mismo se encarga de generar) definido en ARTIS se
obtiene lo siguiente:
(defagent buscaObj
(period 100) // 100 ms
(deadline 8) // 8 ms
(importance 1) // el más importante
(perception (percepEntorno))
(cognition (planAcción))
(action (ejecAcción))
(precedence (nil)) )
(defmks planAcción ()
(leerListaSensores)
(veriObjetivo)
(ejeComando)
(type mandatory)
(importance 1))
(defks leerListaSensor ()
(wcet 2)
(codefile ´.\ks_leerListaSensores.c´) )
(defks veriObjetivo()
(wcet )
(codefile ´.ks_veriObejtivo.c´\))
(defks ejecComando ()
(wcet )
(codefile ´.ks_ejecComando.c´\))
SIMULACIÓN
Se ha hecho una simulación del comportamiento del robot en el micro mundo
planteado anteriormente y actualmente se está implementando con ARTIS.
La Figura 4-33 presenta el estado inicial del micro mundo, con el robot en su posición
inicial. El objeto que el robot tiene que encontrar es un rectángulo en medio del cuarto, y
debería ser movido hasta localizarlo en la parte inferior de la pared de la derecha.
La Figura 4-34 muestra el estado final del micro mundo, cuando el robot ha ubicado
el objeto en el lugar apropiado [SHB00]. En ésta figura se puede apreciar la trayectoria
seguida para alcanzar el objetivo final.
En la Figura 4-35, se aprecia una fotografía del robot enfrente del objeto.
Como análisis individual de los escenarios, se concluye que para el caso del robot fue
importante la utilización de la metodología pues se logró formalizar mucho el conocimiento
requerido, se corrigió la estrategia de programar antes de analizar y se registró el proceso
llevado a cabo durante el proyecto. Se encontró que en la parte de diseño hay una carencia
todavía y es la no-inclusión en la metodología de estrategias para definir los métodos de
planificación de las tareas de tiempo real y de técnicas para llevar a cabo el test off-line de
planificabilidad. Por tanto, esta es una mejora que se le puede hacer a la metodología, en
trabajos futuros. Pero, también se demostró con este caso, que CommonKADS-RT sirve
para modelar cualquier situación en donde se requiera tener un comportamiento inteligente
bajo unas restricciones temporales, sin importar lo complejo del problema o si está
enmarcado en un contexto organizacional.
acuerdo con sus requerimientos. Así, la implementación se hace más fácil y permite
eliminar errores en el proceso. También, la metodología logró que se definiera un
vocabulario común para los ingenieros del conocimiento, los diseñadores, los expertos, los
usuarios y los programadores, en áreas que aparentemente son tan dispares como son las de
los SBC y los STR, facilitando el intercambio de ideas acerca del problema y del sistema y
que se pudieran compartir procesos comunes de trabajo.
También, dependiendo del proyecto y del sistema, es posible realizar varios modelos a
la vez. Es decir, que se pueden estar realizando actividades de diversos modelos en
paralelo, pues en la medida en que se van definiendo los conceptos o se van completando
las especificaciones, el conocimiento y la información pueden servir para modelar distintas
vistas de ello. Esto permite reafirmar la idea de trabajar en un ciclo por espiral, teniendo en
cuenta la valoración de los riesgos y los planes que se van construyendo en la medida que
se avanza en el análisis y diseño del problema y de la situación.
Por último, la actividad de analizar y diseñar sistemas para casos reales, como el del
robot y el del puerto, ha permitido que se mejore las consideraciones metodológicas que se
tenían, pues se fueron validando en caliente. Es decir, que en la medida que se iban
desarrollando los casos, se iba modificando la metodología para que se ajustara mucho más
a la práctica real de un proyecto de construcción de un SBCTR. Esto es el valor verdadero
de mostrar la aplicación de una metodología, porque sino se convertiría en el simple
desarrollo de un software mas.
Es importante resaltar que si se quiere tener una metodología completa, que pueda ser
usada para especificar los requerimientos del sistema, describir el entorno del sistema en
donde será implementado (modelo conceptual - fase de análisis), definir la arquitectura del
sistema futuro (fase de diseño) y especificar la plataforma de hardware, los protocolos de
transferencia y de comunicación (fase de implementación), hay que mejorar
CommonKADS-RT. Especialmente en lo que se refiere a esta última fase de
implementación.
CommonKADS-RT – Capítulo 5. Conclusiones y trabajos futuros 211
Capítulo 5.
Conclusiones y trabajos futuros
5.1 Introducción
El desarrollo de sistemas basados en el conocimiento de tiempo real involucra una
serie de procesos y de componentes que requieren de una definición apropiada y un
tratamiento adecuado. Es así, como un sistema basado en el conocimiento de tiempo real
tiene un propósito específico, sigue una arquitectura definida e implica una serie de
actividades que en cierta forma, pueden garantizar su aplicabilidad y utilidad.
Este tipo de sistemas ha generado mucho interés en los últimos años, tanto en la
comunidad científica como en la industria, y es básicamente porque sirven para solucionar
problemas muy complejos que se presentan en diferentes entornos. Se han propuesto
muchas arquitecturas para construirlos y se han desarrollado herramientas software que
facilitan su realización. Las principales aportaciones han estado orientadas hacia la
construcción misma del sistema, pero no se ha dedicado mucho esfuerzo en el desarrollo de
propuestas de gestión de un proyecto de ese estilo, a su especificación, análisis, diseño de la
solución e impacto. Es por esto, que se considera importante el contar con una metodología
que permita guiar el proceso de desarrollo del proyecto y del sistema en forma clara y
válida.
Adicionalmente, se presentan los trabajos futuros y las líneas de trabajo que se abren
para complementar el alcance de esta investigación.
CommonKADS-RT – Capítulo 5. Conclusiones y trabajos futuros 212
También durante el estudio de las áreas implicadas, se encontró que en los sistemas de
tiempo real la mayoría del software que se desarrolla es a la medida, es decir, específico
para la organización. En general, para su desarrollo no se siguen métodos o metodologías
estándar que cubran todo el proceso y ciclo de vida de un sistema informático. Los métodos
que hay son especializados en el diseño del STR, dejando de lado o por fuera lo que se
refiere al análisis del problema y de su solución. Por lo tanto, muchas veces ocurre que este
software sólo soluciona en parte el problema, pues no ha sido creado con una visión
sistémica y holística. Así, que una conclusión importante sobre este tema es que es
necesario proponer, diseñar y aplicar metodologías completas para el desarrollo de sistemas
de tiempo real.
Como se planteó en el capítulo del estado del arte, en la sección de los sistemas
basados en el conocimiento de tiempo real, para el desarrollo de estos no se dispone de
muchas metodologías que permitan que su construcción sea más generalizada. Las que
actualmente se conocen tienen una visión diferente del tratamiento del tiempo real, por lo
que se considera que la metodología CommonKADS-RT es un aporte muy importante para
lograr ese objetivo.
Es importante tener una descripción global del proceso que se debe seguir para la
utilización de la metodología deseada. Por ello, al comienzo en CommonKADS-RT se hace
una descripción de ella misma, un planteamiento o esbozo general de las consideraciones
metodológicas que se tienen para desarrollar un SBCTR. Así, el analista del problema y de
la solución puede tener una idea general del proceso que deben llevar a cabo al utilizar la
metodología, facilitando la elaboración de la propuesta del proyecto.
Continuando con los aspectos globales que enmarcan la metodología, hay una
aportación importante en relación con la aplicación de CommonKADS-RT. Se ha
considerado fundamental, y en este caso se resalta por servir de ayuda y porque la mayoría
de las metodologías no lo contemplan, la caracterización del dominio en donde es adecuado
utilizar CommonKADS-RT. Es decir, la especificación de las propiedades particulares que
debe tener el dominio en donde se quiere desarrollar un SBCTR utilizando como marco
metodológico CommonKADS-RT.
Se ha decidido que para cada uno de los modelos que conforman CommonKADS-RT
se tenga una lista de los artefactos que se producen durante el desarrollo del mismo. De esta
forma, cuando se comienza con el desarrollo de un modelo se sabe desde el comienzo qué
es lo que se debe obtener al final. Así que esta clave o guía se puede ver como un criterio de
calidad del modelo, para determinar en qué estado se está en su construcción y para facilitar
la determinación de su punto final, pues si ya se tienen todos los artefactos y además estos
están completos, entonces se puede asumir que el modelo está terminado. Este es un aporte
muy valioso.
Por otra parte, es importante tener herramientas que permitan evaluar cuál de las
situaciones presentes en la organización es la más importante o urgente de tratar, de
acuerdo con la misión, visión y los factores críticos de éxito que se tengan definidos en la
misma empresa. Para ello, en el modelo de la organización se ha propuesto la inclusión de
la matriz DAFO, herramienta de la planificación estratégica, que guía y facilita la
identificación de aspectos relevantes y actuales de la organización, dándole un valor
agregado a la metodología CommonKADS-RT, pues además de posibilitar el desarrollo de
un SBCTR, es útil para hacer el análisis actual del dominio organizacional.
La fase de diseño quizá es una de las mayores aportaciones de este trabajo, ya que ésta
no ha sido muy trabajada para los sistemas basados en el conocimiento de tiempo real. En
ella se han incluido dos modelos: el de diseño y el de tareas de tiempo real. Los aportes han
sido varios:
• Tener una arquitectura para el SBCTR, específicamente ARTIS.
• Definir una estructura para la tarea de tiempo real, siguiendo un MKS.
• Especificar el diseño detallado de la aplicación.
• Considerar la realización del test de planificabilidad, aunque no se explique en detalle.
CommonKADS-RT – Capítulo 5. Conclusiones y trabajos futuros 218
• En la metodología CommonKADS-RT
− Analizar la aplicación de ARTIS para cada uno de los tipos de tareas intensivas
en el conocimiento. Esto puede implicar la realización del segundo trabajo
propuesto para el área de los sistemas basados en el conocimiento de tiempo real,
mas la revisión y adecuación de la arquitectura.
ABREVIATURAS
AIS Adaptative Intelligent Systems
AM Agent Model
ARTIS Arquitectura para Sistema de Tiempo Real Inteligente.
ASSET Aerospace Systems Simulation, Engineering, and Test tool
CIRCA Cooperative Intelligent Real-time Control Architecture
CM Communication Model
CML Conceptual Modeling Language
DAFO Debilidades, Amenazas, Fortalezas y Oportunidades
DARTS Design Approach for Real-Time Systems
DM Design Model
ESA European Spatial Agency
E/S Entrada / Salida
ESSOC Expert System for Satellite Orbit Control
FLES Flight Expert System
FRISCO A Framework of Information Systems Concepts
HPM Hartley Pirbhai Method
HRT-HOOD Hard Real-Time Hierarchical Object Oriented Design
Hz Hertz
IA Inteligencia Artificial
IC Ingeniero del Conocimiento
IPTES Incremental Prototyping Technology for Embedded Real-Time
Systems
KADS Knowledge Acquisition Design System
KM Knowledge Model
KRL Knowledge Representation Language
KSL Knowledge System Language
KSM Knowledge Structure Manager
LDP Language Design Program
MCSE Méthodologie de Conception des Systèmes Electroniques
MIKE Model-based and Incremental Knowledge Engineering
mm milímetro
ms milisegundo
MVC Model - View - Controller
OM Organization Model
OMG Object Management Group
OMT Object Modeling Technique
PM Project Management
PSM Problem Solving Method
RAE Real Academia Española
RAM REAKT Application Methodology
REAKT An Environment for Real-Time Knowledge-Based Systems
ROOM Real-Time Object-Oriented Modeling
ROPES Rapid Object-Oriented Process for Embedded Systems
RT-UML Real-Time - Unified Modeling Language
RTTM Real-Time Task Model
CommonKADS-RT – Abreviaturas 222
REFERENCIAS
• Introducción
• CommonKADS-RT
• Puerto
• Robot
ANEXO 1
Criterios de Filtrado
Criterios para determinar la importancia del sistema basados en el
conocimiento de tiempo real en la Organización
3 ¿La Organización está dispuesta a introducir una tecnología emergente para que se
realice la tarea que se está analizando?
4 ¿La Organización está dispuesta a introducir una tecnología emergente para que haga
parte de su que-hacer diario?
7 ¿La Organización está dispuesta a invertir recursos y tiempo para que se desarrolle un
sistema útil, eficiente y efectivo?
19 ¿En el dominio del problema hay muchas personas que conocen cómo solucionar el
problema?
20 ¿Se puede encontrar el conocimiento del área disperso entre varias personas expertas?
21 ¿El problema está bien definido con datos e información completamente conocidos y
exactos?
23 ¿La solución que el sistema provea puede tener conocimiento probabilístico asociado?
29 ¿Hay algún tipo de restricción que se deba tener en cuenta cuando se plantee la
solución?
30 ¿Una solución que se vea valiosa actualmente permanecerá vigente durante los
próximos años?
31 ¿La solución del problema está enmarcada en un dominio de aplicación específico del
conocimiento?
36 ¿Está dispuesta la organización en proporcionar los recursos, tanto del hardware como
el software y de las personas que se requiere para desarrollar el sistema basado en el
conocimiento de tiempo real?
37 ¿La organización cuenta con personal que puede asumir el papel y la responsabilidad
que se han definido como necesarias para poder llevar a cabo un proyecto de este tipo?
39 ¿Hay dentro de la empresa una persona reconocida que posea una gran influencia o
experiencia en el desarrollo de la tarea?
40 ¿Podría la empresa contratar personas externas que sean idóneas para que participen en
el proyecto?