SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Model-driven Development
with Executable UML Models



           Rafael Chaves
      rafael@alphasimple.com
Small scale vs. large scale

           Small                Large
                       team
  single developer
                       large feature set
  small feature set
                       long lived
  short lived
Small scale vs. large scale

      Small                    Large

  work properly   understandable by others
  (once)
                  throughout time

                  extensible

                  resilient to change

                  work properly (continuously)
Enterprise software is very hard
Problem domains are typically not very complex (information
management + business rules)

How come?


Secondary concerns abound

persistence, concurrency, (a)synchronism, distribution,
transactions, security, caching, replication, logging, ...
Two dominant dimensions

 business domain concerns vs. technological or
 implementation concerns
 Completely different beasts
 (why treat them the same way?)

 change rate
 abstraction level
 tools
 skills
 reuse

             Current approaches won't cut it
Model Driven Development to
         the rescue
model: a simplified representation of something
from a particular point of view and with a
particular purpose
Models in software

  brainstorming
  communicating
  documenting
  understanding (rev. eng.)




          That is not what MDD is about
Models in MDD

 are the central artifacts in software (re: source vs.
 object code)
 are well-formed
 are precise*
 are complete*
 are executable (directly/code gen.)*
 are technology-independent*
MDA pattern




              source: MDA Guide (OMG)
Technology-agnostic models




                     source: eclipse.org
Code generation




                  source: openarchitectureware.org
Model interpretation
MDD with UML
Relevant UML features
UML has always had support for modeling:

   structure: classes, attributes, operations and relationships
   (class diagrams)
   dynamics: state machines (state diagrams)

Added in 1.5 (2003)/2.0 (2005):

   behavior: action semantics (no standard notation, typically
   textual)



                UML finally enabled for MDD
source: UML 1.5 spec (OMG)
Action Semantics: basic concepts


  actions

  input/output pins

  data flows

  activity nodes

  activities
Action Semantics: basic actions

 read/write variable     activity node (block)
                         call function
 create/destroy object
                         conditional (if/switch)
 read self ("this")
                         loop
 read/write attribute
                         raise exception
 create/destroy link
                         send signal
 call operation
newCustomer = new Customer();




                                source: UML 1.5 spec (OMG)
current_account.balance = new_balance;




                                         source: same
if (factor == 2) { ... }




                           source: same
Diagrams vs. Text

 graphical representation not suitable for AS

 models != diagrams (no loss of abstraction)

 textual notations preferred (action languages)
 but... isn't UML required to be graphical?

 but... aren't we back to coding?
Model-driven Development
with Executable UML Models



           Rafael Chaves
      rafael@alphasimple.com

Más contenido relacionado

La actualidad más candente

Executable UML – UML2
Executable UML – UML2Executable UML – UML2
Executable UML – UML2elliando dias
 
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Ed Seidewitz
 
The Epsilon Pattern Language
The Epsilon Pattern LanguageThe Epsilon Pattern Language
The Epsilon Pattern LanguageDimitris Kolovos
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseEd Seidewitz
 
Uml (unified modeling language)
Uml (unified modeling language)Uml (unified modeling language)
Uml (unified modeling language)Sandip Sitäulä
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010MD DAY
 
UML as a Programming Language
UML as a Programming LanguageUML as a Programming Language
UML as a Programming LanguageEd Seidewitz
 
Action Languages for UML execution: Where we are and where we are heading
Action Languages for UML execution: Where we are and where we are headingAction Languages for UML execution: Where we are and where we are heading
Action Languages for UML execution: Where we are and where we are headingFederico Ciccozzi
 
Programming in UML: Why and How
Programming in UML: Why and HowProgramming in UML: Why and How
Programming in UML: Why and HowEd Seidewitz
 
Uml Diagrams for Web Developers
Uml Diagrams for Web DevelopersUml Diagrams for Web Developers
Uml Diagrams for Web DevelopersDave Kelleher
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven ArchitecturesLalit Kale
 
