Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Wie Software-Generatoren die Welt        verändern können       Stephan Hochdörfer             bitExpert AG
Wie Software-Generatoren die Welt verändern können Über mich  Stephan Hochdörfer, bitExpert AG  Department Manager Resea...
Wie Software-Generatoren die Welt verändern können Software-Generator?
Wie Software-Generatoren die Welt verändern können Software-Generator?                         WTF?!?
Wie Software-Generatoren die Welt verändern können Software-Generator?            Bin ich bald arbeitslos?
Wie Software-Generatoren die Welt verändern können    Entwickler              vs.       Geschäftsmann
Wie Software-Generatoren die Welt verändern können              Standardisieren du sollst!
Wie Software-Generatoren die Welt verändern können               Generalisieren du sollst!
Wie Software-Generatoren die Welt verändern können Generative Programmierung       Softwaresystemfamilien,     Implementie...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                             Generat...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                            Konfigur...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                            Konfigur...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                            Konfigur...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                            Konfigur...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow                            Konfigur...
Wie Software-Generatoren die Welt verändern können Softwaresystemfamilie  Eine Menge von Applikationen mit  ähnlichen Eige...
Wie Software-Generatoren die Welt verändern können Generative Programmierung           Generator       Domain Engineering ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung           Generator                          ...
Wie Software-Generatoren die Welt verändern können              Standardisieren du sollst!
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Framework   Java + Maven + Spring + Eclipse
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Framework ./samplegenerator    |-config    |...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Features ./src/main/resources/generator/feat...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Frames ./src/main/resources/generator/frames...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Frame + Feature./src/main/resources/generato...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/frames/w...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/generato...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/generato...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider          Args! Zu viel XML! ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Konfiguration./config/gpl.xml<?xml version="...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Generator               mvn replicator:run
Wie Software-Generatoren die Welt verändern können Generative Programmierung      Wie kommt nun mein Code in            de...
Wie Software-Generatoren die Welt verändern können Generative Programmierung      Ganz einfach: Importieren ;)
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel      Steigerung von Produktivität,     ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel     Optimierte Anwendungen nach        ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel     Zusammenbau der einzelnen     Kompo...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus    Durch Automatisierung weniger      ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus   Reduzierung der Komplexität der     ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus         Nur ein Code-Repository:      ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus     Wartungsaufwände reduzieren
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus                                     Im...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus          Merkmal                      ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus                           Kunde       ...
Wie Software-Generatoren die Welt verändern können Generative Programmierung: Das Buch
Wie Software-Generatoren die Welt verändern können Lust auf mehr?                    http://replicatorframework.org
Vielen Dank!
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Wie Software-Generatoren die Welt verändern können - Herbstcampus12
Nächste SlideShare
Wird geladen in …5
×

Wie Software-Generatoren die Welt verändern können - Herbstcampus12

1.128 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie

