Die neue Modelingbewegung setzt auf agile und vor allem Entwickler-orientierte Werkzeuge. Domain-Specific Languages (DSL) heißt das neue Zauberwort. Auch der Einsatz des Eclipse Modeling Frameworks (EMF) zur Laufzeit wird immer wichtiger und interessanter. So setzt beispielsweise das nächste große Release von Eclipse (Codename e4) auf EMF zur Modellierung der Workbench.
Modelle auf Diät
Das Eclipse Modeling Framework (EMF) stellt den Kern des gesamten Modeling Projektes dar. Die neue Version enthält eine ganze Reihe von Bugfixes. Sie wurde aber vor allem einer intensiven Diät unterzogen. Hierbei wurde die Implementierung der einzelnen Modellobjekte optimiert, so dass der Speicherverbrauch in einigen Fällen auf fast 10% schrumpft. Tatsächlich sind diese nun wesentlich kleiner als z.B. vergleichbare DOM- oder JavaBeans-Objekte. Was wie ein Wunder wirkt, ist auf die effiziente Nutzung von Java-Speicherstrukturen zurückzuführen.
Neues bei CDO
Das CDO (Connected Data Objects) Model Repository ist ein Distributed Shared Model Framework für EMF Modelle und Metamodelle. CDO ist außerdem eine Art Model Runtime Environment mit Fokus auf orthogonale Aspekte wie Modellskalierbarkeit, Transaktionalität, Persistenz, Verteilung, Abfragen und mehr.Welche Neuerungen es beim CDO Model Repository in Galileo gibt, erklärt hier Project-Lead Eike Stepper persönlich:
Galileo ist wahrscheinlich das Release von CDO mit den meisten Neuerungen. Das Team wuchs auf acht Committer an und es wurden insgesamt rund 130 Erweiterungen implementiert. Einige der herausragenden Neuerungen in CDO 2.0 sind:
Erweiterte EMF-Unterstützung
- Volle Change Deltas in EMF Notifications durch CDO Change Subscription Policies
- EMF Containment Proxies und CDO-externe References
- Array-Werte, Feature Maps und Default Values
- EPackages sind im Repository verfügbar
Neue CDO Funktionen
- Transactions mit Save Points und Distributed Transactions (XA)
- Asynchrones Query Framework
- Virtuelles hierarchisches Dateisystem für Resources im Repository
- Import und Export von Resources
- Optionales explizites Locking für pessimistische Strategien
- Erweiterbares Authenifizierungs- und Authorisierungssystem
Verbesserte Charakteristika
- Multi-Level Caching (fixed size, memory sensitive, external, ...)
- Partielles Laden von Collections
- Adaptives Prefetching, optional mit Erkennung von Zugriffsmustern
- Progress Monitoring bei Commit Operationen
- Abschaltbare Passive Updates vom Repository und Re-Synchonisierbarkeit
Neue Integrationen mit dem Eclipse File System (EFS), Team Support, Common Navigator Framework (CNF) und dem Graphical Modeling Framework (GMF) kamen ebenfalls dazu. Eike Stepper
Was ist ein typischer Use-Case für das CDO Projekt?
Die Anwendungsfälle für das CDO Model Repository lassen sich normalerweise einer der beiden folgenden Gruppen zuordnen: Der Einsatz als Werkzeug während der modellbasierten Entwicklung oder die Einbettung in Softwareprodukte zur Laufzeit.Im ersten Fall stehen oft das feingranulare Locking und die (gegenüber reinem EMF) drastisch erhöhte Skalierbarkeit der Modelle im Vordergrund, so ist zum Beispiel die Transformation Gigabytes großer Modelle erst möglich durch CDO.
Beim Einsatz als Laufzeittechnologie spielen oft die verteilte Transaktionalität (XA) und die netzwerkweite Verteilung von Änderungsnachrichten eine wichtige Rolle. Diese Kombination von modellgetriebener Architektur und aus Enterprise-Systemen bekannten Charakteristika zogen so große Spieler wie die NASA, die Kanadische Space Agency und das Kanadische Verteidigungsministerium an. Eike Stepper














