Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015"

Transkript

1 Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH

2 Agenda 1 Warum Steuerungen objektorientiert programmieren? 2 Umsetzung von OOP innerhalb eines IEC Tools 3 Beispiel 4 Typische Anwendungsgebiete 2

3 OOP für Steuerungen? Was ist objektorientiertes Programmieren (OOP)? Ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Es fördert Flexibilität Wiederverwendbarkeit von Programmen Grundidee der objektorientierten Programmierung: Daten und Funktionen, die auf diese Daten angewendet werden können möglichst eng in einem sogenannten Objekt zusammenzufassen nach außen hin zu kapseln, so dass Methoden fremder Objekte diese Daten nicht versehentlich manipulieren können. 3

4 OOP für Steuerungen? Warum OOP in der Steuerungstechnik? Flexibel für Veränderungen und Erweiterungen (bessere Wartbarkeit) Leichter wiederverwendbar Bessere Kapselung Gängige Lehrmethode bei der Hochsprachenprogrammierung In der Office-Welt millionenfach bewährt OOP ist eine zunehmende Forderung von Steuerungsprogrammierern. 4

5 Warum nicht gleich C++ / C#? Debugging und Inbetriebnahme erfordern komplette Entwicklungsumgebungen. Vermischung der Applikation mit Systemsoftware möglich Zugriff auf E/A-Ebene nur über Bibliotheksaufrufe OOP für Steuerungen? IEC ist der gängige Standard für Industrie-Steuerungen. Spezifische Editoren für Applikationsprogrammierung Zyklische Abarbeitung fester Teil der Denke 5

6 Agenda 1 Warum Steuerungen objektorientiert programmieren? 2 Umsetzung von OOP innerhalb eines IEC Tools 3 Beispiel 4 Typische Anwendungsgebiete 6

7 Realisierung von OOP in IEC Begriffe Interface Gibt einem Ding einen Namen und legt fest, welche Funktionen Objekte dieser Art bieten müssen. Klasse Legt ein (oder mehrere) Interfaces sowie die Daten fest, die zu Objekten dieser Klasse gehören. Objekte Tatsächliche Daten mit den dazugehörigen Funktionen, wie sie in einer Klasse beschrieben sind. Methode Eine im Interface beschriebene Funktion. Methoden können mit <Objektname>.<Methodenname>() aufgerufen werden. 7

8 Realisierung von OOP in IEC Integration in IEC Objektorientiertes Programmieren war in den früheren Versionen der Norm nicht enthalten. Normerweiterung mit OOP ist mittlerweile erfolgt (2013) Erweitert die IEC um Java-Sprachmittel Das Konzept basiert auf Funktionsbausteinen. In CODESYS V3: Von Anfang implementiert Optionale Erweiterung, d. h. kein Zwang zum objektorientierten Programmieren! 8

9 Realisierung von OOP in IEC Integration in CODESYS Interface: neuer Objekttyp (wie globale Variablenliste, POU etc.) Klasse: Ein Funktionsbaustein ist eine Klasse mit genau einer Methode. Ein FB wir auf volle Klassenfunktionalität erweitert. Objekte: Instanzen von Funktionsbausteinen Methoden: Funktionen zu Interfaces und Funktionsbausteinen, die mit dem Interface/ dem Funktionsbaustein fest verbunden sind, auf den Daten des Funktionsbausteins arbeiten, wie eine Funktion Eingänge, einen Rückgabewert und lokale Variablen haben können. 9

10 Realisierung von OOP in IEC Neue Schlüsselwörter IMPLEMENTS Ein Funktionsbaustein realisiert (implementiert) ein bestimmtes Interface. Er muss alle Methoden des Interfaces realisieren. EXTENDS Vererbung: Ein Funktionsbaustein übernimmt Funktionen und Daten eines anderen Funktionsbausteins und erweitert diesen um eigene Funktionen und Daten bzw. überschreibt Funktionen. 10

11 Realisierung von OOP in IEC Weiterer Begriff Polymorphismus Eine Methode wird aufgerufen. Erst zur Laufzeit kann entschieden werden, welche Implementierung tatsächlich ausgeführt wird. 11

