SlideShare une entreprise Scribd logo
1  sur  36
D E L T A
                     software
                  technology
The G ener at o r C o m pany



                                                                  ESE Conference 2011, Zürich

                                                      Generative Konzepte für den Plattform-Zoo
                                                                     - am Beispiel Mobile-Apps

                                                                                    Rüdiger Schilling
                                                                    Delta Software Technology GmbH




                                        The Perfect Way to Better Software

   Copyright © 2011 Delta Software Technology GmbH.
   All Rights reserved.                                                                            1
D E L T A
                     software
                  technology
The G ener at o r C o m pany




                                                     Der mobile Plattform-Zoo
                                                           Das MDD-Paradox
                                                  Woher kommt der Generator?
                                                              HyperSenses™
                                                             Ein Beispiel 'live'

   Copyright © 2011 Delta Software Technology GmbH.
   All Rights reserved.                                                            2
Der mobile Plattform-Zoo



Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             3
Der Mobility-Trend ist nicht mehr aufzuhalten
                                                                                                COMPUTERWOCHE 9.3.11



    2010 weltweit bereits 1,7 Milliarden Dollar Umsatz …
            mit Apps für Smartphones und Tablets

    In den kommenden 5 Jahren
            werden Breite und Tiefe des App-Markts rasant zunehmen
            eine "neue Welle der Innovation" mit sich bringen
            durchschnittliche jährliche Wachstumsrate von 82%
      Forrester Research "Mobile App Internet Recasts the Software and Services Landscape" 2.3.2011


    Es begann mit "Consumer Mobile Apps"
            Zukünftig werden "Business Mobile Apps" eine immer größere
             Rolle spielen

Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             4
Die Hürde

Derzeit 7 verschiedene
    Mobile-Plattformen/OS
     Verschiedene                     Architekturen
     Verschiedene                     Sprachen
              Java (Blackberry, Android)
              Objective C (iOS)
              C# (Windows Phone)
              C++ (bada, WebOS)
     Fragmentierung                       (bes. Android)
              Releases, Formfaktor, Hardware

In der Zukunft
     ???


Copyright © 2011 Delta Software Technology GmbH.       ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                    Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                 5
Beispiel HT Applications

    Unternehmen
            Leeuwarden, NL
            Gegründet 2010
            www.htapplications.nl

    "Specialist in the mobile software market"
            Beratung und Training
            Individuelle Apps für Unternehmen
            Produktlinien für Apps
                   Apps speziell konfiguriert
                    und erzeugt pro Kunde




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             6
Produktlinie für Apps

         Platform
    Config
    Cust. "A"                                    
    Cust. "B"                                                                          
           …                …              …       …       …              …               …
    Cust. "N"                                            
    Ein neues App wird entwickelt für Kunde "A"
         …        für 3 Plattformen implementiert
         …       und für den nächsten Kunden und weitere Plattformen

    Am Ende gibt es viele Varianten des einen Apps
          Die       alle verwaltet und gewartet werden müssen

    Und dann soll es eine neue Version geben ……….

Copyright © 2011 Delta Software Technology GmbH.       ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                    Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                 7
Variabilität in 2 Dimensionen




    Lösungsansätze
            N x M Kopien
                   Irgendwann gibt es viel zu viele Kopien
            Scripts & Templates
                   Schon mit einer Dimension sehr schwierig
            Modellgetrieben, mit DSLs und Generatoren
                   Kaum, wenn es am Ende wieder zu Scripts und Templates führt
                   OK, wenn die ganze Entwicklung konsequent modellgetrieben ist


Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             8
Das MDD-Paradox



Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             9
Einfache Lösungen für einfache Probleme?

                                           Für eine beschränkte, isolierte Aufgabe …
      DSL
                                                   …  genügt es evtl. nur eine einfache DSL zu
  Generator
                                                    entwerfen und einen kleinen Generator dazu

                                           Für die nächste kleine Aufgabe ...
                            D SL
                                                   …   genügt es evtl. nur eine einfache …
                       Gen e
                             rator
                                           Und noch eine, und noch eine etc.
                                                    AmEnde gibt es eine Vielzahl von DSLs und
                                                    Generatoren
                                                    Überschneidend,                widersprüchlich, unwartbar



