SlideShare a Scribd company logo
1 of 55
Orca
Web DSL for Container Orchestration
Configurations
Utrecht, 2023.11.14
Dr. Pedro J. Molina
@pmolinam
#
MDE
en la Industria
Sevilla, 2023.12.05
Dr. Pedro J. Molina
@pmolinam
Dr. Pedro J. Molina
@pmolinam
Bio
1998 - 1999 Beca de investigación FPI, UPV, Valencia
1994 - 1996
Ing. Técnica en Informática, UCLM, Albacete
Seattle
SFO
1996 - 1998
Ing. Informática, UPV, Valencia
1998 - 2003
Doctoradoen Informática,UPV,Valencia 1999 - 2004 Investigador, Software Architect CARE Technologies, Dénia
2005 - 2012 Capgemini, Arquitecto de SW, Consultor, Manager, Valencia
2012 - 2016 Research Manager y CTO, Icinetic, Sevilla / Seattle
2016 - now Founder,Metadev, Sevilla
2018 - now OpenAPI Inititative, Linux Foundation / Univ. of Sevilla
AB
VLC
Dénia
SVQ
Nacido en 1975.
Experiencia Laboral
Estudios
Agenda
1. MDE
2. Casos de industriales
3. Experiencia personal
4. Potencial de MDE
1. MDE
MDE: Model Driven Engineering
▪El uso de modelos como ciudadanos de primer nivel en el ciclo
de vida del software (u otros dominios)
Niveles de abstracción
Machine Code
COBOL / C / Basic / Java
Assembler
4GL
Models / Specs
Application
Domain
Semantic
Gap
Abstraction
level
The entire history of software engineering is one of
rising levels of abstraction (abstraction is the
primary way we as humans deal with complexity).
Grady Booch
¿Qué es un modelo?
▪ A model allows
▪ the description of a family of problems for a domain
▪ Having the abstraction level carefully selected to:
▪ Discard irrelevant details (reduce complexity)
▪ Discard constant details (reduce complexity)
▪ Explicit important details (variables part)
▪ What’s a meta-model?
▪ A model describing model.
Customer Credit Card
1 *
Class
Properties
Relation
Cardinality
Source
Target
Separation of Concerns (SoC)
Know-Howcapturado en dos bloques separados:
Cómo
▪ Technological Know-How:
encapsulado en forma de mejores
practicas, frameworks, plantillas,
patrones de Código en generadores e
interpretes
Qué
▪ Business Know-How:
capturado en forma de
modelos (especificaciones):
aislado de aspectos técnicos
MDE: Economic Model
Domain Engineering
Application Engineering
Application Development
Environment
Applications
Feedback:
▪ Customers suggestions
▪ Improvements for the
development environment
ROI (development cost saving)
Investment
MDE: Economic Model
▪ Traditional Cost = N * CT
▪ MDD cost = Inv + N * CF
Family members
1 2 3 4 5
5 CT
4 CT
3 CT
2 CT
CT
Accumulated
costs
Inv
Saving AF = CT - CF
Técnicas de MDE
▪ DSL (Domain Specific Languages)
▪ Gramáticas: Parsing / ASTs, compiladores, optimizaciones
▪ Validación de modelos
▪ Transformaciones de modelos: M2M, M2T,
▪ Ingeniería hacia adelante / ing. Inversa
▪ Generación de código, Interpretes de modelos
▪ Mineria de modelos
Marco de trabajo con MDE
Textual Model Editor
Modelos
Visual Model Editor
IDE
Model Checker
Model Transformation
Model
M2M M2T
Code
Doc, etc.
Reverse
Engineering
Tools
Metamodelos
Conceptual Map for Code Generation
Metamodel
Model
Templates
Code
Transformations
Higher Abstraction Level Lower
Instances
Types
Code Generator
Técnicas de MDE
▪DSLs / Lenguajes
▪ Textuales
▪ Gráficos
▪ Basados en plantillas
▪ Proyeccionales
▪ Hibridos
2. Casos industriales
Metacase
https://www.metacase.com/
Finlandia
Herramienta de metamodelado gráfico
Uso en sistemas embebidos e industria
Genexus
https://www.genexus.com/es/
Uruguay
Herramienta veterana para modelado de aplicaciones de negocio (4GL)
Generación a multiples tecnologias
Mercado: Sudamerica y Japon.
MPS
https://www.jetbrains.com/es-es/mps/ Jetbrains Inc.
Herramienta de modelado proyeccional
Strumenta
https://strumenta.com
Italia
Especialistas en parsing, ANTLR
Parsers para Cobol, RPG, SAS, SQL, Teradata, PL/SQL, VBA
Autosar
https://www.autosar.org/
Modelos de referencia para integración de sistemas embebidos y
microcontroladores
Sector Automoción
Typefox
https://www.typefox.io/
Alemania
Cloud IDEs
Obeo
https://www.obeosoft.com/en/
Francia
Diagramado sobre Eclipse
Itemis
https://www.itemis.com/en/
Alemania
Consultoría sobre MDE y DSLS IDEs
Automoción
Belastingdienst
Autoridad de Impuestos en Holanda
▪ https://twitter.com/pmolinam/status/1729953985514098923
▪ Leyes modeladas con MPS
▪ Se deriva documentación, explicaciones,
simuladores y código a partir de las leyes
3. Experiencia personal
CARE Technologies
1999 – 2004, Dénia
▪ Herramienta CASE de modelado
▪ Basado en OASIS: UML + Modelo de presentación JUST-UI
▪ 2 patentes en USPTO
▪ Olivanova Model Execution
▪ Generación de Código complete para aplicaciones de gestion a: VB, Java,
Coldfusion, C#
Olivanova Model Execution
CARE Technologies, 1999-2004
Web Server
Mobile
Spec
XML Translators
Swing JSP
Cold
Fusion
VB ASP
EJB
VB/MTS
DBMS
Client Side
Server Side
Proyecto PISA
2006-08, Capgmeni para Bancaja, Valencia
▪Migración de software bancario a Windows XP
▪Enfoque MDE
▪Ingenieria inversa, descubrimiento de dependencias
▪Modelado de operaciones bancarias
Project PISA
Bancaja/Capgemini, 2006-08
Project PISA
Bancaja/Capgemini, 2006-08
Essential
2008
Radarc.NET
Icinetic, 2012
2012-13, Icinetic, Sevilla
▪Generación de código basado en modelos sobre Visual Studio
https://www.youtube.com/watch?v=jTBaLOtDGRk
Windows Phone App Studio
Icinetic, 2013
▪Buildup.io, Icinetic 2013
▪ IBM Bluemix Mobile App Studio, Icinetic 2013
25% of Windows Phoneapps published in CY2013 were
created with Windows Phone AppStudio
• Over 290,000 registered users
• More than 135,000 apps created
• 17,000 published apps
In just 5 months…
Windows Phone App Studio
▪ Creado por Icinetic (Sevilla) para Microsoft en 2013
▪ AppBuilder https://www.youtube.com/watch?v=OkyONTls0mQ
Windows Phone App Studio
Icinetic, 2013
• Over 290,000 registered users
• More than 135,000 apps created
• 17,000 published apps
In just 5 months…
Hivepod.io
Icinetic, 2013
HIVEPOD
▪ Backend as as Service https://vimeo.com/142230729
▪ MEAN Stack
Fundada el 2016
Foco en construir:
▪Modelos conceptuales
▪DSLs en la Web
▪Herramintas nocode/lowcode para diferentes dominios
HQ en Sevilla
https://metadev.pro
Proyecto Lowcomote
https://www.lowcomote.eu/ 2019-2023
▪Proyecto de la Union Europea bajo iniciativa Marie Curie
▪Formados 15 PhD internacionales en universidades europeas
desarrollando su tesis doctoral en MDE.
▪Apoyo de empresas del sector de MDE
Orca
▪ Editor nocode para orquestar Contenedores (Docker-Compose)
▪ https://orca-tool.com
Quid
▪ DSL para prototipar Web Components
▪ https://quid.metadev.pro
Essential
▪ Herramienta de meta-modelado en la web
▪ https://essential.metadev.pro
EST40
▪ Editor proyeccional para toma de requisitos aeroespaciales segun estandres
de la ESA.
▪ https://est4o-editor.metadev.pro
SLA Tools
▪ Herramientas para soportar la extension de SLAs sobre OpenAPI
▪ https://sla.metadev.pro
4. Potencial de MDE
MDE / DSL / Lowcode / Nocode
▪ Reduce la barrera de entrada la tecnología
Oportunidades para aplicar MDE
▪ Aeroespacial
▪ Automoción
▪ Gemelos digitales
▪ Desarrollo de software Software
▪ Integración de modelos de Inteligencia
Artificacial
▪ Seguridad de aplicaciones
▪ Orquestación de aplicaciones
▪ Legislación
▪ Química
▪ Desarrollode farmacos
▪ Modelado y monitorización de
protocolos medicos
▪ Banca y Seguros
▪ Telecomunicaciones
▪ SmartContracts y dinerodigital
Algunos datos
Nº de desarolladores mundiales 27 M (2021)
Nº de CitizenDevelopersmundiales x 4 in (2024)
Fuente:
https://venturebeat.com/business/gartner-citizen-developers-will-soon-outnumber-professional-coders-4-to-1/
Lecturas recomendadas
▪ DSLs, Fowler
▪ DLS Engineering, Markus Vöelter
▪ Model Driven SW Engineering, Brambilla et al.
▪ Building User-Friendly DSLs, Boersma
▪ Antlr, Terrence Parr
Conclusiones
▪ DSLs & MDE llevan más de 40 años de desarrollo
▪ DSLs incrementanlos niveles deabstraccióny ponen el foco en lo
esencial
▪ LowCode yNoCodeson DSLs
▪ La generaciónde códigoy la interpretaciónde modelostraen el
códigoa la vida
▪ Progreso: Nuevas herramientas proporcionanmás con menos
¿Preguntas?
¡Gracias!
Your ideas, in action.
https://metadev.pro | @metad3v