12 Agenda 1 Warum Steuerungen objektorientiert programmieren? 2 Umsetzung von OOP innerhalb eines IEC Tools 3 Beispiel 4 Typische Anwendungsgebiete 12

13 Beispiel Gebäudemanager Aufgabe: In einem Gebäude gibt es verschiedene Raumtypen: Den einfachen Raum Den erweiterten Raum Den Raum mit Klimaanlage Tag-Modus: Alle Lichter werden ausgemacht. Heizung wird hochgedreht. Nacht-Modus: Alle Lichter werden angemacht. Heizung fährt herunter. 13

14 Beispiel Gebäude-Manager Tagbetrieb Nachtbetrieb Tagbetrieb Nachtbetrieb 14

15 Beispiel Gebäude-Manager Raumtyp 1 Raumtyp 2 Raumtyp 3 Raumtyp 2 Raumtyp 1 Raumtyp 3 15

16 Beispiel Gebäude-Manager Raumtyp 1 Raumtyp 2 Überschreiben Raumtyp 3 Überschreiben 16

17 Beispiel Gebäude-Manager r1 r3 r5 r7 r2 r6 r4 r8 17

18 Beispiel Gebäude-Manager Schleife ruft unterschiedliche Objekte anhand des identischen Interfaces auf 18

19 Agenda 1 Warum Steuerungen objektorientiert programmieren? 2 Umsetzung von OOP innerhalb eines IEC Tools 3 Beispiel 4 Typische Anwendungsgebiete 19

20 Typische Anwendungsfälle Einsatz unterschiedlicher Antriebe mit jeweils gleichen Methoden Einsatz unterschiedlicher Kommunikationssysteme mit jeweils ähnlichen Kommandos Einsatz unterschiedlicher Maschinenmodule mit einer einheitlichen / ähnlichen Kommandoschnittstelle 20

21 Fazit Vorteile Applikation kann flexibel verändert und erweitert werden. Bessere Wartbarkeit des Applikationscodes Applikationscode ist leichter wiederverwendbar. Bessere Kapselung OOP wird für viele Bibliotheken innerhalb von CODESYS bereits eingesetzt, Aufruf dennoch funktional! 21

22 Fazit Nachteile Bei kleineren Anwendungen: schlechtere Performance OOP ist derzeit (noch) nicht Teil der Ausbildung von Steuerungsprogrammierern 22

23 Fazit Die Komplexität von Steuerungsaufgaben steigt Die Objektorientierung wird einen festen Platz in der Steuerungswelt finden. Die Objektorientierung hat bereits einen festen Platz in der Steuerungswelt gefunden (wenn auch nur in Bereichen, in den sie sinnvoll ist). Objektorientierte Programmierung wurde von Anfang an in CODESYS V3 implementiert 23

24 Inspiring Automation Solutions Vielen Dank für Ihre Aufmerksamkeit! CODESYS ist ein eingetragenes Warenzeichen der 3S-Smart Software Solutions GmbH. Druckfehler, Irrtümer und technische Änderungen vorbehalten. Vervielfältigung (auch nur auszugsweise) und Weitergabe nur nach vorheriger Genehmigung. 24

Automatisiertes Testen von Steuerungsapplikationen/-bibliotheken CODESYS Test Manager

Automatisiertes Testen von Steuerungsapplikationen/-bibliotheken CODESYS Test Manager 10/2013 Automatisiertes Testen von Steuerungsapplikationen/-bibliotheken CODESYS Test Manager Automatisierungstage Emden 2014 Roland Wagner, 3S-Smart Software Solutions CODESYS a trademark of 3S-Smart

Mehr

Bibliotheksverwaltung in CODESYS Katarina Heining Automatisierungstreff IT & Automation 2015

Bibliotheksverwaltung in CODESYS Katarina Heining Automatisierungstreff IT & Automation 2015 Bibliotheksverwaltung in CODESYS Katarina Heining Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Was ist Bibliotheksmanagement? 2 Allgemeine

