
Models to Code
Andrew Mangogna, Leon Starr, Stephen Mellor
- Editorial
- Apress
- Año
- 2017
- Páginas
- ~305
- Nivel
- Intermedio
De qué trata
Manual especializado escrito por Leon Starr, Andrew Mangogna y Stephen J. Mellor (pionero de la metodología Shlaer-Mellor) enfocado en la ingeniería de software dirigida por modelos (MDSE) y Executable UML (xUML), con el objetivo de traducir especificaciones formales directamente a código de producción en lenguaje C sin lagunas de implementación manual. Está dirigido a ingenieros de software, desarrolladores de sistemas embebidos y arquitectos técnicos de nivel intermedio a avanzado que necesitan cerrar la brecha entre el modelado visual y la ejecución real. Requiere conocimientos previos de diseño orientado a objetos con UML, fundamentos de programación en C y nociones de sistemas en tiempo real.
El libro detalla cómo formalizar modelos independientes de la plataforma mediante diagramas de clases, máquinas de estados finitos, procesamiento asíncrono y síncrono de eventos y gestión de poblaciones de instancias. Utiliza y explica en profundidad la herramienta de código abierto pycca (un compilador de modelos desarrollado por Andrew Mangogna) junto con el dominio de ejecución ST/MX (Single-Threaded Model Execution), enseñando a proyectar estados, transiciones y relaciones estructurales en tablas de transición, punteros a función y estructuras nativas de C. Asimismo, aborda técnicas avanzadas como el polimorfismo de eventos y la delimitación rigurosa entre el dominio de la aplicación y los dominios de servicios para sensores y actuadores.
La enseñanza se concreta a través del desarrollo de modelos ejecutables que culminan en código compilable: un sistema introductorio de control de tráfico aéreo para ilustrar los principios de traducción y un caso de estudio industrial extendido de supervisión y gestión de alarmas en un embalse conectado a hardware periférico. Su mayor valor reside en desmitificar el desarrollo guiado por modelos demostrando que es viable en microprocesadores con memoria limitada mediante cadenas de herramientas abiertas; deja fuera el desarrollo web y las arquitecturas distribuidas modernas, y exige adoptar una rigurosa disciplina formal de modelado antes de escribir una sola línea de C.
- Executable UML (xUML)
- Ingeniería dirigida por modelos (MDSE)
- pycca
- Generación de código C
- Sistemas embebidos
- Máquinas de estados finitos
- Polimorfismo de eventos
- Arquitectura de software
- Metodología Shlaer-Mellor
- Separación de dominios
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Sistema de Control de Tráfico Aéreo (ATC)
Modelo ejecutable introductorio en xUML que gestiona aeronaves y espacio aéreo, traduciéndose de forma automatizada a código estructurado en C para evidenciar la correspondencia entre estados y ejecución.
Sistema de Supervisión de Embalses y Alarmas
Aplicación industrial completa modelada en xUML que supervisa niveles de líquido y límites críticos, traduciéndose a C mediante pycca para comunicarse con dominios de servicio de sensores y actuadores.

