Saltar al contenido principal

Desarrollo de Software Dirigido por Modelos: Conceptos, Métodos y Herramientas

Felix Oscar Garcia Rubio

A lo largo de la pasada década, la ingeniería del software basada en modelos (Model-Driven Engineering, MDE) ha surgido como un nuevo paso en el camino hacia una verdadera industrialización de la producción de software. Tras el éxito de la tecnología orientada a objetos, el uso sistemático de modelos se presenta ahora como la forma apropiada para conseguir programar con un nive...

Editorial:
Ra-Ma
Año de edición:
2013
Materia:
Informática
ISBN:
978-84-9964-215-4
Páginas:
586
Encuadernación:
Rústica
Idioma:
Español
-5%
37,91 €
IVA incluido
39,90 €
No disponible

A lo largo de la pasada década, la ingeniería del software basada en modelos (Model-Driven Engineering, MDE) ha surgido como un nuevo paso en el camino hacia una verdadera industrialización de la producción de software. Tras el éxito de la tecnología orientada a objetos, el uso sistemático de modelos se presenta ahora como la forma apropiada para conseguir programar con un nivel más alto de abstracción y de aumentar el nivel de automatización. En nuestro trabajo de investigación y en proyectos con empresas hemos comprobado el potencial de los modelos para elevar los niveles de abstracción y automatización. Por ello, estamos plenamente convencidos de que los conceptos, métodos y técnicas de MDE facilitan la creación y evolución del software.
Este libro proporciona una explicación detallada de los conceptos básicos del MDE, así como ejemplos de cada tipo de aplicación y presentación de las herramientas más utilizadas, de modo que se puedan adquirir los conocimientos necesarios para iniciar la práctica de MDE. A lo largo de esta obra se ha combinado el rigor científico con la experiencia práctica, proporcionando una panorámica actual y completa sobre el desarrollo de software dirigido por modelos.
El libro está organizado en cinco partes junto con un capítulo de introducción, cuyo objetivo es ofrecer una visión global de MDE y presentar los conceptos en los que se profundizarán en el resto de capítulos. Las tres primeras partes corresponden a los tres elementos básicos de MDE: modelos y metamodelos, construcción de DSL y transformaciones de modelos. La cuarta parte incluye un ejemplo de cada tipo de aplicación de las técnicas MDE: desarrollo dirigido por modelos, reingeniería de modelos y models@runtime. Por último, los capítulos finales presentan algunas soluciones basadas en MDE, así como algunas herramientas existentes para entornos MDE.

Reseña del Editor

COORDINADORES
AUTORES
PRÓLOGO
PREFACIO

CAPÍTULO 1. DESARROLLO DIRIGIDO POR MODELOS: UN NUEVO PARADIGMA DE CONSTRUCCIÓN DE SOFTWARE
1.1 INTRODUCCIÓN
1.2 DE LOS OBJETOS A LOS MODELOS
1.3 PRINCIPIOS BÁSICOS DEL MDE
1.4 LOS PRINCIPALES PARADIGMAS MDE
PARTE I. METAMODELADO

CAPÍTULO 2. CONCEPTOS BÁSICOS DE MODELADO
2.1 INTRODUCCIÓN: QUÉ ES UN MODELO
2.2 SEMÁNTICA: EL SIGNIFICADO DE UN MODELO
2.3 SINTAXIS: LA ESTRUCTURA DE UN MODELO
2.4 RELACIÓN ENTRE SEMÁNTICA Y SINTAXIS
2.5 CONCLUSIÓN: TOMEMOS EN SERIO LOS DIAGRAMAS
2.6 PARA SABER MÁS

CAPÍTULO 3. UNA INTRODUCCIÓN AL METAMODELADO
3.1 EL CONCEPTO DE METAMODELO
3.2 LENGUAJES DE METAMODELADO
3.3 ARQUITECTURA DE CUATRO NIVELES
3.4 ARQUITECTURA DE METAMODELO
3.5 CONCLUSIONES

CAPÍTULO 4. EL LENGUAJE OCL
4.1 INTRODUCCIÓN
4.2 DEFINICIÓN DE RESTRICCIONES DE INTEGRIDAD
4.2.1 Identificación de la instancia contextual
4.2.2 Navegación entre clases de objetos
4.2.3 Selección de un subconjunto de objetos
4.2.4 Condición aplicable a todos los objetos de una colección
4.2.5 Navegación por jerarquías de especialización
4.2.6 Restricción de clave primaria de una clase de objetos
4.2.7 Obtención de todos los objetos de una clase
4.2.8 Resumen de operaciones aplicables a una colección
4.3 DEFINICIÓN DE INFORMACIÓN DERIVADA
4.4 DEFINICIÓN DE OPERACIONES
4.5 HERRAMIENTAS DE SOPORTE
4.6 CONCLUSIONES