Mehr

Programmierung von Steuerungen künftig objektorientiert?

Programmierung von Steuerungen künftig objektorientiert? 1 Programmierung von Steuerungen künftig objektorientiert? R. Hungerbühler, Dozent BFH R. Hungerbühler Dozent Automation BFH 2 Sichten auf Fragestellung Wissenstand Mitarbeiter /Ausbildung Entwickler,

Mehr

Übergreifend projektieren in einem Steuerungsprojekt: CODESYS Visualization

Übergreifend projektieren in einem Steuerungsprojekt: CODESYS Visualization public / 03.15 Übergreifend projektieren in einem Steuerungsprojekt: CODESYS Visualization Schwerpunkt: Erstellung, Lokalisierung und Trend Michael Schwarz Automatisierungstreff IT & Automation 2015 CODESYS

Mehr

Herzlich Willkommen zum Workshop CODESYS Engineering: Projektieren nach IEC 61131-3 mit neuen Möglichkeiten

Herzlich Willkommen zum Workshop CODESYS Engineering: Projektieren nach IEC 61131-3 mit neuen Möglichkeiten 03/2015 Herzlich Willkommen zum Workshop CODESYS Engineering: Projektieren nach IEC 61131-3 mit neuen Möglichkeiten Roland Wagner, Michael Schwarz und Katarina Heining Automatisierungstreff IT & Automation

Mehr

OPC UA und die SPS als OPC-Server

OPC UA und die SPS als OPC-Server OPC UA und die SPS als OPC-Server Public 01.10.2010 We software We software Automation. Automation. Agenda Firmenportrait Kurz-Einführung zu OPC Kurz-Einführung zu OPC UA (Unified Architecture) OPC UA

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Christian Glesmann. - Diplomarbeit -

Christian Glesmann. - Diplomarbeit - Vergleich der Implementierung der Sensorik und Aktorik des KNX/EIB-Gebäudebussystems in IEC 61131-basierte Gebäudeautomatisierungssysteme von WAGO und Beckhoff - Diplomarbeit - Christian Glesmann Inhalt

Mehr

Objektorientierung in der Automatisierungstechnik Sinn und Nutzen anhand eines konkreten Beispiels

Objektorientierung in der Automatisierungstechnik Sinn und Nutzen anhand eines konkreten Beispiels Objektorientierung in der Automatisierungstechnik Sinn und Nutzen anhand eines konkreten Beispiels Die Zeichen der Zeit in der Automatisierungstechnik sind gestellt. Objektorientierte Programmierung ist

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success.

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success. JetSym Programmierung in Hochsprache ST nach IEC-61131-3 We automate your success. JetSym das Tool JetSym ist das zentrale Programmiertool der Jetter AG, das alle Funktionen der Automatisierungstechnik

Mehr

Visuelles Programmieren. mit der neuen. Moskito Workbench

Visuelles Programmieren. mit der neuen. Moskito Workbench Visuelles Programmieren mit der neuen Moskito Workbench Was ist die Moskito-Workbench? Grafische Programmieroberfläche Kann auch ohne explizite Kenntnisse der Moskito-Programmiersprache genutzt werden.

Mehr

Objektorientiertes JavaScript

Objektorientiertes JavaScript Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht Platz für ein Bild (optional) Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht 1.0 1.1 Elektronik? Was heisst modellbasierte Software-Entwicklung für uns? Was sind für eine

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

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

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Bibliotheksbeschreibung. KNX_IP_750_889_02.lib. CODESYS-V2.3-Baustein für den KNX IP Anwendungscontroller

Bibliotheksbeschreibung. KNX_IP_750_889_02.lib. CODESYS-V2.3-Baustein für den KNX IP Anwendungscontroller Bibliotheksbeschreibung KNX_IP_750_889_02.lib CODESYS-V2.3-Baustein für den KNX IP Anwendungscontroller Version: 17.09.2014 Copyright 2014 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten.

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Smart Engineering. Perfection in Automation www.br-automation.com

