Automatisierte Modellkopplung heterogener eingebetteter Systeme
|
|
- Stanislaus Adler
- vor 8 Jahren
- Abrufe
Transkript
1 Automatisierte Modellkopplung heterogener eingebetteter Systeme Clemens Reichmann, Philipp Graf, Klaus D. Müller-Glaser Institut für Technik der Informationsverarbeitung Universität Karlsruhe (TH) Prof. Dr. K. D. Müller-Glaser Prof. Dr. J. Becker Institut für Technik der Informationsverarbeitung
2 Gliederung Umfeld Randbedingungen des Softwareentwurfs für eingebettete Systeme Grundlagen Modellierungsdomänen Integration durch Modelltransformation GeneralStore Modellverwaltung Werkzeugkopplung Codeerzeugung Automatisierte Schnittstellengenerierung Betrachtete Schnittstellen UML Vorlagenmechanismus Kopplungsmodellierung und -umsetzung Zusammenfassung und Ausblick Institut für Technik der Informationsverarbeitung
3 Umfeld und Herausforderungen Entwurf Software für eingebettete Systeme Aufgaben: Messen, Steuern, Regeln Software im Kontext der Hardware und der Umgebung (Aktoren, Sensoren) Begrenzte Systemressourcen Anwendungsbereiche: Automotive, Automatisierung, Medizintechnik Entwurfsrandbedingungen Stark steigende Komplexität Gegenläufig: Kostenbegrenzung, kurze Produktzyklen, Variantenreichtum, konstante Qualität und Sicherheit Heterogenes Entwurfsumfeld, verstärkt Software-intensive Probleme Lösungsansatz Graphische Modellierung Verringerung der Entwurfskomplexität durch mächtigere Artefakte Partitionierung des Entwurfs auf unterschiedliche Modellierungsdomänen Institut für Technik der Informationsverarbeitung
4 Modellierungsdomänen für Eingebettete Elektronische Systeme Ereignisdiskret Modellbildung mit Statecharts Signalflussorientiert Modellbildung mit Blockdiagrammen Rhapsody in C++ (i-logix) Statemate (i-logix) Stateflow (The MathWorks) MATLAB/Simulink (The MathWorks) MATRIXx (National Instruments) ASCET-SD (ETAS) Softwarekomponenten Modellbildung mit UML Real-time Studio (ARTiSAN) Rhapsody in C++ (i-logix) ObjectiF (MicroTOOL) Rose (Rational Software, IBM) Together (Borland) Poseidon (Gentleware) MagicDraw (NoMagic) Ameos (Aonix) TAU2 (Telelogic) Institut für Technik der Informationsverarbeitung
5 Unified Modeling Language als zentrale Notation Unified Modelling Language (UML) Industriestandard der Object Management Group (OMG), Version 2.0 Wohldefinierte Sprache durch: Abstrakte Syntax (MOF Metamodell) ObjectConstraint Language (OCL) Prosabeschreibung der Semantik Trennung zwischen Modell und Ansicht Beschreibung statischer und dynamischer Aspekte Unabhängig von der Zielsprache (Action Language) Modell des Gesamtsystems in einer Notation Modellverwaltung auf Basis des UML-Metamodells.5 Systemteile werden problemspezifisch in passender Notation beschrieben und mit bestmöglichen Werkzeugen bearbeitet Bidirektionale Transformation in die Gesamtnotation Institut für Technik der Informationsverarbeitung
6 Transformation zwischen Simulink und UML Regler für Roboterarm (signalflussgetrieben) Matlab Simulink Specification Elements ID : BlockDefaults ID3 : LineDefaults Realization Elements ID2 : AnnotationDefaults robot arm controller robot arm controller : System Xposition : Constant Institut für Technik der Informationsverarbeitung
7 Übersicht: GeneralStore Nutzerverwaltung Concurrent Engineering Austausch von Modelldaten mit UML Werkzeugen Versionierung der Modellartefakte Datenhaltung des Gesamtmodells in Datenbank Modellaustausch Transformation von und nach MATLAB/Simulink/ Stateflow Austausch von Modelldaten mit Statemate Generischer Codegenerator für JAVA/C++ aus UML Codegenerierung Anstossen von Codegeneratoren (z.b. Embedded Coder) Automatisierte Erzeugung von Codeschnittstellen Institut für Technik der Informationsverarbeitung
8 GeneralStore - Architektur und Codeerzeugung ARTiSAN Together Poseidon Statemate MATLAB Simulink MATLAB Stateflow AONIX MagicDraw Rhapsody Rose Modelldaten MDL MDL XMI.0, XMI., XMI.2 SQL GeneralStore CASE-Tool Integration Platform XMI Template UML Coder JAVA Matlab Matlab /Wrapper Generator Automation DCOM Matlab Embedded Coder JAVA Rhapsody in MicroC automation XMI MicroC C C JAVA/C++ Compiler / Linker / Make Zielplattform (RTOS) Institut für Technik der Informationsverarbeitung
9 Codeerzeugung FwContainer (rtfw) +LookUp( key : FwString, rvalue : FwElement*& ) : FwBool Analyse GetError <<import>> <<import>> Message -command : FwString -commandline : FwString +getarguments() : FwASamplerContainer +getcommand() : FwString +getcommandline() : FwString +Message() +setcommand( thecommand : FwString ) +setcommandline( thecommandline : FwString ) +tostring() : FwString -arguments FwASamplerContainer (rtfw) +LookUp( key : FwString ) : FwElement -commands -oelements -run : FwBoolean #sendstring : FwString -ielements CommandProzessor -index2steps +CommandProzessor( messageprozessor : MessageProzessor* ) +Execute() : FwBoolean +GetCommand( name : FwString ) : Command +GetIElement( name : FwString ) : FwIElement +GetOElement( name : FwString ) : FwOElement +Init() : void +SendAnswer( answer : FwString ) : void +~CommandProzessor() Code erzeugbar aus Klassendiagrammen Verhaltensbeschreibung mit MeDeLa Derzeit in Entwicklung: Sequenzdiagramme Statecharts fcntl <<import>> <<import>> MessageProzessor +Execute() : FwBoolean +GetNextMessage() : Message* +Init() : void +MessageProzessor() +Parse( messagestr : FwString* ) : Message +SendAnswer( answer : FwString ) : void MeDeLa: +~MessageProzessor() if (mdatalength == 00){ GetStatus int t:=0; +Execute() : FwBoolean +GetKindOfTray() : FwInt +GetStatus( } commandprozessor : CommandProzessor ) +GetTrayCoordinate( x : FwInt, y : FwInt ) : TrayPosition* +Init() : voidif (mdata!= NULL){ +IsValidCommand( m : Message* ) : FwBoolean glcolor3f(.0f, 0.0f, 0.0f ); double prevx := mmin.getx(); double prevy := mmin.gety(); double step := (abs(mmin.getx())+abs(mmax.getx()))/mdatalength; int count := 0; for (double x := mmin.getx(); x < mmax.getx(); x += step){ double y := mdata[count]; drawline(prevx,prevy,x,y); prevx := x; prevy := y; count++; } } Institut für Technik der Informationsverarbeitung
10 Codeerzeugung Message -command : FwString -commandline : FwString +getarguments() : FwASamplerContainer +getcommand() : FwString +getcommandline() : FwString +Message() +setcommand( thecommand : FwString ) +setcommandline( thecommandline : FwString ) +tostring() : FwString FwContainer (rtfw) +LookUp( key : FwString, rvalue : FwElement*& ) : FwBool -arguments FwASamplerContainer (rtfw) +LookUp( key : FwString ) : FwElement -commands -oelements -run : FwBoolean #sendstring : FwString -ielements CommandProzessor -index2steps +CommandProzessor( messageprozessor : MessageProzessor* ) +Execute() : FwBoolean +GetCommand( name : FwString ) : Command +GetIElement( name : FwString ) : FwIElement +GetOElement( name : FwString ) : FwOElement +Init() : void +SendAnswer( answer : FwString ) : void +~CommandProzessor() fcntl <<import>> Analyse GetError <<import>> <<import>> Velocity Template: ## Class, Parents, and Interfaces // class declaration class $class.name## <<import>> MessageProzessor +Execute() : FwBoolean +GetNextMessage() : Message* +Init() : void : +MessageProzessor() +Parse( messagestr : FwString* ) : Message +SendAnswer( answer : FwString ) : void +~MessageProzessor() #if($class.parents.size()+$class.interfaces.size() > 0)## GetStatus +Execute() : FwBoolean +GetKindOfTray() : FwInt +GetStatus( commandprozessor : CommandProzessor ) +GetTrayCoordinate( x : FwInt, y : FwInt ) : TrayPosition* +Init() : void +IsValidCommand( m : Message* ) : FwBoolean #end##if #foreach($parent in $class.parents)## #if($velocitycount > )##, #end##if public $parent.name## #end##foreach #foreach($interface in $class.interfaces)## #if($class.parents.size()+$velocitycount > )##, #end##if public $interface.name## #end##foreach // associations JAVA/C++ Quellcode: // class declaration class FwAsamplerConainer : public FwContainer { // associations Institut für Technik der Informationsverarbeitung
11 GeneralStore - Architektur und Codeerzeugung ARTiSAN Together Poseidon Statemate MATLAB Simulink MATLAB Stateflow AONIX MagicDraw Rhapsody Rose Modelldaten MDL MDL XMI.0, XMI., XMI.2 SQL GeneralStore CASE-Tool Integration Platform XMI Template UML Coder JAVA Matlab Matlab /Wrapper Generator Automation DCOM Matlab Embedded Coder JAVA Rhapsody in MicroC automation XMI MicroC C C JAVA/C++ Compiler / Linker / Make Zielplattform (RTOS) Institut für Technik der Informationsverarbeitung
12 MATLAB Simulink/Stateflow Schnittstellen Parameter Daten (Stateflow) Events(Stateflow) Signale Benötigte Schnittstellen müssen im Matlabmodell als solche gekennzeichnet werden Schnittstellen werden im generierten Code als globale Variablen, Arrays oder Funktionen definiert Sie können über extern C statements in eigene Applikationen integriert werden; spätestens beim Binden muss die Definition verfügbar sein Institut für Technik der Informationsverarbeitung
13 Wrapper Konzept Parametrisierbares UML Modell beschreibt Wrapper (WrapperTemplate) Gibt Struktur und Umfang des MdlWrappers vor Parametrisierung durch Template-Klassen Methoden mit MeDeLa beschrieben Kann durch ein UML-CASE-Tool vom Entwickler angepasst und verändert werden WrapperTool generiert den Wrapper Das Matlab Modell wird nach benötigten Informationen untersucht Das WrapperTemplate-Modell wird gelesen Aus diesen Informationen wird der MdlWrapper erstellt Struktur wird erstellt MeDeLawird ergänzt WrapperTool WrapperTemplate amdlwrapper Institut für Technik der Informationsverarbeitung
14 Workflow bei der Kopplung UML Kopplungs-Vorlage-Modell Vorlage mit Parameterdefinition Datenerfassung Parametermodell XML, XMI Datei Kopplungsdaten MATLAB/Simulink Modell Reglungstechnischer Systemteil Quellcode- Generierung Generator UML Modell Kopplungsmodell Modelltransformation Quellcode- Generierung UML Modell Softwareintensiver Systemteil Quellcode- Generierung Zielplattform Compile, link, make Komplett modellbasiert Vorlage des Kopplungsmechanismus ( WrapperTemplate ) ist ein UML Modell Zur Generierung der Kopplung werden nur Modellelemente benötigt Ergebnis der Generierung ist ein UML Modell Institut für Technik der Informationsverarbeitung
15 UML Template Mechanismus kopieren Template Parameter parametrisieren Institut für Technik der Informationsverarbeitung
16 UML Template Mechanismus - Konventionen Erweiterung des Templatemechanismus Typ array mit Dimension n Für Klassennamen: ergibt n Klassen Für Attribute/Operationen: ergibt n Attribute/Operationen _ClassName_ : array _ClassName attribute_ : array Car +get_attibute_() : String +set_attribute_( thevalue : String ) Max Tom Car +getx() : String +gety() : String +setx( thevalue : String ) +sety( thevalue : String ) Institut für Technik der Informationsverarbeitung
17 UML Template Mechanismus - Konventionen Erweiterung des Templatemechanismus (Fortsetzung) MeDeLa enthält spezielle Befehle, welche bei Parametrisierung aufgelöst werden: Iterationen Bedingungen _ParameterClassName_ : array _ParameterName_ : array _ParameterDataType_ : array _ParameterArraySizeX_ : array _ParameterArraySizeY_ : array _Dimension_ : array ParameterController (MdlWrapper.WrapperTemplate) <<extern>> +_ParameterName_[9999] : _ParameterDataType_ <<create>> +ParameterController() <<destroy>> +~ParameterController() <<required>> +getparameter( theparametername : String ) : MdlParameterWrapper _parameter := new Vector(); MdlParameterWrapper aparam := null; //#{ aparam := new _ParameterClassName_( _ParameterName_, String("_ParameterName_"), _ParameterArraySizeX_, _ParameterArraySizeY_ ); _parameter.add(aparam); //#} Institut für Technik der Informationsverarbeitung
18 Anwendungsbeispiel Softwarekomponenten Modellbildung mit UML Signalflussorientiert Modellbildung mit Blockdiagrammen Generator Feedback result Scope Signal wird ausgelesen und Parameter kann verändert werden UML Modell Kommuniziert mit MATLAB/Simulink Scheduling des MATLAB Modells Verstärkerfaktor zur Laufzeit verändern Auslesen des Signals Initialisierung/Herunterfahren Nutzerinterface (Eingabe, OpenGL) Institut für Technik der Informationsverarbeitung
19 Architektur des Kopplungsmodells Amplifier Specification Elements Realization Elements "PT".System: System MdlClasses Gain.Block System "feedback".gain.block: Gain.Block <<implicit>> Wrapper uses <<implicit>> WrapperTemplate modelname : String ModelController WrapperAccessor -mdlamplifier Application AmplifierWrapper <Amplifier> <<binding>> MdlAmplifierAccessor MdlDataController ModelController <<import>> <<import>> Institut für Technik der Informationsverarbeitung
20 Wrapper Anbindung MDLDataController +finish() : void +getgain() : MdlParameterWrapper +getnextdoublevalue() : double +init() : void +MDLDataController() +~MDLDataController() -mresult 0.. MdlSignalWrapper 0.. -mgain MdlParameterWrapper <<import>> <<import>> <<import>> <<implicit>> -mwrapper 0.. MdlWrapperAccessor +broadcastsfevent( theeventname : String ) : wrpbool +getparameter( thefullparametername : String ) : MdlParameterWrapper +getsfdata( thesfdataname : String ) : MdlSFDataWrapper +getsignal( thefullsignalname : String ) : MdlSignalWrapper +init() : void +step() : void +terminate() : void _ModelName_ : String ModelController Institut für Technik der Informationsverarbeitung
21 Implementierung als Plug-In von GeneralStore Zur Wrapper-Generierung benötigte Parameter Im Matlab Modell gefundene Schnittstellen Schnittstellen im MATLAB- Modell suchen Templatemodell in Kopplungsmodell transformieren Institut für Technik der Informationsverarbeitung
22 Zusammenfassung Heterogene Modellierung in unterschiedlichen Notationen nötig zur adäquaten Behandlung des Entwurfs eingebetteter Systeme Integrationsplattform GeneralStore Modellverwaltung auf Basis des UML.5 Metamodells Transformation aus anderen Notationen Erzeugung eines lauffähigen Systems durch Codeerzeugung Werkzeugkopplung Kopplung auf Modellebene Modellierung der Kopplungsvorlage mit UML Templates Automatische Umsetzung in eine UML-Kopplungsmodell, aus dem Code erzeugt werden kann Implementiert in GeneralStore Institut für Technik der Informationsverarbeitung
23 Ausblick GeneralStore Erweiterung der Codegenerierung auf C Codegenerierung aus Sequenzdiagrammen und Statecharts ETAS ASCET-SD Anbindung UML 2.0 als zentrales Metamodell Skalierung der Datenbank bei großen Modellen Institut für Technik der Informationsverarbeitung
24 Institut für Technik der Informationsverarbeitung
Rhapsody in J Modellierung von Echtzeitsystemen
Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung
MehrModel Driven Architecture (MDA)
Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale
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,
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
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 ++) {
MehrEin hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind
Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung R. Gitzel, M. Schwind Agenda! Überblick/Motivation! Hintergrund! Technische Umsetzung! Zentrale Ergebnisse 2 Überblick Ziele! Know-how-Aufbau/Stand
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
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
MehrModellbasierte Softwareentwicklung
CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution
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
Mehrdspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum
Agenda dspace und das V-Modell für Steuergeräte- Entwicklung Wie funktioniert Rapid Control Prototyping TargetLink: Vom Model zum Code Ein Wort zu HIL Praxisbeispiele dspace (1/3) dspace: Gegründet 1988
MehrDesign mit CASE-Tools
Geodatabase Objekt Modell Teil 2: Design mit CASE-Tools Andreas Greithanner Team Entwicklung Kranzberg 2002 ESRI Geoinformatik GmbH Agenda Was ist CASE? Entwicklung eines Datenmodells Anlegen verschiedener
MehrVom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung
: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung Christian Semmler MT323 Human Factors Engineering Seite 1 Gliederung HMI-Entwicklungsprozess Werkzeuge Einsatz an einem Beispielprojekt
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/
MehrActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0
Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht
MehrCode-Erzeugung aus UML-Klassendiagrammen
Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter
Mehr09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)
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
MehrVortrag von: Ilias Agorakis & Robert Roginer
MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile
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
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
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
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
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
MehrEinführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
MehrWorkflow, Business Process Management, 4.Teil
Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung
MehrSession 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de
Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh www.its-owl.de Agenda Abschlusspräsentation itsowl-tt-savez Einführung Zielsetzung Ergebnisse Resümee und Ausblick
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
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
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
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
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
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)
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
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
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrModel Driven Architecture Praxisbeispiel
1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
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,
MehrModellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer
Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Holger Sinnerbrink Einführung Firmenentwicklung Gründung von Telelogic 1983 als Forschungs- und Entwicklungsabteilung
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/
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
Mehrintence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen
intence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen Kurzvorstellung intence Agenda KURZVORSTELLUNG intence automotive electronics Wurde 2007 gegründet und ist Entwicklungspartner
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrSoftware Engineering II
Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
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
MehrEin Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen
Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
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
MehrObjektorientierter Software-Entwurf Die Unified Modeling Language 4 1
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
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
MehrModellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen
Mehram Beispiel von JUnit
Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern
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
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrDie Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal
HIER DREHT SICH ALLES UM IHRE ZUKUNFT Entwicklung einer Architektur für automatisierte UI-Tests Im Rahmen Ihrer entwickeln Sie eine Software-Lösung, die das automatische Bedienen und Befüllen der graphischen
MehrSoftware-Entwickler/innen Embedded Systems
Software-Entwickler/innen Embedded Systems Software-Projekte bei namhaften Unternehmen in ganz Deutschland. Unsere Expertise stellen wir als Partner von SAP und IBM unter Beweis. Business Intelligence,
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
MehrFRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK
FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK DIE METHODE FÜR DEN SOFTWAREENTWURF VERNETZTER MECHATRONISCHER SYSTEME Innovative Funktionen moderner mechatronischer
MehrRequirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit
IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational
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
MehrCurrent Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.
Current Workflow Rules T1 Rules Extensions XMLfile DOM processing with Meta API-calls Model 1 T2 Model 2 Code Generation (Smarty) Source code PP formatted sourcecode DTD V1 Rules XMI 1/21 Anbindung eines
MehrAnleitung zur Installation und Verwendung von eclipseuml 2.1.0
Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,
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
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,
MehrRelease Automation für Siebel
June 30 th 2015 Release Automation für Siebel Stefan Kures Agenda + Herausforderungen + Lösung mit Automic + Vorteile + Resultate 3 Property of Automic Software. All rights reserved Siebel als zentrale
MehrSehr geehrte Faktor-IPS Anwender,
März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrFaktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1
Faktor-IPS Modellgetriebene Softwareentwicklung mit Faktor-IPS Seite 1 Faktor-IPS Faktor-IPS ist ein Werkzeug zur modellgetriebenen Entwicklung versicherungsfachlicher Systeme Bestandssysteme Außendienstsysteme
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
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
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
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
MehrIBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung
In dieser Demo verwendet Alex die Visualisierungs- und Modellfunktionen von Rational Software Architect, um die Architektur der Anwendung zu betrachten und festzulegen, wie die Änderung Sofort kaufen bestmöglich
MehrBPMN. Suzana Milovanovic
BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business
MehrThemen. Software Design and Quality Group Institute for Program Structures and Data Organization
Themen 2 28.04.2010 MODELLGETRIEBENE SOFTWARE-ENTWICKLUNG Grundlagen 3 28.04.2010 Meta-Modell: Lego Meta-Modell Bauvorschriften Building Block * connected with Modell Lego Reale Welt Haus Bilder: (c) designritter
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,
MehrSoftware-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.
Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess
MehrGrundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
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
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
MehrAnleitung. Integration von Kentix Geräten in den OpManager
Anleitung Integration von Kentix Geräten in den OpManager Integration von Kentix Geräten in den OpManager Inhalt 1 Über diese Anleitung... 3 2 Initial Setup... 3 3 Importieren der Device Templates... 3
MehrÜbersetzung von UML-Software-Spezifikationen in Simulationsmodelle
Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Stefan Walter swalter@dspace.de Lehrstuhl für Informationstechnik, insb. Realzeitsysteme FernUniversität in Hagen Fachtagung Echtzeit
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
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
MehrIPETRONIK TESTdrive SDK V02.00
TESTdrive SDK V02.00 Übersicht Kundenspezifische Erweiterungen möglich Unabhängige Entwicklungen von TESTdrive-Kernsystem (Releases) Eigenständige Erweiterungen durch den Kunden selbst Nutzung von bestehenden
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
MehrUML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish
UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrSolaris Cluster. Dipl. Inform. Torsten Kasch <tk@cebitec.uni Bielefeld.DE> 8. Januar 2008
Dipl. Inform. Torsten Kasch 8. Januar 2008 Agenda Übersicht Cluster Hardware Cluster Software Konzepte: Data Services, Resources, Quorum Solaris Cluster am CeBiTec: HA Datenbank
MehrDatabase Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH
Database Change Management für Continuous Delivery Diana Lander und Andreas Falk NovaTec Consulting GmbH Die Vortragenden Andreas Falk Senior Consultant NovaTec Consulting GmbH Diana Lander Consultant
Mehr