CAPÍTULO 5. PERFILES MOF
5.1 INTRODUCCIÓN
5.2 PERFILES EN LA ARQUITECTURA MOF
5.3 MECANISMO DE PERFILES EN UML 2.0
5.3.1 Perfil
5.3.2 Estereotipos y propiedades
5.3.3 Restricciones
5.4 MÉTODO PARA LA DEFINICIÓN DE PERFILES
5.5 EJEMPLO
5.6 ¿METAMODELOS O PERFILES?
5.7 CONCLUSIONES

PARTE II. SINTAXIS CONCRETA

CAPÍTULO 6. ECLIPSE GRAPHICAL MODELING FRAMEWORK
6.1 INTRODUCCIÓN
6.1.1 ¿Qué es y para qué sirve GMF?
6.1.2 Relación de GMF con otros plug-ins de Eclipse
6.2 INSTALACIÓN Y CREACIÓN DE PROYECTOS GMF
6.2.1 Instalación de GMF
6.2.2 Creación y estructura de los proyectos GMF
6.3 CREACIÓN DE UN EDITOR GRÁFICO SENCILLO
6.3.1 Construcción del editor gráfico por defecto
6.3.2 Generación y ejecución del editor gráfico
6.3.3 Algunos trucos sencillos para mejorar nuestros editores
6.4 ASPECTOS AVANZADOS: CONTENCIÓN GRÁFICA
6.5 CONCLUSIONES

CAPÍTULO 7. EUGENIA
7.1 INTRODUCCIÓN
7.1.1 Epsilon
7.1.2 Instalación de Epsilon
7.2 ¿QUÉ ES Y PARA QUÉ SIRVE EUGENIA?
7.3 RELACIÓN DE EUGENIA CON OTROS PLUG-INS DE ECLIPSE
7.4 DESARROLLO DE UN EDITOR GRÁFICO CON EUGENIA
7.4.1 Introduciendo anotaciones GMF en los metamodelos
7.4.2 Desarrollo de un editor básico
7.4.3 Mejorando los editores desarrollados con EuGENia
7.5 ALGUNOS ASPECTOS AVANZADOS
7.5.1 Generación del editor en un solo paso
7.5.2 Invocación automática mediante tareas ANT
7.6 CONCLUSIONES

CAPÍTULO 8. CREACIÓN DE EDITORES TEXTUALES DE MODELOS CON XTEXT
8.1 INTRODUCCIÓN
8.2 CREACIÓN DE UN EDITOR TEXTUAL SENCILLO
8.2.1 Definición del metamodelo
8.2.2 Creación del editor por defecto con Xtext
8.2.3 Ejecución del editor textual de modelos generado
8.3 IMPLEMENTACIÓN DE UN EDITOR AVANZADO
8.3.1 Extensión del lenguaje de modelado
8.3.2 Creación del editor por defecto con Xtext
8.3.3 Importación de ficheros
8.3.4 Mejora del proceso de validación de los modelos
8.3.5 Modificación del estilo del texto
8.3.6 Mejora del asistente de contenido
8.3.7 Serialización de los modelos
8.4 CONCLUSIONES

CAPÍTULO 9. MICROSOFT DSL TOOLS
9.1 INTRODUCCIÓN
9.1.1 Relación con Visual Studio
9.2 CREACIÓN DE UN EDITOR GRÁFICO SENCILLO CON DSL TOOLS
9.2.1 El dominio específico: personas y deudas
9.2.2 Detalles gráficos
9.3 UN EJEMPLO MÁS COMPLEJO
9.3.1 Algunos aspectos avanzados: personalización
9.4 ESTRUCTURA DE UN PROYECTO DE DSL TOOLS
9.4.1 Arquitectura de los lenguajes generados con DSL Tools
9.5 CONCLUSIONES

PARTE III. TRANSFORMACIONES

CAPÍTULO 10. TRANSFORMACIONES DE MODELOS
10.1 INTRODUCCIÓN
10.2 APROXIMACIONES PARA EL DESARROLLO DE TRANSFORMACIONES
10.3 TRANSFORMACIONES DE MODELOS
10.3.1 Lenguajes de transformación de modelo a modelo
10.4 GENERACIÓN DE CÓDIGO
10.4.1 Lenguajes de transformación modelo a texto
10.5 PARA SABER MÁS