Smart Engineering. Perfection in Automation www.br-automation.com Smart Engineering Perfection in Automation www.br-automation.com Smart Engineering Smart Engineering mit Automation Studio Mit der Einführung von Automation Studio im Jahr 1997 hat B&R einen weltweit beachteten

Mehr

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt ECC 2013 Marcel Berger 1 Agenda Motivation Einführung Microsoft.NET Micro Framework Einführung Microsoft.NET Gadgeteer Vorteile Architektur

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

GetName(), GetName(), GetGeschlecht() und AelterWerden().

GetName(), GetName(), GetGeschlecht() und AelterWerden(). 11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer

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

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen

Mehr

Die objektorientierten Features

Die objektorientierten Features 22 Martin Paulick Die objektorientierten Features Bislang konnten Applikationsingenieure bei der Verwendung von IEC-61131-Engineeringtools keine objektorientierten Lösungen erstellen. Mit der Erweiterung

Mehr

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

Mehr

DER CONTROLLER KNX IP. Bewährte Technik auf neuem Niveau

DER CONTROLLER KNX IP. Bewährte Technik auf neuem Niveau DER CONTROLLER KNX IP Bewährte Technik auf neuem Niveau DAS WAGO-KNX-PORTFOLIO KNX Controller KNX IP starke Performance Der frei programmierbare Controller KNX IP ist das Multitalent für die flexible Gebäudetechnik.

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel 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

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung Marko Apfel, Team Entwicklung Agenda Was ist COM Was sind die ArcObjects Warum Delphi mit ArcObjects Wie greift man auf die ArcObjects mit Delphi zu Wo gibt es Informationen 2 Agenda Was ist COM Was sind

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim, 10.11.2014 Entwicklungsumgebungen Packer, Vagrant, Puppet Alexander Pacnik Mannheim, 10.11.2014 inovex... über inovex und den Referenten 2 Entwicklungsumgebungen... Übersicht Einführung Packer Konfiguration Packer

Mehr

Java lernen mit BlueJ

Java lernen mit BlueJ Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung David J. Barnes Michael Kölling 4.0 Lernen in Eigenregiegi Vorlesungen Seminare Übungen Bücher Webseiten Diskussionslisten

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

PView7 & Citrix XenApp

PView7 & Citrix XenApp Whitepaper PView7 & Citrix XenApp -basierte Bereitstellung von PView7 mit Citrix XenApp Deutsch Products for Solutions Rev. 1.0.0 / 2010-02-10 1 Zusammenfassung Citrix XenApp ist eine Software für die

Mehr

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com)

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Kapselung Was ist das? Auszug aus Wikipedia Kapselung ist auch ein wichtiges

Mehr

Anwendungshinweis. IEC60870 Parametrieren aus der Applikation. a500780, Deutsch Version 1.0.0

Anwendungshinweis. IEC60870 Parametrieren aus der Applikation. a500780, Deutsch Version 1.0.0 IEC60870 Parametrieren aus der Applikation a500780, Deutsch Version 1.0.0 ii Wichtige Erläuterungen Impressum Copyright 2011 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten. WAGO Kontakttechnik

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

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

Objektorientierte Programmierung

Objektorientierte Programmierung Programmierkurs C++ Kapitel 7:Objektorientierte Programmierung Seite 1 Objektorientierte Programmierung If programming in PASCAL is like put in a straightjacket, then programming in C is like playing with

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Objektorientierte Systementwicklung Modellierung und Realisierung komplexer Systeme Herausgeber: Gerhard Held Autoren: Rolf Eisenhauer Thomas Haensse Rudolf Haggenmüller Gerhard Held Jürgen Kazmeier Peter

Mehr

Scala & Lift. Ferenc Lajko 04.02.2010

Scala & Lift. Ferenc Lajko 04.02.2010 Scala & Lift Ferenc Lajko 04.02.2010 Gliederung 1. Scala 1.1. Allgemein 1.2. Merkmale 1.3. Unterschiede zu Java 1.4. Code-Beispiel 1.5. Vorteile zu anderen Sprachen 2. Lift 2.1. Allgemein 2.2. Idee 2.3.

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung

