martes, 11 de marzo de 2025

Un acercamiento a las bases del ADM (Acts Driven Model)

ADM surge como el facilitador y orquestador para que el negocio explote los beneficios de los procesos, productos, tecnología, etc; para lograr los objetivos estratégicos, alinear las áreas y lograr la preferencia de los clientes. El secreto pasar a la acción sin ahogarse en la documentación, tampoco construir sin sentido y sin lo mínimo necesario. Es importante saber, dónde estamos, hacia dónde vamos y sobretodo cómo lo haremos. Conocer el negocio, tanto en su pulso que es identificar lo que sucede con números; así como, identificar de forma simple, fácil y flexible el cómo agregar o ajustar los modelos/procesos actuales para seguir adelante ante la competencia y oportunidades empresariales.


En cierta forma un modelo similar con orientación específica en salud fue impulsado por una organización y lo llaman HL7(Health Level 7), con varias versiones actualizadas. Su punto es que nacieron sin considerar la programación orientada a objetos, la homologación de modelos de datos, sin trazabilidad/rastreabilidad, mezclaba mensajes-eventos-campos; requiere ajustes personalizados. Sin duda es un modelo eficiente en su nicho y se alineó sobre RIM, mejoró vocabulario controlado, adoptaron en modelos recientes la POO y UML, incluso con un salto con dominios y clases base. Lo he visto en sectores como aeronáutica y energía también ya con algunas variantes. Algunos esfuerzos aislados de gente que de forma básica solo cubren algunas partes como addra, erpac, aba, asn, etc.

En HL7 se asimilan los objetos al representar Roles de aplicación, Eventos de Activación y Escenarios con casos de uso, que recaen sobre modelos de datos y la interacción que encola el proceso. Toda la estructura de los mensajes HL7 se construye a partir de clases y asociaciones basadas en RIM. Las entidades quedan en bases de datos relacionales principalmente.

RIM que también es una parte menor del Acts Driven Model, considera 6 clases fundamentales: Actuación/Actos, Entidad, Rol, Participante, Actuación relacionada, Rol relacionado. De estas clases se pueden crearse especializaciones de la clase. Con UML se representa de igual forma la cardinalidad y asociaciones, independiente de los atributos y métodos. Dejando al final un modelo de mensajes de información o eventos.


Lo anterior se enriquece en ADM con diagramas de estado y siguiendo la práctica del 4+1 vistas, alineación estratégica, modelos de gestión/operación de producto, arquitectura empresarial, entre otros, según sea el caso.

Estandarizar las acciones, es un plus si tomamos de la estimación por puntos, la práctica de la verbalización. Que también es parte de ADM.

Las Entidades en ADM viven en bases de datos relacionales, llave-valor, orientadas a objetos o de grafos. Y se prefiere usar Json sobre XML que era todavía hace poco tiempo la base de HL7. y Ahora con la madurez de las bases de datos de grafos se ha simplificado bastante, además de la versatilidad lograda con llave-valor. El secreto parte de estructuras los dominios para que la data genere valor y cuente historias, más allá de solo acumularla en bruto, al final esto habilitará su explotación, ML, AI, etc.


Esto nos va llevando sin duda al terreno de los patrones, algoritmos, metadata y en sí a las bases de metasoftware que sería la versión con mayor madurez de la generación de código empleando el diseño y modelado con ADM, como una evolución de las herramientas CASE.

ADM considera desde un inicio implementación con arquitecturas de alta disponibilidad en modalidad lambda (las kappa tienen limitantes al manejar solo data caliente). Se busca simplificar con orquestadores como Kafka o equivalente según las preferencias del cliente final, microservicios verificados y orquestados. Además de cuidar en todo momento el linaje y protección de los datos; así es todo debe viajar seguro y hay foco en cuidar datos, servicios, plataforma; no solo construir sin sentido y omitiendo documentar como sucede en muchos casos; obviamente esas malas prácticas no son el espíritu de ADM, tampoco se pelea documentar y hacer las cosas bien con la calidad, control, el CI/CD, simplicidad, flexibilidad y alto performance.

Una parte interesante recordando instrucción en ingeniería que agrega mucho valor, es recordar las bases de los compiladores, autómatas y lenguajes, así como los principios de las redes neuronales, que viene a enriquecer la ingeniería de software y los modelos de arquitectura que han evolucionado a la fecha.


