Zusammenfassung und Ausblick
|
|
- Bernhard Albert
- vor 8 Jahren
- Abrufe
Transkript
1 Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick Überblick Zusammenfassung: Software-Produktlinien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft Automatische Kombination und Integration Beherrschbarkeit nicht-funktionaler CiAO Olaf Spinczyk 2 Motivation Betriebssysteme für eingebettete Systeme Spezielle Hardware Markt mit > 100 RTOS Spezielle Anwendungen > 50% Eigenentwicklungen das Rad wird neu erfunden auch die selben Fehler werden wiederholt oftmals bietet ein BS Hersteller mehrere Systeme an mit getrennter Code-Basis getrieben durch die speziellen Anforderungen seiner Kunden 2007 Olaf Spinczyk 3 Software-Produktlinien (Software-PL) Organisierte Wiederverwendung durch die aktive Gestaltung einer gemeinsamen Plattform für aktuelle und künftige Produkte Existierender Code Domänenwissen Produktspezifische Anforderungen Domain Engineering Plattform Artefakte (assets) Application Engineering neues Produkt Im Domain Engineering werden die gemeinsamen und variablen Artefakte, die Bestandteile der Plattform, entwickelt. Im Application Engineering werden einzelne Produkte der Produktlinie entwickelt bzw. abgeleitet. Die Produkte werden [] konfiguriert, so dass nur in geringem Maße produktspezifische Softwareentwicklung notwendig wird Olaf Spinczyk 4 [1] [1]
2 Überblick: Software-Produktlinien Überblick: Software-Produktlinien Konkretes Problem... PL-Architekt / Entwickler Referenzarchitektur / Merkmalimplemente A B C Konkrete Lösung Konkretes Problem... Prinzipien Methoden Werkzeuge PL-Architekt / Entwickler Referenzarchitektur / Merkmalimplemente A B C Konkrete Lösung D D gewünschte tatsächliche gewünschte tatsächliche 2007 Olaf Spinczyk Olaf Spinczyk 6 Beschreibung des s Beschreibung des s Merkmalmodell (feature model) [2] Gerichteter, azyklischer Graph Beschreibt die möglichen Ausprägungen eines Konzepts anhand von Gemeinsamkeiten und Unterschieden Plattform Komponentenlager / -framework Implementierung der Konzepte und Merkmale PL-Architekt / Entwickler Referenzarchitektur / Merkmalimplemente Konzeptknoten (kurz Konzept ) C Familienmodell Abbildung aus Komponentenlager in den (von Artefakten auf Merkmale): A M Merkmalknoten (kurz Merkmale ) Eventuell über zusätzliche Transformationen: (A T) M 2007 Olaf Spinczyk Olaf Spinczyk 8
3 A B D C Beschreibung des s Konkretes Problem, konkrete Lösung Plattform Komponentenlager / -framework Problem: Trennung der Belange Implementierung der Konzepte und Merkmale Ideal: Jedes Artefakt ist genau einem Merkmal PL-Architekt / Entwickler Referenzarchitektur / Merkmalimplemente Merkmalauswahl Konkretes Problem gewünschte Konkrete Lösung zugeordnet: A M ist rechtseindeutig Familienmodell Realität: #ifdef-hölle Abbildung aus Komponentenlager in den (von Im Rahmen Artefakten von auf Merkmale): Betriebssystemtechnik wurden A verschiedenste M Werkzeuge und Sprachen betrachtet, die hier Besserung versprechen. Insbesondere AOP mit Eventuell C++. über zusätzliche Transformationen: (A T) M Generierter Quellcode-Baum tatsächliche 2007 Olaf Spinczyk Olaf Spinczyk 10 Bau von Produktlinienkomponenten Welcher Mechanismus ist wofür? erfordert Mechanismen zur Anpassung Präprozessoren (PP) - XVCL Generatoren (GEN) - pure::variants Klassenaliase Weber, Aspektorientierte Programmierung (AOP) - C++ Generische Programmierung (GP) - C++ Templates Objektorientierte Programmierung (OOP) - virtuelle Funktionen und Vererbung in C++ Die Komponenten einer Produktlinienplattform werden konfiguriert, übersetzt und zur gebracht. Auf jeder Ebene, auch im laufenden System, gibt es Variabilität und sentscheidungen. Produkt in Plattform- Was benutzt man wofür? 2007 Olaf Spinczyk Olaf Spinczyk 12
4 Welcher Mechanismus ist wofür? Welcher Mechanismus ist wofür? Anwender, Ereignisse Anwendung Anwendung Produkt in Plattform- Bei jedem Übergang zwischen den Ebenen gibt es eine - Beziehung. Welche gewählt wird, entscheidet (je nach Ebene) z.b. die Merkmalauswahl, die Anwendung durch instanziierte Templates und Typen sowie aufgerufene Funktionen oder zur Laufzeit der Anwender bzw. externe Ereignisse, durch die das Programm sein Verhalten ändert. Anwender, Ereignisse Anwendung Anwendung Produkt in Synth. Objects Generator Plattform- geeignete Mechanismen OOP (dynamisches Binden), Indirektionen, Attribute, GP (Template-iierung), AOP (. abstr. Aspekte), OOP (Vererbung), Binder (function level linking), Konkretes Problem gewünschte Konkretes Problem gewünschte PP, GEN, Dateiauswahl, AOP (Aspektselektion), FOP, 2007 Olaf Spinczyk Olaf Spinczyk 14 Welcher Mechanismus ist wofür? Welcher Mechanismus ist wofür? geeignete Mechanismen geeignete Mechanismen Anwendung Produkt in OOP (dynamisches Binden), Indirektionen, Attribute, Anwendung Produkt in OOP (dynamisches Binden), Indirektionen, Attribute, auswahl beeinflusst Variabilität der höheren Ebenen! Plattform- GP (Template-iierung), AOP (. abstr. Aspekte), OOP (Vererbung), Binder (function level linking), Mechanismen einer bestimmten Ebene können auch die Variabilität unterer Ebenen realisieren. Plattform- GP (Template-iierung), AOP (. abstr. Aspekte), OOP (Vererbung), Binder (function level linking), Beispiel: die der Plattform könnte eine Funktionen, eine Klassenhierarchie oder eine Template-Bibliothek liefern. PP, GEN, Dateiauswahl, AOP (Aspektselektion), FOP, Beispiel: statt Klassen statisch mit Policies zu parametrisieren könnte man auch das dynamische Strategy Muster verwenden. PP, GEN, Dateiauswahl, AOP (Aspektselektion), FOP, 2007 Olaf Spinczyk Olaf Spinczyk 16
5 Welcher Mechanismus ist wofür? Zwischenfazit: Stand der Kunst Mechanismen höherer Ebenen sind i.d.r. teurer, inbes. Laufzeitmechanismen. Beispiel: dynamisches Binden kostet mehr Zeit und Code als statisches. Templates können den Code aufblähen. Eine feste Klassenauswahl tut das nicht. Anwendung Produkt in Plattform- geeignete Mechanismen OOP (dynamisches Binden), Indirektionen, Attribute, GP (Template-iierung), AOP (. abstr. Aspekte), OOP (Vererbung), Binder (function level linking), PP, GEN, Dateiauswahl, AOP (Aspektselektion), FOP, in der Betriebssystem-Produktlinienentwicklung Insgesamt: durchaus erfolgreich OSEK und ecos sind erfolgreiche Beispiele aus dem Bereich eingebetteter Systeme Im Detail: durchaus nicht trivial es gibt viele Möglichkeiten, Plattformkomponenten zu realisieren grundsätzlich sollte gelten: sentscheidungen so früh wie möglich treffen (z.b. statisch statt dynamisch) - spart Ressourcen und erspart dem Anwender unnötige Komplexität Es bleiben viele Herausforderungen (Automatisches) Finden der optimalen Variante Komposition von Produktlinien nicht-funktionaler 2007 Olaf Spinczyk Olaf Spinczyk 18 Herausforderung: Finden der optimalen Variante Gegeben Anwendung (z.b. Steuergerät) Feingranular konfigurierbare Produktlinie (z.b. PURE: ~250 konfigurierbare Merkmale) Gesucht Optimale Variante (=Konfiguration) Entsprechend den Anforderungen der Anwendung Herausforderung: Finden der optimalen Variante Gegeben Anwendung (z.b. Steuergerät) Feingranular konfigurierbare Produktlinie (z.b. PURE: ~250 konfigurierbare Merkmale) Gesucht Ziel: Automatische Merkmalauswahl Optimale Variante (=Konfiguration) Entsprechend den Anforderungen der Anwendung Merkmale der PL oft begrifflich zu weit entfernt von den Anforderungen der Anwendung allocation strategy Merkmale der PL oft begrifflich zu weit entfernt von den Anforderungen der Anwendung allocation strategy Unterschiede nur für Insider erkennbar first fit best fit worst fit Unterschiede nur für Insider erkennbar first fit best fit worst fit 2007 Olaf Spinczyk Olaf Spinczyk 20
6 Herausforderung: Komposition von Produktlinien Herausforderung: Komposition von Produktlinien Existierende Produktlinien sind Insellösungen Existierende Produktlinien sind Insellösungen eng abgesteckte Domäne eng abgesteckte Domäne implementierungsnahe Merkmale eigene Modellierungssprachen und -konzepte implementierungsnahe Merkmale Ziel: Kombinierbare Produktlinien eigene Modellierungssprachen und -konzepte eigene swerkzeuge eigene swerkzeuge 2007 Olaf Spinczyk Olaf Spinczyk 22 Szenario: Komposition von Produktlinien Schicht 3: Anwendungen Schicht 2: Middleware Auswirkungen Schicht 1: Betriebssystem Schicht 0: Hardware Referenzarchitektur / Merkmalimpl. Auswirkungen automatische Konfiguration 2007 Olaf Spinczyk 23 Referenzarchitektur / Merkmalimpl. automatische Konfiguration Referenzarchitektur / Merkmalimpl. Herausforderung: nicht-funktionale Als nicht-funktional werden jene eines Softwaresystems bezeichnet, die nicht den eigentlichen Funktionsumfang betreffen, jedoch beim Betrieb der Software beobachtbar sind. Performanz Ressourcenverbrauch Skalierbarkeit Vorhersagbarkeit Latenz 2007 Olaf Spinczyk 24
7 Nicht-funktionale sind Nicht-funktionale sind erfolgsbestimmend TollCollect 1 funktionierte prima erfolgsbestimmend TollCollect 1 funktionierte prima oft dominierend über funktionale emergent nicht sichtbar auf der Ebene einzelner Komponenten ergeben sich plötzlich aus der Gesamtkomposition nicht trennbar von der Implementierung funktionaler Belange Effekte des ohne Entsprechung im nicht direkt konfigurierbar dominieren oft funktionale Ansatz: Indirekte Beinflussung emergent über Merkmale mit bekannt positiven Auswirkungen nicht sichtbar auf der Ebene einzelner Komponenten auf nicht-funktionale ergeben sich plötzlich aus der Gesamtkomposition über konfigurierbare Architektureigenschaften nicht trennbar von der Implementierung funktionaler Belange Rückabbildung in den Effekte des ohne Entsprechung im Metriken und Heuristiken erforderlich nicht direkt konfigurierbar 2007 Olaf Spinczyk Olaf Spinczyk 26 E x e c u t i o n L e v e l Thread preemtable interruptable Epilogue non preemtable interruptable non preemtable non interruptable Beispiel: Interrupt Synchronisation Configuration 1 hard synchronisation μ-controller OS Handler Configuration 2 pro-/epilogues Linux, NT, PURE, Epilogue Prologue Configuration 3 driver threads L4Ka, Driver Thread Dispatcher daniel.lohmann@cs.fau.de 27 Configuration 4 irq pseudo-threads Solaris Thread Thread Thread Thread lock irq lock epilogues delayed (epilogue) lock irq message delayed (message) Thread Pseudo- Thread may block implicit transition (on demand) Architekturneutrales Treibermodell Methoden werden Synchronisationsdomänen zugeordnet synchronized - Methoden sind durch ein Software-Protokoll geschützt - Aufruf von der Ebene kann verzögert werden - Aufruf von der Thread Ebene erfordert Sperren blocked - Methoden sind auf der Ebene geschützt - Aufrufe von der Thread Ebene erfordern eine Sperre transparent - Methoden brauchen nicht geschützt werden - von jeder Ebene aufrufbar Aspekte fügen die nötigen Synchronisationsaufrufe hinzu! daniel.lohmann@cs.fau.de 28
8 Beispiel: ein Wecker class Timer { // state public: void init( long time ); long get() const; void add_event(const EventCallback* cb); private: void tick(); void process_events(); void handler() { tick(); process_events(); } // what belongs to which synchronization class pointcut int_handler() = "% Timer::handler()"; pointcut blocking() = "% Timer::init()" "% Timer::tick()"; pointcut transparent() = "% Timer::get()const"; pointcut synchronized() = "% Timer::%()" &&!int_handler() &&!blocking() &&!transparent(); }; daniel.lohmann@cs.fau.de 29 Harte Synchronisation aspect Configuration1 { pointcut block() = Timer::synchronized() Timer::blocking(); advice call( block() &&!within( block() Timer::int_handler() ) : around() { disable_int(); tjp->proceed(); enable_int(); } }; daniel.lohmann@cs.fau.de 30 Pro-/Epilogue Modell aspect Configuration2 { pointcut block() = Timer::blocking(); pointcut delay() = Timer::synchronized(); Zusammenfassung: Betriebssystem-PL Anwendung im Kleinen: Erfolgreich das sollten die Übungen zur Lehrveranstaltung gezeigt haben advice call( block() ) &&!within( block() Timer::int_handler() ) : around() { disable_int(); tjp->proceed(); enable_int(); } advice call( delay() ) &&!within( "% Timer::%()" ) : around() { lock_epilogues(); tjp->proceed(); leave_epilogues(); } advice call( Timer::synchronized() ) &&!within( Timer::synchronized() ) && cflow( execution( Timer::int_handler())): around(){ add_epilog (tjp->action ()); } }; daniel.lohmann@cs.fau.de 31 Anwendung im Großen: Viele offene Fragen Variantenvielfalt Beherrschbarkeit nicht-funktionaler Belange Integration und Komposition unterschiedlicher PL Methodisch steht die BS-PL-Entwicklung erst am Anfang! Mithilfe erwünscht! 2007 Olaf Spinczyk 32
9 Literatur [1] G. Böckle, P. Knauber, K. Pohl, K. Schmid (Hrsg.). Software-Produktlinien. dpunkt.verlag, ISBN [2] K. Czarnecki und U.W. Eisenecker. Generative Programming Methods, Tools, and Applications. Addison-Wesley, ISBN [3] pure-systems GmbH. Variantenmanagement mit pure-variants. Technical White Paper, Olaf Spinczyk 33
Zusammenfassung und Ausblick
Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick Überblick Zusammenfassung: Software- linien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft Automatische
MehrZusammenfassung und Ausblick
Betriebssystemtechnik Operating System Engineering (OSE) Zusammenfassung und Ausblick 1 Überblick Zusammenfassung: Software-Produktlinien Prinzipien Methoden Werkzeuge Herausforderungen für die Zukunft
MehrBetriebssystemtechnik
(Aktuelle Forschungsfragen der eingebetteten Systemsoftware) Betriebssystemtechnik Zusammenfassung und Ausblick Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund
MehrOSEK-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
MehrJ.6 Programmierung eingebetteter Systeme
Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrGeneratives Programmieren
Generatives Programmieren Seminar Produktlinien WS03/04 Tammo van Lessen 08.01.2004 Outline Einleitung Generatoren Generatives Programmieren Fazit Einleitung Industrielle Entwicklung 1826 Austauschbare
MehrGenerative 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
MehrFAQ 04/2015. Auswirkung der ISO 14119 auf 3SE53/3SF13 Positionsschalter. https://support.industry.siemens.com/cs/ww/de/view/109475921
FAQ 04/2015 Auswirkung der ISO 14119 auf 3SE53/3SF13 Positionsschalter mit https://support.industry.siemens.com/cs/ww/de/view/109475921 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es
MehrGrundlagen 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
MehrProduct Line Engineering (PLE)
Product Line Engineering (PLE) Produktlinienentwicklung Von Christoph Kuberczyk Christoph Kuberczyk, SE in der Wissenschaft 2015, Product Line Engineering 1 Gliederung 1. Was ist PLE? 2. Motivation 3.
MehrVariabilität in Produktlinien und das orthogonale Variabilitätsmodell
Variabilität in Produktlinien und das orthogonale Variabilitätsmodell Vortrag im Rahmen des Proseminars Softwarequalität und -sicherheit von Marion Weber SS 2010 1 Einführung & Motivation Variabilität
MehrLavA 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
MehrComparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrEINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
MehrSoftware Produktlinien: Einführung und Überblick
C A R L V O N O S S I E T Z K Y Software Produktlinien: Einführung und Überblick Johannes Diemke Vortrag im Rahmen des Seminars Software System Engineering im Wintersemester 2007/2008 Übersicht 1 Motivation
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrSoftwareanforderungsanalyse
Softwareanforderungsanalyse Evolution von Anforderungen Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Wintersemester 2015/16 Evolution von Anforderungen Anforderungen
MehrVorkurs 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:
MehrApplication Requirements Engineering
Application Requirements Engineering - Fokus: Ableitung von Produktanforderungen - Günter Halmans / Prof. Dr. Klaus Pohl Software Systems Engineering ICB (Institute for Computer Science and Business Information
MehrObjectBridge 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
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrResearch Note zum Thema: Laufzeit von Support-Leistungen für Server OS
Research Note zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com November 2009 Inhalt 1 EINFÜHRUNG
MehrAnalyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS
Analyse zum Thema: Laufzeit von Support-Leistungen für Axel Oppermann Advisor phone: +49 561 506975-24 mobile: +49 151 223 223 00 axel.oppermann@experton-group.com Januar 2010 Inhalt Summary und Key Findings
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrSoftwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013
Softwarequalität: Zusammenfassung und Ausblick 17. Juli 2013 Überblick Rückblick: Qualitätskriterien Qualitätsmanagement Qualitätssicherungsmaßnahmen Thesen zur Softwarequalität Ausblick: Lehrveranstaltungen
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrModel Driven Development im Überblick
Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,
MehrBenutzung der LS-Miniscanner
Benutzung der LS-Miniscanner Seit Januar 2010 ist es möglich für bestimmte Vorgänge (Umlagerungen, Retouren, Inventur) die von LS lieferbaren Miniscanner im Format Autoschlüsselgröße zu benutzen. Diese
MehrMSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003
Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrIdentity Propagation in Fusion Middleware
Identity Propagation in Fusion Middleware Klaus Scherbach Oracle Deutschland B.V. & Co. KG Hamborner Str. 51, 40472 Düsseldorf Schlüsselworte Oracle Fusion Middleware, Oracle Access Management, Identity
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrThemen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services
Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente
MehrVerhindert, 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:
MehrSoftware-Version 3.3.1
Technische Mitteilung HD-Kameraserie 4010 Software-Version 3.3.1 Deutsch Version 1.0 / 2011-04-12 1 Zusammenfassung Dieses Dokument beinhaltet Informationen über Neuerungen und Änderungen, die mit der
MehrKonzentration auf das. Wesentliche.
Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.
MehrGrundzü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:
MehrMobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.
Beschreibung Betriebliche Kennzahlen sind für die Unternehmensführung von zentraler Bedeutung. Die Geschäftsführer oder Manager von erfolgreichen Unternehmen müssen sich deshalb ständig auf dem Laufenden
MehrSoftware ubiquitärer Systeme
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
MehrTransfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen
Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- entwicklung von Fahrzeugen Martin Jaensch, Dr. Bernd Hedenetz, Markus Conrath Daimler AG Prof. Dr. Klaus D. Müller-Glaser
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
MehrIst Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?
UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrWorkshop: Eigenes Image ohne VMware-Programme erstellen
Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community
MehrGOtoSPORT.CH Internetplattform
GOtoSPORT.CH Internetplattform Verwalten Sie die Ausschreibungen Ihrer Sportveranstaltungen mit GOtoSPORT.ch Grundgedanke Über die Internetplattform GOtoSPORT.ch werden Sportveranstaltungen publiziert.
MehrWorkshop 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
MehrAnbindung Borland CaliberRM
Anbindung Borland CaliberRM pure::variants - Das Werkzeug Einstieg intergrierbar in bestehende Softwareentwicklungsprozesse unabhängig von der genutzten Programmiersprache Anwendung automatische Auflösung
MehrInformationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:
Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrRequirements Engineering WS 11/12
Requirements Engineering WS 11/12 10. Übung am 03.02.2012 Agenda Besprechung Übungsblatt 10 (bis ca. 13:00) Fragen zur Altklausur Aufgabe 1 Auch van Lamsweerde hat, wie in Abbildung 1 skizziert, eine Taxonomie
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
MehrInformationswirtschaft II Rational Unified Process (RUP)
Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das
MehrInformationswirtschaft II
Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe
MehrM@school Software- und Druckerzuweisung Selbstlernmaterialien
Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit
MehrTeaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1
Teaser-Bilder erstellen mit GIMP 08.08.2014 Bildbearbeitung mit GIMP 1 Auf den folgenden Seiten werden die wichtigsten Funktionen von GIMP gezeigt, welche zur Erstellung von Bildern für die Verwendung
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrRMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.
Beschreibung Wenn Sie: mit ECC 6.0 und IS-U auf die integrierte Systemlösung der SAP setzen und zur Gewinnung neuer und Bindung vorhandener Kunden eine gleichfalls integrierte Lösung suchen und eine Produkt
MehrTitel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration
Autor: Thomas Hanrath Microsoft Certified Trainer Titel System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration Eine beispielhafte Installationsanleitung
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrAPTs: Sind gezielte Angriffe normal? Jürgen Eckel Eckel.J@ikarus.at Helene Hochrieser Hochrieser.H@ikarus.at
APTs: Sind gezielte Angriffe normal? Jürgen Eckel Eckel.J@ikarus.at Helene Hochrieser Hochrieser.H@ikarus.at Welche Anomalien können gefunden werden? Wie lässt sich anormales Verhalten extrahieren? Zeithorizont
MehrEinführung in MS-Project
Einführung in MS-Project 1 GANTT-Chart Eine der am häufigsten eingesetzten Darstellungsarten für die Zusammenhänge von Arbeitspaketen in Projektplanungswerkzeugen ist der GANTT-Chart. Diese Darstellung
MehrKonfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung
Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3
MehrHilfe zur Konfiguration der Software Smart-eShop & Smart-Admin-Bereich
Hilfe zur Konfiguration der Software Smart-eShop & Smart-Admin-Bereich Füllen Sie die leeren Felder mit entsprechenden Daten aus, achten Sie dabei auf korrekte Eingabe Ihrer Daten. Berücksichtigen Sie
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrImplementation 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
MehrInstallationsanleitung Maschinenkonfiguration und PPs
Installationsanleitung Maschinenkonfiguration und PPs Release: VISI 19 Autor: Nikodemus Braun Datum: 24. September 2010 Update: Anja Gerlach Datum: 31. Mai 2011 Inhaltsverzeichnis 1 Einbinden der Postprozessoren
MehrIBM Software Demos Rational Software Delivery Platform - Anforderungsanalyse
In dieser Demo führt unser Analyst Alex eine Anforderungsanalyse für die Integration einer Sofort kaufen-option durch. Dadurch werden alle von der Änderung betroffenen Elemente der Auktionsanwendung, auch
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrHandbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen
Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen Dateiname: ecdl_p3_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul
Mehrpeer-to-peer Dateisystem Synchronisation
Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrBusiness Model Canvas
Business Model Canvas Business Model Canvas ist ein strategisches Management Tool, mit dem sich neue und bestehende Geschäftsmodelle visualisieren lassen. Demnach setzt sich ein Geschäftsmodell aus neun
MehrWhite Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release
White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen
Mehr2. Psychologische Fragen. Nicht genannt.
Checkliste für die Beurteilung psychologischer Gutachten durch Fachfremde Gliederung eines Gutachtens 1. Nennung des Auftraggebers und Fragestellung des Auftraggebers. 2. Psychologische Fragen. Nicht genannt.
MehrProtect 7 Anti-Malware Service. Dokumentation
Dokumentation Protect 7 Anti-Malware Service 1 Der Anti-Malware Service Der Protect 7 Anti-Malware Service ist eine teilautomatisierte Dienstleistung zum Schutz von Webseiten und Webapplikationen. Der
MehrIntegration verteilter Datenquellen in GIS-Datenbanken
Integration verteilter Datenquellen in GIS-Datenbanken Seminar Verteilung und Integration von Verkehrsdaten Am IPD Lehrstuhl für Systeme der Informationsverwaltung Sommersemester 2004 Christian Hennings
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
Mehr3.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
MehrE-Services mit der Web-Service-Architektur
E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology
MehrIntegrierte und automatisierte GUI-Tests in Java
Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)
MehrIntuitive Kassensysteme für Shop und Ticketing. Willkommen bei Ihrem Software-Partner. Schön, dass Sie uns gefunden haben. www.comtec-noeker.
Intuitive Kassensysteme für Shop und Ticketing. Willkommen bei Ihrem Software-Partner. Schön, dass Sie uns gefunden haben. Was ist Ihr Nutzen?... Sie möchten ein intuitiv bedienbares Kassensystem, das
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Mehrec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt
ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster
MehrGeschäftsprozessimplementierung mit BPMN, ADF und WebCenter
Geschäftsprozessimplementierung mit BPMN, ADF und WebCenter Johannes Michler PROMATIS software GmbH Ettlingen Schlüsselworte Geschäftsprozess, Horus, SOA, BPMN, ADF, WebCenter Einleitung Die Umsetzung
MehrProgramme im Griff Was bringt Ihnen dieses Kapitel?
3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrSoftware Systems Engineering
Software : SoSe 08 Prof. Dr. Klaus Schmid Software Produktlinien Ein neues Programm soll erstellt werden. Das habe ich doch schon mal programmiert, oder? Alter Code passt aber nicht ganz! Wird passend
Mehr11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens
11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter
MehrKundenspezifische Preise im Shop WyRu Online-Shop
Kundenspezifische Preise im Shop WyRu Online-Shop Team WyRu Christian Wyk / Günter Rubik SCS Bürocenter B1, A-2334 Vösendorf Internet http://www.wyru.at Kundenspezifische Preise sind ein Feature des WyRu
Mehr