Einführung in AOP. Rico Schiekel - 012816 rschiekel@web.de. Agenda. Kernproblem der Objekt Orientierung Einführung in AOP Informatikseminar Rico Schiekel - 012816 rschiekel@web.de Fachhochschule Ravensburg Weingarten Hochschule für Technik und Sozialwesen Einführung in AOP Agenda Kernproblem der Objekt Orientierung

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Objektorientierte Programmierung des Zulieferers mit CoDeSys V3

Objektorientierte Programmierung des Zulieferers mit CoDeSys V3 Ausarbeitung Projektarbeit Teil 2 Objektorientierte Programmierung des Zulieferers mit CoDeSys V3 Dominik Huth Te2b Dominik Huth Te2b Seite 1 von 11 Inhalt: 1. Funktionsbeschreibung des Zulieferers 2.

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

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

Virtual Serial COM Driver IP 67

Virtual Serial COM Driver IP 67 Keywords Virtual TwinCAT serial seriell EtherCAT EtherCAT Box EP6002 RS232 RS422 RS485 IP67 Schnittstelle Port Driver Virtual Serial Driver Dieses Application Example beschreibt, wie in rauer Industrie-Umgebung

Mehr

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend Klaus Berghald Senior Account Manager Klaus.b@zend.com +49 (0)89 51 61 99-18 Umsetzung IT Leiter Herr Dr. Pascal Rheinert Head

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Matthias Wagner, Anita Herrmann Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Simulations-

Mehr

EL9820/EL9821 Evaluation Kit

EL9820/EL9821 Evaluation Kit EL9820/EL9821 Evaluation Kit Version: 1.3 Datum: 25.06.2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Vorwort 2 1.1 Hinweise zur Dokumentation 2 1.1.1 Haftungsbedingungen 2 1.1.2 Lieferbedingungen 2 1.1.3

Mehr

Best Practice Infor PM 10 auf Infor Blending

Best Practice Infor PM 10 auf Infor Blending Best Practice Infor PM 10 auf Infor Blending, 11.11.2008 Infor Performance Management Best Practice Infor PM 10 auf Infor Blending Leistungsübersicht Infor PM 10 auf Infor Blending eine Data Warehouse

Mehr

Adobe Certified Expert-Programm

Adobe Certified Expert-Programm Adobe Certified Expert-Programm Product Proficiency-Prüfungs-Bulletin Adobe Flash CS3 Prüfungsnr. 9A0-058 Checkliste für die ACE-Zertifizierung Die folgende Checkliste hilft Ihnen dabei, die ACE-Zertifizierung

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

PBS ContentLink. Revisionssicher archivieren in Storage oder Cloud. 17. Juni 2015. Torben Griebe

PBS ContentLink. Revisionssicher archivieren in Storage oder Cloud. 17. Juni 2015. Torben Griebe 17. Juni 2015 PBS ContentLink Revisionssicher archivieren in Storage oder Cloud Torben Griebe Seite 1 Agenda Vorteile Funktionsweise Unterstütze Systeme Neuigkeiten Seite 2 Vorteile Geringe Hardwareanforderungen

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:

Mehr

2 Grundsätzliches zur objektorientierten Programmierung.. 33

2 Grundsätzliches zur objektorientierten Programmierung.. 33 Inhaltsverzeichnis Informationen für Leser.... 13 1 Die Entwicklung der Steuerungstechnik... 18 1.1 Die Anfänge der speicherprogrammierbaren Steuerung... 19 1.2 Die SPS lernt zu kommunizieren.........................................

Mehr

Redundante ETHERNET-Kommunikation mit WAGO- Medienredundanz-ETHERNET- Feldbuscontroller 750-882

Redundante ETHERNET-Kommunikation mit WAGO- Medienredundanz-ETHERNET- Feldbuscontroller 750-882 Redundante ETHERNET-Kommunikation mit WAGO- Medienredundanz-ETHERNET- Feldbuscontroller 750-882 192.168.1.0/24 192.168.2.0/24, Deutsch Version 1.0.0 2 Allgemeines Copyright 2010 by WAGO Kontakttechnik