CAPÍTULO 11. EL LENGUAJE ATL
11.1 INTRODUCCIÓN
11.2 UNIDADES PRINCIPALES DE ATL
11.2.1 Módulo ATL
11.2.2 Query ATL
11.2.3 Librerías ATL
11.3 EL LENGUAJE ATL
11.3.1 Encabezado
11.3.2 Importación de librerías
11.3.3 Helper Rules
11.3.4 Matched Rules
11.3.5 [Unique] Lazy Rules
11.3.6 Called Rules
11.3.7 Fases de ejecución de una transformación
11.3.8 Referenciando elementos creados en otras reglas
11.3.9 Código imperativo en ATL
11.3.10 Tipos de datos
11.3.11 Recomendaciones

CAPÍTULO 12. EL LENGUAJE QVT: QUERY/VIEW/TRANSFORMATION
12.1 INTRODUCCIÓN
12.2 COMPONENTES BÁSICOS
12.2.1 El lenguaje QVT Relations
12.2.2 El lenguaje QVT Core
12.2.3 El lenguaje QVT Operational Mappings
12.3 EL LENGUAJE QVT OPERATIONAL MAPPINGS
12.3.1 Declaración de una transformación
12.3.2 Operación main
12.3.3 Operación de mapping
12.3.4 Operaciones helper y query
12.3.5 Constructores
12.3.6 Bibliotecas
12.3.7 Reutilización de transformaciones
12.3.8 Operaciones y operadores usados en el cuerpo de las operaciones de mapping y de query
12.4 ENTORNO DE DESARROLLO
12.5 CONCLUSIONES

CAPÍTULO 13. EL LENGUAJE RUBYTL
13.1 INTRODUCCIÓN
13.2 EL LENGUAJE DE TRANSFORMACIÓN RUBYTL
13.2.1 Estructura del lenguaje
13.2.2 Semántica de ejecución
13.2.3 Reglas de nombrado
13.2.4 Manipulación de modelos
13.2.5 Modularización de transformaciones
13.3 ENTORNO DE DESARROLLO
13.3.1 Configuración de transformaciones
13.3.2 Mensajes de error
13.4 CONCLUSIONES

CAPÍTULO 14. EL LENGUAJE JET
14.1 CONCEPTOS BÁSICOS DE JET
14.1.1 Sintaxis JET
14.1.2 Uso de XPath en JET
14.2 TRANSFORMACIONES JET
14.2.1 Proyectos JET
14.2.2 Plantillas JET
14.2.3 Etiquetas JET
14.3 EJEMPLO M2T CON JET

CAPÍTULO 15. EL LENGUAJE MOFSCRIPT
15.1 REQUISITOS, INSTALACIÓN Y VISTA GENERAL
15.2 EJEMPLO: GENERACIÓN DE CÓDIGO SQL
15.3 EL LENGUAJE MOFSCRIPT
15.3.1 Importación de transformaciones previas: import
15.3.2 Definición de la transformación: texttransformation
15.3.3 Tipos de datos, variables y propiedades
15.3.4 Definición de reglas
15.3.5 Sentencias de selección: If y Select
15.3.6 Sentencias de repetición: While y ForEach
15.3.7 Operaciones OCL destacadas de MOFScript
15.3.8 Bloque de texto protegido contra escritura
15.4 EJEMPLO DE TRANSFORMACIÓN: MÁQUINAS DE ESTADOS
15.4.1 Metamodelo de máquinas de estados
15.4.2 Transformación MOFScript
15.5 CONCLUSIONES Y CONSEJOS

CAPÍTULO 16. EL LENGUAJE XPAND
16.1 INTRODUCCIÓN
16.2 CONCEPTOS BÁSICOS DE XPAND
16.3 TRANSFORMACIONES XPAND
16.3.1 Proyecto generador para Xpand
16.3.2 Definición de reglas de transformación

Otros libros del autor

Gamificacion y Su Aplicacion a la Ingenieria del Software
-5%
24,90 € 23,66 €
  • Añadir a favoritos
Medición de Software

Medición de Software

Mario G. Piattini Velthuis / Felix Oscar Garcia Rubio

-5%
24,90 € 23,66 €
  • Añadir a favoritos
Calidad de Sistemas de Informacion 4'Ed

Calidad de Sistemas de Informacion 4'Ed

Mario G. Piattini Velthuis / Felix Oscar Garcia Rubio

-5%
39,90 € 37,91 €
  • Añadir a favoritos
Desarrollo Global de Software

Desarrollo Global de Software