Copyright © 2011 Delta Software Technology GmbH.            ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                         Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                      10
Das MDD-Paradox

    Die Grundannahme
            "Modellgetriebene" Software-Entwicklung ist effizienter,
             liefert bessere Qualität und sichert die Wartbarkeit
            Modelle (welcher Art auch immer),
             Domain Specific Languages und Generatoren
             sollen dieses Konzept umsetzen

    Der Widerspruch
            Modelle, DSLs und Generatoren sind auch Software
            Sie werden aber selbst kaum modellgetrieben entwickelt!




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             11
Die Konsequenz

    Die Erkenntnis
            Die Entwicklung von MDSD-Konzepten und –Werkzeugen
             ist eine eigene Software-Domäne
            Eigenständige Modelle und Entwurfsprinzipien sind nötig

    Die Lösung
            Model Driven Meta Development = (MD)²
            Mit Meta-Modellen, -DSLs und –Generatoren



                                                   (MD)²
                   Model driven to the power of two

Copyright © 2011 Delta Software Technology GmbH.      ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                   Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                12
Forderungen

               DSL

             Generator
                                              Modellbasierte Entwicklung von DSLs und
                                              Generatoren
                              D SL

                          Gen e
                                ra   tor


                                              Werkzeuge
                                                       Ohne   Spezialwissen nutzbar
                                                       Das   ganze Aufgabensektrum abdeckend
                                                       Integriert    mit offenen Schnittstellen
  DSL

Generator
                                              Bandbreite
                              Modell
                                                       Für   einfache Aufgaben
                 DSL
                                                       Fürganze komplexe Systeme
              Generator

                                                       (z.B. mit mehrdimensionaler Varianten)

   Copyright © 2011 Delta Software Technology GmbH.              ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
   All Rights reserved.                                                           Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                           13
Woher kommt der Generator?
                                       Konzept für ein (MD)²-System




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             14
Ein Generator?

                                     Anwendungs-                                                Lösungsidee
                                       Domäne                                                     Vorlage




                                                   Generator




                         Anforderung
                                                              ?                                        Software


Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             15
Ein Generator?
                                          Anwendungs-
                                            Domäne                                                      Lösungsidee
                                                                                                          Prototyp

                                        Variantenmodell



                                         Domain Specific
                                         Language (DSL)    Generator
    Zur Formulierung
    der Anforderung




                         Anforderung                                                                           Software


Copyright © 2011 Delta Software Technology GmbH.           ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                        Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                     16
Ein Generator?
                                          Anwendungs-                                       Lösungsidee
                                            Domäne                                          Code-Beispiel




                                        Variantenmodell                                    Code-Patterns



                                         Domain Specific
                                         Language (DSL)    Generator Generator
    Zur Formulierung
    der Anforderung

                                                                                               Generate
                                                                                            (z.B. Software)


                         Anforderung                                                                           Software


Copyright © 2011 Delta Software Technology GmbH.           ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                        Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                     17
Ein Generator?
                                          Anwendungs-                                        Lösungsidee
                                            Domäne                                           Code-Beispiel




                                        Variantenmodell                                     Code-Patterns



                                         Domain Specific
                                         Language (DSL)                                        Generator



                                                                                                Generate
                                          Konfigurationen
                                                                                             (z.B. Software)


                                          Anforderungen




Copyright © 2011 Delta Software Technology GmbH.            ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                         Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                      18
HyperSenses™



Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             19
Variantenmodell/Metamodell
 Anwendungs-              Lösungsidee
   Domäne                 Code-Beispiel




Variantenmodell           Code-Patterns             Modell der Variationspunkte
Domain Specific
                                                       Was unterscheidet die Mitglieder einer
Language (DSL)             Generator
                                                       Systemfamilie?
Konfigurationen
                             Generate
                          (z.B. Software)
                                                           Invariante Eigenschaften sind für einen
Anforderungen
                                                            Generator nicht relevant
                                                         Feature Model (Merkmalmodell)




 Copyright © 2011 Delta Software Technology GmbH.           ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
 All Rights reserved.                                                        Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                      20
Konfiguration
 Anwendungs-              Lösungsidee
   Domäne                 Code-Beispiel




