Modellierung statischer Domänenmodelle mit Xtext
|
|
- Daniel Geier
- vor 8 Jahren
- Abrufe
Transkript
1 Frank Schwarz Java User Group Saxony Modellierung statischer Domänenmodelle mit Xtext buschmais GbR Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler und Tobias Israel Leipzig, 5. Januar 2009
2 Modellierung statischer Domänenmodelle mit Xtext Motivation Motivation Grundlagen Grundlagen Sprachentwurf Sprachentwurf Code-Generierung Code-Generierung
3 Die Hölle des Modellierers produktid verpackungskz hoehe breite tiefe gewicht Produkt III II IUI IIOI I IUIII IIOIII IIIOI IIUII I II IOOII II OTR III II I II I IILILI LLILII III Objekte::Lager::Umlagerung::Produkt gesperrt gesperrt gesperrt gesperrt
4 Die Hölle des Konfigurationsmanagers Ist in 5 Jahren noch das Modell zugänglich, welches dem Anwendungssystem in Version zugrunde liegt? Kann der Entwicklungsprozess später noch vollständig ausgeführt werden.
5 Zielkonflikt modellgetriebener Softwareentwicklung Aufwand für das KM gering Werkzeugverfügbarkeit hoch Anpassbarkeit (z.b. durch Profile) hoch gut Kooperatives Modellieren XML-Modelle hoch Problemangemessenheit gut UML-Modelle Kommunizierbarkeit
6 Ein kleines Beispiel zum Einstieg entitytype Person { attribute name : String; attribute birthday : Date; attribute salary : Currency; } entitytype Invoice { attribute invoicenumber : String; attribute paymenttarget : Date; attribute total : Currency; }
7 Xtext Ecore/EMF-Modelle Workflows Xpand Xtend oaw EMF ANTLR Parser-Generator mit der Mächtigkeit LL() domänenspezifische Sprache auf Basis von Xtext
8 ecore -eannotations -eliterals xtext EEnumLiteral EModelElement EGenericType EAnnotation ENamedElement EFactory EPackage 0.. -esubpackages XTextFile -rules EDataType EEnum Rule EObject -eclassifiers -esupertypes NativeLexerRule RuleWithType StringRule EnumRule -literals TypeRule TypeName -type Assignment Keyword EClass EClassifier EOperation -eoperations -estructuralfeatures -children Alternatives 0.. -etype ETypedElement EStructuralFeature EReference -eopposite 0.. Element AbstractToken ETypeParameter EParameter EAttribute -alternatives Group EnumLiteral CrossReference Keyword FileRef MetamodelImport Import -rulename Group EnumRule RuleName TypeRule -content -content -token Assignment -mmimports -imports Entities Model «enumeration» PrimitiveType +NULL = +String = +Currency = 2 +Date = 3 -elements 0.. ModelElement Entitytype -attributes 0.. Attribute Modellbeziehungen Xtext Ecore Xtext- Grammatik (oaw5) Xtext Ecore Model: ( elements += ModelElement ) ; DataLayer- Grammatik Enum PrimitiveType : ^String='String' Currency='Currency' Date='Date' ; ModelElement: Entitytype ; Entitytype: 'entitytype' name=id '{' (attributes += Attribute ';') '}' ; Attribute: 'attribute' name=id ':' PrimitiveType ; oaw DataLayer- DSL DataLayer- Modell entitytype Person { attribute name : String; attribute birthday : Date; attribute salary : Currency; } entitytype Invoice { attribute invoicenumber : String; attribute paymenttarget : Date; } attribute total : Currency; oaw Ziel- Produkte
9 Transformationen. DataLayer-Grammatik Entities-DSL (Erzeugung der Werkzeuge) EMF ANTLR Editor-Plug-in oaw-workflow (Parser.oaw) MM Ecore MM XMI Factory und Implementierung für Modell-Parser (und Dummy-Serialisierer) Grammatik Lexer Parser DataLayer-Editor (Linker, Checks, Style, Content- Assist, Outline, Navigation) New-Model-Wizard New-Project-Wizard Parser Xtext-Linker oaw-checker 2. DataLayer-Modell Entities-DSL (Anwendung der Werkzeuge) IFile Text ANTLR Lexer & Parser EMF- Modell ohne Cross- Referenzen Xtext- Linker EMF- Modell mit Cross- Referenzen oaw- Check Geprüftes EMF- Modell org.eclipse.emf.ecore.extension_parser GenLinker.ext/Linker.ext GenLinking.ext/Linking.ext GenChecks.ext Checks.ext
10 Beschreibung der Domäne Erstlieferung Person -Name : String -Alter : Duration -Geburtstag : LocalDate -Beschreibung : Text -Foto : JPEGImage -Einkommen : Currency Person Lieferung -lieferadresse Ersatzlieferung Adresse Adresse Konzepte Entitätstypen Attribute Entitäts- Ergänzungen Primitive Datentypen Enumerationen Referenzen: Existenz-Semantik, Änderungssemantik, Ordnung/Sortierung Vererbung: Delegation, Mehrfachvererbung Datenbank-Mapping Spalten-/Tabellen-Namen Spaltengrößen Indizes und Constraints O/R-Mapper-Konfiguration Caching Fetch-Strategien Historisierung
11 Datenbank-Mapping von Relationstypen Problemfall Java Persistence API.0 Join-Tabelle vs. Join-Spalte bei -- oder -N-Beziehungen JPA Join-Table Join-Column Unidirektionale -N-Beziehung Bidirektionale -N-Beziehung Reihenfolgeerhalt bei Listen Collections von primitiven Datentypen ToOne-Beziehungen als Teil der Objektidentität Geschachtelte Einbettung von Embeddable-Typen
12 Sprach-Syntax Kriterien Konsistenz der abstrakten Grammatik (Konzept-Konsistenz) Parsebarkeit (Xtext-Freundlichkeit) Kompaktheit vs. Lesbarkeit/Verständlichkeit Zweckmäßigkeit ( When in doubt, leave it out! ) Beispiel: entitytype Person { superclass : Akteur; complement : Änderungsverfolgung; attribute name : String is-indexed; reference adresse : Adresse is-historized; reference projekthistorie : List<Projekt> # mitglieder is-ordered-by(endedatum desc); reference kompetenzen : Set<Kompetenz> # many-to-many; }
13 Generierbare Artefakte Java-Beans Mapping-Deskriptoren (orm.xml vs. hbm.xml) Meta-Klassen ähnlich dem Java-Reflection-API bzw. EMF-Modellen Spalten-/Tabellen-Namen, Spalten-Präzision, direkte und geerbte Klassen-Attribute, direkte und indirekte Subklassen, typsichere Criteria-Queries SQL-Schema Create-Table-Skripte Indizes / Constraints Purge-Table-Skripte "SELECT p FROM Person p WHERE p.name = :name" DomainObject fromperson = querydefinition.addroot(person.class); fromperson.where(fromperson.get("name").equal(querydefinition.param("name"))); fromperson = PersonEntity.newQueryRoot() fromperson.where(personentity.name.equal(myqueryparameter)); Unterstützung der Schema-Migration
14 openarchitectureware kompakt Template-Sprache Xpand «DEFINE main FOR Model» «EXPAND JavaBean FOREACH this.econtents.typeselect(entitytype)» «ENDDEFINE» «DEFINE JavaBean FOR EntityType» «FILE this.name+'.java'» «EXPAND attribute FOREACH this.attributes()» «ENDFILE» «ENDDEFINE» Modell-Prüfung mit Check context EntityType ERROR "Name of Entity '" + this.name + "' is not unique" : this.siblings().select(e e.name == this.name).size == 0 ; Funktionale Erweiterungen über Xtend List[EntityType] siblings(entitytype type): type.econtainer.econtents.typeselect(entitytype).remove(this) ;
15 Generierungsstrategien Redundanz in den Templates ist OK IF-Blöcke in Templates sind nur für Ein-Zeiler empfehlenswert verschachtelte IF-Blöcke machen Template unwartbar besser sind selbstgeschriebene Funktionen als komplizierte Operationen in den Templates «name.tofirstupper()+'type'» «name.entityname()» Es ist besser Model-zu-Model-Transformationen zur Auflösung von Konventionen nutzen (z.b. Namenskonventionen) als If-Not- Null-Abfragen in den Templates Neben der üblichen Typ-Selektion in den Templates kann eine semantische Selektionen IF-Abfragen reduzieren «EXPAND onetomanyreference FOREACH this.onetomanyreferences()» «EXPAND manytomanyreference FOREACH this.manytomanyreferences()»
16 Fragen & Antworten nächster Xtext Workshop: in Dresden
DSLs 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
MehrEinführung in das Eclipse Modeling Framework. Dr. Thorsten Arendt Marburg, 22. Oktober 2015
Einführung in das Eclipse Modeling Framework Dr. Thorsten Arendt Marburg, 22. Oktober 2015 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen
MehrWIRTSCHAFTSINFORMATIK
Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier Jan.Schuermeier@gmx.de
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
MehrDefinition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012
Definition von visuellen Alphabeten basierend auf Meta Object Facilities (MOF) 23. Oktober 2012 29 Textuelle Visuelle Alphabete Textuelle Sprachen: eindimensional (Sätze) Basiselemente: Buchstaben, Ziffern,
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
MehrEinführung in das Eclipse Modeling Framework. 5. November 2014
Einführung in das Eclipse Modeling Framework 5. November 2014 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen Welcher Teil einer mobilen
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
MehrTextuelle Beschreibung von Domänenmodellen
Textuelle Beschreibung von Domänenmodellen Im Zuge einer Migration des Persistenz-Frameworks kann es sinnvoll sein, sein bestehendes Domänenmodell in einer Programmiersprache-neutralen Modellierungssprache
MehrThema 2 Acceleo-MTL- Sprachmittel
SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;
MehrQuelltextähnlichkeit
Quelltextähnlichkeit String autor = Tobias Jamin ; String projekt = Arte-Fakt ; String seminar = Transformationen ; Date termin = new Date(3, // Tag 2, // Monat 2006); Presentation praesentation = new
MehrDas Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi
Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20
MehrBridging Microsoft Oslo and Eclipse EMF
Bridging Microsoft Oslo and Eclipse EMF Seminar Modellgetriebene Softwareentwicklung Abschlusspräsentation Stanley Hillner Microsoft Codename Oslo Microsofts neuestes Werkzeug für MDSD Heißt jetzt MS SQL
Mehropenarchitectureware
openarchitectureware Enrico Schnepel EAS, FHTW-Berlin 07.06.2007 2007 (CC by-nc-sa 2.0 Germany) Enrico Schnepel ( EAS, FHTW-Berlin ) openarchitectureware 07.06.2007 1 / 26 Gliederung 1 Einleitung 2 Begriffsdefinitionen
Mehr4. Übung zu Software Engineering
4. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Klassendiagramm: Projektmanagement AUFGABE 10 1 OOA-Methode von Heide Balzert 1. Klassen finden 2. Assoziationen und Kompositionen finden
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
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
MehrKonzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle
Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der
MehrSEA. Modellgetriebene Softwareentwicklung in der BA
SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA
MehrEinführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012
Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene
MehrProgrammieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de
Programmieren ohne Programmierer Das GeneSEZ Generator Framework Gerrit Beine gerrit.beine@sapat.de Vogelperspektive Theorie: Model driven software development Praxis: Konzepte von GeneSEZ Lösungen für
MehrGenerisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon
Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon Ringvorlesung Softwareentwicklung in der industriellen Praxis TU Dresden 14. Dezember 2011 Die i.s.x. Software GmbH & Co. KG Junges,
MehrModel Driven Development im Überblick
Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrEinführung in das Eclipse Modeling Framework. 31. Oktober 2012
Einführung in das Eclipse Modeling Framework 31. Oktober 2012 Überblick Einführung in das Eclipse Modeling Framework: eine Infrastruktur für die modellgetriebene Softwareentwicklung Wie funktioniert der
MehrBest Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt 20.04.2009
Best Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt 20.04.2009 1 Agenda (1) Fornax-Plattform, Cartridges (2) Referenzimplementierung, Referenzmodell
MehrVariabilität in Produktlinien und das orthogonale Variabilitätsmodell
Variabilität in Produktlinien und das orthogonale Variabilitätsmodell Vortrag im Rahmen des Proseminars Softwarequalität und -sicherheit von Marion Weber SS 2010 1 Einführung & Motivation Variabilität
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Metamodellbasierte Codegenerierung in Java
Metamodellbasierte Codegenerierung in Java Codegenerierung Markus Völter, voelter@acm.org, www.voelter.de Codegenerierung bezeichnet die automatische Erstellung von Quelltext aus üblicherweise abstraktereren,
MehrModel Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011
Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN
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
MehrModellgetriebene Softwareentwicklung. 31. Januar 2013
Modellgetriebene Softwareentwicklung in verteilten Teams 31. Januar 2013 Überblick Wie kann ein einfacher Prozess zur modellgetriebene Entwicklung in verteilten Teams aussehen? Auf welche Weisen kann man
MehrModellierung & Domänen Spezifische Sprachen (DSL)
Modellierung & Domänen Spezifische Sprachen (DSL) Uni Jena, 2013-04-08 Fachgebiet der zu modellierenden Anwendung Aufteilung in Subdomänen möglich, evtl. spezialisierte Modelle/DSLs nötig Neben fachlichen
MehrKapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9
Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die
MehrModellbasierte Softwareentwicklung mit EMF
Softwaretechnik I, WS 2009/10 Modellbasierte Softwareentwicklung mit EMF Übungsblatt 5 13. November 2009 Organisatorisches Zur Bearbeitung der Übungsaufgabe stehen Ihnen die folgenden 3 Wochen (Kalenderwochen
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
MehrModul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:
1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%
MehrGuido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis
Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses
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/
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.
MehrIndividuelle Erweiterung des generierten Codes. 16. Januar 2013
Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene
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
MehrKlausur Software Engineering für WI (EuI)
Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):
MehrJ.6 Programmierung eingebetteter Systeme
Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrDatenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg
Datenhaltung für Android Model First 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Agenda Datenhaltung in Android Motivation / Projektziele Projekt Umsetzung Stand der Entwicklung Fazit 2 Datenhaltung
MehrSoftwarepraktikum: Enigma
Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement
MehrRefactoring relationaler Datenbank. Shaoke Wu
Refactoring relationaler Datenbank Shaoke Wu Überblick Einführung Bad Smells Probleme bei Database Refactoring Durchführung von Database Refactoring Visualisierung Refactoring relationaler DB Einführung
MehrAdressen. Praktikum Funktionale Programmierung Organisation und Überblick. Termine. Studienleistung
Adressen Adressen, Termine Studienleistung Praktikum Funktionale Programmierung Organisation und Überblick Dr. David Sabel Büro und Email Raum 216, Robert-Mayer-Str. 11-15 sabel@ki.informatik.uni-frankfurt.de
MehrPICALIKE API DOKUMENTATION
PICALIKE API DOKUMENTATION 2 INDEX EINFÜHRUNG PICALIKE 3 ABLAUF 3 VORAUSSETZUNG 4 PFLICHTFELDER 4 WEITERE FELDER 4 API 5 ÄHNLICHKEITSSUCHE 5 RECOMMENDOR 5 WEITERE EINSTELLUNGEN 6 KONTAKT 7 3 EINFÜHRUNG
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrEntwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI
Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Swisstopo-Kolloquium 11.04.2008 TU München, 13. März 2007 Inhalt 1. Anforderungen, Voraussetzungen, Grundlagen 2. Instrumente
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrANWENDUNG DES WIENER STADTWERKE-LOGOS
ANWENDUNG DES WIENER STADTWERKE-LOGOS Dem Wiener Stadtwerke-Konzern ist es ein Anliegen, die Logos in optimaler Form darzustellen. Daher sind die Logos vorzugsweise in den Farbvarianten zu verwenden. Reduzierte
MehrFree your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.
Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren. 1 Automatische Verifikation von Anforderungen Dr. Guido Dischinger guido.dischinger@liantis.com
MehrModel Driven Software Development
Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender
MehrGraphischer Editor für die technologieunabhängige User Interface Modellierung
Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige
MehrP&P Software - Adressexport an Outlook 05/29/16 14:44:26
Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können
MehrNaked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten
Naked-FHIR Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. HL7 Jahrestagung 2015 18. März 2015 Einführung HL7 FHIR stellt eine Reihe an Basis-Ressourcen zur Verfügung Über Zweite Conformance
MehrModellgetriebene Service-Entwicklung
Modellgetriebene Service-Entwicklung Service-orientierte Architekturen (SOA), Prof. Dr. M. Jäger Johannes Tietje 24. Juni 2010 1 / 13 Motivation konkrete Teile eines Dienstes Rahmenimplementierung der
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
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
MehrSCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG. Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim
SCHULVERSUCH INFORMATIK IN BADEN-WÜRTTEMBERG Gerhard Liebrich Peter-Petersen-Gymnasium Mannheim 20.02.2011 G. Liebrich, Schulversuch Informatik 2 Überblick Schulversuch Beginn im Schuljahr 2008/09 Ende
MehrGRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
MehrEinführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung
Einführung in Datenbanken - Wiederholung Normalformen - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1 Überblick Normalformen 2NF 3NF BCNF 2 Zweite Normalform (2NF) Definition (zweite
MehrDie Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
MehrEntwicklung neuer Angebote
Entwicklung neuer Angebote Das besprechen wir: Warum wollen wir neue Leistungen entwickeln? Wer soll es tun? Was machen die anderen? Was kostet uns das? Was müssen wir formell bedenken? Wie bringe ich
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrDefinition von domänenspezifischen Sprachen mit Xtext: Der abstrakte Syntaxbaum in EMF
Definition von domänenspezifischen Sprachen mit Xtext: Der abstrakte Syntaxbaum in EMF 29. November 2012 Taentzer Modellgetriebene Softwareentwicklung 263 Überblick Wie sieht der abstrakte Syntaxbaum für
MehrATHOS Benutzertreffen
ATHOS Benutzertreffen Report of the Lab Glashütten, 10. November 2010 HighQSoft GmbH, Karst Schaap karst.schaap@highqsoft.de www.highqsoft.de / www.highqsoft.com 10 November 2010-1 Themen Aktueller Stand
MehrAuswertung Fünfjahresüberprüfung
Auswertung Fünfjahresüberprüfung Insitution Abkürzung Anzahl Rückmeldungen Lehrbetrieb Lehrbetrieb mit -Angebot (befreiter Betrieb) Ausbildungszentrum mit Basisausbildung und -Angebot Überbetriebliches
MehrQuick XMP Ü bertaktungseinstellungen
Quick XMP Ü bertaktungseinstellungen Intel XMP (Extreme Memory Profile) ermöglicht Anwendern das einfache Ü bertakten von XPG Speicher durch die Änderung von Einstellungen im BIOS und somit das Erreichen
MehrDas Stationsportal der DB Station&Service AG - Das Rollenkonzept. DB Station&Service AG Vertrieb Stationsportal Berlin, Juli 2015
Das Stationsportal der DB Station&Service AG - Das Rollenkonzept DB Station&Service AG Vertrieb Stationsportal Berlin, Juli 2015 1 Das EVU entscheidet eigenständig über die Nutzer des Stationsportals Der
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
MehrDie ersten Schritte mit. DIG-CAD 5.0 Aufmaß
Die ersten Schritte mit DIG-CAD 5.0 Aufmaß Mengenermittlung aus Zeichnungen und Bildern (Zusatzanwendung zu MWM-Libero) MWM Software & Beratung GmbH Combahnstraße 43-53225 Bonn Telefon 0228 400680 - Fax
MehrModellgetriebene Softwareentwicklung bei der IBYKUS AG
Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen
Mehroder Oder 2. Auswahl-Möglichkeit in der einzelnen Detail-Artikelbeschreibung Wort Warenkorb anklicken
Beschreibung des Bestellvorgangs im e-shop der SteinZeitOase Über die nachfolgenden zwei Möglichkeiten können Sie im e-shop Ihre gewünschten Artikel einzeln auswählen und in Ihren virtuellen Warenkorb
MehrPLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN
PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode
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
Mehr9. Einführung in Datenbanken
9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken
MehrSeminar Bassem Ben Helal
Requiline Seminar Bassem Ben Helal Inhalt Motivation Kernfunktionalitäten Architektur Hierarchie Typen Abhängigkeiten Variabilitätspunkte Produktkonfiguration Evaluierung Demo Diskussion Motivation RequiLine
MehrRainer Stropek cubido. Baumschule Expression Trees in C#, CLR und DLR
Rainer Stropek cubido Baumschule Expression Trees in C#, CLR und DLR Inhalt Als Anwendungsentwickler kommt man selten mit Expression Trees in Berührung. Sie sind ein Implementierungsdetail von LINQ. Ihre
MehrSoftwareentwicklungsprozess im Praktikum. 23. April 2015
Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit
MehrIT-Projekt-Management
IT-Projekt-Management Dr. The Anh Vuong email: vuongtheanh@netscape.net http: www.dr-vuong.de Seite 1 Konfigurations Management Seite 2 KM: Ziele Verwaltung der Dokumentationen Erzeugen und Pflege die
MehrW&W Einwohnerkontrolle. EKI Version 1.522. mit Objektregister (Datenimport)
W&W Einwohnerkontrolle EKI Version 1.522 mit Objektregister (Datenimport) Antragsformular beantragen: Wählen Sie die Adresse http://www.housing-stat.ch/home_docs/e- AnmeldungGWRdt.doc Für Gemeinden des
MehrVorabversion. Schulung am 06.08.13. www.winterhoff.de. Homepage Administration und Pflege
Vorabversion Schulung am 06.08.13 www.winterhoff.de Homepage Administration und Pflege 1. Anmeldung auf der Homepage Die Anmeldung auf der Homepage erfolgt über den nachfolgenden Link durch Eingabe des
MehrRedaktionssystem E-MODE. Handbuch für RedakteurInnen. Inhalt. Informationen über E-MODE, Standards & Regeln: http://www.medunigraz.
Redaktionssystem E-MODE Handbuch für RedakteurInnen Version März 2010 Inhalt 1. Aufruf & Einstieg Informationen über E-MODE, Standards & Regeln: http://www.medunigraz.at/1992 2. Verwaltung 3. Editor 4.
MehrKonzeption & Umsetzung eines länderübergreifenden IKZM - Prozesses
Ergebnisse der online-befragung Konzeption & Umsetzung eines länderübergreifenden IKZM - Prozesses Prognos AG Mai 2009 1 Allgemeine Hinweise zur online - Befragung Untersuchungsgegenstand: Forschungsvorhaben
MehrUmstellung von Inlandssammelaufträgen in SEPA-Sammelaufträge
Umstellung von Inlandssammelaufträgen in SEPA-Sammelaufträge Die neue Funktion "Auf SEPA konvertieren" wird standardmäßig im Hauptnavigationspunkt [Banking] unter dem Navigationspunkt [Sammler-Vorlagen]
MehrJan Parthey, Christin Seifert. 22. Mai 2003
Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.
MehrSchulung Marketing Engine Thema : Einrichtung der App
Schulung Marketing Engine Thema : Einrichtung der App Videoanleitung : http://www.edge-cdn.net/video_885168?playerskin=48100 Marketing Engine Tool : App Paket : Basis / Premium Version 2.0-03.11.2015 1
MehrPflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version:
Pflichtenheft CDIX-Roles Erweiterung des CDIX Berechtigungssystems Autor : CD Software GmbH Copyright 2013-2014 CD Software GmbH Version: Motivation... 3 Organisation... 3 Kompatibilität und Aktivieren
MehrSoftware Engineering II
Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters
MehrSerienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
MehrMediaSend. medienübergreifendes Marketing-Tool
MediaSend medienübergreifendes Marketing-Tool DASAT GbR Truderinger Str. 13 D-81677 München Tel.: 0700 998 998 99 Fax: 0700 998 998 88 info@dasat.com - www.dasat.com Versenden Sie HTML-, Fax oder SMS-Newsletter
Mehr