Softwareproduktlinien Teil 1: Einführung und Überblick



Ähnliche Dokumente
Softwareproduktlinien Teil 1: Einführung und Überblick

Implementierung v. Software-Produktlinien - Einführung und Überblick

Teil 2 Maßgeschneidertes Datenmanagement. Gunter Saake (Universität Magdeburg) Christian Kästner (Universität Marburg)

Teil 2 Maßgeschneidertes Datenmanagement

Software Product Lines

Erweiterte Programmierkonzepte für Maßgeschneiderteres Datenmanagement (EPMD) Teil 1: Einführung und Überblick

Software Product Lines

Softwareproduktlinien Teil 12: Analyse von Produktlinien

Möglichkeiten der Maßschneiderung von DBMS

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Softwareproduktlinien - Analyse von Produktlinien

Software ubiquitärer Systeme

Erweiterte Programmierkonzepte für maßgeschneiderte Datenhaltung Teil 3: Software-Produktlinien

Softwareproduktlinien - Analyse von Produktlinien

Datenhaltung: Forschung

ODA Erfahrungen und Neuigkeiten

SS 2011 IBB4C Datenmanagement Fr 15:15 16:45 R Vorlesung #1

Softwareproduktlinien Teil 12: Analyse von Produktlinien. Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg)

Enterprise Portal - Abbildung von Prozessen, SAP-Datenintegration und mobile Apps

<Insert Picture Here> RAC Architektur und Installation

OXO³ technische Aspekte der Oracle EMEA internen BI Implementierung

Oracle BI&W Referenz Architektur Big Data und High Performance Analytics

Softwareproduktlinien Teil 12: Analyse von Produktlinien. Christian Kästner (CMU) Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg)

Software Product Lines

Was sind embedded DBMS? Eingebettete DBMS. Motivation für Embedded Databases. Besonderheiten Smartcards. in Programme eingebettet z.b.

Übersicht Streams nach Liste Produkte/Themen

SAFE HARBOR STATEMENT

Cloud Computing in SAP Umgebungen

SS 2010 IBB4C Datenmanagement Fr 15:15 16:45 R Vorlesung #1. Datenmanagement

Softwareproduktlinien - Entwicklungsprozess und Variabilitätsmodellierung

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version.

In 30 Minuten zur BI-Lösung in der Cloud Aufbau einer BI-Infrastruktur & Entwicklung von Reports Live. Referent: Patrick Eisner & Ronja Schermer

Softwareproduktlinien - Versionsverwaltungs- und Buildsysteme

Internet-of-Things: Digitalisierung zum Anfassen

Das Wissen hat Grenzen, unsere IT-Dienstleistungen nicht.

Datenmodellierung VU Einführung SS 2015

Systemanforderungen und Kompatibilität MSI-Reifen Rel.8

Datenmodellierung VU Einführung SS 2016

Datenbanksysteme. Donald Kossmann TU München

Erfolg mit Oracle BI?

Abschluss Einblick und Ausblick

(Software) Architektur der Dinge. Roland Graf / Simon Kranzer IKT-Forum 2016 I(o)T for Industry - Von IT zu IoT

Möglichkeiten für bestehende Systeme

Exadata Engineered Systems als Lösung? Reinhold Boettcher, Systemarchitekt Infrastruktur, arvato Systems

Datenbanken und Informationssysteme. Datenbanken und Informationssysteme

Datenbanken und Informationssysteme

DATA WAREHOUSE. Big Data Alfred Schlaucher, Oracle

Exadata in der Champions League - Ein Fazit nach der 1. Saison Rainer Marekwia Oracle STU, Oracle Deutschland GmbH DOAG SIG DWH, München 25.

Mehrwert durch Microsoft Business Intelligence

DRYING UP THE DATA SWAMP. Vernetzung von Daten mittels iqser GIN Server

PROfit 5.0. Hardware-/Software-Anforderungen. Ihre Ansprechpartner: BOC Information Technologies Consulting GmbH Naglerstraße Berlin

