Domänenspezifische Sprachen und UML-Profile

Größe: px
Ab Seite anzeigen:

Download "Domänenspezifische Sprachen und UML-Profile"

Transkript

1 Domänenspezifische Sprachen und UML-Profile Udo Kelter Zusammenfassung dieses Lehrmoduls Eine domänenspezifische Sprache (domain-specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (eine Domäne) entworfen und implementiert wurde. Eine gängige Methode zur Entwicklung von DSL besteht darin, eine vorhandene Sprache zu modifizieren. Die UML unterstützt diese Methode zur Entwicklung von DSL durch Profile. Dieses Lehrmodul gibt eine informelle Einführung in DSLs und Profile. Vorausgesetzte Lehrmodule: obligatorisch: Modellgetriebene Software-Entwicklung Metadaten empfohlen: Die Unified Modelling Language (UML) Version 2 Stoffumfang in Vorlesungsdoppelstunden: 0.7 1

2 Domänenspezifische Sprachen und UML-Profile 2 Inhaltsverzeichnis 1 Domänenspezifische Sprachen Charakterisierung Syntax Semantik DSLs vs. Systemfamilien DSLs vs. Modellierungssprachen UML-Profile Einordnung Exkurs: UML-Pakete Paketimport Paketverschmelzung Anforderungen an Profile Aufbau und Inhalt von Profilen Profile als Pakete Stereotypen Graphische Anzeige von erweiterten Klassen Instanzbildung Literatur Index Dieser Text darf für nichtkommerzielle Nutzungen als Ganzes und unverändert in elektronischer oder gedruckter Form beliebig weitergegeben werden und in WWW-Seiten, CDs und Datenbanken aufgenommen werden. Jede andere Nutzung, insb. die Veränderung und Überführung in andere Formate, bedarf der expliziten Genehmigung. Die jeweils aktuellste Version ist über erreichbar.

3 Domänenspezifische Sprachen und UML-Profile 3 1 Domänenspezifische Sprachen 1.1 Charakterisierung Eine domänenspezifische Sprache (domain-specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (eine Domäne) entworfen und implementiert wurde. Es gibt sehr viele, oft sehr alte DSLs: LaTeX, HTML, Postscript usw. sind Sprachen, mit denen die Inhalte von anzuzeigenden Seiten beschrieben bzw. programmiert werden können. Die Eingabesprachen von Generierungssystemen wie make, ant usw. sind Sprachen, mit denen Softwaresysteme generiert werden können. SQL und andere Datenbankabfragesprachen sind DSLs, mit denen man Inhalte aus Datenbanken extrahieren kann. Die Formeln, mit denen man in Spreadsheets Zelleninhalte berechnen kann, sind eine DSL. Das Format, in den Steuerdaten für Modelltransformatoren spezifiziert werden, ist eine DSL. Viele komplexe Systeme haben umfangreiche Einstellungs- und Konfigurationsoptionen. Die konkreten Einstellungen werden in einer Ressourcen -Datei als Text gespeichert. Die Sprache. in der diese Texte formuliert sind, ist ebenfalls eine DSL. DSLs sind insofern ganz normale (Rechner-) Sprachen als sie eine formale Syntax und eine Semantik haben und daß es Übersetzer oder Interpreter gibt, die Programme in diesen Sprachen ausführen können. Der Unterschied zu allgemeinen Programmiersprachen liegt im Bezug auf die spezielle Domäne: Programmiersprachen können beliebige Algorithmen ausdrücken und beinhalten keine domänenspezifischen Begriffe. Im Gegensatz dazu bezieht sich die Bedeutung von DSLs (also von Programmen, die in einer DSL geschrieben sind) immer auf Konzepte der Applikationsdomäne.

4 Domänenspezifische Sprachen und UML-Profile 4 Beispielsweise ist in dem SQL-Kommando select count(*) from kunden natural join lieferungen implizit klar, daß kunden und lieferungen Tabellen sind, ohne daß diese Konzepte (bzw. Datentypen) explizit definiert worden sind. La- TeX und andere Formatierungssprachen beinhalten dagegen Konzepte wie Fettschrift, Zeilenabstand oder Seitenvorschub. Ein typisches Merkmal von DSLs ist, daß sie außerhalb ihrer Domäne unbrauchbar sind. In vielen DSLs kann man keine allgemeinen Algorithmen und Datentypen implementieren, von daher ist diese Beschränktheit hart. Selbst wenn eine DSL ausnahmsweise algorithmisch vollständig ist, ist es i.d.r. unpraktisch, sie außerhalb ihrer Domäne einzusetzen. Stilistisch sind DSLs i.d.r. deklarativ, d.h. es werden in der jeweiligen Syntax in erster Linie Sachverhalte notiert, keine Algorithmen, Schleifen, temporären Variablen o.ä. Es wird sozusagen das Problem spezifiziert, der Sprachprozessor findet den kompletten zugehörigen Lösungsweg vollautomatisch, was nur aufgrund der eingeschränkten Problemdomäne möglich ist. 1.2 Syntax Die meisten DSLs, vor allem ältere, haben eine textuelle Syntax. Neue DSLs haben oft eine graphische Syntax. Darüber hinaus sind aber auch tabellarische oder sonstige Darstellungen auf beliebigen Ausgabemedien denkbar. Die Art der Syntax ist nicht entscheidend dafür, ob eine Sprache eine DSL ist oder nicht. Nichtsdestotrotz haben graphische Sprachen Vorteile: DSLs sollen häufig von Fachleuten aus der Domäne verstanden und benutzt werden, die mit einer gut gestalteten graphischen Sprache meist besser zurechtkommen. Wesentlich für eine gute Benutzbarkeit einer DSL ist aber nicht nur die Syntax, sondern die Klarheit und Eignung der gewählten Begriffe und Funktionen, die oft als semantisches Modell bezeichnet werden.

5 Domänenspezifische Sprachen und UML-Profile 5 Nutzung von Basissprachen. Die Syntax einer DSL kann natürlich völlig neu und unabhängig definiert werden; dementsprechend sind alle Parser, Übersetzer, Prüfwerkzeuge usw. komplett neu zu implementieren. Um diesen hohen Aufwand zu reduzieren, werden viele DSLs aufbauend auf einer schon existierende Basissprache definiert. Beispiele: 1. XML als Basissprache: Die konkrete DSL entsteht, indem passende Elementtypen definiert werden. Hier spart man die Entwicklung eigener Scanner und Parser und kann viele XML-Werkzeuge gewinnbringend einsetzen. Für manche Nutzer ist allerdings das direkte Editieren von XML- Dateien eine unüberwindliche Hürde. 2. eine gängige Programmiersprache als Basissprache, z.b. Java: hierzu sind passende Datentypen und Operationen (also Bibliotheken), die wiederkehrende Funktionalitäten der Domäne implementieren, geschickt zu definieren, so daß im Endeffekt ein Programm in der DSL zusammen mit den vordefinierten Datentypen und Operationen ein korrektes und ausführbares Programm wird. Im Endeffekt werden 2 Effekte ausgenutzt: (a) durch die Bibliotheken wird der Sprachumfang der Gastsprache erweitert; (b) die Nutzung der Gastsprache wird stark eingeschränkt, nämlich i.w. auf die Nutzung der Bibliotheken. 3. eine vorhandene Modellierungssprache als Basissprache, z.b. die UML: i.w. analog zum Vorstehenden; Beispiele sind mehrere UMLbasierte DSLs, z.b. MARTE oder SysML. 1.3 Semantik Der Semantik-Begriff konventioneller Sprachen unterstellt, daß man Programm ausführen kann und dabei Effekte in Ausgabemedien, Datenbanken usw. entstehen. Bei DSLs ist nicht immer klar, ob man in ihnen geschriebene Texte ( Programme ) überhaupt ausführen will.

6 Domänenspezifische Sprachen und UML-Profile 6 Ein Beispiel ist die BNF (Backus-Naur-Form), die man als DSL zur Spezifikation von Grammatiken auffassen kann. Man kann aus BNF-Texten z.b. Teile von Compilern, Syntaxeditoren u.a. Werkzeugen ableiten. Die so abgeleiteten Programmfragmente haben Effekte, insofern wird die BNF ausführbar. Man kann die BNF-Texte aber auch nur dazu benutzen, Grammatiken zu spezifizieren, und es völlig offen lassen, ob irgendwann daraus irgendwelche Softwarekomponenten generiert werden. Bei ausführbaren DSLs ist die semantische Domäne, auf die sich die DSL bezieht, typischerweise eng umrissen. Daher brauchen sehr viele Eigenschaften der spezifizierten Systeme nicht explizit formuliert zu werden, sie sind implizit vorgegeben. Die Programmtexte können (und sollen) sich auf die noch verbleibende Freiräume konzentrieren. Hieraus folgt die hohe Ausdruckskraft von DSLs; mit DSLs kann ein System daher mit weitaus weniger Programmtext als bei einer Allzwecksprache realisiert werden. Dies ist die Hauptursache dafür, daß Entwickler bei Nutzung von DSLs wesentlich produktiver sind als bei Allzwecksprachen. 1.4 DSLs vs. Systemfamilien DSLs weisen viele Gemeinsamkeiten mit Systemfamilien (bzw. Produktlinien) auf: die entscheidende Gemeinsamkeit ist die Konzentration auf eine abgegrenzte semantische Domäne und eine zugehörige Klasse von Systemen. Dies ist die Basis für eine einheitliche Systemarchitektur und einheitliche Begriffsrahmen. Insofern kann man Programme in einer DSL oft als Steuerdaten eines Generators verstehen, mit dem Mitglieder einer Systemfamilie generiert werden können. Umgekehrt kann man die Sprachen, in denen die Steuerdaten von Generatoren formuliert werden, fast immer als DSL ansehen. Ein Unterschied zwischen DSLs und Systemfamilien liegt darin, daß Systemfamilien ein allgemeineres Konzept von Bindungszeitpunkten und entsprechenden Methoden zu Spezifikation von Varianten haben und Generierungsprozesse wesentlich komplexer sein können.

7 Domänenspezifische Sprachen und UML-Profile 7 So gesehen unterstellt eine DSL eine simple Generierungsstruktur: es gibt nur einen einzigen Variationspunkt - die Erstellung des DSL- Programms - und nur einen einzigen Generierungs- bzw. Interpretationsschritt. 1.5 DSLs vs. Modellierungssprachen Systemspezifikationen in einer DSL und einer Modellierungssprache haben gemeinsam, daß sie ein System in sehr kompakter Form und daher frei von vielen Implementierungsdetails darstellen. Allerdings sind übliche Allzweck-Modellierungssprachen wie die UML kaum in der Lage, die präzise Semantik eines Systems auszudrücken, bzw. wenn man dies versuchen würde, würden sehr große und unübersichtliche Modelle entstehen, die alle gemeinsamen Merkmale der Domäne implementieren; hiervon abstrahiert eine DSL gerade. 2 UML-Profile 2.1 Einordnung Wie schon oben erwähnt liegt es nahe, DSLs unter Nutzung einer Basissprache zu spezifizieren und implementieren. Die UML unterstützt diesen Ansatz, indem sie in der Infrastructure-Spezifikation [UML10I] einen Mechanismus namens Profile definiert 1, durch den beliebige Modellierungssprachen, die auf Basis von [UML10I] definiert sind, als Basissprache einer DSL genutzt werden können. Das Hauptziel ist, spezialisierte (domänenspezifische) Modellierungs-Sprachen auf Basis der UML mit wenig Aufwand realisieren zu können, dafür ist man weniger flexibel als bei einer völlig freien Definition von DSL. Wie schon oben am Beispiel von textuellen Programmiersprachen erläutert wird die Basissprache in zweierlei Weise modifiziert: 1 Dieser Mechanismus wird auch noch einmat identisch in der Superstructure- Spezifikation [UML10S], Kap. 18, definiert.

8 Domänenspezifische Sprachen und UML-Profile 8 (a) Einschränkung der benutzbaren Standardkonstrukte (b) Erweiterung einer vorhandenen Sprache (hier der UML) Die Rolle von Paketen für UML-Profile. Der Kerngedanke, eine DSL durch Wiederverwendung einer Basissprache zu realisieren, wird durch Einsatz des Paketkonzepts wesentlich unterstützt. Pakete sind ein Standardkonzept der UML, das zunächst die Gruppierung von Modellelementen und lokale Namensräume unterstützt. Die Gesamtmenge der Modellelementtypen der UML ist gruppiert in eine Vielzahl von Paketen. Hinsichtlich der Spezifikation von DSLs bietet dies den Vorteil, nicht die komplette UML als Basis übernehmen zu müssen, sondern eine passende Auswahl von Paketen. D.h. man kann eine DSL zunächst grob durch eine Auswahl an vorhandenen Paketen konfigurieren. Für das Verständnis von UML-Profilen spielen UML-Pakete und deren Beziehungstypen daher eine herausragende Rolle, weswegen letztere in folgenden Abschnitt genauer erläutert werden. 2.2 Exkurs: UML-Pakete Pakete können, wie auch in Programmiersprachen üblich, innere Pakete enthalten, d.h. die Namensräume werden geschachtelt. Alle Definitionen in einem äußeren Paket sind in den inneren Paketen mit unqualifizierten Namen nutzbar. Zwischen Paketen bestehen über die Schachtelung hinaus zwei Arten von Beziehungen, die das Zusammenwirken mehrerer Pakete definieren: der Paketimport und die Paketverschmelzung. Vor allem letztere ist für die technische Realisierung von Profilen wesentlich Paketimport Ein Paketimport ist eine gerichtete Beziehung zwischen zwei Paketen (s. [UML10I], PackageImport), die graphisch als gestrichelte Linie mit offenen Pfeilspitze dargestellt wird. Modellelemente des importierten Pakets können im importierenden Paket mit ihrem einfachen

9 Domänenspezifische Sprachen und UML-Profile 9 Namen verwendet werden. Es gibt zwei Varianten des Paketimports: öffentlicher Paketimport: Hier werden die importierten Modellelemente weiterexportiert; an der gestrichelten Linie wird das Schlüsselwort import notiert. privater Paketimport: Hier sind die importierten Modellelemente nur innerhalb des importierenden Pakets nutzbar; an der gestrichelten Linie wird das Schlüsselwort access notiert. Der Effekt besteht in beiden Fällen darin, daß alle Modellelemente des importierten Pakets einzeln importiert werden, sofern nicht für ein Modellelement schon eine explizite einzelne Import-Beziehung spezifiziert ist. Ein importiertes Modellelement überdeckt einen ggf. vorhandene Namen von einem äußeren Paket. Weitere Details s. [UML10I], Paketverschmelzung Eine Paketverschmelzung (PackageMerge) ist ebenfalls eine gerichtete Beziehung zwischen zwei Paketen. Graphisch wird sie wie ein Paketimport als gestrichelte Linie mit offenen Pfeilspitze dargestellt, als Schlüsselwort wird merge an der gestrichelte Linie notiert. Für die beiden involvierten Pakete benutzen wir die folgenden Bezeichnungen: hinzugemischtes Paket (merged package): Ziel des Pfeils zu erweiterndes Paket (receiving package): das Paket, von dem der Pfeil ausgeht. Eine gewisse Ähnlichkeit zu einem Import besteht darin, daß die Inhalte des hinzugemischten Pakets im zu erweiternden Paket verfügbar werden. Im Gegensatz zu einem Import geht man bei einer Verschmelzung davon aus, daß für jedes Element im hinzugemischten Paket ein Element mit gleichem Namen und i.w. gleichen Typ im zu erweiternden Paket vorhanden ist. Der Effekt der Verschmelzung besteht i.w. darin, ein resultierendes Paket (resulting package) zu erzeugen, das sozusagen nur virtuell vorhanden ist. Das resultierende Paket enthält in erster Näherung die

10 Domänenspezifische Sprachen und UML-Profile 10 Vereinigung der Modellelemente der beiden Pakete. Sofern ein Name in beiden Paketen definiert ist, werden die Merkmale dieser beiden Modellelemente vereinigt. Hierbei ist eine Vielzahl von Konsistenzregeln und Restriktionen zu beachten, Details s. [UML10I], PackageMerge. Wenn eine dieser Regeln verletzt ist, ist das Paketdiagramm, in dem die merge-beziehung auftritt, ungültig. Das resultierende Paket wird in Paketdiagrammen (oder anderen Diagrammen, in denen Pakete auftreten) bzw. im Modell durch das gleiche Objekt repräsentiert wie das zu erweiternde Paket, was manchmal verwirrend ist (s. [UML10I], Figure Conceptual view of the package merge semantics). Wenn z.b. Paket P2 zu erweiterndes Paket ist und Paket P1 das hinzugemischte Paket und wenn ferner Paket P3 das Paket P2 importiert, dann importiert P3 das resultierende Paket (und nicht etwa das wörtlich vorhandene zu erweiternde Paket); s. [UML10I], Figure Der komplette Verschmelzungsvorgang ist komplex und auf S in [UML10I], Abschnitt dargestellt. Wesentlich ist hier, daß das resultierende Paket stets kompatibel zu dem zu erweiternden Paket ist, also auch dort verwendet werden kann, wo bisher das zu erweiternde Paket alleine verwendet wurde. 2.3 Anforderungen an Profile Der Spezifikation des Profile-Mechanismus lagen diverse Anforderungen zugrunde 2, die zugleich Hinweise auf die intendierte Verwendung liefern. Besonders relevant für die Handhabung und Nutzung von Profilen sind die folgenden Anforderungen: 1. Es soll möglich sein, ein Referenzmodell durch ein Profil weiter einzuschränken und zu konkretisieren. Typischerweise verschärft das Profil Konsistenzbedingungen des Referenzmodells. 2 s. Kap. 13 Core::Profiles in [UML10I], S

11 Domänenspezifische Sprachen und UML-Profile Die Einschränkungen sollen für einzelne Modellelemente anwendbar sein, aber auch für alle Modellelemente eines Typs. Beispiel: das Profil Java model könnte Typhierarchien auf einfaches Erben einschränken, ohne das Stereotyp Java class bei jeder einzelnen Klasse eines Klassendiagramms notieren zu müssen. 3. Profile sollen nachträglich auf ein Modell anwendbar bzw. wieder rückziehbar sein. 4. Es können mehrere Profile auf ein Modell angewendet werden, d.h. Profile können kombiniert werden. 5. Profile müssen zusammen mit den Referenzmodellen zwischen Werkzeugen austauschbar und in Standard-XMI-Formaten darstellbar sein. D.h. ein Profil muß syntaktisch ein Modell sein. 6. Bereits lokal vorhandene Profile sollen referenziert werden können (und nicht dauernd erneut übertragen werden müssen). 2.4 Aufbau und Inhalt von Profilen Profile als Pakete Profile sind formell gesehen Pakete. Ein Profil bezieht sich auf ein oder mehrere andere Pakete, die als Referenzmodell bezeichnet werden. Die Modellelemente des Referenzmodell werden als Paketimport in das Profil importiert und können dort einzeln erweitert werden. Ein Profil kann auf die Pakete seines Referenzmodells angewandt werden. Durch Anwendung des Profils ändert das Referenzmodell seine Bedeutung. Repräsentiert wird die Anwendung von Profilen durch eine (Meta-) Assoziation profileapplication: Diese geht von einem (M1-) Modell aus und verweist auf ein (M2-) Metamodell 3. 3 Eine Bewertung dieses Sachverhalts geht über die Ziele dieses Skripts hinaus. Eine unmittelbare Konsequenz ist, daß ein Modellierungswerkzeug, das konform zum Infrastructure-Dokument ist, auch Laufzeitrepräsentationen der Metamodelc 2011 Udo Kelter Stand:

12 Domänenspezifische Sprachen und UML-Profile 12 Da Profile Pakete sind, können Profile auch auf Profile angewandt werden Stereotypen Ein Profil besteht i.w. aus Stereotypen. Ein Stereotyp (s. [UML10I], Stereotype) sieht syntaktisch i.w. genauso aus wie eine Metaklasse, also ein Modellelementtyp, kann aber nicht autark instantiiert werden, sondern nur normale Modellelementtypen erweitern. Den Effekt dieser Erweiterung kann man sich für den Anfang durch einen Vergleich mit einer Subtypbildung veranschaulichen: Wenn U eine Unterklasse von der Oberklasse O ist, dann haben die Instanzen von U im Vergleich zu Instanzen von O zusätzliche Attribute, sind also durch die speziellen Attribute von U erweitert. Wenn man also eine Instanz der Metaklasse, die U repräsentiert, bildet, reicht die dort lokal vorhandene Information nicht aus; stattdessen müssen alle direkten und indirekten Oberklassen von U gesucht und bei der Instanzbildung berücksichtigt werden. Bei Erzeugen von Objekten muß man explizit angeben, ob man nur eine Instanz der Oberklasse haben will oder eine erweiterte Instanz, eben eine Instanz der Unterklasse. Ein Stereotyp, das eine vorhandene Metaklasse erweitert, hat einen ähnlichen Effekt wie eine Unterklasse: die vorhandene Metaklasse spielt die Rolle der Oberklasse O, und es werden erweiterte Instanzen angelegt, die die zusätzlichen Attribute haben, die das Stereotyp spezifiziert. Im Unterschied zur individuellen Subtypbildung werden im Kontext einer DSL typischerweise alle Instanzen von O erweitert. Oft darf es nicht möglich sein, eine unerweiterte Instanz der Oberklasse zu bilden. le vorhalten muß, also wesentliche Elemente einer Interpreterarchitektur aufweisen muß.

13 Domänenspezifische Sprachen und UML-Profile 13 Die Verantwortung für diese Kontrollen wird in [UML10I] allerdings auf die Editoren 4 verlagert. Wenn man in einem Editor also eine Instanz derjenigen Metaklasse, die O repräsentiert, erzeugt, müssen die Metamodelle nach Stereotypen, die diese Metaklasse erweitern, durchsucht und bei der Instanzbildung berücksichtigt werden. Der Profilmechanismus stellt nur die Informationen über die Erweiterungen bereit, er ist selber kein Datenverwaltungssystem. In den vorstehenden Erläuterungen war nur von zusätzlichen Attributen die Rede, genauso können aber auch zusätzliche Beziehungstypen und Rolleneigenschaften hinzukommen, ferner OCL-Bedingungen, durch die die zulässigen Instanzen eingeschränkt werden Graphische Anzeige von erweiterten Klassen Bei der klassischen Subtypbildung werden an einer Instanz des Subtyps die geerbten und die speziellen Attribute völlig gleich behandelt und auch - z.b. in Objektdiagrammen - ununterscheidbar dargestellt. Ferner ist der Name des Subtyps explizit dargestellt, also eindeutig erkennbar, daß es sich nicht um eine unerweiterte Instanz des Obertyps handelt. Bei Stereotypen ist dies anders: Hier kann man zunächst nur der Name der erweiterten Klasse angegeben; um die Erweiterungen erkennbar zu machen, werden die angewandten Stereotypen - es können i.a. mehrere sein - in Guillemets zusätzlich angezeigt. Hierzu gibt es viele Präsentationsvarianten 5, u.a. Pictogramme, auf die wir aus Platzgründen nicht eingehen. Die erweiternden Attribute werden anders dargestellt als die normalen Attribute, und zwar i.d.r. in einem Kommentar, der mit dem erweiterten Objekt verbunden ist, darin als Name-Wert-Paare: :namestring: = :valuestring: Beispiel: s. MARTE Tutorial, Part 1, Folie 22 und 24. Auch hier gibt es viele Präsentationsvarianten. 4 bzw. alle Applikationen, die Instanzen erzeugen. 5 s. [UML10I], S.199, Presentation Options.

14 Domänenspezifische Sprachen und UML-Profile Instanzbildung Die Instanzbildung ist bei Stereotypen deutlich komplizierter als bei der Subtypbildung. Gedacht sind Stereotypen natürlich vor allem dazu, Metaklassen zu erweitern. Metaklassen sind Teil von Metamodellen, diese wiederum sind reine Datenmodelle. Eine Metaklasse spezifiziert also zusammen mit andern Teilen des Metamodells einen Modellelementtyp. Die Bildung von Instanzen zu den Typdefinitionen ist eigentlich, wenn man das Geheimnisprinzip anwenden würde, eine Implementierungsentscheidung von Werkzeugen bzw. Repositories, welche die Instanzen erzeugen bzw. verwalten. Indes sind für die Integration parallel laufender Werkzeuge standardisierte Laufzeitrepräsentationen dieser Daten erforderlich, ebenso persistente Darstellungen für den Dokumenttransport und -Austausch. Für die Bildung der Instanzen hat ferner die obige 3. Anforderung, Profile nachträglich auf ein Modell anwenden bzw. wieder entfernen zu können, wesentliche Auswirkungen. Im Endeffekt ist es am sinnvollsten, die Stereotypen - die formell Metaklassen sind - wie eine ganz normale Metaklasse zu instantiieren. M.a.W. würden also ein Modellelement, dessen Typ durch eine normale Metaklasse gegeben ist und das n angewandte Stereotype hat, durch 1 + n geeignet verbundene Laufzeitobjekte repräsentiert werden. Literatur [UML10I] Unified Modeling Language: Infrastructure, Version 2.3; OMG, Doc. formal/ ; 2010 [UML10S] Unified Modeling Language: Superstructure, Version 2.3; OMG, Doc. formal/ ; 2010 [UML06D] Diagram Interchange, Version 1.0; OMG, Doc. formal/ ; 2006 [UML10O] Object Constraint Language, Version 2.2; OMG, Doc. formal/ ; 2010

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person dranzuhängen, Sie sind persönlich verantwortlich für Ihren Lernerfolg. 1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich

Mehr

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Animationen erstellen

Animationen erstellen Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«... Drucken - Druckformat Frage Wie passt man Bilder beim Drucken an bestimmte Papierformate an? Antwort Das Drucken von Bildern ist mit der Druckfunktion von Capture NX sehr einfach. Hier erklären wir, wie

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden?

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden? Windows 8 - Tipps 1. Versteckte Dateien und Ordner anzeigen Wie auch bei den Vorgängerversionen blendet Windows 8 geschützte und versteckte Dateien zunächst aus. Wer nicht direkt etwas mit dieser Materie

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Arbeiten mit den Mastercam Werkzeug-Managern

Arbeiten mit den Mastercam Werkzeug-Managern Arbeiten mit den Mastercam Werkzeug-Managern Mastercam besitzt zwei Werkzeug-Manager zum Anlegen, Ändern und Verwalten Ihrer Werkzeuge; wobei der eine als (klassischer) WZ-Manager und der andere als (stand-alone)

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

Eine Anwendung mit InstantRails 1.7

Eine Anwendung mit InstantRails 1.7 Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen

Mehr

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum? Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung

Mehr

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

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014 Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

GeoPilot (Android) die App

GeoPilot (Android) die App GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs

7. ArcView-Anwendertreffen. Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern. Daniel Fuchs 7. ArcView-Anwendertreffen Einbindung von Datenbanken in ArcMap am Beispiel der Biotopkartierung Bayern Daniel Fuchs 1. Grundlagen Biotopkartierung: Datenformat Die Daten der Biotopkartierung Bayern werden

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

FORUM HANDREICHUNG (STAND: AUGUST 2013)

FORUM HANDREICHUNG (STAND: AUGUST 2013) FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab

Titel. SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen. Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Autor: Thomas Hanrath Microsoft Certified Trainer Titel SCSM 2012 - ITIL - CMDB - neue CI Klasse erstellen und benutzen Eine beispielhafte Installationsanleitung zur Verwendung im Testlab Quelle: System

Mehr

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

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4. SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Dokumentation. estat Version 2.0

Dokumentation. estat Version 2.0 Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen. Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin

Mehr

http://train-the-trainer.fh-joanneum.at IINFO Storyboard

http://train-the-trainer.fh-joanneum.at IINFO Storyboard IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen In diesem Tutorial erfahren Sie, wie man Fotos gruppiert. Mit der Option "Gruppieren nach" werden die Fotos in der Dateiliste nach Gruppen geordnet. Wenn Sie beispielsweise auf "Bewertung" klicken, werden

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

Mit einem Mausklick sind E-Mails aus ACT! heraus in Outlook geschrieben, die dann wiederum auf Wunsch in ACT! dokumentiert werden.

Mit einem Mausklick sind E-Mails aus ACT! heraus in Outlook geschrieben, die dann wiederum auf Wunsch in ACT! dokumentiert werden. ACT!EmailConnect Professional für ACT! 7 / 8 / 9 / 1 Genießen Sie die Vorzüge von MS Outlook und von ACT!, und zwar so schnell und komfortabel wie noch nie, ohne den ACT!-eigenene E-Mail-Client zu verwenden.

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr