We introduce main approaches and techniques to generative software development.Model Driven EngineeringSoftware Modeling languages for structure and behaviorClass Diagrams, Object Diagrams, OCLSequence Diagrams and State MachinesSoftware model consistency and semanticsCode Generation from class diagramsCode generation from State MachinesReactive Synthesis from temporal specificationsSoftware Product LinesDomain Specific LanguagesModel TransformationsAfter completion students will be able toContrast different modelling languages and chose based on purposeAnalyze model consistencyEvaluate and apply code generatorsintegrate generated code in software projectscreate and analyze temporal specificationssynthesize software from temporal specificationsunderstand domain specific languages and model transformations