Grid-Produkte Marktüberblick, Anspruch Wirklichkeit

Minimal Downtime Oracle 11g Upgrade. DOAG Konferenz 2010 Martin Decker

Softwareproduktlinien Teil 2: Entwicklungsprozess und Variabilitätsmodellierung

Erweiterte Programmierkonzepte für maßgeschneiderte Datenhaltung Teil 3: Software-Produktlinien

Datenbanken & Informationssysteme (WS 2016/2017)

Exchange 2016 SharePoint Nicht alles neu, aber vieles besser!

Wissenswertes für den Oracle DBA in der Cloud

Möglichkeiten und Herausforderungen bei der Vernetzung von Aufzu gen

Applica'on Performance Monitoring in der Oracle Cloud

Hochverfügbarkeit und Datensicherheit mit Hilfe der Cloud

System i Monitoring & Automation

Günter Kraemer. Adobe Acrobat Connect Die Plattform für Kollaboration und Rapid Training. Business Development Manager Adobe Systems

Click Reply WM Analytics

Industrie 4.0 und Smart Data

cytan Systemvoraussetzungen

Präsentation der Bachelorarbeit

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

BUSINESS INTELLIGENCE IM MITTELSTAND EIN PRAXISBERICHT

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Technische Voraussetzungen

Textmasterformat bearbeiten

Neues von Oracle Gut zu wissen...

IBM Cognos Analtics. mayato Servceangebot zum Upgrade // ÖFFENTLICH

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Well-Balanced. Performance Tuning

Exadata und In-Memory Datenbewirtschaftung und Analyse Extrem mit Exadata und InMemory (Erfahrungsbericht)

Standardsoftware. SAP Basisarchitektur. Prof. Dr. Bernhard Schiefer 2-1

EnBW als Arbeitgeber im Oracle Umfeld. Design for Operation. Reiner Bünger EnBW SIS GmbH. Teamleiter Oracle Datenbankadministration

ANWENDUNGSSZENARIEN UND REFERENZARCHITEKTUR IN DER INDUSTRIE 4.0 ESK

Neues zur Oracle Lizenzierung (Michael Paege, OPITZ CONSULTING Hamburg, DOAG Competence Center Lizenzen)

Erweiterte Programmierkonzepte für maßgeschneiderte Datenhaltung Teil 11 FAME-DBMS

Allgegenwärtiger Datenzugriff für mobile Geräte

Datenbankspiegelung mit (Active) Data Guard. und Abgrenzung

Agrarportale online, Schnittstellen, Datenhoheit und Datensicherheit

Die Microsoft-Komplettlösung für Datawarehousing, Big Data und Business Intelligence im Überblick.

Public Cloud im eigenen Rechenzentrum

Wer ist Serviceplan?

Datenbankbasierte Lösungen

Funktion Sage SalesLogix Windows Systemvoraussetzungen

PLATO-Systemanforderungen

Abitur mit Schwerpunkt Wirtschaft und Verwaltung Studium Wirtschaftsinformatik Universität Essen

INNERBETRIEBLICHEN. November 2016 Dr. Alexander Noack. Fraunhofer IPMS

Multi-Kamera Bildverarbeitung in vernetzter Fertigungsumgebung

Big Data und Oracle bringen die Logistik in Bewegung

Transkript:

Softwareproduktlinien Teil 1: Einführung und Überblick Christian Kästner (Universität Marburg) Sven Apel (Universität Passau) Gunter Saake (Universität Magdeburg) 1

Agenda Formales, Organisatorisches Kurzeinführung in das Themengebiet 2

3 Hintergrund

Industrielle Revolution 1980s Automatische Fließbänder (erster Industrieroboter 1961 bei General Motors) 1901 Fließband (Ransom Olds/Henry Ford) 1826 Austauschbare Teile (John Hall, nach 25 vergebl. Jahren) [Czarnecki & Eisenecker 2000] 4

Produktlinien in der Industrie 5

Auto Produktlinie 6