More Related Content

Similar to MDE en la industria

CV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonCV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonUTNC, CONALEP
 
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 LearningRafa Hidalgo
 
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisQuobis
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasatSistemas
 
CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014Ricardo Bouyer
 
Keepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech
 
Presentación
 Presentación Presentación
Presentaciónwebmicro
 
Cursos Tecnología
Cursos TecnologíaCursos Tecnología
Cursos Tecnología@ula-Center
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSEdin Kapic
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...SOFTENG
 
Presentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoPresentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoLibreCon
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Viewnext
 
trabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxtrabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxBethDuranCisneros
 

Similar to MDE en la industria (20)

CV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_SoberonCV_Jesus_Arturo_Hdz_Soberon
CV_Jesus_Arturo_Hdz_Soberon
 
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
 
Webinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - QuobisWebinar WebRTC y HTML5 (spanish) - Quobis
Webinar WebRTC y HTML5 (spanish) - Quobis
 
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletasWebinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
Webinar como modernizar aplicaciones legacy y abandonar tecnologías obsoletas
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Na At Technologies
Na At TechnologiesNa At Technologies
Na At Technologies
 
CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014CV_Ricardo_Bouyer 2014
CV_Ricardo_Bouyer 2014
 
TMS IaaS + PaaS Infrastructures 2016 Offering
TMS IaaS + PaaS Infrastructures  2016 OfferingTMS IaaS + PaaS Infrastructures  2016 Offering
TMS IaaS + PaaS Infrastructures 2016 Offering
 
