Your SlideShare is downloading. ×
0
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
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
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
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

436

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
436
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Wie Software-Generatoren die Welt verändern können Stephan Hochdörfer bitExpert AG
  • 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. Wie Software-Generatoren die Welt verändern können Software-Generator?
  • 4. Wie Software-Generatoren die Welt verändern können Software-Generator? WTF?!?
  • 5. Wie Software-Generatoren die Welt verändern können Software-Generator? Bin ich bald arbeitslos?
  • 6. Wie Software-Generatoren die Welt verändern können Entwickler vs. Geschäftsmann
  • 7. Wie Software-Generatoren die Welt verändern können Standardisieren du sollst!
  • 8. Wie Software-Generatoren die Welt verändern können Generalisieren du sollst!
  • 9. Wie Software-Generatoren die Welt verändern können Generative Programmierung Softwaresystemfamilien, Implementierungskomponenten und Konfigurationswissen
  • 10. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Generator Generator
  • 11. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Generator Generator
  • 12. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Workflow Konfiguration Konfiguration (DSL) (DSL) Implementierungs- Implementierungs- komponenten Generator Generator komponenten
  • 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. 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. 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. 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. Wie Software-Generatoren die Welt verändern können Generative Programmierung Generator Domain Engineering Domänen- analyse Domänen- design Domänen- implementierung
  • 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. Wie Software-Generatoren die Welt verändern können Standardisieren du sollst!
  • 20. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Framework Java + Maven + Spring + Eclipse
  • 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. 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. 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. 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. 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. 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. 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. Wie Software-Generatoren die Welt verändern können Generative Programmierung: ContentProvider Args! Zu viel XML! Ich will doch programmieren....
  • 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. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Generator mvn replicator:run
  • 31. Wie Software-Generatoren die Welt verändern können Generative Programmierung Wie kommt nun mein Code in den Generator?
  • 32. Wie Software-Generatoren die Welt verändern können Generative Programmierung Ganz einfach: Importieren ;)
  • 33. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Steigerung von Produktivität, Qualität und Lieferzeit.
  • 34. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Optimierte Anwendungen nach Bedarf bauen können!
  • 35. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Ziel Zusammenbau der einzelnen Komponenten automatisieren!
  • 36. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus
  • 37. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Durch Automatisierung weniger fehleranfällig!
  • 38. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Reduzierung der Komplexität der Endprodukte.
  • 39. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Nur ein Code-Repository: Der Softwaregenerator
  • 40. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Wartungsaufwände reduzieren
  • 41. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Implementierungs- Merkmal komponente
  • 42. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Merkmal Kunde
  • 43. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Bonus Kunde Merkmal Implementierungs- komponente
  • 44. Wie Software-Generatoren die Welt verändern können Generative Programmierung: Das Buch
  • 45. Wie Software-Generatoren die Welt verändern können Lust auf mehr? http://replicatorframework.org
  • 46. Vielen Dank!

×