Wie Software-Generatoren die Welt verändern können - Herbstcampus12

  1. 1. Wie Software-Generatoren die Welt verändern können Stephan Hochdörfer bitExpert AG
  2. 2. Wie Software-Generatoren die Welt verändern können Über mich  Stephan Hochdörfer, bitExpert AG  Department Manager Research Labs  S.Hochdoerfer@bitExpert.de  @shochdoerfer
  3. 3. Wie Software-Generatoren die Welt verändern können Software-Generator?
  4. 4. Wie Software-Generatoren die Welt verändern können Software-Generator? WTF?!?
  5. 5. Wie Software-Generatoren die Welt verändern können Software-Generator? Bin ich bald arbeitslos?
  6. 6. Wie Software-Generatoren die Welt verändern können Entwickler vs. Geschäftsmann
  7. 7. Wie Software-Generatoren die Welt verändern können Standardisieren du sollst!
  8. 8. Wie Software-Generatoren die Welt verändern können Generalisieren du sollst!
  9. 9. Wie Software-Generatoren die Welt verändern können Generative Programmierung Softwaresystemfamilien, Implementierungskomponenten und Konfigurationswissen
  10. 10. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Generator Generator
  11. 11. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Generator Generator
  12. 12. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Implementierungs- Implementierungs- komponenten Generator Generator komponenten
  13. 13. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) 1..n Implementierungs- Implementierungs- komponenten Generator Generator Produkt komponenten Produkt
  14. 14. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Implementierungs- Implementierungs- komponenten Generator Generator Kunde 11 komponenten Kunde
  15. 15. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Kunde 22 Kunde Implementierungs- Implementierungs- komponenten Generator Generator Kunde 11 komponenten Kunde
  16. 16. Wie Software-Generatoren die Welt verändern können Softwaresystemfamilie Eine Menge von Applikationen mit ähnlichen Eigenschaften wie auch speziellen Ausprägungen einzelner Familienmitglieder.
  17. 17. Wie Software-Generatoren die Welt verändern können Generative Programmierung Generator Domain Engineering Domänen- analyse Domänen- design Domänen- implementierung
  18. 18. Wie Software-Generatoren die Welt verändern können Generative Programmierung Generator Produkt Domain Engineering App. Engineering Neue Anforderungen Domänen- Anforderungs- analyse analyse Domänen- Produkt- design konfiguration Komponenten, Domänen- DSL, Testen und implementierung Generatoren, Integration Infrastruktur
  19. 19. Wie Software-Generatoren die Welt verändern können Standardisieren du sollst!
  20. 20. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Framework Java + Maven + Spring + Eclipse
  21. 21. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Framework ./samplegenerator |-config |---generator.properties |---gpl.xml |-src |---main |-----java |-----resources |-------frames |-------generator |---------contentProvider.xml |---------features.xml |---------frames.xml |---------generatorContext.xml |---test |-----java |-----resources |-target
  22. 22. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Features ./src/main/resources/generator/features.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gp="http://www.replicatorframework.org/schema/gp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/..."> <gp:feature name="ContactForm" /> <gp:feature name="HintLayer" /> </beans> 51
  23. 23. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Frames ./src/main/resources/generator/frames.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gp="http://www.replicatorframework.org/schema/gp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/..."> <gp:fileframe id="App.ContactForm" sourcePath="frames/webroot/form.frm" exportPath="webroot/form.html"> </gp:fileframe> <gp:frame id="App.ContactForm.HintLayer" sourcePath="frames/webroot/hintlayer.frm"> </gp:frame> <gp:bundle id="App.Resources.Images" sourcePath="frames/webroot/resources/img" exportPath="webroot/resources/img" /> </beans> 52
  24. 24. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Frame + Feature./src/main/resources/generator/features.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:gp="http://www.replicatorframework.org/schema/gp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/..."> <gp:feature name="ContactForm"> <!-- refers to the defined FileFrame --> <gp:resource ref="App.ContactForm"/> <!-- refers to the defined ResourceBundle --> <gp:resource ref="App.Resources.Images"/> </gp:feature> <gp:feature name="HintLayer" /></beans> 53
  25. 25. Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/frames/webroot/form.frm <html> <head> <title>Sample form</title> </head> <body> <h1><!{hello}!></h1> <form action="index.do" method="post"> <textarea name="msg"></textarea> </form> <!{hint}!> </body> </html> 54 54
  26. 26. Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/generator/contentProvider.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gp="http://www.replicatorframework.org/schema/gp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/..."> <gp:contentProvider id="GenericContentProvider" type="generic"> <gp:rule> <gp:condition> <gp:group type="AND"> <gp:hasFeature name="ContactForm"/> </gp:group> </gp:condition> <gp:bind slot="hello" value="Hello World!"></gp:bind> </gp:rule> </gp:contentProvider> </beans> 55
  27. 27. Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider./src/main/resources/generator/contentProvider.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:gp="http://www.replicatorframework.org/schema/gp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/..."> <gp:contentProvider id="GenericContentProvider" type="generic"> <gp:rule> <gp:condition> <gp:hasFeature name="HintLayer"/> </gp:condition> <gp:bind slot="hint" ref="App.ContactForm.HintLayer" /> </gp:rule> </gp:contentProvider> </beans> 56
  28. 28. Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider Args! Zu viel XML! Ich will doch programmieren....
  29. 29. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Konfiguration./config/gpl.xml<?xml version="1.0" encoding="UTF-8"?><features xmlns="http://www.replicatorframework.org/schema/gpl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.replicatorframework.org/... http://www.replicatorframework.org/schema/gpl/gpl-0.0.6.xsd"> <feature name="hintLayer"> <param name="color" type="String" value="#000" /> <param name="autoClose" type="Boolean" value="true" /> </feature> </features> 58
  30. 30. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Generator mvn replicator:run
  31. 31. Wie Software-Generatoren die Welt verändern können Generative Programmierung Wie kommt nun mein Code in den Generator?
  32. 32. Wie Software-Generatoren die Welt verändern können Generative Programmierung Ganz einfach: Importieren ;)
  33. 33. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Steigerung von Produktivität, Qualität und Lieferzeit.
  34. 34. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Optimierte Anwendungen nach Bedarf bauen können!
  35. 35. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Zusammenbau der einzelnen Komponenten automatisieren!
  36. 36. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus
  37. 37. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Durch Automatisierung weniger fehleranfällig!
  38. 38. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Reduzierung der Komplexität der Endprodukte.
  39. 39. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Nur ein Code-Repository: Der Softwaregenerator
  40. 40. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Wartungsaufwände reduzieren
  41. 41. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Implementierungs- Merkmal komponente
  42. 42. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Merkmal Kunde
  43. 43. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Kunde Merkmal Implementierungs- komponente
  44. 44. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Das Buch
  45. 45. Wie Software-Generatoren die Welt verändern können Lust auf mehr? http://replicatorframework.org
  46. 46. Vielen Dank!

×