Catálogo de perfiles 2016
Catálogo de perfiles 2016Catálogo de perfiles 2016
Catálogo de perfiles 2016
 
Keepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partnerKeepler Data Tech | The cloud data driven partner
Keepler Data Tech | The cloud data driven partner
 
Presentación
 Presentación Presentación
Presentación
 
Cursos Tecnología
Cursos TecnologíaCursos Tecnología
Cursos Tecnología
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMS
 
cvjf 2015
cvjf 2015cvjf 2015
cvjf 2015
 
Curso Superior de Desarrollo BackEnd II - CódigoK
Curso Superior de Desarrollo BackEnd II - CódigoK Curso Superior de Desarrollo BackEnd II - CódigoK
Curso Superior de Desarrollo BackEnd II - CódigoK
 
HVLMM
HVLMMHVLMM
HVLMM
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Presentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software AbiertoPresentación del Centro de Apoyo al Software Abierto
Presentación del Centro de Apoyo al Software Abierto
 
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
Modelo CENIT. Servicios de Gestión de Aplicaciones e infraestructuras
 
trabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docxtrabajofinalMejora de MetodosBet.docx
trabajofinalMejora de MetodosBet.docx
 

More from Pedro J. Molina

dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebdotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebPedro J. Molina
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with TerraformPedro J. Molina
 
