Software Produktlinien



Ähnliche Dokumente
Software ubiquitärer Systeme

Comparing Software Factories and Software Product Lines

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis


Kapitalerhöhung - Verbuchung

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Fragebogen: Abschlussbefragung

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Seminar Bassem Ben Helal

SMART Newsletter Education Solutions April 2015

DER SELBST-CHECK FÜR IHR PROJEKT

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

SDD System Design Document

Softwareanforderungsanalyse

Ablauf Vorstellungsgespräch

Anforderungen an die HIS

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

teischl.com Software Design & Services e.u. office@teischl.com

Hilfen zum Twitter-Hashtag-Marketing!

How to do? Projekte - Zeiterfassung

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Effiziente Softwareproduktion durch. Effiziente Softwareproduktion durch

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Organisation des Qualitätsmanagements

Techniken der Projektentwicklungen

2. Psychologische Fragen. Nicht genannt.

GRS SIGNUM Product-Lifecycle-Management

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Hilfe zur Urlaubsplanung und Zeiterfassung

HTBVIEWER INBETRIEBNAHME

Schulung Marketing Engine Thema : Einrichtung der App

Software-Validierung im Testsystem

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

EasyWk DAS Schwimmwettkampfprogramm

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

1 Mathematische Grundlagen

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

Was meinen die Leute eigentlich mit: Grexit?

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

MSDE 2000 mit Service Pack 3a

Schulung Marketing Engine Thema : Einrichtung der App

3D Visualisierung von UML Umgebungsmodellen

Zeichen bei Zahlen entschlüsseln

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Content Management System mit INTREXX 2002.

Standard-Kontaktformular

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Spezielle Websites für die technische Analyse

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Microsoft Update Windows Update

Use Cases. Use Cases

Übung: Verwendung von Java-Threads

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Schnittstelle DIGI-Zeiterfassung

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Handbuch zum Excel Formular Editor

Regeln für das Qualitäts-Siegel

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Projektmanagement in der Spieleentwicklung

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

als SMS. O 2 (ehem. VIAG, Genion) SMS aktivieren: Verschicken Sie mindestens eine

Grundfunktionen und Bedienung

Sehr geehrte Faktor-IPS Anwender,

Lizenzierung von System Center 2012

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Gesetzesänderungen «Nominee», Entwurf

Auktionen erstellen und verwalten mit dem GV Büro System und der Justiz Auktion

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Leichte-Sprache-Bilder

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Statuten in leichter Sprache

Die Bundes-Zentrale für politische Bildung stellt sich vor

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Richtlinien für das Design und das Bestellen von Nutzen für Leiterplatten im Pool

Das Leitbild vom Verein WIR

Windows 10 > Fragen über Fragen

macs Support Ticket System

Agile Software Development

Anbindung Borland CaliberRM

Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November

Requirements Engineering für IT Systeme

Formular»Fragenkatalog BIM-Server«

Denken und Träumen - Selbstreflexion zum Jahreswechsel

Product Line Engineering (PLE)

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Grundlagen der Theoretischen Informatik, SoSe 2008

Anleitung über den Umgang mit Schildern

Übung - Konfigurieren einer Windows 7-Firewall

Workflow, Business Process Management, 4.Teil

Transkript:

Betriebssystemtechnik Operating System Engineering (OSE) Eingebettete BS Entwicklung heute Betriebssysteme für eingebettete Systeme Spezielle Hardware Spezielle Anwendungen Markt mit > 100 RTOS > 50% Eigenentwicklungen Software Produktlinien das Rad wird neu erfunden auch die selben Fehler werden wiederholt oftmals bietet ein BS Hersteller mehrere Systeme an mit getrennter ode-basis getrieben durch die speziellen Anforderungen seiner Kunden 1 2007 Olaf Spinczyk 2 Betriebssystem-Produktlinien Die Idee der Software-Produktlinien ist die organisierte Wiederverwendung [1]. Pro Systemkomponenten sind besser erprobt, d.h. bessere Qualität kürzere Entwicklungszeiten, d.h. geringere Kosten ontra Initialer Mehraufwand Konsistenzwahrung der aus der Produktlinie abgeleiteten Produkte Komplexere Verantwortlichkeiten Änderungen am Entwicklungsprozess 2007 Olaf Spinczyk 3 Organisierte Wiederverwendung aktive Gestaltung einer gemeinsamen Plattform für aktuelle und künftige Produkte Existierender ode 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 werden, entwickelt. 2007 Olaf Spinczyk 4 [1] Im Application Engineering werden einzelne Produkte der Produktlinie entwickelt bzw. abgeleitet. Die Produkte werden so weit wie möglich aus den Artefakten der Plattform zusammengefügt (konfiguriert), so dass nur in geringem Maße produktspezifische Softwareentwicklung notwendig wird. [1]