Variantenmodell           Code-Patterns             Eine Konfiguration legt die Parameter für
Domain Specific
                                                    ein bestimmtes Produkt fest
Language (DSL)             Generator

                                                       Produkt         = 1 oder mehrere Generate
                             Generate
Konfigurationen
                          (z.B. Software)


Anforderungen
                                                    Konfiguration = Instanz Metamodell

                                                    Technisches Format: XML
                                                       Einstellbar            im Metamodell
                                                           Tag- und Attributnamen etc.
                                                       Austausch
                                                                mit beliebigen anderen
                                                       Werkzeugen




 Copyright © 2011 Delta Software Technology GmbH.           ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
 All Rights reserved.                                                        Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                      21
Domain Specific Language
 Anwendungs-              Lösungsidee
   Domäne                 Code-Beispiel




Variantenmodell           Code-Patterns
                                                    Variantenmodell (Metamodell)
Domain Specific
                                                         Grammatik implizit und vollständig
Language (DSL)             Generator

                                                    DSL  Konkrete Syntax
Konfigurationen
                             Generate
                          (z.B. Software)                automatisch ableitbar
Anforderungen                                             = Variantenmodell + allgemeine Syntaxregeln



                                                                                                                                      Text-DSL




                                                    Interaktive Formular-DSL


 Copyright © 2011 Delta Software Technology GmbH.           ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
 All Rights reserved.                                                        Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                                 22
Code-Pattern
 Anwendungs-              Lösungsidee
   Domäne                 Code-Beispiel




Variantenmodell           Code-Patterns
                                                    Wiederverwenbare, parameterisierte Code-
                                                    Bausteine
Domain Specific
Language (DSL)             Generator
                                                       Basierend   auf Frame/Slot-Konzept (ANGIE)
Konfigurationen
                             Generate                  Alternative Frames mit gleichem Interface
                          (z.B. Software)


Anforderungen
                                                       Blöcke und Slots werden graphisch
                                                        dargestellt
                                                       Vererben von überladen von Frames

                                                    Pattern By Example™ (PBE)
                                                       Schrittweise
                                                                  Ableitung von Code-Pattern aus
                                                       Vorlagen und Prototypen

                                                    Verknüpfung mit dem Metamodell
                                                       Automatische               Navigation in der Konfiguration


 Copyright © 2011 Delta Software Technology GmbH.         ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
 All Rights reserved.                                                      Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                    23
Pattern by Example (1)
                                                                                                          


                                                                                                               




Das Code-Fragment wird importiert
      und mit einem Metamodell-Knoten verknüpft.
      Das ist der "Kontext" für das aktuelle Pattern.
Variable Code-Stellen (Slots) werden markiert
      und mit einem Feature oder einer Berechnung verknüpft.
      Weitere "passende" Stellen werden automatisch hinzugefügt.


Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             24
Pattern by Example(2)

                                                                    
                          SubPattern: AsyncOperation
                                                                                                             

                          SubPattern: SyncOperation
                                                                                                             



Optionale Blöcke werden markiert …
          und mit Bedingungen versehen.
Substrukturen werden in Subpattern ausgelagert
      und durch einen Subpattern-Aufruf ersetzt.
      Dieser wird mit einem Composite Feature verknüpft.
      Das bildet den neuen Kontext für das Subpattern.
      Die Navigation wird automatisch aus dem Metamodell abgeleitet.

Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             25
Generator
 Anwendungs-              Lösungsidee
   Domäne                 Code-Beispiel




Variantenmodell           Code-Patterns             Der Generator wird automatisch erzeugt
Domain Specific
                                                       aus   Meta-Modell und Code-Pattern
Language (DSL)             Generator




Konfigurationen
                             Generate
                                                    Montiert als "HyperSenses Executable“
                          (z.B. Software)


Anforderungen
                                                    zur Einbettung in:
                                                       HyperSenses                 Configurator
                                                       oder Eclipse
                                                       oder Visual Studio

                                                       oder ...




 Copyright © 2011 Delta Software Technology GmbH.         ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
 All Rights reserved.                                                      Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                    26
