Software ubiquitärer Systeme

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Software ubiquitärer Systeme"

Transkript

1 Software ubiquitärer Systeme Übung 3: Aspekte in Betriebssystemen und AspectC++-Tutorial Michael Engel und Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund 1

2 Inhalt Aspekte in Betriebssystemen Paper: Interruptsynchronisation in PURE AspectC++-Tutorial Fortführung des Tutorials aus der Vorlesung SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 2

3 Inhalt Aspekte in Betriebssystemen Paper: Interruptsynchronisation in PURE AspectC++-Tutorial Fortführung des Tutorials aus der Vorlesung SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 3

4 PURE PURE: eine aspektorientierte Betriebssystemfamilie Objektorientiertes BS für tief eingebettete Systeme C++-Klassenbibliothek Maßschneiderung des BS auf die Anwendung Alternative zu speziell für einen Zweck entwickelte BS Basis: minimale Menge an Systemfunktionen Inkrementell erweitert durch minimale Systemerweiterungen Applikation = finale Systemerweiterung Keine traditionelle Grenze zwischen BS und Applikation SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 4

5 Struktur von PURE CORE: concurrent runtime executive for passive and active objects NEXT: minimal nucleus extensions, z.b.: Anwendungsorienterte Prozess- und Adressraum-Modelle Blockierende (Thread-) Synchronisation Problem-orientiertes (remote) message passing Erweiterungen sind nur auf Anforderung der Anwendung im System vorhanden SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 5

6 PURE CORE Minimale Teilmenge von Systemfunktionen zum Scheduling von Ereignissen und/oder Aktionen Ereignisse sind als (Hardware-)Interrupts implementiert Aktionen sind (federgewichtige) Threads Vier Bausteine: Flange Abstraktionen zur Bindung von Objekten an Trap-/Interrupt-Vektoren und Propagation entsprechender Ereignisse an höhere Ebenen des Systems, Sluice Abstraktionen zur Synchronisation Interrupt-getriebener Aktivitäten auf Interrupt-transparente Art (d.h., ohne Deaktivierung von Hardware-Interrupts), Signal-box Abstraktionen zur nicht-blockierenden Synchronisation aktiver Objekte (d.h., Threads), und Threads reel Abstraktionen zur Konstruktion, zum Scheduling und zur Destruktion aktiver Objekte. SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 6

7 PURE CORE: Struktur Zudem: Gerätetreiber als 5. Baustein in realen Systemen In PURE: Teil von NEXT oder der Applikation CORE stellt nur Integrationsfunktionen zur Verfügung Verbinden von Treibern mit Exception-Vektoren (flange) Synchronisation von Interrupt-getriebenem Code (sluice) Treiber: Verbindung zwischen nicht-synchronisierten und synchronisierten Teilen eines PURE-basierten Systems SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 7

8 Pro-/Epilog-Modell Interrupt-Behandlung ist eine der wichtigsten Aufgaben eines BS In PURE: Interruptbehandlung in zwei Teilen Prolog: Aufruf als Reaktion auf Interrupt Epilog: Fortführung des Prologs, wird später ausgeführt Epiloge enthalten die weniger zeitkritischen Teile der Interrupt- Behandlung Pro-/Epilog-Synchronisationsmodell Serialisierung von Epilogen Synchronisierte Warteschlange noch nicht abgearbeiteter Epiloge First-come, first-served De- und Enqueue-Operationen können überlappend ausgeführt werden - Weiche Synchronisation durch spezielle Implementierung SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 8

9 Pro-/Epilog-Modell: Details Kernel wird durch eine einige Lock-Variable synchronisiert Lock wird gesetzt, wenn Thread den Kernel betritt und gelöscht, wenn Thread den Kernel verläßt ISRs dürfen währenddessen keine Kernelaufrufe tätigen, um Korruption von Kernel-Datenstrukturen zu vermeiden Daher ISRs in zwei Teilen: Prolog und Epilog Prolog enthält Instruktionen, die schnell auf Geräte-Interrupt antworten Epilog enthält alle Operationen, die mit dem Kernel interagieren Epilog wird nicht direkt aufgerufen, sondern durch eine spezielle Klasse: guard Aufgabe: Lock-Variable vor Ausführung des Epilogs prüfen Im Falle eines Kernel Locks wird Ausführung des Epilogs verzögert, bis der Lock freigegeben wird Ansonsten wird der Epilog unmittelbar ausgeführt SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 9

