DSL - Vom Hype zur Praxis am Beispiel esel. Daniel Goetze Gunther Popp
|
|
- Guido Kopp
- vor 8 Jahren
- Abrufe
Transkript
1 DSL - Vom Hype zur Praxis am Beispiel esel Daniel Goetze Gunther Popp
2 Contributions l Das ABS-Team (ABS = Anwendungsbezogene BriefSchreibung) è Peter Fuhrmann è Lars Orta è Gunther Popp è Daniel Goetze l Wikipedia ( 2
3 Araber sind edel, schön und schnell 3 3
4 Aber: Manchmal tut s auch ein esel 4 4
5 Esel und esel Unterschiede l Der Hausesel l esel (ohne Artikel) (Equus asinus asinus) (event shipment expression language) ist ein weltweit verbreitetes Haustier. Seine Stammform ist der Afrikanische Esel. ist eine ausschließlich lokal verbreitete, zur Laufzeit interpretierte domänenspezifische Sprache. Ihre Stammform ist nicht eindeutig bestimmbar. 5
6 Was ist eine DSL? DSL Domain-Specific Language Eine domänenspezifische Sprache (englisch domain-specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen hohen Grad an Problemspezifität zu erreichen: die Sprache soll alle Probleme der Domäne darstellen können und nichts darstellen können, was außerhalb der Domäne liegt. Dadurch ist sie durch Domänenspezialisten ohne besonderes Zusatzwissen bedienbar. Quelle: Wikipedia 6
7 Im DSL-Himmel Versprechungen Programmierung durch den Fachbereich Hohe Umsetzungsgeschwindigkeit und Produktivität Verständlicher Code Geringe Redundanz Domain-Specific Language Spezifikation und Implementierung in einem Rutsch Leicht erlernbar Gute Wartbarkeit 7
8 Das Projekt l Fachlicher Kontext: Migration eines Systems zur zentralen Briefschreibung bei einer Lebensversicherung l Migrationsumfang: è Briefvorlagen für ca. 300 Geschäftsvorfälle l Rendervolumen: è max. 1,1 Mio. Seiten / Tag (im Endausbau) l Herausforderungen: è Parallel Online- und Batchverarbeitung è Parallelbetrieb Alt- und Neusystem è Keine Veränderung der Schnittstellen von den Bestandssystemen è Fachliche und technische Neustrukturierung, aber keine inhaltliche Änderung der Verarbeitung è Was steckt eigentlich fachlich alles im Altsystem? 8
9 Die spezifische Domäne (Ausschnitt) Welche Dokumente? Über welchen Weg ausgegeben? An welchen Empfänger? Sachbearbeiter Bestandssystem Wie in Umschlägen zusammengefasst? Versand Versicherungsnehmer SST??? Portal Makler Batch Komplexe Logik (überraschend?): è Im Altsystem: Für ca. 300 Geschäftsvorfälle ~ IF-Anweisungen. Archiv Wie archiviert? 9
10 und unsere Lösung für diese Domäne esel, die Event Shipment Expression Language Eingangsschnittstelle (Briefauftrag) esel (Umschlagbildung und Versandsteuerung) Instanziierte Dokumente Physische Dokumente (Druck, Kuvertierung, Versand, Archivierung) ID: Event: BRIEF_01 Event BRIEF_01 BA :E:Hugo:VN Shipment when E.Rolle == VN ANSCHREIBEN VN to E SCHREIBEN to E BA :U1 D1:ANSCHREIBEN D2:SCHREIBEN 1:E:Erwin:BB 2:K:Hugo:VN Shipment when E.Rolle == BB ANSCHREIBEN BB to E SCHREIBEN to K BA :U2 D1:ANSCHREIBEN Eigenentwicklung Textsystem + Customizing 10
11 Was kann esel? l esel beschreibt für einen bestimmten Geschäftsvorfall ( Business Event ): è Welche Dokumente müssen erzeugt werden? è Wie sollen diese Dokumente in Umschlägen zusammengefasst sein? è Über welchen Weg sollen die Umschläge versendet werden? (Post, elektronisch, über Sachbearbeiter, ) è Wie müssen die Dokumente archiviert werden? (Archivparameter je Event / Umschlag / Dokument) è... l esel Skripts können unabhängig von Releases ausgeliefert werden è Schnelle Reaktion auf fachlich geforderte Änderungen l esel Skripts werden zur Laufzeit interpretiert 11
12 Was kann esel nicht? l Dokumentinhalt und -layout beschreiben è Das machen wir mit DocWrite und DocDesign von Assentis l Dokumente formatieren und rendern è Das machen wir mit DocBase von Assentis l Eine universelle Programmiersprache mit Arrays, Schleifen, Klassen, Methoden, ersetzen è Dafür haben wir Java 12
13 esel Event Skripts l Event Skripts steuern è welche Dokumente für welche Umschläge in welcher Reihenfolge instanziiert werden sollen è Event-spezifische Parameter für Rules Umschlag 1 Dokument 11 Dokument 12 SST Briefauftrag Event Skript Umschlag 2 Dokument 21 Dokument 22 13
14 esel Event Skript - Beispiel event TUTORIAL_01 vars global SourceStruct Empfaenger UmschlagEmpfaenger ; local // keine lokalen Variablen im Skript rule Archiv ( Archivbereich = Archivbereich::Einzel, Vorgangsart = "Bestand", Belegart = "Schriftwechsel", Briefname = "Unser allererstes Eventskript" ) // Es gibt nur eine Art von Umschlag in diesem Event. // Der wird bei jedem Briefaufruf erzeugt. shipment when true // Alle Dokumente im Umschlag an den Umschlagempfänger. document #ANSCHREIBEN to UmschlagEmpfaenger when true enddocument document #SCHREIBEN to UmschlagEmpfaenger when true enddocument endshipment endevent 14
15 esel Rule Skripts l Rule Skripts steuern è das Füllen der generischen Dokumentdaten von instanziierten Schriftstücken (Adressat, Absender, Unterschrift, ) è die Belegung der Metadaten für Versandziel, Archivierung, Dokument SST Fachdaten Adressat Absender Unterschrift Event Skript Parameter Rule Skript Archivmetadaten Metadaten 15
16 esel Rule Skript - Beispiel (1/2) Parameter und Variablen rule VersandzielMailSB mandatory // keine mandatory Parameter optional // keine optional Paramaeter vars global TargetStruct Versandziel versandziel ; String USERID ; // BAT_PAKET: UserId String BATNR ; // BAT_PAKET: BAT- Nr. mapping if versandziel.versandzieltyp == VersandzielTyp::MailSB then target VersandzielMailSB batnr = BATNR ; absender = "DocManager" ; empfaenger = USERID ; betreff = "Dokumente zu BAT- Nr.: " + BATNR ; mailtext = "Anbei erhalten Sie die gewünschten Dokumente." ; endtarget endif endrule 16
17 esel VariableDefinitions l Das VariableDefinition Skript è stellt die Verbindung her zwischen l Strukturen / Variablen in Java und l Strukturen / Variablen in esel è definiert die in Event- und Rule-Skripts verfügbaren Variablen. è ist Teil der Software-Auslieferung und kann daher nur mit Releases angepasst werden. SST Briefauftrag <xxx> <a> </a> <b> </b> </xxx> VariableDef String a; BigDecimal b; 17
18 esel VariableDefinitions - Beispiel definitions // Typen types // Archivbereiche Enum Archivbereich = Einzel, Kollektiv,...; // Quellstruktur Empfänger Struct Empfaenger { String ort ; String name ;... } ; // Variablen paket... String BDFD = "paket/absender/bd/fd" ; BigDecimal BDNR = "paket/absender/bd/nr" ;... brief... vardat BigDecimal GPKOMMUN ; vardat String ABRGNR ;... enddefinitions 18
19 Wie entwickeln wir esel? Sprachentwurf l Iterativ, pragmatisch und mit vielen konstruktiven Diskussionen l Fachlicher Input: è Anforderungen der Fachbereiche und Domänenspezialisten è (Code-)Analyse des Altsystems è Analyse der Entwicklungsprozesse è Gesunder Menschenverstand (steht manchmal im Widerspruch zu den Ergebnissen der Analyse) l Manchmal ist erst die Idee für das Skript da, dann die Umsetzung in esel l Manchmal ist erst die Umsetzung im Interpreter da, dann versuchen wir ein brauchbares Skript damit zu schreiben 19
20 Wie entwickeln wir esel? Die 4 wichtigsten Prinzipien Separation of Concerns: Klar definierte fachliche Funktionsbereiche, in denen die DSL eingesetzt wird. Lose Kopplung: Klar definierte, produktneutrale Schnittstelle zum Textsystem. Keep it simple : Sprachumfang (bewusst) reduziert auf das Nötigste lieber erst mal was weglassen als zu viel Features bieten. Test Driven: Sehr gute Testbarkeit der DSL-Skripte. Testfälle können vom Fachbereich bereits vor der Implementierung bereitgestellt werden. 20
21 Wie entwickeln wir esel? Technische Basis l è Framework zur Umsetzung von textuellen DSLs è Entwicklung seit Anfang 2008 im Rahmen des Eclipse Modeling Projects Funktionsumfang (out-of-the-box): l Xtext Grammar Language (XGL) für den Entwurf der Grammatik l Generierung direkt aus der Grammatik: è Parser è AST-Builder è Validatoren è Serializer è Code Formatter è Eclipse Editor 21
22 Wie entwickeln wir esel? Komponenten l Xtext Grammatik für die esel-sprache l esel-interpreter l Xtext basierte esel SEU l esel-testframework auf Basis JUnit (Ausführung) und Excel (Testdaten) um die Skripts abzusichern l Maven-Plugin zur Auslieferung der Skripte in das Repository des Produkts Assentis 22
23 Xtext Grammar Language Beispiel Parse hidden(ws, ML_COMMENT, SL_COMMENT) : ( VarsDefinitionSection EventDefinitionSection RuleDefinition ) ; /* Hier ist die Syntax fuer die Rules */ RuleDefinition : "rule" rule=id params=params ( varsection=varsection )? mapping=mapping "endrule" ; Params : {Params} ( mandatoryparams=mandatoryparams )? ( optionalparams=optionalparams )? ; MandatoryParams : {MandatoryParams} "mandatory" ( mandatory+=variabledeclaration )* ; OptionalParams : {OptionalParams} "optional" ( optional+=localvariabledefinition )* ; ( ) 23
24 Xtext Grammar Language Festlegung der DSL-Syntax (1) l Schlüsselwörter sind der Einstiegspunkt in die Grammatik RuleDefinition : "rule" rule=id params=params ( varsection=varsection )? mapping=mapping "endrule" ; Schlüsselwort Params : {Params} ( mandatoryparams=mandatoryparams )? ( optionalparams=optionalparams )? ; MandatoryParams : {MandatoryParams} "mandatory" ( mandatory+=variabledeclaration )* ; OptionalParams : {OptionalParams} "optional" ( optional+=localvariabledefinition )* ; rule Versandziel mandatory optional vars global mapping endrule 24
25 Xtext Grammar Language Festlegung der DSL-Syntax (2) l Parser-Regeln definieren die Sprachstruktur RuleDefinition : "rule" rule=id params=params ( varsection=varsection Params )? mapping=mapping "endrule" ; Params : {Params} ( mandatoryparams=mandatoryparams )? ( optionalparams=optionalparams )? ; MandatoryParams : {MandatoryParams} "mandatory" ( mandatory+=variabledeclaration )* ; Parser-Regel OptionalParams : {OptionalParams} "optional" ( optional+=localvariabledefinition )* ; rule Versandziel mandatory optional vars global mapping endrule 25
26 Generierung des AST Grammatik RuleDefinition : "rule" rule=id params=params ( varsection=varsection )? mapping=mapping "endrule" ; Xtext Generator Modell (Abstract Syntax Tree AST) public interface RuleDefinition extends Parse { String getrule(); void setrule(string value); Params getparams(); void setparams(params value); } 26
27 Parser, AST und Interpreter esel Grammatik Parse-Baum esel SEU Event Skript Xtext Parser Semantisches Modell (AST) esel Interpreter 27
28 Wie entwickeln wir mit esel? esel SEU in Eclipse 28
29 Wie entwickeln wir mit esel? esel-seu l Entwicklungsumgebung: è Eclipse mit Xtext Plugin è SVN + Assentis DocRepo è Maven basierter Build-Prozess è Testframework (basierend auf JUnit) l Features in Eclipse: è Farbliche Hervorhebung der esel Syntax è Validierung der Skripte während der Eingabe (generelle Syntax, Variablennamen, Enum-Konstanten, etc.) è Anzeige von Fehlern direkt im Editor und gesammelt in speziellen Problem-Views è Vereinfachte Struktur-Ansicht von umfangreichen Skripten è Testausführung 29
30 Wie helfen wir anderen, mit esel zu entwickeln? Nutzungskonzept, Tutorials, Beispiele 30
31 Im DSL-Himmel Versprechungen revisited Programmierung durch den Fachbereich Hohe Umsetzungsgeschwindigkeit und Produktivität Verständlicher Code Geringe Redundanz Domain-Specific Language Spezifikation und Implementierung in einem Rutsch Leicht erlernbar Gute Wartbarkeit 31
32 Unser Fazit l Würden wir es wieder so machen? è Ja, bei vergleichbaren Rahmenbedingungen (Anforderungen, Organisation, eingesetzte Produkte, Team, ) l Würden wir wieder Xtext nehmen? è Für SEU: Erfolgsentscheidend wg. Integration in Eclipse è Für DSL selber und Interpreter: eher unkritisch. l Wurden die Erwartungen erfüllt? è Hohe Umsetzungsgeschwindigkeit (der DSL und mit der DSL). Unabhängig von spezifischen Produktfeatures des Textsystems. è Gute Betreibbarkeit, Performance, Skalierbarkeit, Stabilität, l Die DSL und die eingesetzten Tools machen s nicht alleine: è SEU, Deployment, Testkonzept, Integration in Entwicklungsprozesse, Nutzungskonzept, è Das Team und die Skills im Team 32
33 Ihre Fragen? 33
34 Kontakt Daniel Goetze Gunther Popp iteratec GmbH Inselkammerstr Unterhaching 34
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
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrAUTOMATISCHE E-MAIL-ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!
AUTOMATISCHE E-MAIL-ARCHIVIERUNG 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD! INHALT AUTOMATISCHE E-MAIL-ARCHIVIERUNG... 4 Eingehende E-Mails können
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrVorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann
Vorgetragen von Sanaz Mostowfi Anna Polovets Mandy Neumann Gliederung Was ist DSL? Welche Arten von DSL gibt es? Vor und Nachteile Werkzeuge zur Erstellung von DSLs XText Definition: DSL (Domain Specific
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
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
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
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrJava Entwicklung für Embedded Devices Best & Worst Practices!
Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrCode wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum
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?
MehrLanguage Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.
Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrDSL Entwicklung und Modellierung
DSL Entwicklung und Modellierung Dipl. Inform. Rolf Hänisch Übersicht DSL, was bedeutet das für uns? Eine Anwendung aus der Automatisierungstechnik Sprachen und Werkzeuge Ergebnisse und Erfahrungen GI
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:
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/
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,
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrIBM Software Demos Tivoli Provisioning Manager for OS Deployment
Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,
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.
MehrDSLs mit Xtext entwerfen. 17.08.2012, A. Arnold
DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
MehrMicrosoft SharePoint 2013 Designer
Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
Mehr7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77
7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77 (LQOHLWXQJ Mit der SAP Testworkbench und dem Testtool ecatt können Anwender von SAP Software auf Basis des SAP Web Application Servers ab
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
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrDie Bundes-Zentrale für politische Bildung stellt sich vor
Die Bundes-Zentrale für politische Bildung stellt sich vor Die Bundes-Zentrale für politische Bildung stellt sich vor Deutschland ist ein demokratisches Land. Das heißt: Die Menschen in Deutschland können
MehrErstellen eines Formulars
Seite 1 von 5 Word > Erstellen bestimmter Dokumente > Formen Erstellen von Formularen, die in Word ausgefüllt werden können Basierend auf einer Vorlage können Sie dieser Inhaltssteuerelemente und Hinweistext
MehrWochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P
Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse
MehrEin subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen
Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen vorgestellt am 29.09.2008 in der PASS Regionalgruppe Karlsruhe Michael Riedmüller inovex GmbH Project
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrVorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz
Anwendungshandbuch Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Version: 1.0 Herausgabedatum: 31.07.2015 Ausgabedatum: 01.11.2015 Autor: DB Energie http://www.dbenergie.de Seite: 1 1.
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
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
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
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
MehrEPOS. Kurzanleitung Modul Mailing. Logex AG IT-Solutions. Copyright (c) 2008 by Logex ag, Switzerland, all Rights reserved
EPOS Kurzanleitung Modul Mailing Logex AG IT-Solutions 2 Kurzanleitung Eposmodul Mailing 1 Was kann das Modul Mailing? Sie befinden sich im Modul Mailing, mit dem sie in fünf Schritten mühelos umfangreiche
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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrEinrichten des Elektronischen Postfachs
Einrichten des Elektronischen Postfachs Für die Einrichtung des Elektronischen Postfachs melden Sie sich wie gewohnt in unserem Online-Banking auf www.sparkasse-unnakamen.de an. Wechseln Sie über Postfach
MehrAnforderungen an die HIS
Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum
MehrWichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.
Das ist ein Text in leichter Sprache. Hier finden Sie die wichtigsten Regeln für den Verein zur Förderung der Autonomie Behinderter e. V.. Das hier ist die Übersetzung der Originalsatzung. Es wurden nur
MehrVENTA KVM mit Office Schnittstelle
VENTA KVM mit Office Schnittstelle Stand: 24.05.2013 Version: VENTA 1.7.5 Verfasser: Jan Koska 1. Funktionsumfang der Office Schnittstelle Die in VENTA KVM integrierte Office Schnittstelle bietet zahlreiche
MehrFax einrichten auf Windows XP-PC
Um ein PC Fax fähig zu machen braucht man einen sogenannten Telefon Anschluss A/B das heißt, Fax funktioniert im Normalfall nur mit Modem nicht mit DSL. Die meisten neueren PCs haben ein Modem integriert.
MehrStammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing
Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrELO Print&Archive so nutzen Sie es richtig
ELO Print&Archive so nutzen Sie es richtig Die Einrichtung Ihres ersten Dokumententyps Im folgenden Beispiel möchten wir Ihnen genauer erläutern, wie Sie das neue Modul ELO Print&Archive, das automatisch
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrAnbindung LMS an Siemens S7. Information
Datum: 18.09.2003 Status: Autor: Datei: Lieferzustand Rödenbeck Dokument1 Versio n Änderung Name Datum 1.0 Erstellt TC 18.09.03 Seite 1 von 1 Inhalt 1 Allgemein...3 2 Komponenten...3 3 Visualisierung...4
MehrSuccess! Bestellausgabe
Success! Bestellausgabe 2 Bestellausgabe in SUCCESS! Für die Anbindung an die Bestellsysteme ihrer Lieferanten ist es möglich, die in Success! erzeugten Bestellungen, in eine Datei auszugeben und optional
MehrKurze Anleitung zum Guthaben-Aufladen bei. www.blau.de
Kurze Anleitung zum Guthaben-Aufladen bei www.blau.de Seite 1 von 8 Inhaltsverzeichnis 1 blau.de aufrufen... 3 2 Ihr Konto bei blau.de... 4 2.1 Aufladen über das Internet... 5 2.2 Aufladen direkt am Mobiltelefon
Mehraffilinet_ Flash-Spezifikationen
affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4
Mehrwhite sheep GmbH Unternehmensberatung Schnittstellen Framework
Schnittstellen Framework Mit dem Schnittstellen Framework können Sie einerseits Ihre Schnittstellen automatisch überwachen. Eine manuelle Kontrolle wird überflüssig, da das Schnittstellen Framework ihre
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrNeues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS, 20.03.2014
Neues aus dem 52 North WPS Projekt Benjamin Proß, FOSSGIS, 20.03.2014 Überblick Aktuelle Entwicklungen im WPS Testing WPS 2.0 Neues aus dem 52 North WPS Projekt 2 Der 52 North WPS Version 3.2.0 Unterstützt
MehrWas ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrXML-Austauschformat für Sicherheitsdatenblätter
XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
MehrA. Ersetzung einer veralteten Govello-ID ( Absenderadresse )
Die Versendung von Eintragungsnachrichten und sonstigen Nachrichten des Gerichts über EGVP an den Notar ist nicht möglich. Was kann der Notar tun, um den Empfang in seinem Postfach zu ermöglichen? In zahlreichen
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
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
MehrWir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.
Prozesse und Software sind Schlüsselfaktoren, die Strategie eines Unternehmens erfolgreich umzusetzen. So liegt es im Interesse der Geschäftsleitung, die Auswahl und Einführung neuer Software für die neuen
MehrErstellen einer E-Mail in OWA (Outlook Web App)
Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011
MehrNetzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk 20.01.2009
Netzsicherheit I, WS 2008/2009 Übung 12 Prof. Dr. Jörg Schwenk 20.01.2009 Aufgabe 1 1 Zertifikate im Allgemeinen a) Was versteht man unter folgenden Begriffen? i. X.509 X.509 ist ein Standard (Zertifikatsstandard)
Mehre LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen
Kurz-Anleitung zum Erstellen eines Wikis Die Aktivität Wiki verschafft Ihnen die Möglichkeit, Wissen zu sammeln und zu strukturieren. Dabei können Sie die Teilnehmer Ihres Kurses an der Erstellung des
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrSoftware zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)
Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Definition Was ist Talk2M? Talk2M ist eine kostenlose Software welche eine Verbindung zu Ihren Anlagen
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrWiderrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014
Widerrufsbelehrung der Stand: Juni 2014 www.free-linked.de www.buddy-watcher.de Inhaltsverzeichnis Widerrufsbelehrung Verträge für die Lieferung von Waren... 3 Muster-Widerrufsformular... 5 2 Widerrufsbelehrung
MehrOutsourcing und Offshoring. Comelio und Offshoring/Outsourcing
Outsourcing und Offshoring Comelio und Offshoring/Outsourcing INHALT Outsourcing und Offshoring... 3 Comelio und Offshoring/Outsourcing... 4 Beauftragungsmodelle... 4 Projektleitung vor Ort und Software-Entwicklung
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrOutlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT
Outlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT LADEN DER VORLAGE 2 Öffnen Sie Outlook 2 Klicken Sie auf EXTRAS >> OPTIONEN 2 Im Optionenfeld von Outlook folgend Sie den Schritten 2 Fenster
MehrIAWWeb PDFManager. - Kurzanleitung -
IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die
MehrRundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
MehrDie neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:
Die neue Aufgabe von der Monitoring-Stelle Das ist die Monitoring-Stelle: Am Deutschen Institut für Menschen-Rechte in Berlin gibt es ein besonderes Büro. Dieses Büro heißt Monitoring-Stelle. Mo-ni-to-ring
MehrWir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
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.
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
MehrÜbersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.
Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrLernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation
Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden
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
MehrTask: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
MehrOptimierung von Ausdrucken im SAP-Umfeld unter Einsatz von MS Office Funktionen
Optimierung von Ausdrucken im SAP-Umfeld unter Einsatz von MS Office Funktionen seit 1969 SAP Standard-Ausdrucke So sehen Standardausdrucke aus SAP R/3 und ERP 6.0 aus. 2 PTA GmbH SAP Ausdrucke mit Office
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
MehrFIS: Projektdaten auf den Internetseiten ausgeben
Rechenzentrum FIS: Projektdaten auf den Internetseiten ausgeben Ist ein Forschungsprojekt im Forschungsinformationssystem (FIS) erfasst und für die Veröffentlichung freigegeben, können Sie einige Daten
MehrFehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems
Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
Mehr