Ein Beispiel 'Live'



Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             27
Die Aufgabe




                                                   Der App-Entwickler HT Applications
                                                      möchte  ein 'News' App zur Anbindung
                                                       spezieller Feeds realisieren
                                                      Das App soll für jeden Kunden individuell
                                                       generiert werden
                                                      Das App soll auf Wunsch auf mehreren
                                                       Plattformen verfügbar sein




Copyright © 2011 Delta Software Technology GmbH.         ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                      Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                   28
Die Schritte


    1. Metamodell und Code-Pattern entwickeln/ableiten
                 Metamodell und Pattern-Entwurf entstehen meistens
                  gleichzeitig
                 Code-Pattern für weitere Plattformen ableiten

    2. DSLs konfigurieren
                        Interaktive Formular-DSL und/oder Text-DSL

    3. Code-Generatoren, DSL-Parser und Konfigurator
       automatisch erzeugen
    4. DSLs und Generatoren anwenden

Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             29
Das Metamodell


Metamodell im
HyperSenses MetaComposer

                                                                                    Das Metamodell für diese
                                                                                    Aufgabe benötigt nur zwei
                                                                                    Feature-Klassen
                                                 Application
                                          Name: String
                                          Description: String[0..1]
                                          Version: String
                                                                                           Application  + Feed
                                          Feedback: Email
                                          Developers: String
                                          DevelopersAdd: String[0..1]
                                                                                           mit jeweils (nur) den
                                               Feeds
                                                                                            Merkmalen, die variabel sind
                                                          0..*

                                                       Feed

                                             LanguageCode: String
                                             Address: URL




                                        Metamodell
                                        in UML

Copyright © 2011 Delta Software Technology GmbH.                        ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                                     Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                                  30
Live: Pattern By Example


Von der Vorlage …




                                                                                                      … zum Code-Pattern

Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             31
Live: Implizite Navigation



                                                                                                                              Application
                                                                                                                       Name: String
                                                                                                                       Description: String[0..1]
                                                                                                                       Version: String
                                                                                                                       Feedback: Email
                                                                                                                       Developers: String
                                                                                                                       DevelopersAdd: String[0..1]



                                                                                                                             Feeds


                                                                                                                                        0..*

                                                                                                                                     Feed

                                                                                                                          LanguageCode: String
                                                                                                                          Address: URL




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                                     33
Live: Code-Vererbung

                                                                          Eine zusätzliche Dimension
                                                                          der Variablität
                                                                                Vererbung  von Code
                                                                                Gezielte Überschreibung
                                                                                 einzelner Teile
                                                                                Sichtbar!




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             34
Live: Konfiguration