Lecture2 introduction to uml
Lecture2 introduction to umlLecture2 introduction to uml
Lecture2 introduction to umlShahid Riaz
 
Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?Eliza Wright
 

La actualidad más candente (20)

Executable UML – UML2
Executable UML – UML2Executable UML – UML2
Executable UML – UML2
 
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
 
Epsilon
EpsilonEpsilon
Epsilon
 
The Epsilon Pattern Language
The Epsilon Pattern LanguageThe Epsilon Pattern Language
The Epsilon Pattern Language
 
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's PromiseStandards-Based Executable UML: Today's Reality and Tomorrow's Promise
Standards-Based Executable UML: Today's Reality and Tomorrow's Promise
 
Uml (unified modeling language)
Uml (unified modeling language)Uml (unified modeling language)
Uml (unified modeling language)
 
Lab 1
Lab 1Lab 1
Lab 1
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
 
UML as a Programming Language
UML as a Programming LanguageUML as a Programming Language
UML as a Programming Language
 
Action Languages for UML execution: Where we are and where we are heading
Action Languages for UML execution: Where we are and where we are headingAction Languages for UML execution: Where we are and where we are heading
Action Languages for UML execution: Where we are and where we are heading
 
Programming in UML: Why and How
Programming in UML: Why and HowProgramming in UML: Why and How
Programming in UML: Why and How
 
Uml Diagrams for Web Developers
Uml Diagrams for Web DevelopersUml Diagrams for Web Developers
Uml Diagrams for Web Developers
 
Model Driven Architectures
Model Driven ArchitecturesModel Driven Architectures
Model Driven Architectures
 
Lecture2 introduction to uml
Lecture2 introduction to umlLecture2 introduction to uml
Lecture2 introduction to uml
 
Uml & rup
Uml & rupUml & rup
Uml & rup
 
Book of Uml
Book of UmlBook of Uml
Book of Uml
 
UML 2.5_PDF
UML 2.5_PDFUML 2.5_PDF
UML 2.5_PDF
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
 
Eugenia
EugeniaEugenia
Eugenia
 

Destacado

Collaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping StudyCollaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping StudyDavide Ruscio
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...Rafael Chaves
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraRafael Chaves
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deckRafael Chaves
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de GestãoRafael Chaves
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativoRafael Chaves
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitchRafael Chaves
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoRafael Chaves
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven developmentRafael Chaves
 
Model Driven Prototyping
Model Driven PrototypingModel Driven Prototyping
Model Driven PrototypingRafael Chaves
 
ASME Webinar: Model-Driven Innovation in Machine Design
ASME Webinar: Model-Driven Innovation in Machine DesignASME Webinar: Model-Driven Innovation in Machine Design
ASME Webinar: Model-Driven Innovation in Machine DesignPaul Goossens
 
Model-Based Design For Motor Control Development
Model-Based Design For Motor Control DevelopmentModel-Based Design For Motor Control Development
Model-Based Design For Motor Control DevelopmentThe Hartford
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentAlfonso Pierantonio
 

Destacado (16)

Collaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping StudyCollaborative model driven software engineering: a Systematic Mapping Study
Collaborative model driven software engineering: a Systematic Mapping Study
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestra
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deck
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de Gestão
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativo
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitch
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestão
 
Code generation
Code generationCode generation
Code generation
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven development
 
Model Driven Prototyping
Model Driven PrototypingModel Driven Prototyping
Model Driven Prototyping
 
Introduction To MDD
Introduction To MDDIntroduction To MDD
Introduction To MDD
 
ASME Webinar: Model-Driven Innovation in Machine Design
ASME Webinar: Model-Driven Innovation in Machine DesignASME Webinar: Model-Driven Innovation in Machine Design
ASME Webinar: Model-Driven Innovation in Machine Design
 