Was ist eine Domäne? An area of knowledge [2] abgegrenzt Konzepte und eine Terminologie Wissen über Prozesse zum Bau konkreter Systeme definiert durch alle, die ein Interesse an der Domäne haben Manager, Marketing, Entwickler, Hersteller, Vertragspartner, Standardisierungsgremien, Investoren, Kunden, Endnutzer,... Beispiele: Börseninformationssysteme der MONEY MAKER AG Motorsteuerungssoftware für Diesel Motoren AVR Wetterstationsanwendungen des Lehrstuhls 4 Betriebssysteme für Mindstorm Roboter 2007 Olaf Spinczyk 5 Software-Produktlinienentwicklung Existierender ode Domänenterminologie Requirements Traceability Referenzanforderungen Applikationsimplement. Domänenwissen Referenzarchitektur Feedback/Anpassungen Reverse Architecting Komponenten Traceability Referenzprozess für die Software-Produktlinienentwicklung [1] Wiederverwendbare Komponenten Domänenanalyse Domänenentwurf Domänenimplement. Applikationsanalyse Produktspezifische Anforderungen Applikationsentwurf : Domain Engineering : Application Engineering 2007 Olaf Spinczyk 6 Domain Engineering...ein drei-phasiger Prozess. Domänenanalyse relevante Informationen sammeln (existierende Systeme, Manuals) Bestimmung und Abgrenzung der Domäne Analyse gemeinsamer und unterschiedlicher Merkmale Erstellung eines Domänenmodells Domänenentwurf Entwurf einer Architektur für eine Familie von Systemen Entwurf des Prozesses zum Bau konkreter Systeme Domänenimplementierung Umsetzung der Architektur Erstellung wiederverwendbarer (ggf. variabler) Komponenten Domänenanalyse Existierender ode Domänenanalyse Domänenwissen Domänenabgrenzung (domain scoping) Auswahl und Aufbereitung von Wissen Festlegung einer im Hinblick auf Wiederverwendung erfolgversprechenden Domänenabgrenzung Domänenmodellierung (domain modeling) Domänenmodell Auswertung der Wissenssammlung, Taxonomien Erstellung des Domänenmodells als Ergebnis 2007 Olaf Spinczyk 7 2007 Olaf Spinczyk 8

