Domänenspezifische Sprachen und UML-Profile
|
|
- Hannelore Dresdner
- vor 8 Jahren
- Abrufe
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 Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrGrundbegriffe 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
MehrObjektorientierte 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/
MehrArbeiten 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
Mehr1 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.
MehrCopyright 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
MehrVermeiden 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
MehrFachdidaktik 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,
MehrHandbuch 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
MehrRobot 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
MehrWintersemester 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
MehrProgrammiersprachen 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
MehrLeitfaden 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...
MehrSoftwaretechnologie -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
MehrSynchronisations- 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 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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrFormale 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
MehrAccess [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
MehrDie 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
MehrPakete 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
Mehr4. 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
MehrPrimzahlen 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
MehrEinfÅ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
MehrKommunikations-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
MehrEs 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
MehrWhiteStarUML 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/
MehrVerhindert, 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:
Mehr10 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
MehrAbschnitt 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
MehrKapitel 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
Mehr4. 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
MehrBerechnungen 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
MehrSoftware 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
MehrOP-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
MehrDiplomarbeit. 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
MehrObjektorientierte 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
MehrSowohl 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
MehrJava 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
MehrMotivation. 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
MehrAnimationen 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
MehrLineare 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
MehrSCHRITT 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
MehrIhre 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
MehrAber 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
MehrStep 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
MehrZeichen 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
MehrArbeiten 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)
Mehr1. 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:
MehrDatenbanken 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,
MehrInformatik 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
MehrHinweise 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
MehrEine 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
MehrSie 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
MehrDefinition 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
MehrWeb-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.........................................
MehrStellen 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.
Mehretutor 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:
MehrKlaus 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
MehrGeoPilot (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
MehrGEVITAS 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
Mehr40-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
MehrEr 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 Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
Mehr7. 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
MehrStundenerfassung 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
MehrFORUM 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...
MehrVersion 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.
MehrTitel. 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
MehrSEW Ü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
MehrDie 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
MehrGrundlagen 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)
MehrWindows 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
MehrKlassendiagramm. 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
MehrOrdner 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.
MehrNovell 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
MehrEva 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
Mehr4. 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
MehrSWE5 Ü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
MehrFachbericht 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
MehrAutoCAD 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
MehrINDEX. Ö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
MehrDokumentation. 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
MehrSANDBOXIE 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:
MehrWie 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
MehrWelche 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
Mehrhttp://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
MehrAustausch- 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:
MehrACDSee 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
MehrAnwendungsbeispiele. 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 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
MehrMORE 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
MehrIn 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
MehrWas 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,
MehrReporting 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?
MehrIst 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,
MehrEigenen 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...
MehrMit 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
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
MehrAbamsoft 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