Am 13.03.2008 hat Herr Christoph Schmidt-Casdorff von der iks GmbH im Rahmen der Java User Group Düsseldorf (rheinjug) einen Überblick über Model Driven Development (MDSD) gegeben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben
Este documento presenta tres secretos para triunfar según los vencedores. El primer secreto es creer que Dios les ha dado capacidades. El segundo secreto es establecer metas claras. El tercer secreto es no rendirse ante los obstáculos iniciales. Cada secreto contrasta la actitud de los perdedores y cita versículos bíblicos en apoyo de la postura de los vencedores.
Este documento proporciona instrucciones para crear un juego básico en Scratch utilizando dos objetos animados (un caballero y un dragón) que se pueden mover y que interactúan entre sí. Explica cómo crear y animar cada objeto de forma independiente y añadir un fondo de paisaje natural antes de guardar y probar el juego.
Este documento presenta el portafolio de cálculo diferencial de un estudiante de ingeniería de sistemas informáticos en la Universidad Técnica de Manabí. Incluye la misión y visión de la universidad y facultad, una descripción del curso, objetivos de aprendizaje, temas cubiertos, y detalles sobre la evaluación.
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben
Este documento presenta tres secretos para triunfar según los vencedores. El primer secreto es creer que Dios les ha dado capacidades. El segundo secreto es establecer metas claras. El tercer secreto es no rendirse ante los obstáculos iniciales. Cada secreto contrasta la actitud de los perdedores y cita versículos bíblicos en apoyo de la postura de los vencedores.
Este documento proporciona instrucciones para crear un juego básico en Scratch utilizando dos objetos animados (un caballero y un dragón) que se pueden mover y que interactúan entre sí. Explica cómo crear y animar cada objeto de forma independiente y añadir un fondo de paisaje natural antes de guardar y probar el juego.
Este documento presenta el portafolio de cálculo diferencial de un estudiante de ingeniería de sistemas informáticos en la Universidad Técnica de Manabí. Incluye la misión y visión de la universidad y facultad, una descripción del curso, objetivos de aprendizaje, temas cubiertos, y detalles sobre la evaluación.
La metodología PACIE propone dividir el proceso educativo en bloques, incluyendo un bloque de cierre compuesto por las secciones de negociación y retroalimentación. Este bloque final es importante porque permite a estudiantes y tutores evaluarse mutuamente y reconocer áreas de mejora, con el fin de mejorar el proceso educativo.
Este documento describe diferentes tipos de tarjetas utilizadas en computadoras, incluyendo tarjetas de video, sonido, red, fax módem, madre, red inalámbrica, controladoras IDE y SCSI, y memoria RAM. Explica las funciones de cada tarjeta y cómo algunas han sido integradas a las tarjetas madres en computadoras modernas.
Este documento describe la anatomía del esófago. El esófago es un tubo muscular de 25 cm de largo y 2 cm de diámetro que transporta los alimentos al estómago. Presenta 3 estrechamientos - cervical, broncoaórtico y diafragmático - causados por la presión de estructuras adyacentes. Su musculatura circular interna y longitudinal externa le permite mover los alimentos a través de la deglución. Termina en el estómago a través del hiato esofágico del diafragma.
Este documento presenta varios métodos para identificar oportunidades empresariales, incluyendo analizar factores económicos, expectativas de clientes, tendencias, competidores, proveedores, sustitutos, necesidades de clientes, cambios socioculturales y alternativas como adquirir un negocio existente, franquicias o iniciar un negocio desde cero. El objetivo es detectar necesidades insatisfechas en el sector a través de la exploración del mercado y el examen de barreras de entrada.
Este documento describe diferentes tipos de remuneraciones adicionales a los salarios que las empresas pueden ofrecer a los trabajadores, como premios, bonos y gratificaciones. También define el salario nominal como la cantidad acordada que ganará el trabajador y el salario real como su poder adquisitivo. Explica además las normas legales que protegen el pago oportuno de los salarios de los trabajadores.
Este documento describe tres componentes clave de una computadora: el case o gabinete, la fuente de poder ATX, y la placa madre. El case tiene varias bahías para dispositivos y ventilación para la CPU. La fuente de poder ATX convierte la corriente alterna en continua y distribuye voltajes a la placa madre y otros componentes. La placa madre conecta todas las partes de la computadora y soporta procesadores Intel Core i7/i5/i3 entre otras características.
Este documento describe los componentes y el proceso de investigación científica. Explica que la investigación implica identificar un problema, formular objetivos y hipótesis, revisar la literatura existente, diseñar un método, recopilar y analizar datos, e informar los resultados. También distingue entre investigaciones puras, aplicadas, exploratorias, descriptivas y explicativas, así como entre enfoques cualitativos y cuantitativos. Finalmente, detalla las etapas del proceso de investigación y los elementos clave que debe incluir.
El documento describe la Web 2.0 y las herramientas asociadas. Explica que la Web 2.0 permite a los usuarios publicar directamente contenido en la web a través de blogs, wikis y otras herramientas. Además, categoriza las herramientas de la Web 2.0 como gestores de contenido, RSS, redes sociales, compartición de imágenes y videos, y mapas mentales. Finalmente, proporciona ejemplos populares de herramientas de la Web 2.0 en cada categoría.
La boca desempeña funciones clave en la digestión, el habla y la expresión. Cumple un papel en la masticación de alimentos, la formación de palabras y la sonrisa. Contiene órganos como la lengua, paladar, dientes y glándulas salivales que ayudan a iniciar la digestión mecánica y química.
El documento define el acoso escolar o bullying como una situación de agresión sistemática y recurrente en la que uno o más estudiantes toman como objetivo a otro de manera injusta, sometiéndolo a abuso físico, verbal o social. Describe los perfiles típicos de las víctimas, que suelen ser tímidas, débiles o diferentes, y de los agresores, que buscan dominar. Finalmente, señala que el acoso puede tener consecuencias negativas en la salud mental y el rendimiento académico de las v
Die adäquate und systematische Kommunikation über Risiken und die vorhandenen Fähigkeiten im Risikomanagement sind für Unternehmen entscheidend. Dies betonen verschiedene Analysen der jüngeren Vergangenheit. In diesem Beitrag werden mögliche Problemfelder beim Austausch relevanter Risikoinformationen innerhalb einer Organisation aufgezeigt und mögliche Ansatzpunkte zur Optimierung der Kommunikation zur Diskussion gestellt.
Artikel geschrieben im Juli 2009.
La Gran Guerra de 1914-1918 fue un conflicto mundial que enfrentó a las potencias de la Triple Entente (Reino Unido, Francia y Rusia) contra las Potencias Centrales (Imperio alemán y Imperio austrohúngaro). La guerra involucró el movilización de millones de combatientes y civiles y se caracterizó por tácticas de trincheras y guerra de posiciones. El conflicto tuvo un gran impacto social y económico en Europa y marcó el fin de varios imperios.
La caries dental es una enfermedad multifactorial causada por la acción de bacterias en la placa que producen ácidos y destruyen los tejidos del diente. Se ve favorecida por factores como una dieta rica en azúcares, malos hábitos de higiene bucal y predisposición genética. Los principales síntomas son dolor dental y la aparición de agujeros. Su tratamiento consiste en la eliminación de tejidos afectados y la restauración del diente.
El documento describe la evolución de los blogs desde las primeras comunidades digitales en los años 90 hasta su popularización en la década de 2000. Explica que las primeras herramientas para crear blogs permitían conversaciones en foros y que luego surgieron plataformas gratuitas como Blogger que permitían a cualquier usuario crear y administrar fácilmente su propio blog.
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Using openArchitectureWare 4.0 in domain "registration"joergreichert
Some retro: This presentation dated 2006 shows how to do model driven software development with openArchitectureWare 4.0 in the example domain "registration".
Although openArchitectureWare is now superseded by Xtext, Xtend2 and Xbase it is always good to remember the principles of model driven software development.
La metodología PACIE propone dividir el proceso educativo en bloques, incluyendo un bloque de cierre compuesto por las secciones de negociación y retroalimentación. Este bloque final es importante porque permite a estudiantes y tutores evaluarse mutuamente y reconocer áreas de mejora, con el fin de mejorar el proceso educativo.
Este documento describe diferentes tipos de tarjetas utilizadas en computadoras, incluyendo tarjetas de video, sonido, red, fax módem, madre, red inalámbrica, controladoras IDE y SCSI, y memoria RAM. Explica las funciones de cada tarjeta y cómo algunas han sido integradas a las tarjetas madres en computadoras modernas.
Este documento describe la anatomía del esófago. El esófago es un tubo muscular de 25 cm de largo y 2 cm de diámetro que transporta los alimentos al estómago. Presenta 3 estrechamientos - cervical, broncoaórtico y diafragmático - causados por la presión de estructuras adyacentes. Su musculatura circular interna y longitudinal externa le permite mover los alimentos a través de la deglución. Termina en el estómago a través del hiato esofágico del diafragma.
Este documento presenta varios métodos para identificar oportunidades empresariales, incluyendo analizar factores económicos, expectativas de clientes, tendencias, competidores, proveedores, sustitutos, necesidades de clientes, cambios socioculturales y alternativas como adquirir un negocio existente, franquicias o iniciar un negocio desde cero. El objetivo es detectar necesidades insatisfechas en el sector a través de la exploración del mercado y el examen de barreras de entrada.
Este documento describe diferentes tipos de remuneraciones adicionales a los salarios que las empresas pueden ofrecer a los trabajadores, como premios, bonos y gratificaciones. También define el salario nominal como la cantidad acordada que ganará el trabajador y el salario real como su poder adquisitivo. Explica además las normas legales que protegen el pago oportuno de los salarios de los trabajadores.
Este documento describe tres componentes clave de una computadora: el case o gabinete, la fuente de poder ATX, y la placa madre. El case tiene varias bahías para dispositivos y ventilación para la CPU. La fuente de poder ATX convierte la corriente alterna en continua y distribuye voltajes a la placa madre y otros componentes. La placa madre conecta todas las partes de la computadora y soporta procesadores Intel Core i7/i5/i3 entre otras características.
Este documento describe los componentes y el proceso de investigación científica. Explica que la investigación implica identificar un problema, formular objetivos y hipótesis, revisar la literatura existente, diseñar un método, recopilar y analizar datos, e informar los resultados. También distingue entre investigaciones puras, aplicadas, exploratorias, descriptivas y explicativas, así como entre enfoques cualitativos y cuantitativos. Finalmente, detalla las etapas del proceso de investigación y los elementos clave que debe incluir.
El documento describe la Web 2.0 y las herramientas asociadas. Explica que la Web 2.0 permite a los usuarios publicar directamente contenido en la web a través de blogs, wikis y otras herramientas. Además, categoriza las herramientas de la Web 2.0 como gestores de contenido, RSS, redes sociales, compartición de imágenes y videos, y mapas mentales. Finalmente, proporciona ejemplos populares de herramientas de la Web 2.0 en cada categoría.
La boca desempeña funciones clave en la digestión, el habla y la expresión. Cumple un papel en la masticación de alimentos, la formación de palabras y la sonrisa. Contiene órganos como la lengua, paladar, dientes y glándulas salivales que ayudan a iniciar la digestión mecánica y química.
El documento define el acoso escolar o bullying como una situación de agresión sistemática y recurrente en la que uno o más estudiantes toman como objetivo a otro de manera injusta, sometiéndolo a abuso físico, verbal o social. Describe los perfiles típicos de las víctimas, que suelen ser tímidas, débiles o diferentes, y de los agresores, que buscan dominar. Finalmente, señala que el acoso puede tener consecuencias negativas en la salud mental y el rendimiento académico de las v
Die adäquate und systematische Kommunikation über Risiken und die vorhandenen Fähigkeiten im Risikomanagement sind für Unternehmen entscheidend. Dies betonen verschiedene Analysen der jüngeren Vergangenheit. In diesem Beitrag werden mögliche Problemfelder beim Austausch relevanter Risikoinformationen innerhalb einer Organisation aufgezeigt und mögliche Ansatzpunkte zur Optimierung der Kommunikation zur Diskussion gestellt.
Artikel geschrieben im Juli 2009.
La Gran Guerra de 1914-1918 fue un conflicto mundial que enfrentó a las potencias de la Triple Entente (Reino Unido, Francia y Rusia) contra las Potencias Centrales (Imperio alemán y Imperio austrohúngaro). La guerra involucró el movilización de millones de combatientes y civiles y se caracterizó por tácticas de trincheras y guerra de posiciones. El conflicto tuvo un gran impacto social y económico en Europa y marcó el fin de varios imperios.
La caries dental es una enfermedad multifactorial causada por la acción de bacterias en la placa que producen ácidos y destruyen los tejidos del diente. Se ve favorecida por factores como una dieta rica en azúcares, malos hábitos de higiene bucal y predisposición genética. Los principales síntomas son dolor dental y la aparición de agujeros. Su tratamiento consiste en la eliminación de tejidos afectados y la restauración del diente.
El documento describe la evolución de los blogs desde las primeras comunidades digitales en los años 90 hasta su popularización en la década de 2000. Explica que las primeras herramientas para crear blogs permitían conversaciones en foros y que luego surgieron plataformas gratuitas como Blogger que permitían a cualquier usuario crear y administrar fácilmente su propio blog.
Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben.
Weitere Vorträge, die wir auch gern in Ihrem Unternehmen halten, finden Sie unter: https://www.iks-gmbh.com/impulsvortraege
Using openArchitectureWare 4.0 in domain "registration"joergreichert
Some retro: This presentation dated 2006 shows how to do model driven software development with openArchitectureWare 4.0 in the example domain "registration".
Although openArchitectureWare is now superseded by Xtext, Xtend2 and Xbase it is always good to remember the principles of model driven software development.
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
AndroMDA ist ein freiverfügbarer erweiterbarer Generatorbaukasten in Anlehnung an die Spezifikationen zur Model Driven Architecture (MDA) der Object Management Group (OMG). Aus UML-Modellen wird Code für beliebige Zielplattformen erzeugt. Anders als andere MDA-Toolkits bringt AndroMDA fertige Cartridges für aktuelle Entwicklungsplattformen wie Struts, JSF, Spring, Hibernate, EJB und jBPM mit. Weiterhin besteht zusätzlich die Möglichkeit zur Erstellung eigener Cartridges.
Nach einer kurzen Einführung in MDA gibt der Vortrag einen Überblick über AndroMDA und erläutert die Architektur und Grundprinzipien. Die Möglichkeiten des Toolkits werden anhand einer Web-Anwendung für Pizza-Bestellungen erklärt. Anschließend besteht die Möglichkeit zur Diskussion und zum Erfahrungsaustausch aus Projekten.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2001 hervorzusagen. Auf der Liste sind:
- UML
- .NET/C#
- SOAP
- P2P
- DivX ;-)
- UMTS
- RDF
- Micropayments
- XForms
- Spracherkennung/VoiceXML
BizDataX - Data Masking Solution - Datamasking-ToolDragan Kinkela
Diese Tabelle bietet einen optimalen Überblick über die Unterschiede zwischen dem Einsatz von
Datenbankskripten (z. B. PL/SQL und T-SQL) und der BizDataX-Plattform für die Datenmaskierung.
Während sich die meisten Unternehmen bewusst sind, dass Datenmaskierung bei der Erfüllung der Anforderungen für den Schutz vertraulicher Informationen
hilfreich ist, müssen sie gleichzeitig die Entscheidung treffen, eine Lösung für die Datenmaskierung zu kaufen oder eine eigene Lösung zu entwickeln.
Bei der Entwicklung einer unternehmensinternen Lösung müssen in der Regel Datenbankskripte für die verschiedenen Datenbank-Engines geschrieben
werden. Und auch wenn Skripte auf den ersten Blick eine effiziente Methode für die Datenmaskierung sind, da sie meist von erfahrenen DBAs
geschrieben werden, die für diese Aufgabe nicht extra bezahlt werden müssen, beweist die Erfahrung leider das Gegenteil. Hier finden Sie eine Vergleichstabelle
mit den wichtigsten Unterschieden zwischen Datenbankskripten und der BizDataX-Plattform.
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...Klaus Rüggenmann
Die Festlegung auf eine technische Umsetzungsstrategie hat direkte Auswirkungen auf die Konzeption und das Design, und zwar entweder durch die sich ergebenden Einschränkungen oder durch zusätzliche Möglichkeiten. Der Vortrag will aufzeigen, welche Umsetzung für welche Art von Projekt geeignet ist. Er soll eine Entscheidungshilfe bieten und dazu befähigen, sich bei dieser zentralen Projektentscheidung informiert einzumischen.
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
Onno Reiners: E-Learning einfach selbst erstellenlernet
Gehalten am 10.09.2009 auf der LERNET 2.0-Roadshow des D-ELAN e.V. und VEBN e.V. bei der IHK-Hannover.
Mehr Informationen zu E-Learning und Wissensmanagement für den Mittelstand unter: http://www.lernetblog.de
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte:
Klassen/Objekte/Komponenten, Mehrschichtige .NET-Anwendungen, Bibliotheken und Pattern, Frameworks und Tools, Unit Testing und Codeanalyse, Continous Integration und Versionsverwaltung, Dokumentation und Instrumentation
Wir sind IT-Spezialisten in der Nähe von Frankfurt und unsere Schwerpunkte sind:
+ Webanwendungen: SW-Entwicklung für Internet, Intranet, Extranet und
+ mobile Lösungen: Mobile Webseiten und Cross-Plattform-Apps.
DDD bietet eine zweifelsfreie Kommunikation fachlicher Aspekte aller teilnehmenden Personen.
Dazu beschreibt es Vorgehensweisen, die komplexe Software-Projekte transparenter für alle Beteiligten machen sollen.
https://www.meetup.com/de-DE/Scrumtisch-Weiden/events/257338847/
Mit den passenden Algorithmen lassen sich aus Daten Erkenntnisse, Muster und Schlüsse gewinnen. Data Scientists steigen tief in die Welt der Daten und Algorithmen ein und entwerfen die zum Anwendungsfall passende Lösung.
Auch Führungskräfte sollten ein Grundwissen über die wichtigsten Begriffe und Zusammenhänge der Welt der Data Science haben.
Unser Vortrag gibt einen Überblick über Möglichkeiten von Big Data und Machine Learning und zeigt, wie mit agilen Mitteln und den richtigen Skills der Einstig in die neue Welt gelingt
Der Vortrag zeigt die Grenzen bisheriger Lösungen und gibt einen Überblick über neue Lösungen.
Er zeigt, wie Systemlandschaften weltweit tätiger (Internet-)Konzerne aussehen und leitet daraus herunterskalierte, praktikable Lösungen auch für kleinere Unternehmen mit weit weniger Datenvorkommen ab.
Unser Vortrag gibt einen Überblick über Möglichkeiten von Big Data und Machine Learning und zeigt, wie mit agilen Mitteln und den richtigen Skills der Einstig in die neue Welt gelingt.
Unser Vortrag gibt einen Überblick über Möglichkeiten von Big Data und Machine Learning und zeigt, wie mit agilen Mitteln und den richtigen Skills der Einstig in die neue Welt gelingt
Der Vortrag zeigt die Grenzen bisheriger Lösungen und gibt einen Überblick über neue Lösungen.
Er zeigt, wie Systemlandschaften weltweit tätiger (Internet-)Konzerne aussehen und leitet daraus herunterskalierte, praktikable Lösungen auch für kleinere Unternehmen mit weit weniger Datenvorkommen ab.
Mit den passenden Algorithmen lassen sich aus Daten Erkenntnisse, Muster und Schlüsse gewinnen. Data Scientists steigen tief in die Welt der Daten und Algorithmen ein und entwerfen die zum Anwendungsfall passende Lösung.
Auch Führungskräfte sollten ein Grundwissen über die wichtigsten Begriffe und Zusammenhänge der Welt der Data Science haben.
Unser Vortrag gibt einen Überblick über Möglichkeiten von Big Data und Machine Learning und zeigt, wie mit agilen Mitteln und den richtigen Skills der Einstig in die neue Welt gelingt.
Mit den passenden Algorithmen lassen sich aus Daten Erkenntnisse, Muster und Schlüsse gewinnen. Data Scientists steigen tief in die Welt der Daten und Algorithmen ein und entwerfen die zum Anwendungsfall passende Lösung.
Auch Führungskräfte sollten ein Grundwissen über die wichtigsten Begriffe und Zusammenhänge der Welt der Data Science haben.
Der Vortrag zeigt die Grenzen bisheriger Lösungen und gibt einen Überblick über neue Lösungen.
Er zeigt, wie Systemlandschaften weltweit tätiger (Internet-)Konzerne aussehen und leitet daraus herunterskalierte, praktikable Lösungen auch für kleinere Unternehmen mit weit weniger Datenvorkommen ab.
Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
1. iks Gesellschaft für Informations- und
Kommunikationssysteme mbH
Sponsor der
13.03.2008
Seite 2 / 77
2. iks - Daten und Fakten
Gründung 1989
Sitz Hilden
Geschäftsleitung Dipl.-Inf. Monika Stoll
Dipl.-Ing. Thomas Kondring
Hartwig Tödter
Team ca. 85 Mitarbeiter/innen
Tätigkeitsgebiet Individuelle IT-Konzepte und
Softwarelösungen
Seite 3 / 77
3. Unsere Leistungen (Schwerpunkte)
IT-Beratung
Projektleitung
Projektdurchführung / Softwareentwicklung
– z.B. als Outsourcing-Partner
– oder als Ergänzung der Entwickler-Teams unserer Kunden
(Know-how-Transfer, Abfangen von Projektspitzen)
Schulungen / Coaching
Seite 4 / 77
4. Technisches Umfeld
Schwerpunkt: Java-Technologien
– Java SE, Java EE, server- und clientseitige Anwendungsentwicklung
– Frameworks
– ...
.NET / C#
Business Intelligence
AS/400
– COBOL, RPG
Visual Basic, Delphi, C++ etc.
Seite 5 / 77
5. Unsere Kunden
International tätige Konzerne sowie große und mittlere
Unternehmen aus unterschiedlichen Branchen:
Industrie
Versicherungen / Finanzdienstleistungen
Handel
Telekommunikation
Transport / Verkehr / Logistik
Verbände / Vereine / Interessenvertretungen
Dienstleistungsunternehmen
Gesundheitswesen
Seite 6 / 77
6. Unsere Mitarbeiter
ca. 85 Mitarbeiterinnen und Mitarbeiter
Ausbildung u.a.
– Informatiker
– Wirtschaftsinformatiker
– Mathematiker
– Ingenieure
Einsatz in Kundenprojekten u.a. als
– Projektleiter, Analysten
– IT-Berater, Softwarearchitekten, Anwendungsentwickler
– Trainer
– ...
Seite 7 / 77
7. iks im Internet
Weitere Informationen über iks finden Sie auf unserer Website
www.iks-gmbh.com
Und nun viel Spaß beim Vortrag:
Modellgetriebene Softwareentwicklung:
ein Rundflug
Seite 8 / 77
12. Technologien im OO-Umfeld
Struts Wicket
Web 2.0
.Net
Portlets
JMS
Multi Threading
Ajax
Seite 13 / 77
13. Aktuelles Softwaredilemma
Jede dieser Architekturen löst ein technologisches Problem,
schafft aber folgende neue Probleme:
– Komplexität der Softwareentwicklung erhöht sich
• komplexere Anforderungen an Entwickler
– Komplexität der Software erhöht sich
• erhöhter Wartungsaufwand
– Bindung an Technologie verringert Flexibilität
• eine einmal gewählte Technologie ist nur schwer zu wechseln,
• aber Technologien sind im Fluss
– Technologie und Geschäftslogik sind stark gekoppelt
... und produziert damit Kosten, Kosten, . . .
Seite 14 / 77
14. Grundgedanke der Generierung
Angenommen . . .
– die domänene Logik könnte unabhängig von der einzusetzenden
Technologie erstellt werden (==Modell)
– spezielle Software (==Generatoren) erzeugt aus dem Modell der
domänenen Logik den Quellcode (==Generat) bzgl. der gewünschten
Technologie/Programmiersprache/....
– das Generat trifft auf eine (der domänenen Logik angepasste) Plattform
(==Zielplattform) aus Frameworks/Komponenten/... innerhalb/mittels derer
es ausgeführt wird
Grundgedanke von MDSD (Model Driven Software Development)
Seite 15 / 77
15. Grundgedanke ‚Generierung‘ - Skizze
Generatoren Framework/Komponenten
Individual Code
wird generiert wird ausgeführt
Modell Generat Zielplattform
Seite 16 / 77
16. Motivation für MDSD
Plattformunabhängigkeit
– Generatoren für jede Zielplattform
Effizienzsteigerung durch Automation
– Softwareerstellung durch Generierung
Qualitätsverbesserung
– durch Generierung
• Qualität des generierten Codes wird über Generator gesteuert
• Architektur- und Designanforderungen werden systematisch eingehalten
– durch Wiederverwendung der Domain Architektur
• Qualität steigt mit Anzahl der Einsätze einer Domain Architektur
Seite 17 / 77
17. MDSD - Grundgedanke
ist allgemein gültig
ist unabhängig von der eingesetzten Systemumgebung
– Betriebssystem
– Programmiersprache
– Architektur
– Modellierungssprache
allerdings findet sich im OO-/Java-Umfeld eine wachsende
Infrastruktur
– Modellierungssprachen (UML, EMF,...)
– Transformationssprachen (QVT,...)
– Transformationswerkzeuge (Eclipse)
– .....
Seite 18 / 77
18. Metapher für Generator/Transformator
Compiler dient als Metapher für technische Funktionsweise
von Generatoren/Transformatoren
– Generator -> Compiler
– Modell -> Quellcode
– Generat -> Maschinencode
Damit ein Generator ein Modell interpretieren kann, muss
dieses
– in einer Sprache formuliert sein, die der Generator versteht
– formal sein (d.h. einer vorgegebenen Syntax entsprechen)
Seite 19 / 77
19. Domäne-spezifische Sprache
Sprache zur Formulierung von Modellen
– DSL (domain specific language)
… besitzt eine formale Spezifikation in Form eines Metamodells
– beschreibt die Sprachelemente
– abstrakte Syntax
… kann in unterschiedlichen Formen dargestellt/realisiert werden
– UML, EMF, textuell
– konkrete Syntax
Seite 20 / 77
20. Problemräume / Domäne
können durch die Architektur/Technologie motiviert sein
– architektur-zentriert
– Abbildung in die gewählte Technologie
• Anbindung an Datenbanken (JDBC, Hibernate, …)
• Middleware EJB, Spring
– ist der zur Zeit verbreitetere Einsatz von MDSD
können domänen motiviert sein
– domänen-zentriert
– wird durch die konkrete domänenkeit vorgegeben
Seite 21 / 77
21. DSL
je abgegrenzter der Problemraum und
je spezieller die DSL dieses Problemraums ist,
desto größer ist der Mehrwert durch MDSD
► Finde abgegrenzten Problemraum und entsprechende DSL
► In Projekten existieren u.U. mehrere DSLs nebeneinander
Seite 22 / 77
22. Generatoren/Transformatoren
– interpretieren das Modell
– enthalten möglichst viel Wissen um den Problemraum
– setzen ein Regelwerk zur Generierung/Transformation um
– setzen allgemeine Muster für Architektur und Code um
Transformatoren beschreiben model-to-model-Transformationen
Generatoren beschreiben Generierung von Artefakten
– Quellcode, XML-Dateien, HTML-Seiten, ....
– Model-to-text-Transformationen
Generatoren/Transformatoren können in beliebig vielen Schritten
gekoppelt sein
Seite 23 / 77
23. Zielplattform
ist Laufzeitumgebung zur Ausführung der Generate
je spezifischer die Zielplattform dem Generat entgegenkommt,
desto einfacher wird der Generator
Beispiele für Zielplattformen
– J2EE Container
– Message Oriented Middleware
– Datenbank
– eigenentwickelte Frameworks
Seite 24 / 77
24. Software Systemfamilie
Domänen-Architektur (Domain Architecture)
– DSL/Metamodell, Modelltransformationen, Zielplattform
– beschreibt die Umgebung vom Modell zum Softwareprodukt
Software-Systemfamilie
– Programmgruppe mit gemeinsamen Eigenschaften
– hier: gemeinsame Domain Architecture
Seite 25 / 77
25. MDA - model driven architecture -
ist der Beitrag der OMG (Object Management Group) zu MDSD
– ist eine Ausprägung der MDSD
definiert 3 unterschiedliche Abstraktionsebenen
– CIM – computer independent model
– PIM – platform independent model
– PSM – platform specific model
– … und einen Prozess, der die 3 Modelle schrittweise ineinander überführt
– diese 3 Modellabstraktionen haben sich in der Realität nicht bewährt
• Abgrenzung untereinander ist nur schwer möglich (relative Bewertungen)
• in der Praxis treten mehr als 3 Modellausprägungen auf
definiert Standards im MDSD-Umfeld
– (E)MOF, UML, OCL, QVT, XMI
– CWM – common warehouse metamodel (DSL für dataware housing)
◄
Seite 26 / 77
26. Language Workbench
Werkzeuglandschaft, um DSL-zentrierte Software zu entwickeln
– [Martin Fowler 2003]
dies umfasst Werkzeuge,
– um DSL zu definieren
– um Editor zu definieren
• eigentliche Modellierung
• dynamische Modellvalidierungen
– um Generatoren zu entwickeln
• Generierung
• Modellvalidierung
– um model-to-model-Transformationen zu entwickeln
– Workflow, um die unterschiedlichen Schritte zusammenzuhalten
Seite 27 / 77
27. Modellierungssprachen und Metamodelle
… sind beispielsweise
– UML
– ERM (Entity Relationship Model)
… werden durch ein Metamodell beschrieben
– abstrakte Syntax der Modellierungssprache
– statische Semantik
– dynamische Constraints
Seite 28 / 77
28. Beispiele für Metamodelle
XSD
– XML-Schema
BNF
– Backus-Naur-Form
– textuelle Notation für Sprachen
• Darstellung kontextfreier Grammatiken
(E)MOF
– (Extended) Meta Object Facility
– Metamodellierungssprache der UML
– mittels MOF ist UML, OCL, … beschrieben
UML Profile
– Möglichkeit innerhalb von UML eine Domänen zu beschreiben
EMF / ECORE
– ECORE ist semantisch (im Wesentlichen) zur EMOF äquivalente Metamodell
im Eclipse-Umfeld
– EMF (Eclipse Modelling Framework) enthält Werkzeuge zur Metamodellierung
– Basis vieler Werkzeuge im Eclipse-Umfeld
Seite 29 / 77
29. Modellierungssprachen und Metamodelle
eine DSL ist eine spezifische Modellierungssprache
– bedarf einer Meta-(Modellierungs-)Sprache
• um eigenes Metamodell zu entwerfen
– ist auf einen bestimmten Problembereich zugeschnitten
Seite 30 / 77
30. Modellierung
Modellierung setzt einen geeigneten Editor voraus
– möglichst graphisch
– bei Texteditoren syntax highlighting, code completion, …
UML Werkzeuge sind Editoren zur Modellierung
– Für Modelle welche auf UML basieren
– Austauschformat zwischen OMG-UML und Eclipse
– DSL werden durch UML Profile beschrieben
unterstützt Syntax und Semantik des Metamodells
– Modellvalidierungen
• statische Semantik (wer darf welchen Pfeil auf wen ziehen)
• dynamische Constraints
– vgl. OCL et al
Seite 31 / 77
31. Generierung / Transformation
setzt auf einem Metamodell auf
– i.d.R. werden Objektmodelle über den Metamodellen genutzt
– Generierungswerkzeug kennt bestimmte MetaModelle
• Nur deren Modelle können interpetiert werden
besteht i.d.R. aus mehreren Aufgaben
– Validierungen
– Modell-Anreicherungen (model-to-model-Transformationen)
– Codegenerierungen (model-to-text-Transformationen)
• erzeugen die Generierungsartefakte
• Code, Deskriptoren, XML-Dateien
– alle Aufgaben können ggf. mehrfach ausgeführt oder kombiniert werden
Seite 32 / 77
32. Generierungs- / Transformationstechniken
Template Engines zur model-to-text-Transformation
– dynamisch typisierte Engines
• Velocity, freemaker, JSTL (jexl), …
– statisch typisierte wie Xpand (openArchitectureWare ►Appendix A)
spezielle Transformationssprachen
– QVT, MOFScript
als Komponente entwickelte M2T/M2M-Transformationen
heißen Cartridge
– wiederverwendbar
– Generator setzt sich i.d.R. aus mehreren Cartridges zusammen
– Bestandteil einer Generierungsplattform, die sich auf eine spezielle
DSL stützt
• siehe AndroMDA, Fornax, … (►Appendix A)
Seite 33 / 77
33. Integration von Individual Code
Individual Code ist nicht generierter/modellierter Code,
– der in die Zielplattform integriert werden muss
– der unabhängig von Generierung/Modellierung ist
während Generierung/Transformation werden Regeln ausgeführt
– welche Individual Code in Generat einbinden
– i.d.R. über Benennungsregel
beispielweise
– Super-/Subclassbeziehung
– Interface / Implementierung
Seite 34 / 77
34. Integration von Individual Code
Szenario : domänenes Modell gerät an die Grenzen der
Modellierung
– domänene Logik kann nicht mit Mitteln der DSL beschrieben werden
– domänene Logik soll durch Individual Code umgesetzt werden
– Model öffnet sich an definierten Stellen und mit definierter Semantik
extension point Verfahren
– vgl. Eclipse
– Modell öffnet extension points für Individual Code
– Generator bindet Individual Code an extension points
– Verfahren eignet sich sehr gut für Integration von Individual Code auf
Modellebene
Seite 35 / 77
35. MDSD Ausführungsumgebung
ist ein alternativer Ansatz zur Generierung
Modell wird in einer Ausführungsumgebung ausgeführt
– es findet keine explizite Generierung statt
– Modell und Ausführungsplattform sind aufeinander zugeschnitten
– siehe OpenMDX ( ►Appendix A)
Seite 36 / 77
36. MDSD und Eclipse
Eclipse Modelling Project
– Subprojekt von Eclipse
– umfasst Werkzeuge für alle Phasen der MDSD
Metasprachen und Editoren für Metamodelle ( ►Appendix A)
– erlaubt die Definition neuer Metamodelle auf Basis von ECORE
• EMF liefert Framework zur Editierung
• UML nach ECORE Umwandlung (oAW – uml2ecore )
• Frameworks zur BNF basierten Definition von DSL
• Xtext (integriert in openArchitectureWare)
Seite 37 / 77
37. MDSD und Eclipse - DSL Editoren
Syntax- und kontextbezogene Editoren für textuelle DSLs
– Xtext
GMF – graphische Editoren auf Basis eines ECORE Modells
– wird von Borland aktiv und maßgeblich unterstützt
– Validierungs-Frameworks lassen sich integrieren
Seite 38 / 77
39. Werkzeuglandschaft
Language Workbench
– EMF + GMF + openArchitectureWare (►Appendix A)
– EMF + GMF + AndroMDA 4 (►Appendix A)
Generierungswerkzeuge
– bieten vorgefertigte DSLs und Generatoren/Transformatoren
– AndoMDA 3 (►Appendix A)
– Fornax (►Appendix A)
• UML, Sculptor
MDSD Laufzeitumgebungen
– openMDX
– bietet Modellierung und Laufzeitumgebung zur Ausführung der Modelle ◄
– ►Appendix A
Seite 40 / 77
40. Entwicklungsprozesse
Es existieren zwei Entwicklungsprozesse :
DSL Infrastruktur
– Aufbau der DSL Infrastruktur
Primärer Entwicklungsprozess
– bisheriger Entwicklungsprozess unter Einsatz der MDSD Infrastruktur
sollten beide unabhängig voneinander gelebt werden
sind natürlich inhaltlich stark gekoppelt
Seite 41 / 77
41. DSL Infrastruktur
ist ein eigener Entwicklungsprozess
– sollte auch so gelebt werden
– besitzt starke Bindung / Kopplung an primären Entwicklungsprozess
Aufgaben in Domäne / Modellierung
– DSL-Analyse
– Definition und Aufbau einer Modellierungsumgebung
– Festlegung der Zielplattform
– Definition der Architektur- und Designmuster für Generatoren
Aufgaben in Generatorenentwicklung
– Generatorenentwicklung, Frameworkentwicklung
Seite 42 / 77
42. DSL Infrastruktur
erfordert neue Rollen
– DSL Analyse
• Konsistenz der DSL
• Kommunikation mit Fachseite und Entwicklung
– Generatorentwicklung
• neue komplexes Umfeld
• große Anforderungen an Abstraktionsvermögen
erfordert neue Kompetenzen an bekannte Rollen
– Architektur
– Testmanagement und Testkonzeptionen
Seite 43 / 77
43. Architekturzentrierte MDSD
Modelle werden um Technologieaspekte angereichert
– JEE, Hibernate, Spring, ….
MDSD ist auf die Realisierungsphase beschränkt
– Artefakte sind
• Modell
• zusätzlicher selbst geschriebener Code
Generierung beschleunigt die Realisierungsphase
Seite 44 / 77
44. Einsatz von domänen-zentrierter MDSD
MDSD trifft die Phasen Analyse, Realisierung
Artefakte sind
– fachliches Modell (Analyse)
– zusätzlicher Individual Code (Realisierung)
Seite 45 / 77
45. Einsatz von domänen-zentrierter MDSD
Generierung beschleunigt die Realisierungsphase
Designphase degeneriert
Formale Modellierung
– verlangsamt die Analyse (zu Beginn)
– erhöht die Anforderungen an Analytiker
• keine Realisierung als Puffer
• Modelle sind ausführbarer
Bedarf ständiger Betreuung durch DSL Infrastruktur
– DSLs wachsen mit dem Einsatz
Seite 46 / 77
46. Einsatz von domänen-zentrierter MDSD
Modell ist kein Artefakt der Realisierung
– Modell und Realisierung haben unterschiedliche Lebenszyklen
Folgende Fragen sind projektspezifisch zu beantworten:
? Wer generiert? – Hoheit in Realisierung oder Analyse
? Lebenszyklus der Generate
? Ist Generierung Teil des Buildprozesses?
? Werden Generate versioniert?
Best Practice
– Pair Modelling
• Zumindest bis sich Analyse an Auswirkungen ihres „Tuns“ gewöhnt hat
– Konzept zur Integration Individual Codes
• wird nicht nur durch Generator, sondern durch Modell bestimmt
Seite 47 / 77
47. Entwicklungsprozesse
Zwei getrennte Entwicklungsprozesse
– für MDSD-Infrastruktur und primärer (bisheriger) Entwicklungsprozess
Primärer Entwicklungsprozess
– beschäftigt sind Modellen als neuen Artefakten
– Benötigt neue Rollen und Phasen
– Standardisierte Prozesse wie RUP und XP sind um MDSD Aspekte erweitert
Einsatz von domänen-zentrierter MDSD
– ist umfassender
– hat größeren Einfluß auf Organisatien
◄
Seite 48 / 77
48. Erfahrungsbericht
MDSD wurde bei einem großen Finanzdienstleister umgesetzt
– Laufzeit des Projekts > 5 Jahre
Änderungsmanagement und Informationsaustausch
mit Leistungsträgern
– Größtenteils dateibasierte Satzverarbeitung
– Größenordnung pro Monat:
• Auflieferung von ca. 0,5 – 1 Mio. Datensätze
• Versand von bis zu mehreren Mio. Datensätzen an die Leistungsträger
Seite 49 / 77
49. DSLs
zentrales Businessmodell
– O/R-Mapping
WebGUI
Kundenanschreiben
Export / Import zu Dateischnittstellen
Archivierung
Seite 50 / 77
51. Einsatz von MDSD
Einsatz von MDSD > 40% (bezogen auf Modelle)
Mengengerüste
– 10 DSLs
– derzeit ca. 100.000 Modellelemente, davon < 2% (ca. 1900)
programmatisch ergänzt
Kleines Entwicklungs- und Modellierungsteam
(< 10 Personen)
– davon 3 externe Kräfte
Seite 52 / 77
52. Aufwände bzgl. MDSD
Ablösung der
PT aggregiert proprietären
Generatorumgebung
Aufwand verringert
sich deutlich
Stabilisierung
der Infrastruktur
Aufsetzen und Pflege der
MDSD-Infrastruktur
0
2003 2004 2005 2006 2007 2008 Jahr
Projektbeginn Wirkbetriebseinführung Phase 1
Seite 53 / 77
53. Aufwände bzgl. MDSD
PT aggregiert Wiederverwendung von
Pflege der MDSD Modellen und Entwicklung
Infrastruktur
Modellierungsaufwand erreicht
den für MDSD-Infrastruktur
Vorlauf zur Erzeugung
der Infrastruktur
Modellierung
2003 2004 2005 2006 2007 2008 Jahr
Projektbeginn Wirkbetriebseinführung Phase 1
Seite 54 / 77
54. Aktueller Stand im Projekt
Stabilität / Verlässlichkeit
– DSL ist seit über zwei Jahr stabil
– Generatoren sind stabil und zuverlässig
– Framework ist bis auf kleinere Änderungen stabil
– Entwicklungsprozess hat sich stabilisiert und bewährt
Seite 55 / 77
55. Risiken
Bindung der Generatoren an proprietäres Tool
Komplexität der DSL muss begrenzt bleiben
– Gefahr unklarer Modellierungsregeln
– Gefahr impliziter Abhängigkeiten zwischen Modellierungselementen
Seite 56 / 77
56. Erwartung an MDSD
+ Erfolgreiches Management der Mengen an Detailinformationen
+ Robuste Software durch Framework-Einsatz
+ Kurze Reaktionszeiten bei Änderungen der Anforderungen (change
requests, bugs)
+ Wartung verringert sich um mehr als 50 %
• Zu erwartende Aufwandsvorteile in zukünftigen Phasen
• durch Einsatz der bestehenden Domain Architecture
• Lernkurve bewältigt
• Erweiterung der Software-Systemfamilie
Seite 57 / 77
57. Resümee
In unserem Fall und bei unserer Ausgangssituation hat sich der
Einsatz von Modellgetriebener Softwareentwicklung gelohnt.
Seite 58 / 77
58. Literatur
Modellgetriebene Softwareentwicklung. Techniken, Engineering,
Management
– Stahl, Völter,Efftinge
– DPunkt Verlag (2007) - ISBN-10: 3898644480
Modellgetriebene Softwareentwicklung. MDA und MDSD in der
Praxis
– Pietrek et al
– Entwicklerpress (2007) - ISBN-10: 3939084115
Model Driven Architecture. Applying MDA to Enterprise Computing
– David S. Frankel
– OMG Press (2003) - ISBN-10: 0471319201
Seite 59 / 77
61. Standards OMG / Eclipse
OMG
– MOF – Modellierungssprache für Metamodelle
– UML – Modellierung
– OCL – dynamische Constraints
– QVT – model-to-model Transformationen
Eclipse – de facto Standards
– ECORE - Metamodellierung
• semantisch gleichwertig zu (E)MOF
• beide werden sich annähern
– abgeleitet Standards wie
• UML2 – UML für Eclipse
• QVT für Eclipse
• OCL für Eclipse
Seite 62 / 77
62. Tools im Eclipse-Umfeld - Metamodellierung
Alle MDSD-Entwicklungen unter Subprojekt
Eclipse Modelling Project
Metasprachen und Editoren für Metamodelle
– erlaubt die Definition neuer Metamodelle auf Basis von ECORE
• EMF liefert Framework zur Editierung
• UML nach ECORE Umwandlung (oAW – uml2ecore )
– Frameworks zur BNF basierten Definition von DSL
• Xtext (integriert in openArchitectureWare)
Seite 63 / 77
63. Tools im Eclipse-Umfeld - DSL Editoren
Syntax- und kontextbezogene Editoren für textuelle DSLs
– Xtext
GMF – graphische Editoren auf Basis eines ECORE Modells
– wird von Borland aktiv und maßgeblich getrieben
– Validierungs-Frameworks lassen sich integrieren
Seite 64 / 77
65. Tools im Eclipse-Umfeld - Generierung
Metamodell-Unterstützungen
– Ecore, UML2, ….
Generatoren (model-to-text-Transformationen)
– Template Engines
• EMF – JET
• oAW – Xpand2
– MOFScript – model to text Transformation
Validierungen
• OCL
• Check (oAW)
model-to-model Transformationen
– QVT Implementierungen
• SmartQVT (Teil des Standards)
• ATL (QVT – Dialekt)
Seite 66 / 77
66. openArchitectureWare (oAW)
http://www.eclipse.org/gmt/oaw/
Software-Generator Framework
bietet
– Integration vieler Metamodelle
• EMF, UML, RSA, Xtext (BNF-like)
– Template Sprachen (Xpand2)
– Model-zu-Model-Transformationen (Xtend)
– bietet Validierungen (Check) inkl. Integration in GMF
– Konzepte zur Integration eigenen Codes in Generatorartefakte (recipe)
interne Konzepte entsprechen nicht immer Standards
basiert auf dem b+m Generator Framework
Seite 67 / 77
67. AndroMDA
Links
– http://galaxy.andromda.org/docs-a4
– http://galaxy.andromda.org/docs/getting-started/java/index.html
– http://galaxy.andromda.org/docs-3.2/contrib/birds-eye-view.html
Software-Generator Framework
– aktuelles Release 3.2 (A3)
– Neuentwicklung in Version 4 (Previews verfügbar)
AndroMDA 3 setzt Schwerpunkte auf
– Einsatz vom UML als Metamodell (UML Profiles)
• kann auf Basis MOF erweitert werden
• eigene Objektmodell (metafacade) basierend auf Netbean MDR
– Generierung einer JEE-Anwendung
– Einsatz von vorgefertigten Cartridges
• Hibernate, EJB, Spring, ….
Seite 68 / 77
68. AndroMDA
Quelle: http://galaxy.andromda.org/
Seite 69 / 77
69. AndroMDA
AndroMDA 4 bietet
– die Definition eigener Metamodelle
• EMF basierte Metamodelle
• UML 2 Ecore Converter
– model-to-model-Transformationen via ATL
– model-to-text-Transformationen mittels MOFScript
– … beides Teilmengen von OCL
– eigenen Workflow, konfigurierbar in Groovy
– bessere Integration in Eclipse
– maven basierter Entwicklungsprozess
– nicht abwärtskompatibel zu A3
Seite 70 / 77
70. openMDX
http://www.openmdx.org/index.html
stellt Laufzeitumgebung zur Ausführung von Modellen bereit
– kein Generator-Ansatz
implementiert den MDA Standard gemäß OMG
– Modellierung erfolgt in MOF
– basiert auf JMI-Binding
generische Plattform für verteilte Objekte
– abstrahiert von Standards wie JEE, CORBA, etc.
– Plattform-unabhängige Logik
Code wird in plug-ins bereitgestellt
– es existieren generische plug-ins für Peristence, Verteilung etc…
Seite 71 / 77
74. Fornax - Sculptor
http://www.theserverside.com/tt/articles/content/ProductivityWithSc
ulptor/article.html
ist ein Plattform zur Codegenerierung
besitzt eine textuelle DSL auf Basis oAW/XText
basiert auf Konzepten des Domain Driven Designs
liefert Cartridges für gängige Frameworks
– Spring, Hibernate und Java EE
Seite 75 / 77
75. UML Tools
IBM Rational Software Architect, Borland Together
Architect, Magic Draw, Enterprise Architect usw.
– bieten i.d.R. Export in EMF-Umfeld
• genauer Export in EMF UML2 2.x
• somit steht das EMF-Umfeld für Generatoren zur Verfügung
– bieten teilweise eigene Schnittstelle auf Modell an
– haben teilweise UML2 2.x als internes Metamodell
• Together Architect 2008
– bieten teilweise integriertes OCL
• Editor
• Ausführungsumgebung
• dynamische Constraints in UML-Profilen
– graphische Editoren basieren teilweise auf GMF
– bieten teilweise Unterstützung für QVT
UML- und EMF-Welt wachsen zusammen
Seite 76 / 77