5. Datenbasis (Repositorium) und Austauschformate. 5.1 Ziele und Aufgaben der Datenbasis (Repositoriums) Aufgaben des Repository.



Ähnliche Dokumente
11. Datenablage (Datenbasis, Repositorium) und Austauschformate Ziele und Aufgaben der Datenbasis (Repositoriums) Aufgaben des Repository

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Model Driven Architecture (MDA)

Aufgaben des Repository

Model Driven Architecture Praxisbeispiel

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Vortrag von: Ilias Agorakis & Robert Roginer

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML

Model Driven Development im Überblick

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Workflow, Business Process Management, 4.Teil

Datenbanken. Prof. Dr. Bernhard Schiefer.

13. Einführung in die Architektur von Software-Werkzeugen Grobarchitektur von Werkzeugen. Obligatorische Literatur

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Übung: Verwendung von Java-Threads

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Übungen zur Softwaretechnik

Model Driven Software Development

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Predictive Modeling Markup Language. Thomas Morandell

Jochen Bauer

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Persistenzschicht in Collaborative Workspace

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Design mit CASE-Tools

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

SAP NetWeaver Gateway. 2013

WhiteStarUML Tutorial

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

LabTech RMM. Integration von Teamviewer. Vertraulich nur für den internen Gebrauch

Datenmanagement in Android-Apps. 16. Mai 2013

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Mobile-Szenario in der Integrationskomponente einrichten

Factory Method (Virtual Constructor)

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Business Intelligence Praktikum 1

Automatisierungsarchitekturen für das Smart Grid Am Beispiel der OPC UA und der IEC Dr.-Ing. Mathias Uslar, Sebastian Rohjans

OP-LOG

Metadateneditoren für ArcGIS

MSSQL Server Fragen GridVis

Objektorientierte Programmierung. Kapitel 12: Interfaces

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo.

Integrationsprozesse. cross component BPM - Steuerung systemübergreifender Szenarien. Konrad Lubenow, FHTW Berlin, Juli 2007

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

visionapp Base Installation Packages (vbip) Update

Bibliothekssysteme / Verbundsysteme / Netze

Konfiguration von Fabasoft Mindbreeze Enterprise für IBM Lotus

SharePoint Demonstration

ObjectBridge Java Edition

Fragen zur GridVis MSSQL-Server

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

DSL Entwicklung und Modellierung

Metadaten bei der Digitalisierung von analogen archivalischen Quellen. Kathrin Mileta, Dr. Martina Wiech

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Macher Solutions Produktinformation SAP Crystal Reports 2011

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Vorlesung "Software-Engineering"

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

MetaQuotes Empfehlungen zum Gebrauch von

Containerformat Spezifikation

XML-Austauschformat für Sicherheitsdatenblätter

Allgemeines zu Datenbanken

Jens Kupferschmidt Universitätsrechenzentrum

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Information-Design-Tool

FAQ The FAQ/knowledge base. Version 2.1.1

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Containerformat Spezifikation

Architektur des agimatec-validation Frameworks

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

teischl.com Software Design & Services e.u. office@teischl.com

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Lizenzierung von Windows Server 2012

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Assoziation und Aggregation

Installation der SAS Foundation Software auf Windows

Software Engineering II

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Michael Piechotta - CASE Tools. openarchitecture Ware

Kurzanleitung ejax Online-Demo

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Konzept Projekt Lisa

7. Übung - Datenbanken

Transkript:

5. Datenbasis (Repositorium) und Austauschformate Literatur Netbeans Metadata repository (MDR) http://docs.huihoo.com/netbeans/netbeanstp.pdf Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 09-0.4, 02.12.09 1) Ziele 2) Architektur 3) Beispiele 4) Austauschformate 5) Frameworks zur Werkzeugintegration (PCTE) SEW, Prof. Uwe Aßmann 1 5.1 Ziele und Aufgaben der Datenbasis (Repositoriums) Aufgaben des Prof. U. Aßmann, SEW 2 Eine Datenbasis (Repositorium, repository) ist die Ablage aller Informationen eines Systems, ohne genauer Art und Umfang der Ablage festzuschreiben. In einer SEU enthält es alle passiven und aktiven Komponenten zur Handhabung der Basisinformationen der Werkzeuge [12, S. 121ff.]. Komponentenbank CASE- Weitere Werkzeuge Fenstersystem SEW, Prof. Uwe Aßmann 3 Retrieval- System Programmiersystem Ausgabesystem Prof. U. Aßmann, SEW 4