Variantenvielfalt Varianten sind ein wesentlicher Hebel für das Unternehmensergebnis Franz Decker, Leiter Programm Variantenmanagement, BMW Group 7

PKW Produktlinien vor 20 Jahren Auswahl beschränkte sich auf Autotyp und ggf. noch wenige Extras wie alternativer Kassettenrekorder oder Dachgepäckträger Eine Variante (Audi 80, 1.3l, 55PS) machte 40% des Umsatzes aus

PKW Produktlinien vor wenigen Jahren 10 20 mögliche Varianten eines Audi; 10 32 mögliche Varianten eines BMW Kaum ein Auto verlässt das Werkidentischzueinem vorherigen Allein 100 verschiedene Bodengruppen für ein Modell, je nach Motor und Ausstattung 50 verschiedene Lenkräder (3 vs. 4 Speichen, Holz vs. Kunststoff vs. Leder, Heizung, Farben)

Weitere Produktlinien 10

Weitere Produktlinien 11

Weitere Produktlinien

Massenproduktion 13

Und bei Software? Moderne Anwendungssoftwaresysteme sind Eier legende Wollmilchsäue Bsp.: Windows Vista, Open Office, Oracle, SAP myerp, Adobe Photoshop, Nero Burning ROM Spezialisierte Software und Software für eingebettete Systeme wird immer wichtiger (aber Software groß & langsam) 14 Bsp.: PDA, Handy, Sensornetze, Mikrowelle, Fernseher, Wetterstation, Auto, Chipkarten, Bordcomputer, Router, Ubiquitious Computing 98% aller im Einsatz befindlichen Rechnersysteme sind eingebettete Systeme Ressourcenbeschränkung und heterogene Hardware erfordert maßgeschneiderte Lösungen Häufige Neuimplementierungen, lange Entwicklungszeiten, hohe Entwicklungskosten

Warum maßgeschneiderte Software? Ressourcenbeschränkte Systeme Kosten, Energie, Platz,. Individuelle Systeme versus individuelle Nutzung Ungenutzte Funktionalität als Risiko (unbekannte Fehler) Wartungs / Kontroll / Testaufwand wächst mit Funktionsumfang Marketing / Preisminimierung Schnellere Reaktion auf Marktveränderungen

Softwareproduktlinien in der Industrie HP: Druckertreiber/Firmware Nokia: Mobiltelefon Software, Browser Phillips: High End TVs, Medizintechnik, TomTom: eingebettete Navigationssysteme Cummins: Dieselmotoren Steuerungssoftware LG: Aufzugsteuerungssoftware Ericsson: Telecommunication switches General Motors: Powertrains Viele weitere: Gasturbinen, train control, ship control, frequency converter, internet payment gateway, helicopter avionics software, 16

Ziel der Vorlesung Techniken für die Entwicklung maßgeschneiderter Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht hinzugefügt werden; schnelle Entwicklung; Wiederverwendung bewährter Implementierungen Kundenindividuelle Fertigung; Spezialisierung Anpassung an verfügbare Ressourcen Softwareproduktlinien (SPL): Konfiguration durch Auswahl von Features (deutsch: Merkmale) 17

Teil 2 Maßgeschneidertes Datenmanagement Gunter Saake (Universität Magdeburg) Christian Kästner (Universität Marburg)

Maßgeschneiderte Datenhaltung Kommerzielle DBMS Oracle, IBM DB2, SQL Server, Obermenge aller denkbaren, kommerziell einsetzbaren Funktionalität Individuelle Datenhaltungs Software Selbst gestrickt : teuer, schwer wartbar,.. Maßgeschneiderte Software für Datenhaltung Variantenfertigung, DBMS Produkt Familie Gibt es noch nicht!

Kommerzielle DBMS Oracle, IBM DB2, Microsoft SQL Server, Obermenge aller denkbaren Funktionalität Oracle Database 11g Real Application Testing Advanced Compression Total Recall Active Data Guard Real Application Clusters Management Packs Partitioning Content Database Suite Warehouse Builder OLAP Data Mining Spatial Database Vault Advanced Security, Label Security In-Memory Database Cache Microsoft SQL Server 2008 Analysis Services Data Mining Hochverfügbarkeit Always On Integration Services Verwaltbarkeit Leistung und Skalierbarkeit Entwicklung Reporting Services Sicherheit Standortintelligenz

