SlideShare una empresa de Scribd logo
1 de 59
Ingeniería del Software dirigida por modelos
Versión para incrédulos
Jordi Cabot – ICREA Research Professor en la UOC
@softmodeling / @ingdesoftware jordicabot.com
SOM Research Lab
Software runs the world. Models run the software
El equipo
Postdoc
PhD Students
Professors
Lecturers
Nuestra misión
Interested in the broad
area of systems and
software engineering,
especially promoting the
rigorous use of software
models and engineering
principles in all software
engineering tasks.
Flickr/clement127
Model
Rapid prototyping
Static analysis
Code generation
Automated testing
Refactoring/
Transformation
Documentation
[Illustration by Bernhard Rumpe]
IDM = Modelos como parte central de la
Ingeniería del Software
Size doesn’t
matter
Modelas y punto!!!
Model-
driven
Engineering
El porqué:
Casos de uso
El cómo:
Claves para
la adopción
El qué:
Conceptos
básicos
• Asterix view : resistentes al modelado
• Grady Booch – history of softwre engineering
The entire history of software engineering is that of
the rise in levels of abstraction
- Grady Booch
OBJETIVO: Escribir cada
vez menos código
MDE es la formalización (culminación?) de este proceso
(common-sense) code generation
Beneficios MDE
(bien hecho)
+productividad +calidad +Mantenimiento ….
2X – 8X 1.2X – 4X 80%
MDE es >> que generación de código
MDE
(software
engineering)
MDD
(software
development)
MDE es modernización de Software
MDE es Open Data
• Everything is a model by Jean
To model, or not to model, this is the WRONG
question
- Shakespeare
La buena pregunta:
qué modelos, cuantos,
• Eric Elliot on illiterate
Model-
driven
Engineering
El porqué:
Casos de uso
El cómo:
Claves para
la adopción
El qué:
Conceptos
básicos
La equación MDE:
Models +
Transformations =
Software
Original
model
1st
refinement
nth
refinement
Model-to-model
Transformation
Model-to-text
Transformation
...
Requirements
Use Case
Class Diagram
Java Project
Qué es un modelo?
Mapping Feature Un model se basa en el original (=system)
Reduction Feature Un modelo refleja sólo las propiedades relevantes del original
Pragmatic Feature Un modelo tiene que poder usarse en el original en un
escenario concreto
ModelrepresentsSystem
Un modelo
26
Ciudad de Nantes = “system” a
modelar
Un mapa es de hecho un modelo
del sistema
La leyenda del mapa es la
gramática / metamodelo
Existen diferentes tipos mapas:
transporte, alcantarillado,…
que dan “vistas” diferentes de
la ciudad
Models & Metamodelos
27
representation of
System S
conforms to
Model M
Metamodel
MM
Muy parecido al mundo de la
programación
MDE Grammarware
MOF
(metametamodel)
UML
(metamodel)
ABank.uml
EBNF.g
Java.g
MyProgram.java
Qué lenguaje usar
O construye tu
propio Domain-
Specific Language
Transformación de modelosModel-to-Model Transformation Pattern
MMa MMb
Ma Mba2b.mt
MMTLsource metamodel
source model target model
target metamodel
conformsTo
Execution Engine
conformsTo conformsTo
M2M Transformation example
Java M
conformsTo
A 2 V
Rule
C 2 C
Rule
UML2Java.atl
execution
UML M
conformsTo
c1:Class
a1:Attribute
Trace Model
c1 -> c01 : C2C
a1 -> v01 : A2V
MMa
Class
Attribute*
attributes
Java MM
Class
Variable*
variables
v01:Variable
c01:Class
UML MM
Example #1 – Publication 2 Book
Journal
name: String
Book
name: String
id: Integer
Source Metamodel Target Metamodel
j2:Journal
name = ACM Comp. Sur.
j3:Journal
name = IEEE Software.
j1:Journal
name = IEEE Computer
b2:Book
name = ACM Comp. Sur.
id = 2
b3:Book
name = IEEE Software.
id = 3
b1:Book
name = IEEE Computer
id = 1
Journal
Collection
Book
Collection
jc1:Journal
Collection
bc1:Book
Collection
Source Model Target Model
journals books
1..* 1..*
module Publication2Book;
create OUT : Book from IN : Publication;
rule Collection2Collection {
from
jc : Publication!JournalCollection
to
bc : Book!BookCollection(
books <- jc.journals
)
}
rule Journal2Book {
from
j : Publication!Journal
to
b : Book!Book (
name <- j.name
)
}
Source Pattern
Target Pattern
Matched Rule
Header
Binding
Transformación modelo a texto
MiniUML Metamodel
MiniUML Model
class Student extends Person{
private String regNo;
public void setRegNo(…){…}
public String getRegNo(){…}
}
MiniJava Code
MiniJava Grammar
Model2Text
NamedElement
type : Type
type 0..1
Relationship
0..1 superClass
minCard : Integer
maxCard : Integer
* *
– String
– Boolean
– …
«enumeration»
Type
ClassDec := Modifier “class” Identifier [“extends”
Identifier] ClassBody;
AttributeDec := Modifier Type Identifier“;”;
MethodDec := Modifier ReturnType Identifier “(”
ParamList “)” “{” MethodBody “}”;
Identifier := {“a”-”z” | “A”-”Z” | “0”-”9”};
Class
Attribute
name: String
Person
Student
regNo : String
M2T : Motor de templates
«context class»
public class «name» { String id, … }
Template
Engine
Query
Result
Input
public class Person { String id, …}
Template
Text fragment
Meta-marker
Output1 Output2
…public class Customer { String id, …}
Person
Customer
…
Source
Model
Produced Text
Acceleo[template public javaClass(aClass : Class)]
[file (aClass.name.toUpperFirst()+'.java', false, 'UTF-8')]
package entities;
import java.io.Serializable;
public class [aClass.name/] implements Serializable {
[for (att : Attribute | aClass.atts) separator ('n')]
[javaAttribute(att)/]
[/for]
[for (op : Operation | aClass.ops) separator ('n')]
[javaMethod(op)/]
[/for]
}
[/file]
[/template]
[template public javaMethod(op : Operation)]
public [op.type/] [op.name/]() {
// [protected (op.name)]
// Fill operation implementation
[returnStatement(op.type)/]
// [/protected]
}
[/template]
Open output file
Close output file
Static Text
Protected
Area
Query
Template
Call
• NoSQL
• Rest
• JSON
• Verificación / testing
• Versionado
• Collaboración
Y aún hay más
Flickr/FlazingoPhotos
http://matt.might.net/articles/phd-school-in-pictures
Me prohibieron utilizar mis
500+ slides de “introducción
a la IDM” 
Model-
driven
Engineering
El porqué:
Casos de uso
El cómo:
Claves para
la adopción
El qué:
Conceptos
básicos
PERO lo lleva
diciendo desde
1985
Adopción MDEAdoption Lifecycle
Adopción MDE
Depende del proyecto:
•Objetivo
•Tecnología
•Equipo
•Tamaño
•Dominio
Depende, de qué depende…
Consejo: Evalúa tu equipo
Socio-technical
Congruence:
MDE requiere
nuevos roles,
nuevas tareas...
Consejo: Educa a tu equipo
Y incluye personas
que lo hayan
hecho antes en tu
1er proyecto
Consejo: Sé ágil
Consejo: “Start small”
Size DOES matter
Consejo: Ten paciencia
Consejo: Que Management te dé su apoyo
No puede ser sólo
un experimento
que te “dejen”
hacer
Consejo: Los experimentos con gaseosa
Ej: UML es
suficiente para la
gran mayoría de
proyectos
Consejo: Escoge una herramienta de verdad
Drawing
vs
modeling
tool
Papyrus
• Una herramienta abierta (open-source)
basada en Eclipse para modelaje con UML,
SysML y DSLs basados en UML
• Potente consorcio industrial detrás
(sostenibilidad)
Papyrus: plataforma
- ...-RT -IM-xtUML -?
http://modeling-languages.com
Let’s work
together
(PhDs, Postdocs,
consulting, tech
transfer,...)
jordi.cabot@
icrea.cat
@softmodeling