Mehr

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C IAC-Programmierung HELP.BCFESITSIACPROG Release 4.6C IAC-Programmierung SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen

Mehr

Avira und Windows 8/Windows Server 2012

Avira und Windows 8/Windows Server 2012 Avira und Windows 8/Windows Server 2012 Inhaltsverzeichnis 1. Was bedeutet Windows 8-Kompatibilität?... 3 2. Warum ist Avira nicht zertifiziert für Windows 8/ Windows Server 2012?... 3 4. Was bedeutet

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Anbindung WAGO Ethernet Controller 750-842 über OPC an Siemens WinCC Anwendungshinweis

Anbindung WAGO Ethernet Controller 750-842 über OPC an Siemens WinCC Anwendungshinweis Anbindung WAGO Ethernet Controller 750-842 über OPC an Siemens WinCC, Deutsch Version 1.0.0 2 Allgemeines Copyright 2003 by WAGO Kontakttechnik GmbH Alle Rechte vorbehalten. WAGO Kontakttechnik GmbH Hansastraße

Mehr

Automatisierungstechnik nach internationaler Norm programmieren (3) Folge 3: Einführung in die Handhabung von POE s und Bibliotheken

Automatisierungstechnik nach internationaler Norm programmieren (3) Folge 3: Einführung in die Handhabung von POE s und Bibliotheken Automatisierungstechnik nach internationaler Norm programmieren (3) Autor: Dr. Ulrich Becker Fachzentrum Automatisierungstechnik und vernetzte Systeme im BTZ Rohr-Kloster Mail: Ulrich.Becker@BTZ-Rohr.de

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

1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern

1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern Keywords 1-Sekunden-USV USV unterbrechungsfrei Spannungsversorgung Spannungsausfall Daten sichern C6915 CX5000 CP77xx CP62xx 1-Sekunden-USV: Wichtige Daten bei Spannungsausfall sichern Dieses Application

Mehr

Magento Integration Platform (MIP) Michael Türk, Flagbit GmbH & Co. KG Frankfurt, 02.11.2009

Magento Integration Platform (MIP) Michael Türk, Flagbit GmbH & Co. KG Frankfurt, 02.11.2009 Magento Integration Platform (MIP) Michael Türk, Flagbit GmbH & Co. KG Frankfurt, 02.11.2009 Agenda Grundlagen und Vorüberlegungen Vorstellung von MIP Abgrenzung zu anderen Lösungsvorschlägen Fazit Integration

Mehr

GO am Bus GO mit Zugang zum LUXMATE-Bus (Paketlösung)

GO am Bus GO mit Zugang zum LUXMATE-Bus (Paketlösung) GO am Bus GO mit Zugang zum LUXMATE-Bus (Paketlösung) Dient zur Visualisierung, Überwachung und Verwaltung einer LUXMATE-Anlage ohne Room Automation Rechner LRA-1500(x). Funktionsweise Die Paketlösung

Mehr

Smart building automation

Smart building automation evolution in automation Smart building automation the process IT automation platform Advanced Process Control on demand Energy Management based on ISO 50001 Applied Industrie 4.0 solutions Intelligent

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

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Bootapplikation ohne CODESYS laden

Bootapplikation ohne CODESYS laden Impressum Copyright epis Automation GmbH & Co. KG 2013. Alle Rechte, auch der Übersetzung vorbehalten. Das Kopieren oder Reproduzieren, ganz oder auch nur auszugsweise, in irgendeiner Form (Druck, Fotokopie,

Mehr

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009

Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Standard und Normierungen. für STEP7

Standard und Normierungen. für STEP7 Standard und Normierungen für STEP7 Version 2.2 WITO Automation AG / 10. Juli 2009 / mg WITO Automation AG Tel.: ++41-(0)71 / 626 58 80 Seite : 1 1 Allgemeines 6 1.1 Ziel der Standard und Normierungen

Mehr