Embedded Databases Eingebettete Systeme sind weit verbreitet und sollen sehr häufig Daten erfassen z.b. Sensoren im Auto, Biotopüberwachung, Gesundheitskarte, Wetterstation, RFID, Erdbebenvorhersage, Telefonanlage, Router, Handy Ständig wachsendes Datenaufkommen, immer mehr Daten sollen erfasst werden Eingebettete Systeme unterliegen starken Ressourcenbeschränkungn Senkung von Kosten, Energieverbrauch und Wärme Oracle im Auto?

Smartcards Chipkarten mit geringer Rechenleistung und geringem Speicher, z. B. Bankkarte, Mensakarte, SIM Karte, Gesundheitskarte Sehr wenig Speicher (24 48KB) Externe, unsichere Stromversorgung Schnelles Lesen aber sehr langsames Schreiben Beschränkte Rechenleistung Oft hohe Sicherheitsanforderungen IBM DB2 auf Bankkarte?

Datenmanagement auf Smartcards Transaktionen (ACID) Benutzerverwaltung, Datensicherheit und Datenschutz Recovery SQL Anfragen?

Einsatzbeispiel Sensornetzwerke Biotopüberwachung auf Great Duck Island zur Beobachtung des Brutverhalten von Seevögeln, 2002, UC Berkeley & Intel 50 batteriebetriebene Sensoren

Einsatzbeispiel Sensornetzwerke II Sensornetzwerk in Erdbebentestzentrum Mobile, autarke, leicht anzubringende Sensoren statt zentraler Verkabelung Alte Zentralverkabelung

Datenmanagement bei Sensornetzwerken Ad hoc Anfragen Aggregation, Anfragen über Raum und Zeit

Besonderheiten Sensornetzwerke Ressourcenbegrenzung durch Batteriebetrieb Schwache Rechenleistung Kein kontinuierliches Senden von Messwerten Unsichere Übertragung, veränderliches Netzwerk Wenig Speicher (100 200kB) Verteiltes System, verteilte Transaktionen

Eingebettete Datenbanken in der Zukunft Ubiquitous Computing Bsp.: vernetzte Computer in Kleidung, Kühlschrank, Intelligent Home, Kaffeetasse Smart Dust

Invarianz Gesetz: Monotones Wachstum der Datenhaltung 1 PB 1 TB 1 GB 1 MB 1 KB 1960 1970 1980 1990 2000 2010 2020 SQL-3 SQL-1 1-Relation 1-Tupel Mobile Data Embedded Data Personal Data (PC) Business Applications Ubiquitous Smart Dust

State of the Art Wenn überhaupt Variantenmanagement, dann mit #ifdef, C++ Templates, make, CVS Beispiel: Berkeley DB (mutex_int.h) #ifndef _DB_MUTEX_INT_H_ #define _DB_MUTEX_INT_H_ #ifdef HAVE_MUTEX_PTHREADS #include <pthread.h> #define MUTEX_FIELDS pthread_mutex_t mutex; /* Mutex. */ pthread_cond_t cond; /* Condition variable. */ #endif #ifdef HAVE_MUTEX_UI_THREADS #include <thread.h> #endif #ifdef HAVE_MUTEX_SOLARIS_LWP #include <synch.h> #define MUTEX_FIELDS lwp_mutex_t mutex; /* Mutex. */ lwp_cond_t cond; /* Condition variable. */ #endif #ifdef HAVE_MUTEX_UI_THREADS #include <thread.h> #include <synch.h> #define MUTEX_FIELDS mutex_t mutex; /* Mutex. */ cond_t cond; /* Condition variable. */ #endif #ifdef HAVE_MUTEX_AIX_CHECK_LOCK #include <sys/atomic_op.h> typedef int tsl_t; #ifdef LOAD_ACTUAL_MUTEX_CODE #define MUTEX_INIT(x) 0 #define MUTEX_SET(x) (!_check_lock(x, 0, 1)) #define MUTEX_UNSET(x) _clear_lock(x, 0) #endif #endif