LangDev 2022 Metamodeling on the Web with Essential
LangDev 2022 Metamodeling on the Web with EssentialLangDev 2022 Metamodeling on the Web with Essential
LangDev 2022 Metamodeling on the Web with EssentialPedro J. Molina
 
Essential as the base for Web DSLs
Essential as the base for Web DSLsEssential as the base for Web DSLs
Essential as the base for Web DSLsPedro J. Molina
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web ComponentsPedro J. Molina
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web componentsPedro J. Molina
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDEPedro J. Molina
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi SpecPedro J. Molina
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)Pedro J. Molina
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPIPedro J. Molina
 
SVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosSVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosPedro J. Molina
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microserviciosPedro J. Molina
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackPedro J. Molina
 

More from Pedro J. Molina (20)

Terraform
TerraformTerraform
Terraform
 
dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones WebdotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
dotnetMalaga-2020 Gestión de la configuración en aplicaciones Web
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
LangDev 2022 Metamodeling on the Web with Essential
LangDev 2022 Metamodeling on the Web with EssentialLangDev 2022 Metamodeling on the Web with Essential
LangDev 2022 Metamodeling on the Web with Essential
 
Are Startups for me?
Are Startups for me?Are Startups for me?
Are Startups for me?
 
Meow Demo
Meow DemoMeow Demo
Meow Demo
 
Essential as the base for Web DSLs
Essential as the base for Web DSLsEssential as the base for Web DSLs
Essential as the base for Web DSLs
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
 
Esencia de Web Components
Esencia de Web ComponentsEsencia de Web Components
Esencia de Web Components
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
Quid
QuidQuid
Quid
 
Securizando por construcción mediante MDE
Securizando por construcción mediante MDESecurizando por construcción mediante MDE
Securizando por construcción mediante MDE
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
Micro vs Nano (servicios)
Micro vs Nano (servicios)Micro vs Nano (servicios)
Micro vs Nano (servicios)
 
Diseño de APIs con OpenAPI
Diseño de APIs con OpenAPIDiseño de APIs con OpenAPI
Diseño de APIs con OpenAPI
 
SVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para MicroserviciosSVQDC 2017 Tecnologías para Microservicios
SVQDC 2017 Tecnologías para Microservicios
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
 