Das Domänenmodell (1) A domain model is an explicit representation of the common and the variable properties of the system in a domain, the semantics of the properties and domain concepts, and the dependencies between the variable properties. [2] Das Domänenmodell (2)...ist das Ergebnis der Domänenanalyse. Domänendefinition legt den Scope fest: durch Beispiele, Gegenbeispiele durch Regeln, die bestimmte Systeme oder Merkmale ein- oder ausschließen Domänenlexikon definiert das Vokabular der Domäne Konzeptmodelle beschreiben wichtige Konzepte Anwendung geeigneter Formalismen, z.b. Klassen-, Interaktions-, Zustands-, Entity-Relationship-, Datenflussdiagramme,... sonst textuelle Beschreibungen Merkmalmodelle definieren eine Menge wiederverwendbarer und konfigurierbarer Anforderungen an die Systeme der Domäne. 2007 Olaf Spinczyk 9 2007 Olaf Spinczyk 10 Domänendefinition - Beispiel (stark vereinfacht und verkürzt!) Domänendefinition: Lehrstuhl 4 AVR-Wetterstationssoftware Die Domäne umfasst Software für die rechts dargestellte modulare Hardwareplattform. Zusätzlich soll zukünftig auch ein graphisches LD unterstützt werden. Die separat beschriebenen Anwendungsszenarien Thermometer, Outdoor,..., sollen mindestens abgedeckt werden. Jede Wetterstationssoftware wird im Flash-Speicher des ontrollers ausgeliefert und soll später nicht mehr geändert werden.... Sensoren Wind Luftdr. Temp. USB µontroller (AVR) I 2 RS232 Display Domänenlexikon - Beispiel (stark vereinfacht und verkürzt!) Domänenlexikon: Lehrstuhl 4 AVR-Wetterstationssoftware P Verbindung: Optionaler Kommunikationskanal zu einem P, der zur Übertragung von Wetterdaten oder Debug Informationen genutzt werden kann. Sensor: Teil der Wetterstationshardware zur Messung eines bestimmten Wetterparameters (z.b. Temperatur oder Luftdruck). Aktor: Teil der Wetterstationshardware, der die gesammelten Wetterdaten weiterverarbeitet (z.b. L Display) XML Protokoll: Einfaches auf XML basierendes Datenformat zum Transfer der Wetterdaten über eine P Verbindung.... 2007 Olaf Spinczyk 11 2007 Olaf Spinczyk 12

Konzeptmodelle - Beispiel (stark vereinfacht und verkürzt!) Konzeptmodelle: Lehrstuhl 4 AVR-Wetterstationssoftware XML Protokoll: Folgende DTD beschreibt das XML Format zur Übertragung der Wetterdaten zum P: <!ELEMENT weather...>...... Merkmalmodelle (feature models) [3] erlauben, die Gemeinsamkeiten und Unterschiede der Systemvarianten explizit zu machen drücken Konfigurierbarkeit aus sind unabhängig von Implementierung und Architektur bestehen aus einem Merkmaldiagramm: ar ar body Transmission Engine Pulls trailer Automatic Manual Electric Gasoline beinhalten noch weitere Informationen: kurze Beschreibung und Begründung jedes Merkmals, Interessenten, Beispielsysteme, Einschränkungen, Verfügbarkeit und Bindung, Open/losed Attribut, Priorität 2007 Olaf Spinczyk 13 2007 Olaf Spinczyk 14 Merkmaldiagramme (feature diagrams)...sind gerichtete azyklische Graphen. Man spricht auch bei Merkmaldiagrammen von Eltern- und Kindknoten bzw. -merkmalen. Sie beschreiben die unterschiedlichen möglichen Instanzen eines Konzepts. Notwendige Merkmale... (mandatory features) gehören zur Beschreibung eines Konzepts, wenn ihr Elternknoten zur Konzeptbeschreibung gehört. Der Wurzelknoten (das Konzept selbst) gehört immer zur Konzeptbeschreibung. Konzeptknoten (kurz Konzept ) Merkmalknoten (kurz Merkmale ) F1 f1 f2 f3 f1 ist ein direktes Untermerkmal (direct subfeature) vom Konzept. f2 ist ein direktes Untermerkmal von f1 und ein indirektes Untermerkmal (indirect subfeature) von. Es gibt eine Reihe verschiedener Arten von Merkmalen. 2007 Olaf Spinczyk 15 f3 f1 f4 f2 Eine Kante mit einem ausgemalten Kreis symbolisiert ein notwendiges Merkmal. Da alle Merkmale von notwendig sind, gibt es hier nur eine Variante: {, f1, f2, f3, f4 } 2007 Olaf Spinczyk 16