Copyright © 2011 Delta Software Technology GmbH.   ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                             35
Live: Generierter Code

                                                                             iOS (Objective C)




                Windows Phone7 (C#)


                                                   Android (Java)

Copyright © 2011 Delta Software Technology GmbH.         ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo,
All Rights reserved.                                                      Rüdiger Schilling, www.d-s-t-g.com
                                                                                                                                   36
D E L T A
                software
             technology
The G ener at o r C o m pany




    Copyright © 2011 Delta Software Technology GmbH.
    All Rights reserved.

Contenu connexe

Similaire à ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps"

Digitale Transformation & Produktentwicklung - Trends und Beispiele
Digitale Transformation & Produktentwicklung - Trends und BeispieleDigitale Transformation & Produktentwicklung - Trends und Beispiele
Digitale Transformation & Produktentwicklung - Trends und BeispieleMohammad Ali Rahimi
 
Plattformmaerkte Okt 2015
Plattformmaerkte Okt 2015Plattformmaerkte Okt 2015
Plattformmaerkte Okt 2015Ansgar Baums
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereFriedel Jonker
 
Sage HR-Expertentreff: So optimieren Sie Ihr Bewerbermanagement
Sage HR-Expertentreff: So optimieren Sie Ihr BewerbermanagementSage HR-Expertentreff: So optimieren Sie Ihr Bewerbermanagement
Sage HR-Expertentreff: So optimieren Sie Ihr BewerbermanagementSage GmbH
 
Dell Technologies Beschleunigte Digitale Transformation - Digital Cities
Dell Technologies Beschleunigte Digitale Transformation - Digital CitiesDell Technologies Beschleunigte Digitale Transformation - Digital Cities
Dell Technologies Beschleunigte Digitale Transformation - Digital CitiesDell Technologies
 
pitchfreunde Vol. 4 - Pitch-Deck: silva projekt
pitchfreunde Vol. 4 - Pitch-Deck: silva projektpitchfreunde Vol. 4 - Pitch-Deck: silva projekt
pitchfreunde Vol. 4 - Pitch-Deck: silva projektpitchfreunde
 
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.Johannes Waibel
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Intland Software GmbH
 
Service Engineering mit Secondlife
Service Engineering mit SecondlifeService Engineering mit Secondlife
Service Engineering mit SecondlifeSibylle Hermann
 
Praesentation: Freie Inhalte fuer eine Freie Gesellschaft
Praesentation: Freie Inhalte fuer eine Freie GesellschaftPraesentation: Freie Inhalte fuer eine Freie Gesellschaft
Praesentation: Freie Inhalte fuer eine Freie Gesellschaftwetterfrosch
 
Beyond GUI - Die Zukunft digitaler Interfaces
Beyond GUI - Die Zukunft digitaler InterfacesBeyond GUI - Die Zukunft digitaler Interfaces
Beyond GUI - Die Zukunft digitaler InterfacesSENSORY-MINDS
 
Mobile Anwendungen mit dante-Software
Mobile Anwendungen mit dante-SoftwareMobile Anwendungen mit dante-Software
Mobile Anwendungen mit dante-Softwarea3 systems GmbH
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausDedagroup
 
Stermedia Profile und Portfolio
Stermedia Profile und PortfolioStermedia Profile und Portfolio
Stermedia Profile und Portfoliostermedia
 

Similaire à ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps" (20)

Digitale Transformation & Produktentwicklung - Trends und Beispiele
Digitale Transformation & Produktentwicklung - Trends und BeispieleDigitale Transformation & Produktentwicklung - Trends und Beispiele
Digitale Transformation & Produktentwicklung - Trends und Beispiele
 
Plattformmaerkte Okt 2015
Plattformmaerkte Okt 2015Plattformmaerkte Okt 2015
Plattformmaerkte Okt 2015
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_Konferenzbroschuere
 
Sage HR-Expertentreff: So optimieren Sie Ihr Bewerbermanagement
Sage HR-Expertentreff: So optimieren Sie Ihr BewerbermanagementSage HR-Expertentreff: So optimieren Sie Ihr Bewerbermanagement
Sage HR-Expertentreff: So optimieren Sie Ihr Bewerbermanagement
 
Service und Support In der OpenSource-Welt
Service und Support In der OpenSource-WeltService und Support In der OpenSource-Welt
Service und Support In der OpenSource-Welt
 
Dell Technologies Beschleunigte Digitale Transformation - Digital Cities
Dell Technologies Beschleunigte Digitale Transformation - Digital CitiesDell Technologies Beschleunigte Digitale Transformation - Digital Cities
Dell Technologies Beschleunigte Digitale Transformation - Digital Cities
 
pitchfreunde Vol. 4 - Pitch-Deck: silva projekt
pitchfreunde Vol. 4 - Pitch-Deck: silva projektpitchfreunde Vol. 4 - Pitch-Deck: silva projekt
pitchfreunde Vol. 4 - Pitch-Deck: silva projekt
 
mühlnickel beit_PechaKucha
mühlnickel beit_PechaKuchamühlnickel beit_PechaKucha
mühlnickel beit_PechaKucha
 
Show Your App Award 2012 Submissions
Show Your App Award 2012 SubmissionsShow Your App Award 2012 Submissions
Show Your App Award 2012 Submissions
 
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.
2016 - Datenbrillen im digitalen Ökosystem / WalkIn-Lab.
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
 
Service Engineering mit Secondlife
Service Engineering mit SecondlifeService Engineering mit Secondlife
Service Engineering mit Secondlife
 
Delphi Firma Überblick
Delphi Firma ÜberblickDelphi Firma Überblick
Delphi Firma Überblick
 
VDC Newsletter 2010-05
VDC Newsletter 2010-05VDC Newsletter 2010-05
VDC Newsletter 2010-05
 
Responsive Web Design am Beispiel von Virato (Social News Aggregator)
Responsive Web Design am Beispiel von Virato (Social News Aggregator)Responsive Web Design am Beispiel von Virato (Social News Aggregator)
Responsive Web Design am Beispiel von Virato (Social News Aggregator)
 
Praesentation: Freie Inhalte fuer eine Freie Gesellschaft
Praesentation: Freie Inhalte fuer eine Freie GesellschaftPraesentation: Freie Inhalte fuer eine Freie Gesellschaft
Praesentation: Freie Inhalte fuer eine Freie Gesellschaft
 
Beyond GUI - Die Zukunft digitaler Interfaces
Beyond GUI - Die Zukunft digitaler InterfacesBeyond GUI - Die Zukunft digitaler Interfaces
Beyond GUI - Die Zukunft digitaler Interfaces
 
Mobile Anwendungen mit dante-Software
Mobile Anwendungen mit dante-SoftwareMobile Anwendungen mit dante-Software
Mobile Anwendungen mit dante-Software
 
Erp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinausErp in der zukunft: über die funktionen hinaus
Erp in der zukunft: über die funktionen hinaus
 
Stermedia Profile und Portfolio
Stermedia Profile und PortfolioStermedia Profile und Portfolio
Stermedia Profile und Portfolio
 

Plus de Aberla

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailAberla
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DABAberla
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseAberla
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseAberla
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankAberla
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceAberla
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"Aberla
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"Aberla
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...Aberla
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...Aberla
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"Aberla
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"Aberla
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...Aberla
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"Aberla
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...Aberla
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...Aberla
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"Aberla
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...Aberla
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"Aberla
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 

Plus de Aberla (20)

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: Clairmail
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DAB
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: Sparkasse
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit Suisse
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske Bank
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: Postfinance
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 

ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps"

  • 1. D E L T A software technology The G ener at o r C o m pany ESE Conference 2011, Zürich Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps Rüdiger Schilling Delta Software Technology GmbH The Perfect Way to Better Software Copyright © 2011 Delta Software Technology GmbH. All Rights reserved. 1
  • 2. D E L T A software technology The G ener at o r C o m pany Der mobile Plattform-Zoo Das MDD-Paradox Woher kommt der Generator? HyperSenses™ Ein Beispiel 'live' Copyright © 2011 Delta Software Technology GmbH. All Rights reserved. 2
  • 3. Der mobile Plattform-Zoo Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 3
  • 4. Der Mobility-Trend ist nicht mehr aufzuhalten COMPUTERWOCHE 9.3.11 2010 weltweit bereits 1,7 Milliarden Dollar Umsatz …  mit Apps für Smartphones und Tablets In den kommenden 5 Jahren  werden Breite und Tiefe des App-Markts rasant zunehmen  eine "neue Welle der Innovation" mit sich bringen  durchschnittliche jährliche Wachstumsrate von 82% Forrester Research "Mobile App Internet Recasts the Software and Services Landscape" 2.3.2011 Es begann mit "Consumer Mobile Apps"  Zukünftig werden "Business Mobile Apps" eine immer größere Rolle spielen Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 4
  • 5. Die Hürde Derzeit 7 verschiedene Mobile-Plattformen/OS  Verschiedene Architekturen  Verschiedene Sprachen  Java (Blackberry, Android)  Objective C (iOS)  C# (Windows Phone)  C++ (bada, WebOS)  Fragmentierung (bes. Android)  Releases, Formfaktor, Hardware In der Zukunft  ??? Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 5
  • 6. Beispiel HT Applications Unternehmen  Leeuwarden, NL  Gegründet 2010  www.htapplications.nl "Specialist in the mobile software market"  Beratung und Training  Individuelle Apps für Unternehmen  Produktlinien für Apps  Apps speziell konfiguriert und erzeugt pro Kunde Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 6
  • 7. Produktlinie für Apps Platform Config Cust. "A"    Cust. "B"     … … … … … … … Cust. "N"    Ein neues App wird entwickelt für Kunde "A" … für 3 Plattformen implementiert … und für den nächsten Kunden und weitere Plattformen Am Ende gibt es viele Varianten des einen Apps  Die alle verwaltet und gewartet werden müssen Und dann soll es eine neue Version geben ………. Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 7
  • 8. Variabilität in 2 Dimensionen Lösungsansätze  N x M Kopien  Irgendwann gibt es viel zu viele Kopien  Scripts & Templates  Schon mit einer Dimension sehr schwierig  Modellgetrieben, mit DSLs und Generatoren  Kaum, wenn es am Ende wieder zu Scripts und Templates führt  OK, wenn die ganze Entwicklung konsequent modellgetrieben ist Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 8
  • 9. Das MDD-Paradox Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 9
  • 10. Einfache Lösungen für einfache Probleme? Für eine beschränkte, isolierte Aufgabe … DSL … genügt es evtl. nur eine einfache DSL zu Generator entwerfen und einen kleinen Generator dazu Für die nächste kleine Aufgabe ... D SL … genügt es evtl. nur eine einfache … Gen e rator Und noch eine, und noch eine etc.  AmEnde gibt es eine Vielzahl von DSLs und Generatoren  Überschneidend, widersprüchlich, unwartbar Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 10
  • 11. Das MDD-Paradox Die Grundannahme  "Modellgetriebene" Software-Entwicklung ist effizienter, liefert bessere Qualität und sichert die Wartbarkeit  Modelle (welcher Art auch immer), Domain Specific Languages und Generatoren sollen dieses Konzept umsetzen Der Widerspruch  Modelle, DSLs und Generatoren sind auch Software  Sie werden aber selbst kaum modellgetrieben entwickelt! Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 11
  • 12. Die Konsequenz Die Erkenntnis  Die Entwicklung von MDSD-Konzepten und –Werkzeugen ist eine eigene Software-Domäne  Eigenständige Modelle und Entwurfsprinzipien sind nötig Die Lösung  Model Driven Meta Development = (MD)²  Mit Meta-Modellen, -DSLs und –Generatoren (MD)² Model driven to the power of two Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 12
  • 13. Forderungen DSL Generator Modellbasierte Entwicklung von DSLs und Generatoren D SL Gen e ra tor Werkzeuge  Ohne Spezialwissen nutzbar  Das ganze Aufgabensektrum abdeckend  Integriert mit offenen Schnittstellen DSL Generator Bandbreite Modell  Für einfache Aufgaben DSL  Fürganze komplexe Systeme Generator (z.B. mit mehrdimensionaler Varianten) Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 13
  • 14. Woher kommt der Generator? Konzept für ein (MD)²-System Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 14
  • 15. Ein Generator? Anwendungs- Lösungsidee Domäne Vorlage Generator Anforderung ? Software Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 15
  • 16. Ein Generator? Anwendungs- Domäne Lösungsidee Prototyp Variantenmodell Domain Specific Language (DSL) Generator Zur Formulierung der Anforderung Anforderung Software Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 16
  • 17. Ein Generator? Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Domain Specific Language (DSL) Generator Generator Zur Formulierung der Anforderung Generate (z.B. Software) Anforderung Software Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 17
  • 18. Ein Generator? Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Domain Specific Language (DSL) Generator Generate Konfigurationen (z.B. Software) Anforderungen Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 18
  • 19. HyperSenses™ Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 19
  • 20. Variantenmodell/Metamodell Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Modell der Variationspunkte Domain Specific  Was unterscheidet die Mitglieder einer Language (DSL) Generator Systemfamilie? Konfigurationen Generate (z.B. Software)  Invariante Eigenschaften sind für einen Anforderungen Generator nicht relevant  Feature Model (Merkmalmodell) Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 20
  • 21. Konfiguration Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Eine Konfiguration legt die Parameter für Domain Specific ein bestimmtes Produkt fest Language (DSL) Generator  Produkt = 1 oder mehrere Generate Generate Konfigurationen (z.B. Software) Anforderungen Konfiguration = Instanz Metamodell Technisches Format: XML  Einstellbar im Metamodell  Tag- und Attributnamen etc.  Austausch mit beliebigen anderen Werkzeugen Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 21
  • 22. Domain Specific Language Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Variantenmodell (Metamodell) Domain Specific  Grammatik implizit und vollständig Language (DSL) Generator DSL  Konkrete Syntax Konfigurationen Generate (z.B. Software)  automatisch ableitbar Anforderungen = Variantenmodell + allgemeine Syntaxregeln Text-DSL Interaktive Formular-DSL Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 22
  • 23. Code-Pattern Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Wiederverwenbare, parameterisierte Code- Bausteine Domain Specific Language (DSL) Generator  Basierend auf Frame/Slot-Konzept (ANGIE) Konfigurationen Generate  Alternative Frames mit gleichem Interface (z.B. Software) Anforderungen  Blöcke und Slots werden graphisch dargestellt  Vererben von überladen von Frames Pattern By Example™ (PBE)  Schrittweise Ableitung von Code-Pattern aus Vorlagen und Prototypen Verknüpfung mit dem Metamodell  Automatische Navigation in der Konfiguration Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 23
  • 24. Pattern by Example (1)    Das Code-Fragment wird importiert und mit einem Metamodell-Knoten verknüpft. Das ist der "Kontext" für das aktuelle Pattern. Variable Code-Stellen (Slots) werden markiert und mit einem Feature oder einer Berechnung verknüpft. Weitere "passende" Stellen werden automatisch hinzugefügt. Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 24
  • 25. Pattern by Example(2)  SubPattern: AsyncOperation   SubPattern: SyncOperation  Optionale Blöcke werden markiert … und mit Bedingungen versehen. Substrukturen werden in Subpattern ausgelagert und durch einen Subpattern-Aufruf ersetzt. Dieser wird mit einem Composite Feature verknüpft. Das bildet den neuen Kontext für das Subpattern. Die Navigation wird automatisch aus dem Metamodell abgeleitet. Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 25
  • 26. Generator Anwendungs- Lösungsidee Domäne Code-Beispiel Variantenmodell Code-Patterns Der Generator wird automatisch erzeugt Domain Specific  aus Meta-Modell und Code-Pattern Language (DSL) Generator Konfigurationen Generate Montiert als "HyperSenses Executable“ (z.B. Software) Anforderungen zur Einbettung in:  HyperSenses Configurator  oder Eclipse  oder Visual Studio  oder ... Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 26
  • 27. Ein Beispiel 'Live' Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 27
  • 28. Die Aufgabe Der App-Entwickler HT Applications  möchte ein 'News' App zur Anbindung spezieller Feeds realisieren  Das App soll für jeden Kunden individuell generiert werden  Das App soll auf Wunsch auf mehreren Plattformen verfügbar sein Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 28
  • 29. Die Schritte 1. Metamodell und Code-Pattern entwickeln/ableiten  Metamodell und Pattern-Entwurf entstehen meistens gleichzeitig  Code-Pattern für weitere Plattformen ableiten 2. DSLs konfigurieren  Interaktive Formular-DSL und/oder Text-DSL 3. Code-Generatoren, DSL-Parser und Konfigurator automatisch erzeugen 4. DSLs und Generatoren anwenden Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 29
  • 30. Das Metamodell Metamodell im HyperSenses MetaComposer Das Metamodell für diese Aufgabe benötigt nur zwei Feature-Klassen Application Name: String Description: String[0..1] Version: String  Application + Feed Feedback: Email Developers: String DevelopersAdd: String[0..1]  mit jeweils (nur) den Feeds Merkmalen, die variabel sind 0..* Feed LanguageCode: String Address: URL Metamodell in UML Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 30
  • 31. Live: Pattern By Example Von der Vorlage … … zum Code-Pattern Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 31
  • 32. Live: Implizite Navigation Application Name: String Description: String[0..1] Version: String Feedback: Email Developers: String DevelopersAdd: String[0..1] Feeds 0..* Feed LanguageCode: String Address: URL Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 33
  • 33. Live: Code-Vererbung Eine zusätzliche Dimension der Variablität  Vererbung von Code  Gezielte Überschreibung einzelner Teile  Sichtbar! Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 34
  • 34. Live: Konfiguration Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 35
  • 35. Live: Generierter Code iOS (Objective C) Windows Phone7 (C#) Android (Java) Copyright © 2011 Delta Software Technology GmbH. ESE Conference 2011, Zürich, Generative Konzepte für den Plattform-Zoo, All Rights reserved. Rüdiger Schilling, www.d-s-t-g.com 36
  • 36. D E L T A software technology The G ener at o r C o m pany Copyright © 2011 Delta Software Technology GmbH. All Rights reserved.