10 Pro-/Epilog-Modell: Implementierung Globale Lock-Variable wird gesetzt/gelöscht durch lock.enter() bzw. lock.leave() Quellcode-Analyse: 166 unterschiedliche Aufrufe dieser Methoden verteilt über 15 Klassen Offenbar ist Interrupt-Synchronisation ein extrem querschneidender Belang Viele Klassen in unterschiedlichen Subsystemen sind betroffen Klassendiagramm zeigt Schichtstruktur von PURE Jede (meist konfigurierbare) Schicht ist als neue Ebene im Vererbungsbaum implementiert Aufrufe der Synchronisationsprimitive werden als Erweiterung in ihrer eigenen Schicht angesehen - Daher oft in ihrer eigenen Klasse implementiert (z.b. Monitor) SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 10

11 Zugriffe auf globale Lock-Variable SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 11

12 Probleme der Interruptsynchronisation Viele Subsysteme hängen von der Implementierung der Interrupt-Synchronisations-Primitive ab...oder zumindest vom Interface hier: osek, thread, case Nicht einfach in anderen Kontexten oder Konfigurationen wiederverwendbar Wenn diese unterschiedliche (oder keine) Synchronisationsschemata verwenden Aufwendige, fehleranfällige, manuelle Codeänderungen notwendig! Subsysteme können damit nicht wirklich wiederverwendbare Komponenten werden SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 12

13 Probleme der Interruptsynchronisation Aus Sicht des Applikationsentwicklers: Die Schicht, die den Synchronisationscode realisiert, definiert auch automatisch das API für den Anwendungsentwickler Die Applikation darf abgeleitete Klassen verwenden, Basisklassen der API dürfen aber nicht aufgerufen werden, da dies das definierte Synchronisationsschema stört API-Einschränkung Verhindert Implementierung Applikations-definierter Threads, die direkt von niederen Thread-Abstraktionen abgeleitet sind SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 13

14 Probleme der Interruptsynchronisation Aus Sicht des Betriebssystementwicklers: Wenn das System durch Ableitung bereits synchronisierter Klassen erweitert wird, muss der neue Code separat synchronisiert werden Also: Lock muss freigegeben werden, bevor Methoden der synchronisierten Basisklasse aufgerufen werden Erhalt der Aufrufsematik, Vermeiden von Fehlverhalten Ergebnis: unlocked -Zeitabschnitt! In bestimmten Situationen nicht akzeptabel, egal wie kurz Ausweg: Adaption der Synchronisationsschicht Ergebnis: wieder viele aufwendige manuelle Eingriffe SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 14

15 Interruptsynchronisation Ergebnis: Interrupt-Synchronisation ist schwierig! Besonders das Finden von Synchronisationspunkten Keine Aufgabe für Entwickler einzelner BS-Komponenten Plazierung und Implementierung von Locks ist strategische Entscheidung Beeinflusst das gesamte System Bei sauberer Trennung der Belange: unabhägige Entscheidung Berücksichtigung globaler Systemanforderungen - Diese kann und soll ein Entwickler einer einzelnen Systemkomponente (z.b. eines Gerätetreibers) nicht kennen Gutes Beispiel: Interrupt-Latenzen Kurz halten durch feingranulare Lock-Strategie auf Kosten von Laufzeit und Code-Overhead Grobgranulare Strategie reduziert dagegen Laufzeit-Overhead - Weniger Lock-/Unlock-Aufrufe benötigt - Höhere Interrupt-Latenzen SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 15

16 Lösungsansatz 1 Naiver Ansatz Trennung der Implementierung der Interrupt-Synchronisations- Strategie vom Code der Komponenten Pointcuts locked : matched auf genau die Menge Methoden, die synchronisiert ausgeführt werden sollen enter und leave für einige Spezialfunktionen, die das Lock setzen oder löschen upcall beschreibt die Funktionen, die den synchronisierten Teil des Systems verlassen - Diese müssen das Lock freigeben, bevor sie den Kernel verlassen, und nachher wieder setzen SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 16

17 Lösungsansatz 1 Advice-Definition in Z.17 lock.enter() soll aufgerufen werden vor jedem der Joinpoints in locked oder entershould be called before any of the join points from Also bevor eine der selektierten Funktionen ausgeführt wird Advice-Definition Z. 18 Legt fest, dass lock.leave() nach den ang. Joinpoints aufgerufen werden soll Also nach Ausführung der selektierten Funktionen In Z findet das ungekehrte statt für alle Funktionen, die den Kernel zeitweise verlassen Schwerwiegendes Problem dieser Variante Sie ist nicht robust! Nach jeder Änderung in PURE muss der Aspekt-Code geprüft werden: Sicherstellen, dass die Pointcuts immer noch alle relevanten Funktionen erfassen SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 17

