15. Generative Software What target-platform? Generation reusability? Generation orchestration? Generation data, which ones, where? One-click generation solution? Update strategy of the produced artifacts? Combining [model|text|dsl]-to-[Model|text|dsl]? How to develop & test? Generation customization? Generation scope? Best practices, guidance? Generation workflow? Executability? Distribution? Merging Generation? Performance, scalability? Variability? Product lines? Integration of new language? Multiplicity of languages and engines? Dealing with generation complexity Issue An integrated and extensible software factory framework Proposed solution Software Industrialization Purpose
17. Generation units of EGF works with uses Factory Component Composite generation unit Location to declare: - Generation data - Generation orchestration
18. Generation units of EGF works with Portfolio uses Capitalization Factory Component Consistent set of Factory Components Meets the need to have off-the-shelf generation solutions
19. Generation units of EGF works with uses Implementation Task (e.g., Java) Factory Component The smallest generation unit Reference to executable code in a given language 0 1 0 1
20.
21. Generation units of EGF works with Portfolio uses Capitalization Implementation Task (e.g., Java) Pattern Factory Component Systematic behavior Today 0 1 0 1
24. Activity Hierarchy Activity Factory Component Task Java Task [Language] Task […] Java Class 1 implementation Activity Type Implementation
25. Activity and Production Plan Activity Factory Component Task invocation * Contract Container Contract * 0-1 Production Plan 0-1 Activity Invocation * Invocation Contract * contract
26. Activity and Production Plan Activity Factory Component Task invocation * Contract Container Contract * 0-1 Production Plan 0-1 Activity Invocation * Contract IN Contract OUT Contract IN/OUT Contract
30. Pattern Relationships Pattern inheritance Pattern delegation Pattern injection Pattern callback Pattern extension extends (not available yet) The Pattern orchestration specifies the pattern relationships Possibility to combine different pattern relationships in the same orchestration Multilingual call
31. Pattern execution Big Picture Result Final Result Pattern Execution onto a resource Resource, e.g. Model Pattern Pattern Pattern Pattern Execution Process Pattern execution engines, e.g. for Jet, Java Optional - Pattern reporter for final form Pattern Strategy Patterns selection Way to apply patterns
36. Generation description Creation of the application description files; e4-specific Declaration of menus, commands, part layouts 1 2 3 4 Creation of the Java part of the XWT components; XWT-specific Creation of XWT files; XWT-specific Description of the components, supported events Creation of the project 2 3 4 1
65. EGF – Pattern – Implementation View Methods which implement the pattern Order to execute the methods header: typically used for the Jet header init: method for pattern initialization (e.g., variable initialization) A method editor allows to edit pattern methods