Optionale Merkmale... (optional features) können zur Beschreibung eines Konzepts gehören, (nur!) falls auch der Elternknoten zur Konzeptbeschreibung gehört. Alternative Merkmale... (alternative features) treten immer in Gruppen auf. Wenn der Elternknoten einer Gruppe zur Konzeptbeschreibung gehört, ist genau eines der alternativen Merkmale auch Teil der Beschreibung. f1 f3 f2 Eine Kante mit einem unausgemalten Kreis symbolisiert ein optionales Merkmal. f1 f2 f3 f4 f5 Ein unausgemalter Bogen kennzeichnet eine Gruppe alternativer Merkmale. Eine Instanz von kann folgende Beschreibungen haben: {}, {, f1}, {, f1,f3}, {, f2}, {,f1, f2} oder {,f1,f2,f3}, aber NIHT {,f3} Eine Instanz von kann folgende Beschreibungen haben: {, f1,f3}, {, f1,f4}, {, f1,f5}, {,f2,f3}, {,f2,f4} oder {,f2,f5} 2007 Olaf Spinczyk 17 2007 Olaf Spinczyk 18 Optionale alternative Merkmale... (optional alternative features) unterliegen einer Normalisierung. Daher sind entweder alle oder kein Merkmal einer Gruppe alternativer Merkmale optional. Oder-Merkmale... (or-features) treten immer in Gruppen auf. Wenn der Elternknoten einer Gruppe zur Konzeptbeschreibung gehört, ist auch jede nicht leere Untermenge der Gruppe Teil der Beschreibung. f1 f2 f3 Normalisierung f1 f2 f3 f1 f2 f3 f4 f5 Ein ausgemalter Bogen kennzeichnet eine Gruppe von Oder-Merkmalen. Eine Instanz von kann folgende Beschreibungen haben: {}, {,f1}, {,f2} oder {,f3} hat zwei Gruppen mit Oder-Merkmalen (f1,f2 und f3,f4,f5). Damit können (2 2-1)*(2 3-1) oder 21 verschiedene Beschreibungen abgeleitet werden. 2007 Olaf Spinczyk 19 2007 Olaf Spinczyk 20

Optionale Oder-Merkmale (?)... (optional or-features) unterliegen einer Normalisierung. Daher werden optionale Oder-Merkmale nicht verwendet. Merkmaldiagramm - Beispiel Merkmaldiagramm: Lehrstuhl 4 AVR-Wetterstationssoftware WeatherMon Normalisierung Actors Sensors f1 f2 f3 f1 f2 f3 Alarm Display P onnection Temperature Air Pressure Wind Speed RS232Line USBLine Protocol Effektiv sorgt ein optionales Oder-Merkmal dafür, dass die Menge der Merkmale der Gruppe auch leer sein darf. SNGProto XMLProto 2007 Olaf Spinczyk 21 2007 Olaf Spinczyk 22 Weitere Informationen zu Merkmalen...runden das Merkmalmodell ab. Beschreibung: kurze Beschreibung der Semantik wie: Alarm Eine Wetterstation mit Alarm kann Wetterdaten auf Grenzwerte überprüfen und bei Über- bzw. Unterschreitung einen Alarm signalisieren ggf. geeignete Formalismen nutzen (Pseudocode, Gleichungen,...) Begründung: Warum ist das Merkmal im Modell, wann sollte es gewählt werden? Z.B. Verweis auf ein Anwendungsszenario. Interessenten: Welche Personen/Programme benötigen das Merkmal? Wichtige Frage, um unnötige Variabilität zu vermeiden. Weitere Informationen zu Merkmalen Beispielsysteme: ggf. bekannte Systeme, die ebenfalls das Merkmal aufweisen, nennen Einschränkungen: Beziehungen zwischen Merkmalen, die nicht durch das hierarchische Merkmaldiagramm erfasst werden können, z.b. Debugging erfordert P Verbindung, X hat einen Konflikt mit Y Verfügbarkeit und Bindung: Wann, wo und durch wen kann das Merkmal benutzt werden? Ist das Merkmal statisch oder dynamisch gebunden? 2007 Olaf Spinczyk 23 2007 Olaf Spinczyk 24