18 Lösungsansatz 1: Implementierung SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 18

19 Lösungsansatz 2 Löst das Problem von Variante 1 Verwendung einer höheren Abstraktionsebene Definiert Pointcuts thread, sched, ipc, guard, driver, mm Jeder Pointcut korrespondiert mit einem Subsystem von PURE Zusätzlich: Pointcut api layer Beschreibt PURE API: alle für Programmierer verfügbare Klassen Idee: Locking-Primitive immer dann aufrufen, wenn Subsystem-Grenze eines synchronisierten Abschnitts gekreuzt wird Deutlich in Pointcut-Definition zu sehen Call Pointcut-Funktion ergibt alle Call-Joinpoints, in denen Zielfunktion ein Member der angeg. Klassen ist Hier: alle Klassen, die zu synchronisierter Kernel-Region gehören Davon nur diese auswählen, die nicht in einer Kernel-Klasse sind, also Calls von außerhalb in die synchronisierte Kernel-Region SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 19

20 Lösungsansatz 2: Komponenten SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 20

21 Lösungsansatz 2: Aspekte SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 21

22 Vergleich der Ansätze Codegrößen Original und Aspekt-Variante 1 & 2 PURE: BS für tief eingebettete Systeme Größe stark von Applikation abhängig 3 Test-Applikationen - friend: kooperative Threads, keine Interrupts - philo und clock: preemptives, interrupt-getriebenes Thread-Scheduling AOP-Implementierungen erhöhen Codegröße nicht! Signifikante Reduktion für Variante 2 Grund: einige Klassen, die nur zum Aufruf von Synchronisations- Primitiven verwendet wurden, konnten entfernt werden SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 22

23 Inhalt Aspekte in Betriebssystemen Paper: Interruptsynchronisation in PURE AspectC++-Tutorial Fortführung des Tutorials aus der Vorlesung SuS Übung 3 Aspektorientierung in Betriebssystemen und AspectC++-Tutorial 23

CiAO (CiAO is Aspect-Oriented)

CiAO (CiAO is Aspect-Oriented) CiAO (CiAO is Aspect-Oriented) Eine aspektorientiert entworfene Betriebssystemfamilie Daniel Lohmann Olaf Spinczyk Wolfgang Schröder-Preikschat Lehrstuhl für Informatik IV Verteilte Systeme und Betriebssysteme

Mehr

AOSTA. Aspects in Operating Systems: Tools and Applications

AOSTA. Aspects in Operating Systems: Tools and Applications AOSTA Aspects in Operating Systems: Tools and Applications Michael Engel, Philipps-Universität Marburg AG Verteilte Systeme engel@informatik.uni-marburg.de Aspektorientierung in 5 Minuten ;-) Crosscutting

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung

Mehr

Software Product Line Engineering

Software Product Line Engineering Software Product Line Engineering Grundlagen, Variabilität, Organisation Sebastian Steger steger@cs.tu-berlin.de WS 2005/2006 SWT: Entwicklung verteilter eingebetteter Systeme Software Product Line Engineering

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Aspektorientierte Programmierung (aspect-oriented programming, AOP)

Aspektorientierte Programmierung (aspect-oriented programming, AOP) Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen

Mehr

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0)

Konzepte von Betriebssystem Komponenten. Aufbau eines Modernen Betriebssystems (Windows NT 5.0) Konzepte von Betriebssystem Komponenten Aufbau eines rnen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung

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

Redundantes Speichern

Redundantes Speichern Redundantes Speichern Höchste Verfügbarkeit und größtmögliche Datensicherheit durch paralleles Speichern in EBÜS Status: Freigegeben Dieses Dokument ist geistiges Eigentum der Accellence Technologies GmbH

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Abschnitt 9: Schnittstellen: Interfaces

Abschnitt 9: Schnittstellen: Interfaces Abschnitt 9: Schnittstellen: Interfaces 9. Schnittstellen: Interfaces 9.1 Die Idee der Schnittstellen 9.2 Schnittstellen in Java 9.3 Marker-Interfaces 9.4 Interfaces und Hilfsklassen 9.5 Zusammenfassung

Mehr

Anwendung der Aspektorientierung : Security

Anwendung der Aspektorientierung : Security Seminar AOSD Anwendung der Aspektorientierung : Security Miao Tang Betreuer: Dipl.-Inform. Dirk Wischermann 1. Motivation Anwendung der AO: Security 2 Sicherheitsprobleme beim Design und bei der Programmierung

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Benutzerhandbuch. Smartphone-Server App Stand 06.10.11