Más contenido relacionado

La actualidad más candente

Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)Dr. Ahmed Al Zaidy
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosPablo Sepulveda P.
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#rahulsahay19
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan GoleChetan Gole
 
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventosPOE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventosFranklin Parrales Bravo
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Jordi Cabot
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewEelco Visser
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
New Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQNew Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQMatt Leming
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
El modelado de casos de uso
El modelado de casos de usoEl modelado de casos de uso
El modelado de casos de usomigkail
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagramRamakant Soni
 

La actualidad más candente (20)

Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)
 
Database Access With JDBC
Database Access With JDBCDatabase Access With JDBC
Database Access With JDBC
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a Objetos
 
Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
 
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventosPOE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
POE Unidad 2: Diseño y construcción de programas visuales y orientados a eventos
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
New Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQNew Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQ
 
C# language
C# languageC# language
C# language
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
Ocl
OclOcl
Ocl
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
El modelado de casos de uso
El modelado de casos de usoEl modelado de casos de uso
El modelado de casos de uso
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagram
 

Similar a Ingeniería del Software dirigida por modelos -Versión para incrédulos

Similar a Ingeniería del Software dirigida por modelos -Versión para incrédulos (20)

Presentacion Pfc
Presentacion PfcPresentacion Pfc
Presentacion Pfc
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NET
 
