Ingeniería basada en modelos - Model-driven engineering
Desarrollo de software |
---|
La ingeniería dirigida por modelos ( MDE ) es una metodología de desarrollo de software que se centra en la creación y explotación de modelos de dominio , que son modelos conceptuales de todos los temas relacionados con un problema específico. Por lo tanto, destaca y apunta a representaciones abstractas del conocimiento y las actividades que gobiernan un dominio de aplicación particular , en lugar de los conceptos informáticos (es decir, algorítmicos).
Visión general
El enfoque MDE está destinado a aumentar la productividad maximizando la compatibilidad entre sistemas (mediante la reutilización de modelos estandarizados), simplificando el proceso de diseño (a través de modelos de patrones de diseño recurrentes en el dominio de la aplicación) y promoviendo la comunicación entre individuos y equipos que trabajan en el sistema. (a través de una estandarización de la terminología y las mejores prácticas utilizadas en el dominio de la aplicación).
Un paradigma de modelado para MDE se considera efectivo si sus modelos tienen sentido desde el punto de vista de un usuario que está familiarizado con el dominio y si pueden servir como base para implementar sistemas. Los modelos se desarrollan a través de una amplia comunicación entre los gerentes de producto, diseñadores, desarrolladores y usuarios del dominio de la aplicación. A medida que los modelos se acercan a su finalización, permiten el desarrollo de software y sistemas.
Algunas de las iniciativas MDE más conocidas son:
- La iniciativa Object Management Group (OMG) Arquitectura basada en modelos (MDA) que se aprovecha de varios de sus estándares, como Meta-Object Facility , XMI , CWM , CORBA , Unified Modeling Language (para ser más precisos, OMG actualmente promueve el uso de un subconjunto de UML llamado fUML junto con su lenguaje de acción, ALF , para la arquitectura basada en modelos; un enfoque anterior se basaba en Executable UML y OCL , en su lugar) y QVT .
- El "ecosistema" de Eclipse de herramientas de programación y modelado representado en términos generales por el ( Eclipse Modeling Framework ). Este marco permite la creación de herramientas implementando los estándares MDA de la OMG; pero también es posible utilizarlo para implementar otras herramientas relacionadas con el modelado.
Historia
Las primeras herramientas para apoyar MDE fueron las herramientas de Ingeniería de Software Asistida por Computadora ( CASE ) desarrolladas en la década de 1980. Empresas como Integrated Development Environments (IDE - StP), Higher Order Software (ahora Hamilton Technologies, Inc., HTI), Cadre Technologies, Bachman Information Systems y Logic Works (BP-Win y ER-Win) fueron pioneras en el campo.
El gobierno de los Estados Unidos se involucró en las definiciones de modelado creando las especificaciones IDEF . Con varias variaciones de las definiciones de modelado (ver Booch , Rumbaugh , Jacobson , Gane y Sarson, Harel , Shlaer y Mellor , y otros), finalmente se unieron para crear el Lenguaje de modelado unificado (UML). Rational Rose , un producto para la implementación de UML, fue realizado por Rational Corporation (Booch) y la automatización de respuesta produce niveles más altos de abstracción en el desarrollo de software. Esta abstracción promueve modelos más simples con un mayor enfoque en el espacio de problemas. Combinado con la semántica ejecutable, esto eleva el nivel total de automatización posible. El Object Management Group (OMG) ha desarrollado un conjunto de estándares llamados arquitectura dirigida por modelos (MDA), la construcción de una base de este enfoque avanzado arquitectura enfocada.
Según Douglas C. Schmidt , las tecnologías de ingeniería impulsadas por modelos ofrecen un enfoque prometedor para abordar la incapacidad de los lenguajes de tercera generación para aliviar la complejidad de las plataformas y expresar conceptos de dominio de manera eficaz.
Instrumentos
Las herramientas de software notables para la ingeniería basada en modelos incluyen:
- AADL del Instituto de Ingeniería de Software Carnegie-Mellon
- Acceleo, un generador de código fuente abierto de Obeo
- Actifsource
- ATLAS Transformation Language o ATL, un lenguaje de transformación de modelos de Obeo
- Marco de modelado de Eclipse (EMF)
- Arquitecto empresarial de Sparx Systems
- Sistema de modelado genérico de Eclipse (GEMS)
- GeneXus una solución de desarrollo declarativa , multiplataforma y multilingüe basada en el conocimiento
- Genio a CASE / RAD ( Desarrollo rápido de aplicaciones ) / Agile / Model Driven Platform desarrollada por Quidgest
- Marco de modelado gráfico (GMF)
- JetBrains MPS , un sistema de metaprogramación de JetBrains
- MagicDraw de No Magic Inc
- MERODE JMermaid de KU Leuven (educativo)
- MetaEdit + de MetaCase
- ModelCenter de Phoenix Integración
- Abrir ModelSphere
- OptimalJ de Compuware
- PREEvision de Vector Informatik
- Rhapsody de IBM
- RISE Editor de RISE a Bloome Software
- PowerDesigner de SAP
- Simulink de MathWorks
- Modelador de ideas de software de Dusan Rodina
- Sirius, un proyecto de código abierto de Eclipse para crear bancos de trabajo de modelado gráfico personalizados
- Juntos Arquitecto de Borland
- Umple de la Universidad de Ottawa
- Uniface de Compuware
- YAKINDU Statechart Tools herramienta de código abierto construida sobre Eclipse
Ver también
- Gestión del ciclo de vida de las aplicaciones (ALM)
- Modelo y notación de procesos de negocio (BPMN)
- Desarrollo impulsado por negocios (BDD)
- Diseño controlado por dominio (DDD)
- Lenguaje específico de dominio (DSL)
- Modelado específico de dominio (DSM)
- Multimodelado específico de dominio
- Programación orientada al lenguaje (LOP)
- Lista de herramientas de lenguaje de modelado unificado
- Transformación de modelo (por ejemplo, usando QVT )
- Pruebas basadas en modelos (MBT)
- Nivel de madurez de modelado (MML)
- Ingeniería de sistemas basados en modelos (MBSE)
- Marco de modelado orientado a servicios (SOMF)
- Fábrica de software (SF)
- Modelado basado en historias (SDM)
Referencias
Otras lecturas
- David S. Frankel , Arquitectura basada en modelos: aplicación de MDA a la informática empresarial , John Wiley & Sons, ISBN 0-471-31920-1
- Marco Brambilla, Jordi Cabot, Manuel Wimmer, Model Driven Software Engineering in Practice , prólogo de Richard Soley ( presidente de OMG ), Morgan & Claypool, EE. UU., 2012, Synthesis Lectures on Software Engineering # 1. 182 páginas. ISBN 9781608458820 (rústica), ISBN 9781608458837 (libro electrónico). http://www.mdse-book.com
- da Silva, Alberto Rodrigues (2015). "Ingeniería basada en modelos: una encuesta respaldada por un modelo conceptual unificado" . Lenguajes, sistemas y estructuras informáticas . 43 (43): 139-155. doi : 10.1016 / j.cl.2015.06.001 .
enlaces externos
- Arquitectura basada en modelos : visión, estándares y tecnologías emergentes en omg.org