warum jetzt ein neuer Versuch? Erfahrung aus dem Betriebssystembereich Vor 25 Jahren: ähnliche Situation wie im DBMS Bereich Neue Programmiertechniken (FOP, AOP) Zum Teil im Betriebssystem Bereich entwickelt Dort erfolgreich eingesetzt Warum nicht auch für andere Infrastruktur Software einsetzbar?

Gemeinsame Funktionalität von eingebetteten DBMS Was wird immer wieder gebraucht Speichermanagement (z.b. Einpassen auf Seiten) Katalog Anfrageverarbeitung (SQL parsen, Pläne erstellen und optimieren) Transaktionsverwaltung Zugriffsrechte Recovery Verschlüsselung DDL/DML/SQL Dialekte Nicht alle Systeme benötigen alle Features

Optimierung Unterschiedliche Varianten der gleichen Funktionalität, z. B. Optimiert für geringen Stromverbrauch Optimiert für Performance Optimiert für minimalen Footprint Spezielle Implementierung für Systembesonderheiten, z. B. kein RAM, keine/kaum Schreibzugriffe Unterschiedliche Architekturen, z. B. verteilt vs. stand alone

Produktlinien Jeweils neu programmieren ist sowohl unwirtschaftlich als auch gefährlich Daher maßgeschneidertes Datenmanagement mit Produktlinien Aus wiederverwendbaren Teilen Die alternative Implementierungen haben können Anpassbar für spezielle Anwendungsfälle Nutzbar auch unter extremer Ressourcenbeschränkung

Zusammenfassung Maßgeschneiderte Datenhaltung nötig Große Datenmenge unter beschränkten Ressourcen Gemeinsame Funktionalität aber auch viele Unterschiede Produktlinien als Ausweg?

Ausblick Modellierung von Produktlinien mit Features Einfache Implementierungsstrategien Moderne Programmierparadigmen

Literatur Marko Rosenmüller, Thomas Leich, Sven Apel und Gunter Saake. Von Mini über Micro bis zu Nano DBMS: Datenhaltung in eingebetteten Systemen. Datenbank Spektrum, 7(20), Feb.2007. Michael Stonebraker. Technical perspective One size fits all: an idea whose time has come and gone. Communications of the ACM. 51(12), 2008. Surajit Chaudhuri, Gerhard Weikum. Rethinking Database System Architecture: Towards a Self Tuning RISC Style Database System. Proc. Int. Conf. Very Large Data Bases, 2000

38 Herausforderungen

Variabilität t = Komplexität

33 optionale, unabhängige Features eine maßgeschneiderte Variante für jeden Menschen auf dem Planten

320 optionale, unabhängige Features mehr Varianten als es Atome im Universum gibt!

2000 Features 10000 Features

Korrektheit?

Alle Kombinationen sinnvoll? 45

Wiederverwendung bei der Implementierung? Wo Fehler korrigieren?

Idee: Systematische Entwicklung von Softwareproduktlinien Jeweils neu programmieren ist sowohl unwirtschaftlich als auch gefährlich Daher maßgeschneiderte Software auf Basis von Softwareproduktlinien Aus wiederverwendbaren Teilen Die alternative Implementierungen haben können Anpassbar für spezielle Anwendungsfälle Nutzbar auch unter extremer Ressourcenbeschränkung

Entwurf und Implementierung von Features Domain Eng. Feature-Modell Wiederverwendbare Implementierungsartefakte Application Eng. Feature-Auswahl Generator Fertiges Program

SPL Implementierung Verschiedene Wege SPLs zu implementieren In dieser Vorlesung betrachten wir u.a. Versionsverwaltungssysteme Präprozessoren Komponenten Frameworks/Plugins Feature orientierte Programmierung Aspekt orientierte Programmierung 49