SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Modelgedreven Ontwikkeling
               in de Praktijk




Werner Heijstek, Leiden Institute of Adv. Computer Science.



         Universiteit Leiden

                Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Introductie

Werner Heijstek                                          1 | 21
 • Sinds 2007 promovendus aan het LIACS obv.
   Dr. Michel Chaudron (Software Engineering Group)

 • Sinds 2006 Verbonden aan het ADC van
   Capgemini Nederland & Capgemini India

 • Onderzoeksinteresses
    • global software development
    • software architectuur en design
    • software processen en productiviteit
 • Collaboraties met verschillende (internationale)
   industri¨le partners en universiteiten
           e


                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Introductie

Inhoud                                                   2 | 21

Definitie en Terminologie

Tussen Domein en Implementatie

Hoe Zien Modellen Eruit?

Het gebruik van MDD in de Praktijk

Conclusie



                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Definitie en Terminologie

Synoniemen                                                 3 | 21
 • Model-Driven Development (MDD)
   Ontwikkelmethode waarin modellen centraal staan
    • Model-Driven Software Development (MDSD)
    • Model-Driven Software Engineering (MDSE)
    • Model-Driven Engineering (MDE)


 • Model-Driven Architecture (MDATM )
   Specifieke(re) ontwikkelmethode
    • ontwikkeld door de Object Media Group (OMG) in 2001
    • MDD is hiervan een onderdeel
    • OMG trademarks: Model-Based Application Development
      (MBADTM ), Model-Based Programming (MBPTM ), . . .



                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Definitie en Terminologie

Wat is een model?                                        4 | 21
Een model is een vereenvoudige weergave van de werkelijkheid:




                 Figuur: Abstractie van Mont Cervin


                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Tussen Domein en Implementatie