Zielstellungen für Repositories Zielstellungen für Repositories (2) Transparente persistente Dokumentspeicherung: Einfache Abbildung aller Datenobjekte eines SE-Modells (Dokument, graph. Parameter) auf persistente Datenstruk-turen im auch bei Änderung der Objekte (Systemausfall) Entkopplung: Physische und logische Datenunabhängigkeit, d.h. Trennung der Programme (Werkzeuge) von physischer bzw. konzeptioneller Repräsentation der Daten Abhängigkeit von Schemata: Datenmodell: Transparent und über mehrere Metamodellebenen für die auszutauschenden Daten zwischen und Werkzeugen leicht handhabbar Externe Schemata: Für Steuerung des Zugriffs, in dem zu unterschiedlichen Rollen verschiedene externe Schemata für ein Dokument defi nierbar sind Schema-Änderungen: Sollen bestehende Daten in der Datenbasis erhalten Schnittstellen: Programmierbare APIs (Anfragesprachen, prozedurale Programmierschnittstellen), möglichst aus Metadaten generiert Administration: Verfügbarkeit allgemeiner Verwaltungsfunktionen und auch für die Erstellung administrativer Ausgaben (Statistiken) Quelle: nach Habermann, H.-J., Leymann, F.: - eine Einführung; Oldenbourg Verlag 1993 und Däberitz, D.: Der Bau von SEU mit NDBMS; Diss. Uni Siegen 1997 Prof. U. Aßmann, SEW 5 Kollaboration von Werkzeugen auf dem Repositorium mit Rollenobjekten Werkzeug Schreibschicht Leseschicht Schreib rolle - Authentifikationsschicht Werkzeug Lesē rolle Authentifikations - rolle Werkzeug Kollaborationsschichten Werkzeug- Schicht Effektive Arbeitsweise: Verteilung: Zugriff von verschiedenen Orten aus und Bereitstellung einheitlicher Basisfunktionen für die kooperierende Arbeit mehrerer Benutzer(-gruppen) Transaktionen: Dienen der Synchronisation von Metadaten und Objektdaten. Sie können dazu benutzt werden, um temporär inkonsistente Zwischenzustände von Dokumenten zu verwalten Leistungsfähigkeit: Notwendig insbesondere für schnellen, effi zienten Zugriff auf umfangreiche Dokumente Versionen: Verwaltung unterschiedlicher, zu einem Projekt gehörender Entwicklungsstände von Dokumenten Usability: Einfache Bedienung durch einheitliche ergonomische Benutzungsoberfl ächen Entwicklungsqualitäten: Adaptierbarkeit: Einbettung des in gewünschte Entwicklungsrichtung (kommerzielle oder technische Informationssysteme, Standardsoftware) Portabilität: Zukunftssicherheit - Standardkonformität Aufwärtskompatibilität Quelle: nach Habermann, H.-J., Leymann, F.: - eine Einführung; Oldenbourg Verlag 1993 und Däberitz, D.: Der Bau von SEU mit NDBMS; Diss. Uni Siegen 1997 Prof. U. Aßmann, SEW 6 5.2 Architektur von Repositories Verteilungsschicht Verteilungs - rolle Material - Rolle Material - Kern Material Speicher aller komplexen Objekte Prof. U. Aßmann, SEW 7 SEW, Prof. Uwe Aßmann 8