Benutzerhandbuch. Smartphone-Server App Stand 06.10.11 Benutzerhandbuch Smartphone-Server App Stand 06.10.11 Über diese App Mit der Smartphone-Server App können Sie per Smartphone / Tablet PC auf alle Daten Ihres Unternehmens zugreifen, zu denen Ihr Administrator

Mehr

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen

CAS genesisworld.exchange connect Abgleich von Adressen und Terminen Abgleich von Adressen und Terminen Stand Juni 2004 Was ist CAS genesisworld.exchange connect? Inhalt 1 Was ist CAS genesisworld.exchange connect?... 3 2 Systemvoraussetzungen... 5 2.1 Software...5 2.2

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

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

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Peter Löhr Nichtsequentielle Programme Nichtsequentielle Programme (concurrent programs): Prozesse, Threads, Tasks,... sind eigenständige

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

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt]

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] 1 Software-Qualitätssicherung 2 Integrationsstrategien big bang 6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] nicht-inkrementell geschäftsprozeßorientiert Prof. Dr. Helmut Balzert Lehrstuhl

Mehr

Zusammenfassung und Ausblick

Zusammenfassung und Ausblick Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick Überblick Zusammenfassung: Software-Produktlinien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft Automatische

Mehr

Der Design-Workflow im Software-Entwicklungs-Prozess

Der Design-Workflow im Software-Entwicklungs-Prozess Der -Workflow im Software-Entwicklungs-Prozess Universität Bonn, Vorlesung Softwaretechnologie SS 2000 1 Der -Workflow stellt zum Ende der Elaborations- und Anfang der Konstruktionsphase den Schwerpunkt

Mehr

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Michael Saecker Bekannte Lösungen für bekannte Probleme benutzen Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Gemeinsames Vokabular für Designer 2 http://www.clickpix.de/sommer/architektur.jpg

Mehr

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS Automotive Safety & Security 2008 Stuttgart, 19. 20.11.2008

Mehr

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

Mehr

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs Diplomarbeit Abschlussvortrag Stephan Vogt stephan.vogt@cs.uni-dortmund.de 1 Inhalt Einleitung Wiederverwendung von BS Arbeiten an CiAO Kommunikation

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem

oscan ein präemptives Echtzeit-Multitasking-Betriebssystem ein präemptives Echtzeit-Multitasking-Betriebssystem 2011. Vector Informatik GmbH. All rights reserved. Any distribution or copying is subject to prior written approval by Vector. V0.9 2011-10-12 Management

Mehr

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day Transparente SOA Governance mit Modellierung OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day I N H A L T 1. SOA Governance 2. Service Repositories 3. SOA Governance mit Modellen I N H A L T 1.

Mehr

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren Installation über MSI CAS genesisworld mit MSI-Paketen installieren 1 Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten

Mehr

Plug-and-Play-Lösung für Autosar-Software-Komponenten

Plug-and-Play-Lösung für Autosar-Software-Komponenten Plug-and-Play-Lösung für Autosar-Software-Komponenten Durch die im Autosar-Standard spezifizierten Schnittstellen kann die Steuergeräteapplikation leichter als bisher aus Komponenten unterschiedlicher

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

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

Java Real-Time Specification

Java Real-Time Specification Ausgewählte Kapitel eingebetteter Systeme Java Real-Time Specification Tobias Distler 05.07.2006 Java und Echtzeit? Problem Nichtdeterministisches Verhalten der Garbage Collection Weitere Nachteile Scheduling

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

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

Erstellung von Bibliotheken in CoDeSys V3

Erstellung von Bibliotheken in CoDeSys V3 Dokument Version 2.0 3S - Smart Software Solutions GmbH Seite 1 von 10 INHALT 1 EINFÜHRUNG 3 2 BIBLIOTHEKSKONZEPT IM DETAIL 4 2.1 Kategorien von Bibliotheken 4 2.1.1 System 4 2.1.2 Internal 4 2.1.3 Application

Mehr

Integrated Modular Avionics & ARINC 653

Integrated Modular Avionics & ARINC 653 Integrated Modular Avionics & ARINC 653 Martin Wißmiller Gliederung IMA - Traditioneller Ansatz - IMA-Ansatz - IMA-Generationen ARINC653 - Speicherpartitionierung - Zeitpartitionierung - Kommunikation

Mehr

» Weblösungen für HSD FM MT/BT-DATA

» Weblösungen für HSD FM MT/BT-DATA Die Bedeutung der Online-Verfügbarkeit von aktuellen Daten ist in vielen Bereichen fester Bestandteil der täglichen Arbeit. Abteilungen werden zentralisiert und dezentrales Arbeiten wird immer wichtiger.

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