Fuera de tecnicismos, ¿a dónde vamos?, es a recordar que se ha evolucionado la tecnología y métodos para simplificar el lograr los objetivos de negocio; al alinearse con el producto y/o negocio para que realmente las empresas generen valor, produzcan resultados tangibles para sus clientes y así mismos; crear e innovar con simplicidad y flexibilidad, alimentar realmente equipos multidisciplinarios que rompen lo convencional sin alejarse la regulación, más aún, haciendo que el mismo proceso sea rentable, que pase de un simple ROI ha modelos de economías de escala y la habilidad de adaptarse al cambiante entorno que cada año reta con pandemias, guerras, crisis, etc; al final son el alimento para salir de las zonas de confort y crear productos/servicios que realmente producen valor para todos.

Puede sonar loco desde un inicio, pero justo conocer tu empresa, procesos; es parte de implementar el pulso de la empresa; que terminará por consolidar el modelo de negocio tomando decisiones realmente con oportunidad y visibilidad de los impactos al ajustar algo y simplificar su implementación para consolidarse en el mercado.

Cómo implementarlo, bueno ya se prepara un libro con ejemplos y casos reales que sirvan de guía. Además del exitoso modelo de acompañamiento que ya he explicado en otro artículo de mi blog.

Si nos gusta un poco más de referencia, además de la parte de patrones e ingeniería de software; algunas partes provienen de compiladores, teoría de autómatas, lenguajes, redes neuronales, entre otros.

A finales del siglo anterior, las redes neuronales tenían un avance relevante con los lenguajes disponibles y que hoy en día explotan en AI y/o ML. Desde los años cuarenta, toma fuerza y se lleva a materializar en los años cincuenta con el perceptrón, adaline, madaline y otros modelos/arquitecturas. Hay un ensamble con la aparición de los computadores digitales, el procesamiento neuronal y las teorías sobre el aprendizaje; nacen los ANS (Sistemas Neuronales Artificiales); vaya que nos tocó modelar con C, C++ y Ada en aquel entonces en ingeniería. Fue enriquecido por el PDP(Procesamiento Paralelo Distribuido). Hoy en día ya no es bloqueante conocer matemáticas avanzadas para los practicantes. Entre convergencias y divergencias las 14 arquitecturas típicas hoy en día se han traducido en herramientas simplemente listas para usar.

Los compiladores más allá de los análisis, sintaxis, comprobaciones, parseos; dan pauta para la generación de código (parte de verdadero plus de ADM, CASE, otros). Los principios y técnicas de escritura de los compiladores crean un gran abanico de posibilidades; esto comprende lenguajes de programación, arquitecturas, teoría de lenguajes, algoritmos, ingeniería de software, entre otros; con el beneficio y apoyo de los traductores. Es entonces que se puede generar código correcto mas no óptimo. Las estructuras de datos, sobre todo árboles y grafos, así como verbalización estandarizada suman simplicidad y control.

Para los que gustan de la teoría de autómatas, lenguajes y similares por el tema de la máquina de Turing, que tan solo es uno de los tantos modelos. igual parte de grafos, árboles, lenguaje, conjuntos, cadenas, inducción matemática, parseo (aquí algunos que manejan datos encontrarán sentido). Puede recibir un aderezo con la Fuzzy logic (.La lógica difusa, es una lógica que permite llegar a conclusiones “razonadas” a partir de información ambigua o imprecisa. Se presentó como una forma de interpretar información basada en la pertenencia parcial de tal información con respecto a un determinado tipo de conjuntos, definidos como conjuntos difusos. Es una rama de las matemáticas que busca modelos capaces de expresar lo que conocemos como incertidumbre o grados. Cuando trabajas en lógica matemática clásica, para cada frase o cada tema que vayas a tratar solo tienes dos posibilidades de definirlo: o es verdadero o es falso). Luego ponerle el poder de PROLOG (un lenguaje declarativo: se especifica qué problema se desea resolver en lugar de cómo resolverlo).


Así es este mundo de conocimiento pero que ahora simplemente se consume.

Jorge Mercado

#JMCoach el original

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.

Breve paso por la Administración de Riesgos

Administración del Riesgo: Un Enfoque Integral Más allá del dogma y desconocimiento, el verdadero valor de administrar riesgos es la llave p...