Automatisierte Modellkopplung heterogener eingebetteter Systeme

Größe: px
Ab Seite anzeigen:

Download "Automatisierte Modellkopplung heterogener eingebetteter Systeme"

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 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

Mehr

Model Driven Architecture (MDA)

Model 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

Mehr

Model Driven Development im Überblick

Model 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

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Entwicklung 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

Mehr

4. AuD Tafelübung T-C3

4. 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 ++) {

Mehr

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

Ein 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

Mehr

Software 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 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

Mehr

Was 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 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

Mehr

Modellbasierte Softwareentwicklung

Modellbasierte 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

Mehr

Software Engineering II

Software 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

Mehr

dspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum

dspace (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

Mehr

Design mit CASE-Tools

Design 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

Mehr

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

Vom 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

Mehr

WhiteStarUML Tutorial

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

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. 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

Mehr

Code-Erzeugung aus UML-Klassendiagrammen

Code-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

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.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)

Mehr

Vorlesung Programmieren

Vorlesung 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)

Mehr

Datenhaltung 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 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

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag 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

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlö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

Mehr

Guido 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 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

Mehr

OO Softwareentwicklung

OO 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

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einfü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

Mehr

Ein 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 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

Mehr

Einführung in die Programmierung für NF

Einfü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

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, 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

Mehr

Session 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 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

Mehr

Dr. 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 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??

Mehr

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

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

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java 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

Mehr

J.6 Programmierung eingebetteter Systeme

J.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

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 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

Mehr

Java Einführung Packages

Java 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)

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. 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

Mehr

Vererbung & Schnittstellen in C#

Vererbung & 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

Mehr

C# im Vergleich zu Java

C# 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

Mehr

Model Driven Architecture Praxisbeispiel

Model 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

Mehr

Grundlagen von Python

Grundlagen 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

Mehr

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

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

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Ü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,

Mehr

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Modellierung 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

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

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

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle 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

Mehr

intence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen

intence 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

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. 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:

Mehr

Software Engineering II

Software 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

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses 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

Mehr

Ein 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 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

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren 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

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. 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

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

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

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter 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.

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die 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,

Mehr

Kapitel 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 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

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene 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

Mehr

am Beispiel von JUnit

am 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

Mehr

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Das 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

Mehr

5. Abstrakte Klassen

5. 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,

Mehr

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Die 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

Mehr

Software-Entwickler/innen Embedded Systems

Software-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

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

Mehr

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK

FRAUNHOFER-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

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements 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

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Current 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

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung 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,

Mehr

Model 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 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

Mehr

i 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

i 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,

Mehr

Release Automation für Siebel

Release 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

Mehr

Sehr geehrte Faktor-IPS Anwender,

Sehr 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

Mehr

Auszug aus JAX-WS Folien

Auszug 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

Mehr

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

Faktor-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

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. 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

Mehr

Große Übung Praktische Informatik 1

Groß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,

Mehr

Javakurs 2013 Objektorientierung

Javakurs 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

Mehr

Requirements Engineering I

Requirements 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

Mehr

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

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

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Programmieren was ist das genau?

Programmieren 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

Mehr

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Vorgetragen 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

Mehr

IBM Software Demos Rational Software Delivery Platform - Änderungen an Design und Architektur einer Anwendung

IBM 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

Mehr

BPMN. Suzana Milovanovic

BPMN. 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

Mehr

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Themen. 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

Mehr

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Generisch 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,

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-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

Mehr

Grundlagen der Informatik 2

Grundlagen 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

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

Anforderungen an die HIS

Anforderungen 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

Mehr

Anleitung. Integration von Kentix Geräten in den OpManager

Anleitung. 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 Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Stefan Walter swalter@dspace.de Lehrstuhl für Informationstechnik, insb. Realzeitsysteme FernUniversität in Hagen Fachtagung Echtzeit

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java 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

Mehr

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wochenbericht. 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

Mehr

IPETRONIK TESTdrive SDK V02.00

IPETRONIK 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

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML 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,

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien 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........................

Mehr

Solaris Cluster. Dipl. Inform. Torsten Kasch <tk@cebitec.uni Bielefeld.DE> 8. Januar 2008

Solaris 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

Mehr

Database 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 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