MultiCash 3.23. Grundsätzliche Hinweise. April 2012. Omikron Systemhaus GmbH & Co. KG Von-Hünefeld-Str. 55 D-50829 Köln

MultiCash 3.23. Grundsätzliche Hinweise. April 2012. Omikron Systemhaus GmbH & Co. KG Von-Hünefeld-Str. 55 D-50829 Köln Grundsätzliche Hinweise April 2012 Omikron Systemhaus GmbH & Co. KG Von-Hünefeld-Str. 55 D-50829 Köln Tel.: +49 (0)221-59 56 99-0 Fax: +49 (0)221-59 56 99-7 info@omikron.de www.omikron.de Inhaltsverzeichnis:

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Unsichere Auslösung von Stoppkontakten von Friedel Weber

Unsichere Auslösung von Stoppkontakten von Friedel Weber Unsichere Auslösung von Stoppkontakten von Friedel Weber Das folgende beschreibt kein schwerwiegendes Problem aber ein Ärgernis, dessen Lösung einfach und kostenlos ist. Aber Achtung: Seit der WDP-Version

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

Kapitel 10 Aktive DBMS

Kapitel 10 Aktive DBMS Kapitel 10 Aktive DBMS 10 Aktive DBMS 10 Aktive DBMS...1 10.1 Einführung und Definition...2 10.2 Funktionsprinzip: ADBMS und ECA-Modell...4 10.3 Potentiale und Vorteile ADBMS...5 10.4 Aktive Elemente einer

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Das "Softwarepaket für Falcon und Eagle Framegrabber"

Das Softwarepaket für Falcon und Eagle Framegrabber Windows Treiber für IDS Falcon und Eagle 26.07.2011 Page 1/6 Einleitung IDS bietet für die der Falcon und Eagle Serie zwei unterschiedliche Windows-Treiber an. Zum einen das "Softwarepaket für Falcon und

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

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

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

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

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

WORKFLOW DESIGNDOKUMENT

WORKFLOW DESIGNDOKUMENT Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite

Mehr

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

Mehr

Übung Betriebssysteme 11

Übung Betriebssysteme 11 Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

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

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

E-Learning-Projektabschlussbericht

E-Learning-Projektabschlussbericht Universität Innsbruck E-Learning-Projektabschlussbericht Projekttitel: Alaska Projektcode: 2008.068 ProjektleiterIn: Dr. Barbara Weber Beteiligte Personen: Stefan Zugal, Michael Schier Projektlaufzeit:

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

affilinet_ Flash-Spezifikationen

affilinet_ Flash-Spezifikationen affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4

Mehr

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol Rechenzentrum der Ruhr-Universität Bochum Integration von egroupware an der RUB in Outlook 2010 mit Funambol Um die Daten in Ihrem egroupware-account (Adressen, Termine, etc.) in Outlook zu verwenden,

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme Übung 3: CiAO/IP Christoph Borchert Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/~chb/ 1 Inhalt Internet

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Elexis-BlueEvidence-Connector

Elexis-BlueEvidence-Connector Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert

Mehr

Schnellinbetriebnahme MPA-L mit Profinet im Siemens TIA Portal V. 13

Schnellinbetriebnahme MPA-L mit Profinet im Siemens TIA Portal V. 13 Application Note Schnellinbetriebnahme MPA-L mit Profinet im Siemens TIA Portal V. 13 Diese Application Note beschreibt, wie eine Ventilinsel MPA-L mit einer Profinetanschaltung CPX-FB33/FB34/FB35 an einer

Mehr

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG 01.06.2016 Autoren: Sascha Hellermann (Geschäftsführer COCUS NEXT GmbH) Simon Probst (Solution

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen Christian Wawersich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Mehr

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

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

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

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

white sheep GmbH Unternehmensberatung Schnittstellen Framework

white sheep GmbH Unternehmensberatung Schnittstellen Framework Schnittstellen Framework Mit dem Schnittstellen Framework können Sie einerseits Ihre Schnittstellen automatisch überwachen. Eine manuelle Kontrolle wird überflüssig, da das Schnittstellen Framework ihre

Mehr

iphone- und ipad-praxis: Kalender optimal synchronisieren

iphone- und ipad-praxis: Kalender optimal synchronisieren 42 iphone- und ipad-praxis: Kalender optimal synchronisieren Die Synchronisierung von ios mit anderen Kalendern ist eine elementare Funktion. Die Standard-App bildet eine gute Basis, für eine optimale

Mehr