Mario G. Piattini Velthuis / Felix Oscar Garcia Rubio / Aurora Vizcaino Barcelo

-5%
29,90 € 28,41 €
  • Añadir a favoritos
Calidad en el Desarrollo y Mantenimiento del Software.

Calidad en el Desarrollo y Mantenimiento del Software.

Mario G. Piattini Velthuis / Felix Oscar Garcia Rubio

-5%
28,50 € 27,08 €
  • Añadir a favoritos

Artículos relacionados

Ética Digital

Ética Digital

Piercarlo Maggiolini / Ramon Salvador Valles / Norberto Patrignani

https://www.edicionespiramide.es/libro/economia-y-empresa/etica-digital-ramon-salvador-valles-9788436851793/La obra, con un enfoque riguroso basado en hechos reales y estudios de caso, analiza cómo las tecnologías de la información -Internet, redes sociales, big data y, sobre todo, inteligencia artificial- transforman la sociedad y exigen una nueva ética centrada en la responsa...

-5%
26,50 € 25,18 €
  • Añadir a favoritos
Saqueo de Datos

Saqueo de Datos

Nick Couldry

-5%
19,90 € 18,91 €
  • Añadir a favoritos
Diseño Asistido por Ia

Diseño Asistido por Ia

Anna María López López

La revolución de la inteligencia artificial ha llegado al mundo del diseño para transformar la manera en que los creativos conciben, desarrollan y ejecutan sus proyectos. Lejos de reemplazar la creatividad humana, la IA se presenta como el aliado más estratégico y poderoso del diseñador actual. Este libro es una guía esencial para integrar la IA como asistente en el proceso cre...

-5%
35,95 € 34,15 €
  • Añadir a favoritos
Oracle Database y Mysql. Curso Práctico. Sql, Pl/Sql, Administración, Seguridad
-5%
39,90 € 37,91 €
  • Añadir a favoritos
Lo que Preguntamos a Google

Lo que Preguntamos a Google

Simon Rogers

¿Alguna vez te has preguntado qué pasa por la mente de otras personas, como preguntas absurdas, inquietudes muy íntimas, esperanzas y sueños?En 'Lo que preguntamos a Google', Simon Rogers analiza las conclusiones extraídas del mayor conjunto de datos del mundo. Es una instantánea épica de nuestro cerebro colectivo con dos décadas de historia que sigue creciendo. Lo que revela s...

-5%
24,95 € 23,70 €
  • Añadir a favoritos
Desarrollo de Aplicaciones Web en Java

Desarrollo de Aplicaciones Web en Java

Blasco Francisco / Francisco Blasco

-5%
34,90 € 33,16 €
  • Añadir a favoritos
La Conciencia Artificial

La Conciencia Artificial

Jaume Soler / M. Mercè Conangla

Una reflexión lúcida y profundamente humana sobre cómo la inteligencia artificial está transformando nuestra conciencia, nuestras relaciones y nuestra manera de vivir.Vivimos rodeados de máquinas cada vez más inteligentes. Nos ayudan a decidir, a recordar, a orientarnos, a escribir, a relacionarnos... incluso a sentirnos acompañados. Pero mientras la inteligencia artificial ava...

-5%
21,95 € 20,85 €
  • Añadir a favoritos
El Mundo Conectado: Explorando el Internet de las Cosas (Iot)

El Mundo Conectado: Explorando el Internet de las Cosas (Iot)

Jose Manuel Ortega Candel

Todo lo que necesitas para entender y aplicar el internet de las cosas en un solo libro. De la teoría a la práctica, con enfoque real y actual. El mundo conectado es una guía integral y actualizada del ecosistema IoT, pensada tanto para quienes se inician en la materia como para profesionales que necesitan una referencia técnica. El libro recorre de forma progresiva desde l...

-5%
25,00 € 23,75 €
  • Añadir a favoritos
Inteligencia Artificial

Inteligencia Artificial

Tom Jackson

Nos encontramos a las puertas de la revolución de la inteligencia artificial. La IA va a cambiar nuestro mundo de una manera que aún estamos tratando de comprender, y puede que lo haga muy rápido. Esta guía informativa y amena de la historia y la filosofía de la IA examina las aplicaciones más innovadoras de esta tecnología revolucionaria. Es una introducción ideal para entende...

-5%
9,95 € 9,45 €
  • Añadir a favoritos
Certificat Actic 3 Qüestionaris

Certificat Actic 3 Qüestionaris

Cristian Gonzalez Delgado

-5%
35,93 € 34,13 €
  • Añadir a favoritos