Weitere Informationen zu Merkmalen Open/losed Attribut: gibt an, ob weitere variable Untermerkmale erwartet werden z.b. könnte die Liste der Sensoren der Wetterstation u.u. mit dem Open Attribut versehen werden. kann im Merkmaldiagram durch... gekennzeichnet werden Prioritäten: relevant z. B. für die Implementierungsreihenfolge ggf. können Konflikte mit Einschränkungen auftreten Der Prozess der Merkmalmodellierung Feature Modeling is the activity of modeling the common and the variable properties of concepts and their interdependencies and organizing them into a coherent model referred to as feature model. Welche Merkmalquellen gibt es? Welche Strategien kann man anwenden? Welche generellen Schritte gehören zur Merkmalmodellierung? [2] 2007 Olaf Spinczyk 25 2007 Olaf Spinczyk 26 Merkmalquellen Strategien zur Merkmalidentifizierung Existierende und potenzielle Interessenten Domänenexperten und Literatur Existierende Systeme Bereits existierende Modelle Modelle, die während der Entwicklung entstehen (Feedback) Domänenterminologie auf Variabilität untersuchen Beispiel: Die P Verbindung kann per RS232 oder USB realisiert sein. auch Implementierungseigenschaften werden Merkmale, falls sie für Interessenten von Bedeutung sind - Beispiel: auf Plattform X soll auf die Benutzung von Gleitkommadatentypen möglichst verzichtet werden Konzeptmodelle unterschiedlicher Quellen vergleichen Beispiel: Thread Thread A _regs: Registers _uid: pidt _priority: uint32 B _regs: Registers _uid: pidt _priority: uint16 2007 Olaf Spinczyk 27 2007 Olaf Spinczyk 28

Strategien zur Merkmalidentifizierung feature starter sets verwenden Betrachtung des Systems aus bestimmten Blickwinkeln Ausnutzung bekannter Merkmale Beispiel: Eine Wetterstationssoftware benötigt Fehlerbehandlung, da sich z.b. defekte Hardware unerwartet verhalten könnte (Blickwinkel). Fehler werden im Allgemeinen durch die Überprüfung von Vor- und Nachbedingungen festgestellt. Es können auch Invarianten... Andere typische Blickwinkel sind Speicherverwaltung, Synchronisation, Persistenz,... in allen Entwicklungsphasen nach Merkmalen suchen manchmal ergibt sich Variabilität erst bei der Betrachtung von Architektur- oder Implementierungsmodellen Strategien zur Merkmalidentifizierung Merkmale vorausschauend identifizieren mehr Merkmale identifizieren als implementiert werden sollen erleichtert unerwartete Erweiterungen für die durch die Implementierung unterstützte Domäne erfolgt eine weitere Abgrenzung 2007 Olaf Spinczyk 29 2007 Olaf Spinczyk 30 Ablauf der Merkmalmodellierung Folgende Aktivitäten werden in kleinen, schnellen Schritten zyklisch durchgeführt ( micro-cycles ): 1. Gemeinsamkeiten von Instanzen notieren 2. Unterschiede zwischen Instanzen notieren 3. Merkmale in Merkmaldiagramme organisieren 4. Merkmalkombinationen u. -interaktionen analysieren Abhängigkeiten und Konflikte ermitteln neue Merkmale finden, auf die man erst durch Analyse der Kombinationen kommt 5. weitere Informationen zu Merkmalen aufzeichnen Ausblick Durchführung einer Domänenanalyse als Übung pure::variants als unterstützendes Werkzeug Referenzarchitektur für die Komponenten einer eingebetteten Betriebssystem-Produktlinie Domänenentwurf Untersuchung verschiedener Techniken zur Umsetzung von Variablität in der Implementierung der Komponenten Domänenimplementierung 2007 Olaf Spinczyk 31 2007 Olaf Spinczyk 32

Literatur [1] G. Böckle, P. Knauber, K. Pohl, K. Schmid (Hrsg.). Software-Produktlinien. dpunkt.verlag, 2004. ISBN 3-89864-257-7. [2] K. zarnecki und U.W. Eisenecker. Generative Programming Methods, Tools, and Applications. Addison-Wesley, 2000. ISBN 0-201-30977-7. [3] K. Kang, S. ohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented Domain Analysis (FODA) Feasibility Study. Technical Report, MU/SEI-90-TR-2, 1990. 2007 Olaf Spinczyk 33