Tema: Automatas
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/09/2005, 16:39
javier_enithost
 
Fecha de Ingreso: septiembre-2005
Mensajes: 30
Antigüedad: 18 años, 7 meses
Puntos: 0
Se utilizan bastente, aunque a veces inadvertidos

Hola,

Estoy 100% de acuerdo contigo. Muchas veces se desprecia el uso de automatas en soluciones, sobre todo los automatas finitos deterministas; otras veces los programadores lo utilizan sin tener idea de que eso exactamente lo que estan utilizando.

Los ejemplos que has puesto anteriormente quisas pudieran resolverse mediante otras vias, pero hay muchos casos en que es necesario el uso de automatas.

En la ingenieria de un software es necesario tener en cuenta suficiente flexibilidad en las soluciones para garantizar aplicar las soluciones que proponemos en la mayor cantidad de esenarios posibles.

Voy a poner un ejemplo basado en la contruccion de un CMS ( Content Management System ) de como se hace necesario la utilizacion de un automata "dinamico" para manejar el workflow de una noticia.

Cuando hablamos de noticia como entidad dentro del CMS notaremos que presenta un estado actual; este estado es realmente dinamico segun el contexto donde vayamos a utilizar el CMS, y asi mismo de dinamico es la variacion de este atributo estado de la noticia.

En el caso de una editorial digital que fuese a utilizar nuestro CMS pues la noticia debe pasar por una secuencia de estados ( muy especifica para esta editarial ) que permiten el correcto funcionamiento del sistema, especificamente los estados de la noticia serian ( inedita, aprobada, correjida, rechazada, publicada, archivada, etc.. ) para que, segun el esquema de trabajo de un periodico digital, la noticia deba ser creada, luego revisada por un corrector, luego aprobada por un jefe de redaccion, y publicada y despublicada por un publicador; cada rol lleva la noticia a un estado diferente como pueden seguramente comprobar.

Ahora, en el caso de la utilizacion del CMS por parte simple cliente que solo necesita publicar noticias en su sitio web el conjunto de estados de una noticia seria diferente, asi como los roles que interactuan en el cambio de estado de la misma. En este caso la noticia solamente necesitaria tener los estados de inedita, publicada, archivada porque no tenemos ni jefes de redaccion, ni publicadores especializados, ni correctores, entre otros.

Por lo tanto la definicion de los estados de las noticias, asi como las interacciones de los diferentes roles para diferentes dominios del problemas, estan sujetos a un dinamismo; y una solucion para esto es representar los estados y el cambio de estos mediante un automata finito determinista "dinamico" o especifico para cada caso ( uno para la agencia de prensa digital, y otro para el simple cliente ). De esta forma representamos el workflow que se necesita para cada caso.

Espero que con este ejemplo vean que es muy util la utilizacion de los automatas.

Saludos
__________________
Alojamiento Web - Alojamiento web y Servidores dedicados. Servidores en USA y Londres.
Hosting,PHP,Java,CSS,SEO BLOG - Web Hosting, Posicionamiento Web, Programacion en PHP, Java, CSS y mucho mas.