Afstand tussen domein en implementatie 5 | 21




                        (
   Klant
                            Business
                            Analyst
                                       Requirements
                                         Engineer
                                                      Software
                                                      Architect
                                                                  Ontwerper
                                                                              (   Programmeur




  graag zouden wij
  onze        klanten                                                               import java.io.*;
  directer met ons                                                                  import java.util.*

  laten interactieren                                                               public class Finder {
  doormiddel      van
  een portal.




                        Figuur: Een ‘normaal’ software ontwikkelprocess



                              Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Tussen Domein en Implementatie

Modellen als centrale taal                                 6 | 21


                                Business
                                Analyst


                                            Requirements
                   Klant
                                              Engineer



                                              Software
                 Ontwerper
                                              Architect


                              Programmeur



        Figuur: Een modelgedreven software ontwikkelprocess
                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
    Tussen Domein en Implementatie

    De rol van modellen                                                            7 | 21




                         Figuur: Brown’s Modelleer Spectrum


Brown (2004) An introduction to MDA. Part I: MDA and Today’s Systems. The Rational Edge

                          Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Tussen Domein en Implementatie

Evolutie van abstractie                                           8 | 21


 periode    taal                        bijzonderheden
 jaren 50   Assembler
 jaren 60   Common Business Orien-      abstractie van machinecode
            ted Language (COBOL)
 jaren 70   C++                         object orientatie
 jaren 90   Java                        ontkoppeling logische en technische
                                        implementatie; veel kant-en-klare
                                        functionaliteit
 recent     MDATM , Domeinenspe-        abstractie van broncode; “signifi-
            cifieke Talen (DSL)          cante” generatie van broncode

      Tabel: Evolutie van abstractie in programmeeromgevingen


                   Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Hoe Zien Modellen Eruit?

Modelleertalen                                           9 | 21
 • Generiek
    • Unified Modeling Language (UML)
       ◮ grafisch

    • Formele talen (e.g. Z-notatie)
       ◮ textueel




 • Specifiek
   Domain Specific Languages (DSL)
    • grafisch (vaak mbv. UML!)
    • textueel
    • hybride




                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
     Hoe Zien Modellen Eruit?

     Modelleertalen in de praktijk                                                     10 | 21

                                                           50%
     DSL
                                                           40%

                                                           30%

                                                           20%
                                          UML
                                                           10%

                                                            0%
                                                                   text   diagrammen    hybride


       Figuur: DSL “versus” UML                          Figuur: DSL mediadistributie


Torchiano, et al. Preliminary findings from a state of the practice survey in MD*. ESEM 2011

                            Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
  Het gebruik van MDD in de Praktijk

  Impact van adoptie van MDD                              11 | 21
  Modelgedreven ontwikkeling biedt voordelen op het gebied van


Kwaliteit                Productiviteit          Onderhoud
• generatie van            • codegeneratie        • eenvoudiger
  goede code               • afname                 beheer
• nauwere                    communicatie
  aansluiting van            problemen
  software op              • hergebruik
  requirements               modellen




                    Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Het gebruik van MDD in de Praktijk

MDD en kwaliteit                                            12 | 21
 • Broncode kan worden gegenereerd
    • Voordelig voor ‘standaard’ applicaties
      ↑ standaardwerk =⇒ ↑ gegenereerde code
    • code hoeft niet het doel te zijn



 • “Volwassen” modellen door hergebruik
    • dus ook: hergebruik van modellen van hoge kwaliteit



 • Betere aansluiting op requirements door domeinkoppeling




                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Het gebruik van MDD in de Praktijk

MDD en onderhoud                                                                13 | 21

                                                                              onderhoud

                        model                        model
                                   transformeer                transformeer
                                   handmatig                   automatisch


                          code                         code
  onderhoud

             Figuur: Code- versus model-gebaseerd onderhoud


adapted from H. van Vliet (2008) Software Engineering: Principles and Practice Wiley

                       Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Het gebruik van MDD in de Praktijk

MDD en productiviteit                                           14 | 21
 • MDD maakt ontwikkelprocessen productiever doordat
    • veel code kan worden gegenereerd
    • modellen vergemakkelijken communicatie
    • hergebruik maakt ‘shortcuts’ mogelijk



 • Weinig literatuur mbt. de bottom line
   • van 27 procent minder productief tot 400 procent productiever
       ◮   leereffecten (zeker bij z´lf modellen en generatoren bouwen)
                                   e
       ◮   is MDD juist toegepast?
    • “Too good to be true effect” maakt proponenten terughoudend
      in rapportages (Hutchinson 2011)




                  Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Het gebruik van MDD in de Praktijk

Gevonden voordelen in de praktijk                                             15 | 21
                                         Productivity         Maintainability
                   Activity                         Not                  Not
                                     Increased              Increased
                                                   Used                 Used
           Use of models for team
                                       73 %        7 %       66 %        6 %
           communication
           Use of models for
           understanding a
                                       73 %        4 %       72 %        6 %
           problem at an abstract
           level
           Use of models to
           capture and document        65 %        9 %       59 %        10 %
           designs
           Use of domain-specific
                                       47 %       32 %       44 %        33 %
           languages (DSLs)
           Code generation             67 %       12 %       56 %        12 %
           Model simulation/
                                       41 %       38 %       39 %        35 %
           Executable models
adapted from J. Hutchinson et al. Empirical assessment of MDE in industry. ICSE 2011

                      Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
  Het gebruik van MDD in de Praktijk

  Praktijkvoorbeeld urenverdeling                                              16 | 21

             60                                construction


             50

             40
effort (%)




                                                                    constr
             30                elaboration
                                                                             transition
             20
                                                                     tran
                                 elaboration
             10
                      incep.
              0
                  0               20           40              60      80            100
                                                    time (%)
  unpublished: Heijstek & Chaudron

                                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Het gebruik van MDD in de Praktijk

Potenti¨le valkuilen
       e                                                                     17 | 21
 • Design fase duurt langer (“WINCY probleem”)
 • Risico op scope creep bij hergebruik modellen
 • Late wijzigingen buiten scope hebben een potentieel hogere
    impact
 • Maintainers meer betrekken bij ontwikkeling
 • Ontwerpers moeten zeer gedetailleerd modeleren
 • De handgeschreven code vereist ervaren programmeurs
 • “Collective Model Owernership”
 • MDD is tool-afhankelijk
    • Ontwikkeling is sterk tool-gebaseerd
    • Sterke link tussen leverancier en implementatie (“lock-in”)
uit: Heijstek & Chaudron The Impact of MDD on the Software Architecture Process SEAA 2010

                      Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Conclusie

Conclusie                                                  18 | 21

Modelgedreven ontwikkeling biedt potentieel grote voordelen
en is een logische volgende stap in software ontwikkeling

 • DSL biedt een specifieke taal voor uw domein

 • Bij zelfbouw is een investering nodig
    • in kennis en tools
    • meer aandacht moet worden besteed aan de “early phases”
    • requirements moeten weer iets duidelijker voor implementatie


 • Bij gebruik externe oplossing
    • zorg voor wijdverspreid begrip van DSL
    • verzeker je van een omgeving die flexibel genoeg is

                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Conclusie

Vragen?                                                19 | 21




                                ?
                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Contact Informatie

Contact Informatie                                     20 | 21


                        Werner Heijstek
                      heijstek@liacs.nl
                http://www.liacs.nl/˜heijstek

                    Snellius building room 150
                     +31 (0) 71 – 527 7050

               Ekiga: sip:w.heijstek@ekiga.net
                    Skype: wernerheijstek


                 Universiteit Leiden. Universiteit om te ontdekken.
Modelgedreven Ontwikkeling in de Praktijk
Meer informatie

Gerelateerde literatuur                                    21 | 21
 • B. Hailpern & P. Tarr (2006) Model-driven development:
   The good, the bad, and the ugly IBM Systems Journal
 • J. Hutchinson, M. Rouncefield, J. Whittle Model-Driven
   Engineering Practices in Industry ICSE 2011
 • W. Heijstek & M.R.V. Chaudron The Impact of MDD on the
   Software Architecture Process Euromicro SEAA 2010

 • International Conference on Model Driven Engineering
   Languages and Systems (MODELS)
    • Heeft een omvangrijke “industrial-track”
    • Proceedings van afgelopen jaren zijn online terug te vinden
    • 2011: 16 – 21 oktober, Wellington
    • 2012: 1 – 5 oktober, Innsbruck

                 Universiteit Leiden. Universiteit om te ontdekken.

Mais conteúdo relacionado

Semelhante a Modelgedreven Ontwikkeling in de Praktijk

Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills42windmills
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
[NL] OpenBIM Roadshow (KUBUS)
[NL]  OpenBIM Roadshow (KUBUS) [NL]  OpenBIM Roadshow (KUBUS)
[NL] OpenBIM Roadshow (KUBUS) Léon van Berlo
 
Kubus openBIM Roadshow Rotterdam
Kubus openBIM Roadshow RotterdamKubus openBIM Roadshow Rotterdam
Kubus openBIM Roadshow RotterdamLéon Berlo
 
Waarom software ontwikkelen in cordys
Waarom software ontwikkelen in cordysWaarom software ontwikkelen in cordys
Waarom software ontwikkelen in cordysdkkro
 
Open Bim tijdens Betondag 2010
Open Bim tijdens Betondag 2010Open Bim tijdens Betondag 2010
Open Bim tijdens Betondag 2010Rob Roef
 
20170901 - Over wyStack
20170901 - Over wyStack20170901 - Over wyStack
20170901 - Over wyStackTom van Oost
 
Centraal BIM model?
Centraal BIM model?Centraal BIM model?
Centraal BIM model?Léon Berlo
 
Van Dam Orenda Voorbeelden 2012v6
Van Dam Orenda Voorbeelden 2012v6Van Dam Orenda Voorbeelden 2012v6
Van Dam Orenda Voorbeelden 2012v6Kadlaa
 
Mechatronic System Design
Mechatronic System DesignMechatronic System Design
Mechatronic System DesignVincent Claes
 
Nationale EuroCloud Monitor 2012
Nationale EuroCloud Monitor 2012Nationale EuroCloud Monitor 2012
Nationale EuroCloud Monitor 2012Peter Vermeulen
 
Project AtLast (CWA1-1112)
Project AtLast (CWA1-1112)Project AtLast (CWA1-1112)
Project AtLast (CWA1-1112)Mattias Buelens
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureRubiX BV
 
CMBO Café - Nieuwe businessmodellen met SaaS
CMBO Café - Nieuwe businessmodellen met SaaSCMBO Café - Nieuwe businessmodellen met SaaS
CMBO Café - Nieuwe businessmodellen met SaaSPeter van Teeseling
 
Schiphol Lac 2011 Principes V0.5 A
Schiphol Lac 2011 Principes V0.5 ASchiphol Lac 2011 Principes V0.5 A
Schiphol Lac 2011 Principes V0.5 Acharlesmh
 

Semelhante a Modelgedreven Ontwikkeling in de Praktijk (20)

Architectuur als taal v1 1.1
Architectuur als taal v1 1.1Architectuur als taal v1 1.1
Architectuur als taal v1 1.1
 
Waarom 42windmills
Waarom 42windmillsWaarom 42windmills
Waarom 42windmills
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Dsl tools
Dsl toolsDsl tools
Dsl tools
 
[NL] OpenBIM Roadshow (KUBUS)
[NL]  OpenBIM Roadshow (KUBUS) [NL]  OpenBIM Roadshow (KUBUS)
[NL] OpenBIM Roadshow (KUBUS)
 
Kubus openBIM Roadshow Rotterdam
Kubus openBIM Roadshow RotterdamKubus openBIM Roadshow Rotterdam
Kubus openBIM Roadshow Rotterdam
 
Waarom software ontwikkelen in cordys
Waarom software ontwikkelen in cordysWaarom software ontwikkelen in cordys
Waarom software ontwikkelen in cordys
 
Open Bim tijdens Betondag 2010
Open Bim tijdens Betondag 2010Open Bim tijdens Betondag 2010
Open Bim tijdens Betondag 2010
 
20170901 - Over wyStack
20170901 - Over wyStack20170901 - Over wyStack
20170901 - Over wyStack
 
Centraal BIM model?
Centraal BIM model?Centraal BIM model?
Centraal BIM model?
 
Van Dam Orenda Voorbeelden 2012v6
Van Dam Orenda Voorbeelden 2012v6Van Dam Orenda Voorbeelden 2012v6
Van Dam Orenda Voorbeelden 2012v6
 
Mechatronic System Design
Mechatronic System DesignMechatronic System Design
Mechatronic System Design
 
HvA CMD OAR 19 april 2012
HvA CMD OAR 19 april 2012HvA CMD OAR 19 april 2012
HvA CMD OAR 19 april 2012
 
Nationale EuroCloud Monitor 2012
Nationale EuroCloud Monitor 2012Nationale EuroCloud Monitor 2012
Nationale EuroCloud Monitor 2012
 
Project AtLast (CWA1-1112)
Project AtLast (CWA1-1112)Project AtLast (CWA1-1112)
Project AtLast (CWA1-1112)
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices Architecture
 
Presentatie Architect Als Haarlemmer Olie
Presentatie Architect Als Haarlemmer OliePresentatie Architect Als Haarlemmer Olie
Presentatie Architect Als Haarlemmer Olie
 
CMBO Café - Nieuwe businessmodellen met SaaS
CMBO Café - Nieuwe businessmodellen met SaaSCMBO Café - Nieuwe businessmodellen met SaaS
CMBO Café - Nieuwe businessmodellen met SaaS
 
Schiphol Lac 2011 Principes V0.5 A
Schiphol Lac 2011 Principes V0.5 ASchiphol Lac 2011 Principes V0.5 A
Schiphol Lac 2011 Principes V0.5 A
 
Tiende Meetup: Microservices
Tiende Meetup: MicroservicesTiende Meetup: Microservices
Tiende Meetup: Microservices
 

Modelgedreven Ontwikkeling in de Praktijk

  • 1. Modelgedreven Ontwikkeling in de Praktijk Werner Heijstek, Leiden Institute of Adv. Computer Science. Universiteit Leiden Universiteit Leiden. Universiteit om te ontdekken.
  • 2. Modelgedreven Ontwikkeling in de Praktijk Introductie Werner Heijstek 1 | 21 • Sinds 2007 promovendus aan het LIACS obv. Dr. Michel Chaudron (Software Engineering Group) • Sinds 2006 Verbonden aan het ADC van Capgemini Nederland & Capgemini India • Onderzoeksinteresses • global software development • software architectuur en design • software processen en productiviteit • Collaboraties met verschillende (internationale) industri¨le partners en universiteiten e Universiteit Leiden. Universiteit om te ontdekken.
  • 3. Modelgedreven Ontwikkeling in de Praktijk Introductie Inhoud 2 | 21 Definitie en Terminologie Tussen Domein en Implementatie Hoe Zien Modellen Eruit? Het gebruik van MDD in de Praktijk Conclusie Universiteit Leiden. Universiteit om te ontdekken.
  • 4. Modelgedreven Ontwikkeling in de Praktijk Definitie en Terminologie Synoniemen 3 | 21 • Model-Driven Development (MDD) Ontwikkelmethode waarin modellen centraal staan • Model-Driven Software Development (MDSD) • Model-Driven Software Engineering (MDSE) • Model-Driven Engineering (MDE) • Model-Driven Architecture (MDATM ) Specifieke(re) ontwikkelmethode • ontwikkeld door de Object Media Group (OMG) in 2001 • MDD is hiervan een onderdeel • OMG trademarks: Model-Based Application Development (MBADTM ), Model-Based Programming (MBPTM ), . . . Universiteit Leiden. Universiteit om te ontdekken.
  • 5. Modelgedreven Ontwikkeling in de Praktijk Definitie en Terminologie Wat is een model? 4 | 21 Een model is een vereenvoudige weergave van de werkelijkheid: Figuur: Abstractie van Mont Cervin Universiteit Leiden. Universiteit om te ontdekken.
  • 6. Modelgedreven Ontwikkeling in de Praktijk Tussen Domein en Implementatie Afstand tussen domein en implementatie 5 | 21 ( Klant Business Analyst Requirements Engineer Software Architect Ontwerper ( Programmeur graag zouden wij onze klanten import java.io.*; directer met ons import java.util.* laten interactieren public class Finder { doormiddel van een portal. Figuur: Een ‘normaal’ software ontwikkelprocess Universiteit Leiden. Universiteit om te ontdekken.
  • 7. Modelgedreven Ontwikkeling in de Praktijk Tussen Domein en Implementatie Modellen als centrale taal 6 | 21 Business Analyst Requirements Klant Engineer Software Ontwerper Architect Programmeur Figuur: Een modelgedreven software ontwikkelprocess Universiteit Leiden. Universiteit om te ontdekken.
  • 8. Modelgedreven Ontwikkeling in de Praktijk Tussen Domein en Implementatie De rol van modellen 7 | 21 Figuur: Brown’s Modelleer Spectrum Brown (2004) An introduction to MDA. Part I: MDA and Today’s Systems. The Rational Edge Universiteit Leiden. Universiteit om te ontdekken.
  • 9. Modelgedreven Ontwikkeling in de Praktijk Tussen Domein en Implementatie Evolutie van abstractie 8 | 21 periode taal bijzonderheden jaren 50 Assembler jaren 60 Common Business Orien- abstractie van machinecode ted Language (COBOL) jaren 70 C++ object orientatie jaren 90 Java ontkoppeling logische en technische implementatie; veel kant-en-klare functionaliteit recent MDATM , Domeinenspe- abstractie van broncode; “signifi- cifieke Talen (DSL) cante” generatie van broncode Tabel: Evolutie van abstractie in programmeeromgevingen Universiteit Leiden. Universiteit om te ontdekken.
  • 10. Modelgedreven Ontwikkeling in de Praktijk Hoe Zien Modellen Eruit? Modelleertalen 9 | 21 • Generiek • Unified Modeling Language (UML) ◮ grafisch • Formele talen (e.g. Z-notatie) ◮ textueel • Specifiek Domain Specific Languages (DSL) • grafisch (vaak mbv. UML!) • textueel • hybride Universiteit Leiden. Universiteit om te ontdekken.
  • 11. Modelgedreven Ontwikkeling in de Praktijk Hoe Zien Modellen Eruit? Modelleertalen in de praktijk 10 | 21 50% DSL 40% 30% 20% UML 10% 0% text diagrammen hybride Figuur: DSL “versus” UML Figuur: DSL mediadistributie Torchiano, et al. Preliminary findings from a state of the practice survey in MD*. ESEM 2011 Universiteit Leiden. Universiteit om te ontdekken.
  • 12. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk Impact van adoptie van MDD 11 | 21 Modelgedreven ontwikkeling biedt voordelen op het gebied van Kwaliteit Productiviteit Onderhoud • generatie van • codegeneratie • eenvoudiger goede code • afname beheer • nauwere communicatie aansluiting van problemen software op • hergebruik requirements modellen Universiteit Leiden. Universiteit om te ontdekken.
  • 13. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk MDD en kwaliteit 12 | 21 • Broncode kan worden gegenereerd • Voordelig voor ‘standaard’ applicaties ↑ standaardwerk =⇒ ↑ gegenereerde code • code hoeft niet het doel te zijn • “Volwassen” modellen door hergebruik • dus ook: hergebruik van modellen van hoge kwaliteit • Betere aansluiting op requirements door domeinkoppeling Universiteit Leiden. Universiteit om te ontdekken.
  • 14. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk MDD en onderhoud 13 | 21 onderhoud model model transformeer transformeer handmatig automatisch code code onderhoud Figuur: Code- versus model-gebaseerd onderhoud adapted from H. van Vliet (2008) Software Engineering: Principles and Practice Wiley Universiteit Leiden. Universiteit om te ontdekken.
  • 15. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk MDD en productiviteit 14 | 21 • MDD maakt ontwikkelprocessen productiever doordat • veel code kan worden gegenereerd • modellen vergemakkelijken communicatie • hergebruik maakt ‘shortcuts’ mogelijk • Weinig literatuur mbt. de bottom line • van 27 procent minder productief tot 400 procent productiever ◮ leereffecten (zeker bij z´lf modellen en generatoren bouwen) e ◮ is MDD juist toegepast? • “Too good to be true effect” maakt proponenten terughoudend in rapportages (Hutchinson 2011) Universiteit Leiden. Universiteit om te ontdekken.
  • 16. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk Gevonden voordelen in de praktijk 15 | 21 Productivity Maintainability Activity Not Not Increased Increased Used Used Use of models for team 73 % 7 % 66 % 6 % communication Use of models for understanding a 73 % 4 % 72 % 6 % problem at an abstract level Use of models to capture and document 65 % 9 % 59 % 10 % designs Use of domain-specific 47 % 32 % 44 % 33 % languages (DSLs) Code generation 67 % 12 % 56 % 12 % Model simulation/ 41 % 38 % 39 % 35 % Executable models adapted from J. Hutchinson et al. Empirical assessment of MDE in industry. ICSE 2011 Universiteit Leiden. Universiteit om te ontdekken.
  • 17. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk Praktijkvoorbeeld urenverdeling 16 | 21 60 construction 50 40 effort (%) constr 30 elaboration transition 20 tran elaboration 10 incep. 0 0 20 40 60 80 100 time (%) unpublished: Heijstek & Chaudron Universiteit Leiden. Universiteit om te ontdekken.
  • 18. Modelgedreven Ontwikkeling in de Praktijk Het gebruik van MDD in de Praktijk Potenti¨le valkuilen e 17 | 21 • Design fase duurt langer (“WINCY probleem”) • Risico op scope creep bij hergebruik modellen • Late wijzigingen buiten scope hebben een potentieel hogere impact • Maintainers meer betrekken bij ontwikkeling • Ontwerpers moeten zeer gedetailleerd modeleren • De handgeschreven code vereist ervaren programmeurs • “Collective Model Owernership” • MDD is tool-afhankelijk • Ontwikkeling is sterk tool-gebaseerd • Sterke link tussen leverancier en implementatie (“lock-in”) uit: Heijstek & Chaudron The Impact of MDD on the Software Architecture Process SEAA 2010 Universiteit Leiden. Universiteit om te ontdekken.
  • 19. Modelgedreven Ontwikkeling in de Praktijk Conclusie Conclusie 18 | 21 Modelgedreven ontwikkeling biedt potentieel grote voordelen en is een logische volgende stap in software ontwikkeling • DSL biedt een specifieke taal voor uw domein • Bij zelfbouw is een investering nodig • in kennis en tools • meer aandacht moet worden besteed aan de “early phases” • requirements moeten weer iets duidelijker voor implementatie • Bij gebruik externe oplossing • zorg voor wijdverspreid begrip van DSL • verzeker je van een omgeving die flexibel genoeg is Universiteit Leiden. Universiteit om te ontdekken.
  • 20. Modelgedreven Ontwikkeling in de Praktijk Conclusie Vragen? 19 | 21 ? Universiteit Leiden. Universiteit om te ontdekken.
  • 21. Modelgedreven Ontwikkeling in de Praktijk Contact Informatie Contact Informatie 20 | 21 Werner Heijstek heijstek@liacs.nl http://www.liacs.nl/˜heijstek Snellius building room 150 +31 (0) 71 – 527 7050 Ekiga: sip:w.heijstek@ekiga.net Skype: wernerheijstek Universiteit Leiden. Universiteit om te ontdekken.
  • 22. Modelgedreven Ontwikkeling in de Praktijk Meer informatie Gerelateerde literatuur 21 | 21 • B. Hailpern & P. Tarr (2006) Model-driven development: The good, the bad, and the ugly IBM Systems Journal • J. Hutchinson, M. Rouncefield, J. Whittle Model-Driven Engineering Practices in Industry ICSE 2011 • W. Heijstek & M.R.V. Chaudron The Impact of MDD on the Software Architecture Process Euromicro SEAA 2010 • International Conference on Model Driven Engineering Languages and Systems (MODELS) • Heeft een omvangrijke “industrial-track” • Proceedings van afgelopen jaren zijn online terug te vinden • 2011: 16 – 21 oktober, Wellington • 2012: 1 – 5 oktober, Innsbruck Universiteit Leiden. Universiteit om te ontdekken.