- 
Was ist Metamodell Evolution? 
- Genau wie Code nach Lehmans Law evolutioniert auch das Metamodell
- Instanzen, Transformationen, Templates, Editoren muessen angepasst werden
- Die Anpassung dieser Elemente auf eine neue Version des Metamodells nennt man Ko-Evolution
 
- 
Welche zwei Typen von Aenderungen gibt es? 
- atomare: add, delete, rename, CRUD
- komplexe: semantisch sinvolle Kombinationen von atomaren Aenderungen. Refactoring, Verschieben von Elementen
 
- 
Wie kann man Aenderung von Modellen beschreieben? 
- Jede Aenderung kann man mit Aenderungschritten beschreiben, die zu Aenderungsequenzen zusammengefasst werden koennen.
 
- 
Welche Verfahren gibt es, um Aenderungen zwischen zwei Modellen zu ermitteln? 
- delta-basierte
- zustandsbasierte
 
- 
Delta-Basierte Aenderungsermittlung erklaeren 
- 
Beschreibung von neuen Modell M**’** durch alte Version M und Menge D von Aenderungen. 
- 
M’ = M + D 
- 
D Bezieht sich nur auf M 
- 
Automatisch oder manuell schrittweise neue Modell aendern. 
- 
Man hat altes Modell, man hat Delta → Berechne neues Modell  
 
 
- 
Vortele und Nachteile von Delta-Basierten Verfahren 
- Vorteil: Benurzer Intention wird besser erfasst
- Nachteil: Aenderungen muessen irgendwie geloggt werden - man muss D wissen. I.A nicht minimal
 
- 
Zustands-Basierte Aenderungsermittlung erklaeren 
- Beide Versionen des Modells M und M’ muessen bekannt sein
- D wird aus der Differenz zwischen Modellen ermittelt
  
 
- 
Vortele und Nachteile von Zustands-Basierten Verfahren 
- Vorteil: minimal
- Nachteil: Aenderussequenz muss automatisch ermittelt werden. Nur Heuristioken
 
- 
Delta-Basierte vs Zustands-Basierte: 
- Delta Basiert: man kennt altes Model und Delta, berechtet neue Modell
- Zustands-Basiert: man kennt altes und neues Modell, berechne Delta
 
- 
Was fuer ein Problem gibt bei Modellaenderungen? 
- Instanzen des Modells koennen wegen Aenderungen ungueltig werden
 
- 
Wie kann man die Instanzen anpassen? 
- Delta zwischen Modellen ermitteln
- Instanzen modifizieren
- Oft wird nur die “Statische Hilfe” automatisch generiert (zB Dummy-Werte fuer Attribute), die spaeter gefueelt werden muessen
 
- 
Welche Schewegrade von Aenderungen gibt es? 
- non-breaking: alle Instanzen bleiben gueltig.
- breaking and resolvable: Aenderungen koennen ungueltige Instanzen erstellen. Ko-Evolution Operation kann automatisch abgeleitet werden.
- breaking and not resolvable: Aenderungen koennen ungueltige Instanzen erstellen. Ko-Evolutions-Operation muss manuell durchgefuehrt werden. Es ist immer problematisch, wenn man die @NotNull Attribute hinzufuegen muss (im 1…n Fall)