MDE en la industria

  • 1. Orca Web DSL for Container Orchestration Configurations Utrecht, 2023.11.14 Dr. Pedro J. Molina @pmolinam #
  • 2. MDE en la Industria Sevilla, 2023.12.05 Dr. Pedro J. Molina @pmolinam
  • 3. Dr. Pedro J. Molina @pmolinam
  • 4. Bio 1998 - 1999 Beca de investigación FPI, UPV, Valencia 1994 - 1996 Ing. Técnica en Informática, UCLM, Albacete Seattle SFO 1996 - 1998 Ing. Informática, UPV, Valencia 1998 - 2003 Doctoradoen Informática,UPV,Valencia 1999 - 2004 Investigador, Software Architect CARE Technologies, Dénia 2005 - 2012 Capgemini, Arquitecto de SW, Consultor, Manager, Valencia 2012 - 2016 Research Manager y CTO, Icinetic, Sevilla / Seattle 2016 - now Founder,Metadev, Sevilla 2018 - now OpenAPI Inititative, Linux Foundation / Univ. of Sevilla AB VLC Dénia SVQ Nacido en 1975. Experiencia Laboral Estudios
  • 5. Agenda 1. MDE 2. Casos de industriales 3. Experiencia personal 4. Potencial de MDE
  • 7. MDE: Model Driven Engineering ▪El uso de modelos como ciudadanos de primer nivel en el ciclo de vida del software (u otros dominios)
  • 8. Niveles de abstracción Machine Code COBOL / C / Basic / Java Assembler 4GL Models / Specs Application Domain Semantic Gap Abstraction level The entire history of software engineering is one of rising levels of abstraction (abstraction is the primary way we as humans deal with complexity). Grady Booch
  • 9. ¿Qué es un modelo? ▪ A model allows ▪ the description of a family of problems for a domain ▪ Having the abstraction level carefully selected to: ▪ Discard irrelevant details (reduce complexity) ▪ Discard constant details (reduce complexity) ▪ Explicit important details (variables part) ▪ What’s a meta-model? ▪ A model describing model. Customer Credit Card 1 * Class Properties Relation Cardinality Source Target
  • 10. Separation of Concerns (SoC) Know-Howcapturado en dos bloques separados: Cómo ▪ Technological Know-How: encapsulado en forma de mejores practicas, frameworks, plantillas, patrones de Código en generadores e interpretes Qué ▪ Business Know-How: capturado en forma de modelos (especificaciones): aislado de aspectos técnicos
  • 11. MDE: Economic Model Domain Engineering Application Engineering Application Development Environment Applications Feedback: ▪ Customers suggestions ▪ Improvements for the development environment ROI (development cost saving) Investment
  • 12. MDE: Economic Model ▪ Traditional Cost = N * CT ▪ MDD cost = Inv + N * CF Family members 1 2 3 4 5 5 CT 4 CT 3 CT 2 CT CT Accumulated costs Inv Saving AF = CT - CF
  • 13. Técnicas de MDE ▪ DSL (Domain Specific Languages) ▪ Gramáticas: Parsing / ASTs, compiladores, optimizaciones ▪ Validación de modelos ▪ Transformaciones de modelos: M2M, M2T, ▪ Ingeniería hacia adelante / ing. Inversa ▪ Generación de código, Interpretes de modelos ▪ Mineria de modelos
  • 14. Marco de trabajo con MDE Textual Model Editor Modelos Visual Model Editor IDE Model Checker Model Transformation Model M2M M2T Code Doc, etc. Reverse Engineering Tools Metamodelos
  • 15. Conceptual Map for Code Generation Metamodel Model Templates Code Transformations Higher Abstraction Level Lower Instances Types Code Generator
  • 16. Técnicas de MDE ▪DSLs / Lenguajes ▪ Textuales ▪ Gráficos ▪ Basados en plantillas ▪ Proyeccionales ▪ Hibridos
  • 18. Metacase https://www.metacase.com/ Finlandia Herramienta de metamodelado gráfico Uso en sistemas embebidos e industria
  • 19. Genexus https://www.genexus.com/es/ Uruguay Herramienta veterana para modelado de aplicaciones de negocio (4GL) Generación a multiples tecnologias Mercado: Sudamerica y Japon.
  • 21. Strumenta https://strumenta.com Italia Especialistas en parsing, ANTLR Parsers para Cobol, RPG, SAS, SQL, Teradata, PL/SQL, VBA
  • 22. Autosar https://www.autosar.org/ Modelos de referencia para integración de sistemas embebidos y microcontroladores Sector Automoción
  • 26. Belastingdienst Autoridad de Impuestos en Holanda ▪ https://twitter.com/pmolinam/status/1729953985514098923 ▪ Leyes modeladas con MPS ▪ Se deriva documentación, explicaciones, simuladores y código a partir de las leyes
  • 28. CARE Technologies 1999 – 2004, Dénia ▪ Herramienta CASE de modelado ▪ Basado en OASIS: UML + Modelo de presentación JUST-UI ▪ 2 patentes en USPTO ▪ Olivanova Model Execution ▪ Generación de Código complete para aplicaciones de gestion a: VB, Java, Coldfusion, C#
  • 29. Olivanova Model Execution CARE Technologies, 1999-2004 Web Server Mobile Spec XML Translators Swing JSP Cold Fusion VB ASP EJB VB/MTS DBMS Client Side Server Side
  • 30. Proyecto PISA 2006-08, Capgmeni para Bancaja, Valencia ▪Migración de software bancario a Windows XP ▪Enfoque MDE ▪Ingenieria inversa, descubrimiento de dependencias ▪Modelado de operaciones bancarias
  • 34. Radarc.NET Icinetic, 2012 2012-13, Icinetic, Sevilla ▪Generación de código basado en modelos sobre Visual Studio https://www.youtube.com/watch?v=jTBaLOtDGRk
  • 35. Windows Phone App Studio Icinetic, 2013 ▪Buildup.io, Icinetic 2013 ▪ IBM Bluemix Mobile App Studio, Icinetic 2013 25% of Windows Phoneapps published in CY2013 were created with Windows Phone AppStudio • Over 290,000 registered users • More than 135,000 apps created • 17,000 published apps In just 5 months…
  • 36. Windows Phone App Studio ▪ Creado por Icinetic (Sevilla) para Microsoft en 2013 ▪ AppBuilder https://www.youtube.com/watch?v=OkyONTls0mQ
  • 37. Windows Phone App Studio Icinetic, 2013 • Over 290,000 registered users • More than 135,000 apps created • 17,000 published apps In just 5 months…
  • 38. Hivepod.io Icinetic, 2013 HIVEPOD ▪ Backend as as Service https://vimeo.com/142230729 ▪ MEAN Stack
  • 39. Fundada el 2016 Foco en construir: ▪Modelos conceptuales ▪DSLs en la Web ▪Herramintas nocode/lowcode para diferentes dominios HQ en Sevilla https://metadev.pro
  • 40. Proyecto Lowcomote https://www.lowcomote.eu/ 2019-2023 ▪Proyecto de la Union Europea bajo iniciativa Marie Curie ▪Formados 15 PhD internacionales en universidades europeas desarrollando su tesis doctoral en MDE. ▪Apoyo de empresas del sector de MDE
  • 41. Orca ▪ Editor nocode para orquestar Contenedores (Docker-Compose) ▪ https://orca-tool.com
  • 42. Quid ▪ DSL para prototipar Web Components ▪ https://quid.metadev.pro
  • 43. Essential ▪ Herramienta de meta-modelado en la web ▪ https://essential.metadev.pro
  • 44.
  • 45. EST40 ▪ Editor proyeccional para toma de requisitos aeroespaciales segun estandres de la ESA. ▪ https://est4o-editor.metadev.pro
  • 46.
  • 47. SLA Tools ▪ Herramientas para soportar la extension de SLAs sobre OpenAPI ▪ https://sla.metadev.pro
  • 49. MDE / DSL / Lowcode / Nocode ▪ Reduce la barrera de entrada la tecnología
  • 50. Oportunidades para aplicar MDE ▪ Aeroespacial ▪ Automoción ▪ Gemelos digitales ▪ Desarrollo de software Software ▪ Integración de modelos de Inteligencia Artificacial ▪ Seguridad de aplicaciones ▪ Orquestación de aplicaciones ▪ Legislación ▪ Química ▪ Desarrollode farmacos ▪ Modelado y monitorización de protocolos medicos ▪ Banca y Seguros ▪ Telecomunicaciones ▪ SmartContracts y dinerodigital
  • 51. Algunos datos Nº de desarolladores mundiales 27 M (2021) Nº de CitizenDevelopersmundiales x 4 in (2024) Fuente: https://venturebeat.com/business/gartner-citizen-developers-will-soon-outnumber-professional-coders-4-to-1/
  • 52. Lecturas recomendadas ▪ DSLs, Fowler ▪ DLS Engineering, Markus Vöelter ▪ Model Driven SW Engineering, Brambilla et al. ▪ Building User-Friendly DSLs, Boersma ▪ Antlr, Terrence Parr
  • 53. Conclusiones ▪ DSLs & MDE llevan más de 40 años de desarrollo ▪ DSLs incrementanlos niveles deabstraccióny ponen el foco en lo esencial ▪ LowCode yNoCodeson DSLs ▪ La generaciónde códigoy la interpretaciónde modelostraen el códigoa la vida ▪ Progreso: Nuevas herramientas proporcionanmás con menos
  • 55. Your ideas, in action. https://metadev.pro | @metad3v