MDA en el contexto de datawarehouse
MDA en el contexto de datawarehouseMDA en el contexto de datawarehouse
MDA en el contexto de datawarehouse
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Mda 2
Mda 2Mda 2
Mda 2
 
1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Introduccion a la ingenieria de software
Introduccion a la ingenieria de softwareIntroduccion a la ingenieria de software
Introduccion a la ingenieria de software
 
Mos Kitt Quo Vadis
Mos Kitt Quo VadisMos Kitt Quo Vadis
Mos Kitt Quo Vadis
 
Tema modeloobjeto-1pp
Tema modeloobjeto-1ppTema modeloobjeto-1pp
Tema modeloobjeto-1pp
 
Presentacion Hanuman
Presentacion HanumanPresentacion Hanuman
Presentacion Hanuman
 
06 patrones
06 patrones06 patrones
06 patrones
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
Mos kitt
Mos kittMos kitt
Mos kitt
 
Modelado de sistemas software
Modelado de sistemas softwareModelado de sistemas software
Modelado de sistemas software
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
Mda mde
Mda   mdeMda   mde
Mda mde
 
Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)Desarrollo a aplicaciones . net (1)
Desarrollo a aplicaciones . net (1)
 
MVC
MVCMVC
MVC
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 

Más de Jordi Cabot

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?Jordi Cabot
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesJordi Cabot
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineJordi Cabot
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursJordi Cabot
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21Jordi Cabot
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringJordi Cabot
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformJordi Cabot
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingJordi Cabot
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Jordi Cabot
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Jordi Cabot
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsJordi Cabot
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsJordi Cabot
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Jordi Cabot
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformJordi Cabot
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesJordi Cabot
 
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkMulti-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkJordi Cabot
 
Model-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsModel-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsJordi Cabot
 

Más de Jordi Cabot (20)

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
 
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit FrameworkMulti-Platform Chatbot Modeling and Deployment with the Xatkit Framework
Multi-Platform Chatbot Modeling and Deployment with the Xatkit Framework
 
Model-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIsModel-driven Round-trip Engineering of REST APIs
Model-driven Round-trip Engineering of REST APIs
 

Ingeniería del Software dirigida por modelos -Versión para incrédulos