Independientemente del tamaño de la empresa, el diseño basado en modelos siempre involucra un equipo de ingeniería pequeño, y se adopta para reducir los plazos y costes de desarrollo. Este white paper describe las consideraciones y prácticas recomendadas para que los equipos de ingeniería pequeños logren adoptar esta metodología con éxito.
¿Qué es el diseño basado en modelos?
El diseño basado en modelos ofrece un enfoque matemático y visual para desarrollar sistemas. Se emplea en una amplia variedad de industrias y aplicaciones, tales como aplicaciones de control de trayectorias, procesamiento de señales, equipos industriales, aeroespaciales y automoción. El diseño basado en modelos gira en torno al uso sistemático de modelos a lo largo de todo el proceso de desarrollo, que incluye especificación y validación de requisitos, diseño, simulación, generación automática de código, y verificación y validación.
El diseño basado en modelos complementa y posibilita las prácticas de desarrollo ágil. Como el desarrollo ágil de software, el diseño basado en modelos permite detectar errores y problemas de diseño en las primeras etapas de un proyecto, dar cabida a cambios en los requisitos, y proporcionar un sistema que satisfaga las necesidades del cliente. Por ejemplo, se pueden realizar iteraciones rápidas conectándose con sistemas de integración continua para probar y verificar modelos y código de manera automática a lo largo de todo el ciclo de desarrollo.
El uso de modelos previamente desarrollados se puede extender a sistemas en funcionamiento, creando gemelos digitales para optimizar el funcionamiento del sistema, supervisar el estado del sistema y proporcionar un mecanismo de feedback al equipo de desarrollo para realizar mejoras continuas. Estas prácticas de DevOps facilitan aplicaciones tales como el mantenimiento predictivo y la detección de fallos en tiempo real.
El equipo de ingeniería crea un modelo para especificar el comportamiento de un sistema. El modelo, que consta de diagramas de bloques, otros elementos gráficos y programas textuales, es una especificación ejecutable que permite realizar simulaciones para probar conceptos de diseño alternativos y verificarlos durante todo el proceso de desarrollo.
Algunas de las ventajas de tener un modelo de sistema que actúe como especificación ejecutable son:
- El diseño se puede probar, ajustar y volver a probar durante todo el proceso de desarrollo.
- El modelado y la simulación permiten probar muchas ideas rápidamente sin necesidad de desarrollar costosos prototipos.
- Las pruebas y la validación se realizan en las etapas iniciales y continuamente, en lugar de al final del proceso, de modo que los errores se detectan y corrigen antes de realizar pruebas en hardware.
- El código se puede generar a partir de los modelos del sistema, lo que reduce el esfuerzo y elimina los errores de codificación manual. Este código se puede emplear para probar simulaciones en tiempo real y realizar despliegues en hardware.
- Los modelos se pueden adaptar y reutilizar en proyectos posteriores.
Introducción del diseño basado en modelos
Los equipos de desarrollo no pueden permitirse retrasos debido a cambios en la forma en que desarrollan sistemas. A efectos prácticos, esto significa que las nuevas herramientas y los cambios en los procesos se deben introducir con cautela. Probar nuevos enfoques y herramientas de diseño conlleva cierto riesgo. Los equipos de desarrollo que han tenido éxito han mitigado este riesgo introduciendo el diseño basado en modelos gradualmente. Por lo general, comienzan con un solo proyecto, identifican ganancias rápidas que se pueden lograr con el diseño basado en modelos, y comparan con sus prácticas actuales.
Para que la introducción del diseño basado en modelos tenga éxito, se deben dar pasos graduales que ayuden al avance del proyecto, sin ralentizarlo, tales como:
- Experimentar con una pequeña parte del proyecto.
- Aprovechar modelos anteriores exitosos.
- Utilizar modelos para resolver problemas de diseño específicos.
- Ceñirse a los conceptos básicos.
- Aprovechar la experiencia del personal experto de MathWorks.
Experimentar con una pequeña parte del proyecto
Un enfoque que se recomienda es tomar una nueva área del sistema, crear un modelo del comportamiento del software y generar código a partir de él. Es un cambio pequeño, que puede hacer un integrante del equipo con una inversión en aprendizaje mínima. Esto demostrará que:
- Se puede simular un modelo para corregir errores en algoritmos de manera más simple y con más información que haciendo pruebas dinámicas de código C en un equipo de escritorio.
- Se puede crear código de alta calidad sin necesidad de codificación manual.
- El código coincide con el comportamiento del modelo.
Aprovechar modelos anteriores exitosos
Otra actividad valiosa de adoptar el diseño basado en modelos es la simulación en el nivel de sistema. Por lo general, una vez que se ha comprobado que un segmento de código funciona bien, se lo incorpora al resto de la aplicación para detectar problemas de integración entre hardware y software. (Son los mismos problemas que se detectarían si se escribiera todo el código manualmente).
En cambio, la simulación en el nivel de sistema permite efectuar la integración del sistema de manera virtual. Para ello, se debe crear un modelo adecuado del hardware en el sistema y los elementos básicos del entorno de dicho sistema. La fidelidad del modelo debe ser lo bastante alta como para garantizar que las señales de conexión tengan las unidades correctas y estén conectadas a los canales correctos, y que se capture el nivel correcto de comportamiento dinámico para probar el algoritmo.
Los resultados ofrecen una visión preliminar del comportamiento del hardware y el software integrado. Esto resulta especialmente valioso si el hardware está en desarrollo y aún no existe, o si es costoso realizar prototipado.
Utilizar modelos para resolver problemas de diseño específicos
Los modelos de planta, el entorno y el algoritmo no tienen que ser a gran escala para obtener ciertos beneficios. Por ejemplo, supongamos que debe decidir qué parámetros se requieren para un solenoide utilizado en un accionamiento. Puede desarrollar un modelo sencillo que represente un “volumen de control” conceptual alrededor del solenoide, incluyendo qué lo impulsa y sobre qué actúa. Puede probar diversas condiciones de funcionamiento extremas y deducir los parámetros básicos sin necesidad de formular las ecuaciones. A través de la simulación, el equipo de ingeniería desarrolla las fuerzas necesarias y luego las incorpora en forma de retroalimentación a la actividad de diseño del hardware. Luego, se puede almacenar este modelo y utilizarlo posteriormente para solucionar otros problemas de diseño o emplearlo en el proyecto de desarrollo del siguiente producto.
Ceñirse a los conceptos básicos
Para los equipos de desarrollo pequeños, las ventajas inmediatas del diseño basado en modelos incluyen la capacidad de:
- Crear modelos de componentes y sistemas
- Utilizar simulaciones para validar y probar diseños en las etapas iniciales y continuamente durante todo el desarrollo
- Generar código C automáticamente para realizar prototipado y pruebas
Posteriormente, los equipos pueden considerar el uso de herramientas y prácticas avanzadas, como directrices de modelado, vinculación con requisitos, comprobación de conformidad, y generación de código de producción.
Además, pueden adoptar y cumplir con prácticas de desarrollo ágil conectándose con sistemas de integración continua para probar y verificar modelos y código automáticamente. También pueden extender el uso de modelos del sistema a sistemas en funcionamiento, para permitir aplicaciones como el mantenimiento predictivo y los gemelos digitales.
No obstante, en el caso de equipos de desarrollo pequeños, estas cuestiones se pueden abordar más adelante.
Aprovechar la experiencia del personal experto de MathWorks
El equipo de ingeniería de MathWorks ha trabajado en estrecha colaboración con grupos de trabajo globales de todos los tamaños. Sus integrantes cuentan con años de experiencia ayudando a equipos pequeños a aplicar el diseño basado en modelos para lograr un objetivo final. La estrecha colaboración con MathWorks puede ser un buen primer paso para un equipo pequeño interesado en adoptar el diseño basado en modelos que necesita ponerse al día rápidamente.
Éxito con el diseño basado en modelos
Adoptar gradualmente el diseño basado en modelos ha permitido que pequeños equipos de ingeniería de organizaciones de todos los tamaños obtengan sistemáticamente estos resultados inmediatos y tangibles:
- Mayor rapidez para realizar la primera demostración
- Menor plazo de comercialización de un producto de alta calidad
- Mayor capacidad para desarrollar sistemas complejos
Los equipos pequeños dependen de los esfuerzos de sus integrantes, que dedican muchas horas, muestran gran dedicación y avanzan rápidamente. Con un enfoque gradual, estos equipos pueden adoptar el diseño basado en modelos de manera fluida, y desempeñarse con unos niveles de velocidad, competencia y calidad de diseño aún mayores.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)