Model-Based Design For Motor Control Development
Model-Based Design For Motor Control DevelopmentModel-Based Design For Motor Control Development
Model-Based Design For Motor Control Development
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven Development
 

Similar a MDD with Executable UML Models

UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Ogren Paunović
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE Jean-Sebastien Sottet
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML WorkshopEd Seidewitz
 
4.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 44.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 4Warui Maina
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...Jordi Cabot
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Mickael Istria
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
Activity Diagram
Activity DiagramActivity Diagram
Activity DiagramAshesh R
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpSteve Nash
 
Chapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdfChapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdfAkfeteAssefa
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
UNIFIED MODELLING LANGUAGE (UML)
UNIFIED MODELLING LANGUAGE (UML)UNIFIED MODELLING LANGUAGE (UML)
UNIFIED MODELLING LANGUAGE (UML)Shamsunder Malgikar
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 

Similar a MDD with Executable UML Models (20)

UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
ALT
ALTALT
ALT
 
Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010Agile Modeling with Uml and Visual Studio 2010
Agile Modeling with Uml and Visual Studio 2010
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
4.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 44.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 4
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
Uml1 concepts
Uml1 conceptsUml1 concepts
Uml1 concepts
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
SE UML.ppt
SE UML.pptSE UML.ppt
SE UML.ppt
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
 
Chapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdfChapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdf
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
UNIFIED MODELLING LANGUAGE (UML)
UNIFIED MODELLING LANGUAGE (UML)UNIFIED MODELLING LANGUAGE (UML)
UNIFIED MODELLING LANGUAGE (UML)
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 

MDD with Executable UML Models

  • 1. Model-driven Development with Executable UML Models Rafael Chaves rafael@alphasimple.com
  • 2. Small scale vs. large scale Small Large team single developer large feature set small feature set long lived short lived
  • 3. Small scale vs. large scale Small Large work properly understandable by others (once) throughout time extensible resilient to change work properly (continuously)
  • 4. Enterprise software is very hard Problem domains are typically not very complex (information management + business rules) How come? Secondary concerns abound persistence, concurrency, (a)synchronism, distribution, transactions, security, caching, replication, logging, ...
  • 5. Two dominant dimensions business domain concerns vs. technological or implementation concerns Completely different beasts (why treat them the same way?) change rate abstraction level tools skills reuse Current approaches won't cut it
  • 6. Model Driven Development to the rescue
  • 7. model: a simplified representation of something from a particular point of view and with a particular purpose
  • 8. Models in software brainstorming communicating documenting understanding (rev. eng.) That is not what MDD is about
  • 9. Models in MDD are the central artifacts in software (re: source vs. object code) are well-formed are precise* are complete* are executable (directly/code gen.)* are technology-independent*
  • 10. MDA pattern source: MDA Guide (OMG)
  • 11. Technology-agnostic models source: eclipse.org
  • 12. Code generation source: openarchitectureware.org
  • 15. Relevant UML features UML has always had support for modeling: structure: classes, attributes, operations and relationships (class diagrams) dynamics: state machines (state diagrams) Added in 1.5 (2003)/2.0 (2005): behavior: action semantics (no standard notation, typically textual) UML finally enabled for MDD
  • 16. source: UML 1.5 spec (OMG)
  • 17. Action Semantics: basic concepts actions input/output pins data flows activity nodes activities
  • 18. Action Semantics: basic actions read/write variable activity node (block) call function create/destroy object conditional (if/switch) read self ("this") loop read/write attribute raise exception create/destroy link send signal call operation
  • 19. newCustomer = new Customer(); source: UML 1.5 spec (OMG)
  • 21. if (factor == 2) { ... } source: same
  • 22. Diagrams vs. Text graphical representation not suitable for AS models != diagrams (no loss of abstraction) textual notations preferred (action languages) but... isn't UML required to be graphical? but... aren't we back to coding?
  • 23. Model-driven Development with Executable UML Models Rafael Chaves rafael@alphasimple.com