- Datenintegrationsstufen sart Schema Wirkungsweise Grobarchitektur bei Datenteilung (Metamodellgesteuertes Repositorium Black-box- (schwach) Grey-box- (mittel) White-box- (stark) Quelle: [Bal-II, S. 608] CASE tool Dateien check out CASE tool check in CASE tool Daten Daten CASE tool...... Daten CASE tool Datenschema Werkzeug arbeitet isoliert wie bisher auf eigenen Datenstrukturen Repositorium stellt Daten bereit (check out) Nach Werkzeugarbeit Ablage in Repositorium (check in) Repositorium stellt Dienste zur Verfügung Werkzeugzugriffe durch -Dienste ersetzt Unterstützung von Datenintegrität und Interoperabilität zwischen Werkzeugen Keine Offenlegung essentieller Bestandteile der Werkzeug-Implementierung Verkapselung in einem Zugriffsmodul Definition einheitl. Datenschema für alle Werkzeuge Alle Werkzeuge setzen über Zugriffsdienste darauf auf Einfache Sicherung von Konsistenz, Datenintegrität und Datensicherheit Werkzeuge sind ständig (bei Änderung) an Datenschema anzupassen Prof. U. Aßmann, SEW 9 IRDS/MOF Metahierarchie (Wdh.) Dictionary Definition Schema Schicht Dictionary Definition Schicht Definiert Kontrolliert ERD DFD Metametamodell-Schicht (Fixiert durch Standard) Metamodell-Schicht OOA persistente Objektspeicherung Repositorium Datenbasis des Projektes 5.3 Beispiele INTERFACE Metadatenverwaltungssystem Tool-Export-Import Schnittstelle Operationen zur Datenverwaltung und -manipulation Prof. U. Aßmann, SEW 10 Dictionary Schicht Definiert Kontrolliert Archived Controlled Modell-Schicht Uncontrolled Definiert Daten-Schicht Anwendungs- Schicht M0 Notes reale Datenbanken Datenbasis (Daten der "Realen Welt") Prof. U. Aßmann, SEW 11 SEW, Prof. Uwe Aßmann 12

Beispiele für Repositories Beispiele Bezeichnung Kurzcharakteristik Bezeichnung Kurzcharakteristik IBM Manager WebSphere Database von IBM SAP R/3-System für AD/Cycle, offene Architektur für leichten Anschluss von, teamorientiert Administration- zur Installation, Überwachung und Pfl ege von Datenquellen und Enterprise Applications Eigentlich R/3-Data-Dictionary für Ablage von Metadaten auf Basis tabellarischer Datenstrukturen. DD-Tabellen ursächlich für Speicherung kommerzieller Daten aber auch für R/3-Entwicklungsumgebung Hibernate Netbeans Metadata (MDR) Eclipse EMF Object-relational mapper (ORM); Abbildung von Java- Objekten auf Relationen, analog zu ERD-Abbildung, Verwendung von verschiedenen SQL-Datenbanken Metasprache MOF; Laden von Metamodellen möglich; Generierung von Modell-Zugriffsschnittstellen; reflektiver Zugriff auf Metasprache EMOF; ansonsten wie oben SAP NetWeaver Master Data Management (MDM) Verteilte Stammdatenverwaltung zur Pfl ege, Konsolidierung und Harmonisierung integrierter Informationen über gültige Stammdatenattribute Subversion/CVS/git Versionsverwaltungssysteme auf File-Basis; Verwaltung von Versionen aller Files und Verzeichnisse PCTE Object Management System innerhalb einer PCTE-Umgebung Quelle: Habermann, H.-J., Leymann, F.: - eine Einführung; Oldenbourg Verlag 1993 AD/CYCLE-Architektur (IBM) Prof. U. Aßmann, SEW 13 SAP NetWeaver MDM Prof. U. Aßmann, SEW 14 User Interface Master Data Management (MDM) AD Platform Workstation Service Work Management Tool Services AD Information Model AD MDM Data Manager Search and identify identical master data objects Merge identical objects centrally Provide relevant key mapping information MDM Server MDM Import Manager Import new objects Match and merge identical or duplicate objects centrally Provide relevant key mapping information Quelle: [1, S. 141] Service Library Service Prof. U. Aßmann, SEW 15 Quelle: URL: http://sdn.sap.com, Artikel von David, Klaus Legacy system SAP NetWeaver XI SAP R/3 system Non-SAP system Converts data into XML format Prof. U. Aßmann, SEW 16

Metamodellgesteuerte Repositorien Netbeans MDR Ein metamodellgesteuertes Repositorium erlaubt es, verschiedene Metamodelle zu laden, auch gleichzeitig Ist zugeschnitten auf eine Metasprache Speicherung von Metadaten möglich (metadata repository), aber auch n (model repository) Vorteile: Generierung von Zugrifsschnittstellen zu den n (starke Typisierung) Verwendung von refektiven Zugrifsschnittstellen zu den n (schwache Typisierung). z.b. Zugrif auf Extent: Zugrif auf alle eines Metamodells oder alle Objekte eines Modells Observation der möglich (durch Einhängen von Observern) Ein metamodellgesteuertes Repositorium für die Netbeans SEU http://www.netbeans.org, Metasprache MOF Speicherung von MOF-Metamodellen und -Metadaten möglich (metadata repository), aber auch n (model repository) Vorteile: Generierung von Java-Zugrifsschnittstellen zu den n (starke Typisierung), via JMI (MOF-Java-Mapping) Verwendung von refektiven Zugrifsschnittstellen zu den n (schwache Typisierung). Via Refektion auf MOF-Konzepten (Klassen, Attributen, Assoziationen, Vererbung). Zugrif auf Extent Observation der möglich Transparente Speicherung im Hauptspeicher, Filesystem oder in einer Datenbank Austauschformat XMI (MOF-XML-Mapping) Prof. U. Aßmann, SEW 17 Prof. U. Aßmann, SEW 18 Netbeans MDR Eclipse EMF (basierend auf EMOF) MOF EMOF laden MOF CWM laden EMOF CWM <<generates>> <<generates>> MOF-Metamodell MOF-Java Access Package -Java Access Package CWM-Java Access Package EMOF- Metamodell EMOF-Java Access Package -Java Access Package CWM-Java Access Package M0 MOF-Java -Java CWM-Java M0 EMOF-Java -Java CWM-Java Persistenz auf Datei, Datenbank, etc. in verschiedenen Repräsentationen MOF-Java Database -Java XML CWM-Java File Prof. U. Aßmann, SEW 19 Persistenz auf Datei, Datenbank, etc. in verschiedenen Repräsentationen EMOF-Java Database -Java hibernated CWM-Java File Prof. U. Aßmann, SEW 20

5.4 Austauschformate Austauschformat konkrete Syntax Als Austauschformat ist von jeher konkrete textuelle Syntax benutzt worden (mittels Technologieraum Grammarware, mit Metasprache EBNF) lesen den Text und wandeln ihn in das interne Format Prettyprinter schreiben das interne Format um auf die konkrete Syntax Einsatz in Transformations-Brücken zwischen Repositorien SEW, Prof. Uwe Aßmann 21 Transformative TS-Brücken mit konkreter Syntax CASE Data Interchange Format (CDIF) Prof. U. Aßmann, SEW 22 Eine Technologieraum-Brücke (TS-Brücke, TS bridge) bietet ein Austauschformat in konkreter Syntax (via dem TS Grammarware) eine Generierungstechnik für und Am besten: normative konkrete Syntax TS OWL EMFText: normative konkrete Syntax for Ecore Xtext: normative konkrete syntax for Ecore and OAW OWL EBNF EMOF TS Grammarware TS Ecore 23 Prof. U. Aßmann, SEW 23 CDIF ist ein Austauschformat für CASE-Werkzeuge, basierend auf Metasprache auf : ERD Austauschformat einfachen, transparenten Aufbaus zwischen (Modell-) und Repositories hersteller- und methodenunabhängig unterstützt die Kooperation zwischen verschiedenen und Projekten Folgende Standardgruppen existieren: Zur Defi nition der CDIF-Architektur: Data Interchange Format - Überblick Framework for Modelling and Extensibility Zur Defi nition von Transfer Formaten: Allgemeine Regeln für Syntax und Verschlüsselung OMG IDL Bindings u. a. Semantisches Inform.- Metamodell: Foundation Subject Area Common Subject Area Data Modeling Subject Area,... Präsentations Informations - Meta-Modell: Festhalten von Layout-Information Quellen: OMG-Dokument ad/98-07-09; http://www.cdif.org Prof. U. Aßmann, SEW 24

CDIF-Modellbeschreibung eines DFD Transformative TS-Brücken via CDIF Den Objekten eines Datenfl ußdiagramms (DFD) sind folgende Attibute zuzuordnen (Spezifi kation von DFD in CDIF, textuelle Notation von ERD): TS-Brücken (via CDIF) generieren und Normative konkrete Syntax in der CDIF-Spezifkation festgelegt obj_dfd (dataflowdiagram dfd_title {dfd_element} ) dfd_title (dfdtitle @dfd_title_id dfd_title_name )... dfd_element dfd_bubble dfd_store dfd_term dfd_tb dfd_csc dfd_flow dfd_bubble (process pt pt @process_id process_name inst_num [process_type] ) @process_id (processid string ) process_name (processname string ) process_type (processtype string ) dfd_store (store pt pt store_name inst_num ) store_name (storename string ) TS MOF TS CDIF TS EMOF MOF ERD EMOF DFD DFD DFD Models Textuelle Repräsentationen 26 Prof. U. Aßmann, SEW 25 Prof. U. Aßmann, SEW 26 Details - Transformative Brücke CDIF XMI - XML Metadata Interchange Format CDIF-Brücke defniert eine Textuelle Syntax für ERD (ERD-T) normative textuelle Repräsentation (für alle Sprachen auf gleich) Ziel: anbieterneutrales ofenes Austauschformat für Metadaten/ in verteilten Umgebungen Metasprache MOF generisches Stream -Format TS MOF TS CDIF lose gekoppelte Architektur, einfach für Anbieter zur Verarbeitung in aktuellen Produkten MOF DFD ERD-T DFD überwindet Lücken zwischen inkompatiblen, Repositories und Anwendungen Stand: OMG-Standard für XML Metadata Interchange (XMI) zwischen Repositories, und Anwendungen Version 2.1 (formal/2005-09-01) DFD- Diagramm DFD-Textuelle Repräsentation Allerdings: Wegen des Indeterminismus des spannenden Baumes keine volle Kompatibilität möglich 27 Prof. U. Aßmann, SEW 27 Prof. U. Aßmann, SEW 28

Transformative TS-Bridges via XML XMI: Transformative TS-Brücke XML is a normalized concrete syntax Because of trees, a linearized normalized concrete syntax is possible Good for exchange! Im allgemeinen Sinne ist XMI eine Brücke zwischen MOF und und anderen TS via XSD/XML TS OWL TS XML TS EMOF TS MOF XMI TS XML TS EMOF OWL XSD EMOF MOF XSD EMOF OWL OWL DFD L L L OWL Textuelle Repräsentationen von OWL in XML OWL Textuelle Repräsentationen von L in XML Prof. U. Aßmann, SEW 29 Prof. U. Aßmann, SEW 30 XMI: Transformative TS-Brücke für Zusammenhang XMI - Meist wird allerdings das nur für ausgeprägt. Dann ist XMI eine -Brücke XMI liegt ein Metamodell der zugrunde, das zweimal, in MOF und XSD, spezifziert wird Zwischen beiden Metamodellen wird ein Sprachabbildung (language mapping) angegeben Aus diesem werden und generiert TS MOF XMI TS XML TS EMOF MOF XSD EMOF TS MOF MOF TS XML XSD Textuelle Repräsentationen von in XML Prof. U. Aßmann, SEW 31 Type Attribute Association Type Attribute Association Textuelle Repräsentationen von L in XML Prof. U. Aßmann, SEW 32

Problem: normativer spannender Baum für Graphmodelle bzw. MOF sind graphbasiert, XML baumbasiert XML muss bestimmte Links in Namensreferenzen aufösen Dazu wird über oder MOF-Modell ein Spannender Baum gelegt (z.b. entlang der Aggregation) Alle Links, die nicht im spannenden Baum vorkommen, werden mit Namensreferenzen dargestellt, und nicht im XML Baum Da der spannende Baum nicht deterministisch ist, entstehen Inkompatibilitäten TS MOF TS XML Einschub: - Metamodell Type Attribute Type Attribute Association Association Prof. U. Aßmann, SEW 33 SEW, Prof. Uwe Aßmann 34 Von MOF abgeleitete Metamodelle Struktur von auf Infrastructure MOF Infrastructure <<instanceof>> <<import>> MOF CWM Superstructure Prof. U. Aßmann, SEW 35 Prof. U. Aßmann, SEW 36

Core Package des -Metamodells Package Basic: Types Basic: Grundkonstukte für XMI Abstractions: abstrakte Metaklassen Constructs: Metaklassen für oomodellierung Primitive Types: vordefiniert im Metamodell Quelle: 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15 Package Basic: Classes Prof. U. Aßmann, SEW 37 Die abstrakten Metaklassen dienen zum Benennen und zur Typdefinition von Elementen Quelle: 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15 Package Structure 2.0 Prof. U. Aßmann, SEW 38 Definieren einer Klasse als Typ und Festlegung der weiteren Elemente zur klassenbasierten Modellierung Enthält alle Packages zur systemstrukturierten und verhaltensorientierten Modellierung Quelle: 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15 Prof. U. Aßmann, SEW 39 Quelle: 2.0 Infrastructure Specification; OMG Adopted Specification ptc/03-09-15 Prof. U. Aßmann, SEW 40

Beispiel einer XMI-Objektinstanz: Kodierung einer -Klasse example <?xml version = 2.0"?> <!DOCTYPE XMI SYSTEM "uml.dtd"> <XMI xmi.version= 2.0"> C1 <XMI.Header> <XMI.Metamodel name= href=.xml /> #A1 <XMI.Model name= example href= example.xml /> </XMI.Header> <XMI.Content> <Core.Basic.NamedElement.name>example</Core.Basic.NamedElement.name> <Core.Basic.Class> <Core.Basic.NamedElement.name>C1</Core.Basic.NamedElement.name> <Core.Basic.feature> Typen <Core.Basic.Property> <Core.Basic.NamedElement.name>A1</Core.Basic.NamedElement.name> <Core.Sasic.NamedElement.visibility xmi.value= protected"/> </Core.Basic.Property> [<Core.Basic.Operation>... </Core.Basic.Operation>] </Core.Basic.feature> </Core.Basic.Class> (ähnliches Beispiel siehe : www.jeckle.de/xmi_ex1.htm) </XMI.Content> </XMI> Prof. U. Aßmann, SEW 41 Datenaustausch zwischen und CWM im Kontext von MDA Transfomation von XMI-basierten n mit XSLT Auf XML-Basis PML-DTD PML-Modell als XMI-Datei XMI-Export Vier Ebenen PML-- Abbildung als XSLT-Skript XSLT- Prozessor -DTD wird beschrieben durch validiert durch validiert durch wird beschrieben durch -Modell als XMI-Datei XMI-Schnittstelle (Unisys XMI-Plugin) CASE-Tool (z. B. Rational Rose) Quelle: Großmann, A.: XMI für prozedurale Programmstrukturen und Transformation in ; Diplomarbeit an der Fakultät Informatik der TU Dresden, 2000 Prof. U. Aßmann, SEW 42 Integrated Modelling using Transformation- Based Bridges MDA:= Model Driven Architecture -Metamodell CIM PIM PSM MOF Metamodell Computation independent model XMI-Dateien PSM XMI- Dateien CWM:= Common Warehouse Metamodel CWM CIM Spezifi sches relationales Datenbankmodell TwoUse (U Koblenz) ist eine Transformationsbrücke zwischen TS ADOxx (BOC Wien) und TrOWL (OWL, Uni Aberdeen) ADOxx as an integrated modelling toolkit 0. create integrated model model 8. display result on model E.g. mark invalid objects ADOxx Integrated Modelling based on MOST Integrated Language 1. IsModelValid (model, query) 7. return model result ADOxx TwoUse 6. process result back As model result 2. Transform intgr. model model into OWL only ontology and transform query into SparQL 3. IsOntologyValid (onto, query) 5. return ontology result WS TrOWL TrOWL as semantic reasoner 4. Perform Reasoning on Ontology onto J2EE/EJB Profi le EJB Code CORBA/IDL Profi le IDL Code Quelle: Andresen, A.: Komponentenbasierte Softwareentwicklung mit MDA; und XML; Hanser Verlag 2003, S. 251 Prof. U. Aßmann, SEW 43, BPMN, DSL Modelling world Modelling World + Declarative Constraints Expressed in OWL TwoUse Bridge Ontology Reasoning World 27 Prof. U. Aßmann, SEW 44

5.5 Frameworks zur Werkzeugintegration (PCTE) Portable Common Tool Environment (z. B. PCTE +, HPCTE) Schnittstellenstandard -- unterstützt systemunabhängigen Zugriff Zugriff auf auf Werkzeuge (innerhalb von von EU-Projekten entwickelt) Distribution and Process Communication PCTE User Interface (OSF/Motif) mit Access Control Functions Tool Tool Tool PCTE Object Management System mit Schemadefi nitionen (Objekt - Attribute, Links) Host Computer Operating System SEW, Prof. Uwe Aßmann 45 Technische Merkmale von PCTE Quelle: ECMA - Portable Common Tool Environment (PCTE), Abstract Specifi cation; ECMA-149, 2nd Edition, Juni 1993 Prof. U. Aßmann, SEW 46 PCTE-OMS-Modell (Object Management System) PCTE stellt eine Menge hochintegrierter Basisdienste bereit, die eine vielseitige Grundlage für verteilte Software-Entwicklungsumgebungen (SEU) bilden, die auch oft SEU-Frameworks oder Repositories genannt werden. Hauptmerkmale sind: verteiltes DBMS basierend auf dem ERM mit Erweiterungen, wie zusammengesetzte Objekte, Versionen, Mehrfachvererbung, dynamisch kreierte Sichten, eingebettete Transaktionen usw. ein exklusives Ausführungssystem, welches Prozeßhierarchien, Vererbung von offenen Files, Prozeßkommunikation über Pipes und Nachrichtenwarteschlangen gestattet. Werkzeuge können als Shell-Skript geschrieben und in mehreren Fenstern unterstützt werden. verteilte Dienste, d.h. Objektbasis und Prozesse sind transparent verteilt, Replikation von Objekten sowie Schema-Management sind ebenfalls dezentralisiert. erweiterbare Sicherheitsmerkmale, wie Vertraulichkeit, geschützte Zugriffssteuerung für individuelle Objekte, Revisionsfähigkeit. PCTE ist selbstreferenzierend, das bedeutet, Typen, Prozesse, Teile der Objektbasis, Nutzer und Nutzergruppen werden einheitlich repräsentiert als Objekte. Das OMS stellt Datentyp- und Datenspeichermöglichkeiten sowie Concurrency- Control-Mechanismen zur Verfügung, defi niert statische Informationen, die in der object base (Repositorium aller persistenten Daten) gehalten werden, überwacht Gesamtheit der an verteilten Host verfügbaren Objekte (auch replizierte) liefert Konzepte für die Softwareentwicklung, wie beispielsweise die (Typ-)Vererbung der objektorientierten. Das OMS ist metamodell-gesteuert. Es enthält Typdefi nitionen, die in Schema Defi nition Sets (SDS, Metamodelle) beschrieben werden: Objekte: Basisentitäten, auf denen Operationen der Werkzeuge ausgeführt werden. Instanzen können Dokumente, Textfi les, Quell- oder Objekt- code, Task aber auch Geräte und Nutzer sein. Links (Assoziationen): gerichtete Beziehungen zwischen (Ursprungs-) und (Ziel-)Objekt (bidirektional) Attribute: beschreiben Objekte und Links näher. Sie enthalten einen bestimmten Wertetyp und können sowohl Schlüssel- als auch normales Attribut sein. Quelle: http://pi.informatik.uni-siegen.de/pi/hpcte/hpcte.html Prof. U. Aßmann, SEW 47 Quelle: http://gille.loria.fr:7000/emeraude/emeraude.html Prof. U. Aßmann, SEW 48

PCTE-OMS Metaschema (Metasprache) PCTE-Objekt-Strukturen sds_object PCTE Metamodell: object i c.in_sds type_refence.defi nition device directory pipe fi le managed by specifi c primitives object_type_ in_sds link_type_ in_sds attribut_type_ in-sds ().is_in_sds ().is_in_sds i ().is_in_sds i category i c stability c boolean.parent_type c.of_type.of_type cardinality.of_type string integer type_reference type_reference data r object_type link_type i r attribut_type i.key_attribut_of ().is_attribute_of.in_attribut_set r r.subtype Link-Typ Kategorien: c composition bei Anlegen eines neuen Objekts in Referenz zum existierenden. r reference zwischen Ursprungs- und Zielobjekt i implicit kann z.b. reverse link für einen angelegten Link sein s system implicit, automatisch vom System (PCTE-OMS) gesetzt. Prof. U. Aßmann, SEW 49 Beispiel-Modell: authorization User Document soft-created_by writes_in author_of email_address title subtype of execut. fi les soft tool Mailbox document user_guide documented_by Software documents Prof. U. Aßmann, SEW 50 Emeraude PCTE Framework Environment Specifi - cation Design Coding Test VERTICAL TOOLS Validation Command Documentation Language (Text+Graphik) Interpreter Management HORIZONTAL TOOLS Data Management Confi guration and Version Managm. Public Tool Interface (PTI) Framework Presentation Services Data Service Platform Control Services Prof. U. Aßmann, SEW 51