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
-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

Permanecer Humano. La Empresa a Prueba de la Ia
-5%
17,90 € 17,01 €
  • Añadir a favoritos
Una Vida Siempre en Línea

Una Vida Siempre en Línea

Ariadna Vilalta

Cómo la hiperconectividad, los algoritmos y la IA están reconfigurando nuestra mente y nuestras emociones.UN LIBRO PARA ENTENDER QUÉ NOS ESTÁ PASANDO PSICOLÓGICA Y SOCIALMENTE EN LA ERA DIGITAL. La tecnología no solo organiza nuestra vida: está reorganizando nuestra mente. Vivimos conectados de forma permanente. Dormimos con el móvil al lado, trabajamos frente a pantallas, nos ...

-5%
21,90 € 20,81 €
  • Añadir a favoritos
Liderando la Era de la Ia Generativa

Liderando la Era de la Ia Generativa

Adrian Gonzalez Sanchez

Aquí tienes una sinopsis más fluida y natural de 'Liderando la era de la IA generativa', diseñada para captar la atención de un perfil directivo:Liderando la era de la IA generativa: El 'sistema operativo' para el líder modernoEn un mercado saturado de ruido y promesas tecnológicas, este libro no busca ser un manual técnico más, sino el manual de estrategias definitivo para qui...

-5%
28,50 € 27,08 €
  • Añadir a favoritos
Ética de la Inteligencia Artificial

Ética de la Inteligencia Artificial

https://www.dykinson.com/libros/etica-de-la-inteligencia-artificial/9791370471590/En un momento histórico en el que la inteligencia artificial ha dejado de ser una promesa técnica para convertirse en una infraestructura que atraviesa la vida social, este libro ofrece una brújula conceptual y práctica para orientarse en un territorio complejo. La lA se ha convertido en un entorn...

-5%
58,00 € 55,10 €
  • Añadir a favoritos
Jetson Nvidia. Inteligencia Artificial en tu Bolsillo

Jetson Nvidia. Inteligencia Artificial en tu Bolsillo

Daniel / Ignacio Daniel Gomez Gracian

-5%
19,90 € 18,91 €
  • Añadir a favoritos
Introducción Al Chatgpt en Python

Introducción Al Chatgpt en Python

Bruce R. Hopkins / Bruce Hopkins

Abraza el futuro del desarrollo de software y aprendea crear aplicaciones inteligentes utilizando las API de ChatGPTy OpenAI con el lenguaje de programación Python. Introducción al ChatGPT en Python te enseña cómo utilizar ChatGPT mediante programación. Aprenderás los fundamentos de ChatGPT y las API de OpenAI, incluyendo cómo autenticar, enviar solicitudes, generar respues...

-5%
21,95 € 20,85 €
  • Añadir a favoritos
Tsunami

Tsunami

Pablo Vazquez

En los últimos años, más de 10.000 personas han pasado por los cursos de inteligencia artificial de Pablo Vázquez. Personas con perfiles muy diversos, e inquietudes muy similares: «No sé por dónde empezar». «No sé si mi trabajo está en riesgo». «Sé que debería estar haciendo algo, pero no sé el qué». «Tengo hijos, equipo, familia debería poder orientarlos, y no puedo». Es norma...

-5%
21,90 € 20,81 €
  • Añadir a favoritos
Computación Cuántica

Computación Cuántica

Jacinto Velasco Rebolledo

La computación cuántica se ha consolidado como una de las tecnologías más transformadoras de nuestro tiempo. Ante los límites crecientes de la computación clásica, comprender los principios de la mecánica cuántica aplicados al procesamiento de la información se ha convertido en una competencia esencial para quienes aspiran a liderar la próxima revolución tecnológica. Esta obra ...

-5%
55,00 € 52,25 €
  • Añadir a favoritos
Fancy Bear se Lanza Al Phishing

Fancy Bear se Lanza Al Phishing

Scott J. Shapiro

Es una paradoja de nuestros tiempos que vivamos en la sociedad de la información, pero no entendamos cómo funciona. ¿Qué pasaría si supiésemos más? En Fancy Bear se va de phishing, Scott J. Shapiro recurre a su popular clase en la universidad de Yale sobre hackeo para mostrar que el cibercrimen tiene menos que ver con la programación defectuosa que con el cableado imperfecto de...

-5%
31,95 € 30,35 €
  • Añadir a favoritos
Mas Alla de los Datos, el
-5%
15,90 € 15,11 €
  • Añadir a favoritos