Software ubiquitärer Systeme Einführung und Konzept Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/DE/Teaching/SS2012/SuS/ 1 Inhalt ● Einführung Visionen ● Realitäten ● ● Konzept der Lehrveranstaltung Ziele ● Überblick ● Voraussetzungen ● Übungen ● Leistungsnachweis ● SuS 01.1 – Einführung und Konzept 2 Inhalt ● Einführung Visionen ● Realitäten ● ● Konzept der Lehrveranstaltung Ziele ● Überblick ● Voraussetzungen ● Übungen ● Leistungsnachweis ● SuS 01.1 – Einführung und Konzept 3 Der Begriff: „ubiquitous“ ● Webster's New Encyclopedic Dictionary: ubiq·ui·tous \yů-bik-wət-əs\ adj : existing or being everywhere at the same time : widely or generally present [from ubiquity, from Latin ubique „everywhere“] ● Collins-Klett English-German Dictionary ubiquitous adj allgegenwärtig. sandstone is ~ in this district Sandstein ist in dieser Gegend überall zu finden. SuS 01.1 – Einführung und Konzept 4 Der Begriff: „Ubiquitous Computing“ „Ubiquitous Computing enhances computer use by making many computers available throughout the physical environment, while making them effectively invisible to the user. Mark Weiser, 1993 [1] ● ● ● ● Stichworte: Benutzbarkeit Vielzahl Physikalische Umgebung Unsichtbarkeit SuS 01.1 – Einführung und Konzept 5 Der Visionär: Mark Weiser (1952 - 1999) ● Prägte den Begriff ● Beeinflusste diverse Forscher, Entwickler und Geldgeber 3823 Zitierungen von [2] laut Google Scholar (03/2009) ● MIPS/Joule Betrachtungen ● ACM SIGOPS Mark Weiser Award ● ● CTO bei Xerox PARC (Palo Alto Research Center) ● erstes ● Pad, ● Quelle: Xerox PARC experimentelles „Ubiquitous Computing Environment“ Tabs und Boards beeinflussten Hardware-Entwicklungen und Schlagzeuger in der Band „Severe Tire Damage“ SuS 01.1 – Einführung und Konzept 6 „The third wave of Computing ...“ [3] Phase I: Mainframe Era viele Menschen, ein Computer ● Experten nötig ● Phase II: PC Era Übergang: Internet Era ● Mainframes in ein Menschen, ein Computer großen Stil ● benötigt volle ● Informationsflut Aufmerksamkeit ● SuS 01.1 – Einführung und Konzept Phase III: UC Era viele Rechner teilen sich einen Menschen ● Dinge des tägl. Lebens werden verbunden ● 7 „The third wave of Computing ...“ [3] Phase I: Mainframe Era viele Menschen, ein Computer ● Experten nötig ● Phase II: PC Era Übergang: Internet Era ● Mainframes in ein Menschen, ein Computer großem Stil ● benötigt volle ● Informationsflut Aufmerksamkeit ● Phase III: UC Era viele Rechner teilen sich einen Menschen ● Dinge des tägl. Lebens werden verbunden ● Beginn Beginn 1996 1996 geschätzt geschätzt auf auf 2005-2020 2005-2020 SuS 01.1 – Einführung und Konzept 8 Die Essenz: Typische Eigenschaften ● Viele eingebettete und ggf. transportable Geräte ● ● Transparente Kommunikation ● ● ● Kurze Strecken, meist drahtlos Verschiedenste Dienste für den Menschen ● Weitestgehend unsichtbar ● „Calm Technology“: Bei Bedarf aus der Peripherie ins Zentrum unserer Auffassung und wieder zurück Geräte haben Sensoren ● ➔ Stromsparend, klein, billig Physikalische Welt wird im Rechner abgebildet Mehr Spaß und Lebensqualität SuS 01.1 – Einführung und Konzept 9 Analogie Motoren ● Beginn des letzten Jahrhunderts: ● ● Heute: ● ➔ Werkstätten haben genau einen Motor, der dutzende von Maschinen antreibt Jedes Gerät hat einen oder viele Motoren, niemand beachtet sie noch. Quelle: Arnulf Betzold, Holzbausatz „Werkstatt um 1900“ Sobald wir eine Technologie beherrschen, wandert sie in den „Hintergrund“ SuS 01.1 – Einführung und Konzept 10 Analogie Motoren ● Beginn des letzten Jahrhunderts: ● ● ➔ Werkstätten haben genau einen Motor, der dutzende von Maschinen antreibt Heute: “The most profound technologies are those ● Jedes Gerät hat einenthat oderdisappear. viele Motoren,They weave themselves into niemandthe beachtet Quelle: they Arnulf Betzold, fabricsie ofnoch. everyday life until are indistinguishable fromHolzbausatz it.” [2] „Werkstatt um 1900“ Sobald wir eine Technologie beherrschen, wandert sie in den „Hintergrund“ SuS 01.1 – Einführung und Konzept 11 Frühe Prototypen ● 1989-1992: Active Badge System [4] ● Cambridge ● University Computer Laboratory 1991-2000: Pads, Tabs und Boards ● Xerox PARC SuS 01.1 – Einführung und Konzept 12 Das „Active Badge System“ (1989) ● Zweck ● ● Lokalisierung von Personen in Büroumgebungen Technik ● Mitarbeiter tragen personalisierte „Badges“ - 55 x 55 x 7 mm, 40 g Quelle: Roy Want Badges senden periodisch alle 10s ein IR-Signal ● Sensoren in allen Räumen erlauben die Zuordnung Badge-Raum ● ● Anwendung 1500 Badges und 2000 Sensoren an verschiedenen Universitäten und anderen Forschungsinstitutionen ● Zentrale Anwesenheitskarte ● Halbautomatische Telefonweiterleitung ● SuS 01.1 – Einführung und Konzept 13 PARC Tabs ● ● Prototyp heutiger PDAs und Internet Tablets Technik 7,8 x 10,5 x 2,4 cm ● 215 g ● Akku 12 Std. / eff. 2 Wochen ● Anzeige monochrom 128 x 64 ● Touch Screen ● IR-Schnittstelle ● 8051 CPU ● ● Anwendung Lokalisierung der Mitarbeiter ● Mensch/Maschine Schnittstelle ● Quelle: Xerox PARC SuS 01.1 – Einführung und Konzept 14 PARC Pads ● Familie von elektronischen Notizblöcken X-Windows-kompatibel ● Touch Screen mit Stift ● Mikrophon ● Drahtlose Netzwerkanbindung (IR und Funk) ● Quelle: Xerox PARC SuS 01.1 – Einführung und Konzept 15 PARC Liveboards ● ● Eine elektronische Tafel Technik 83 x 52 x 30 Zoll, 250 kg ● Anzeige ● - monochrom 1024 x 768 - farbig 640 x 480 - NTSC Video Stereo Ton ● PC/Sun Workstation ● ● Anwendung ● Kollaboratives Arbeiten - Flip Chart - Gemeinsame Skizzen/Diagramme ● Videokonferenzen Quelle: Xerox PARC SuS 01.1 – Einführung und Konzept 16 Herausforderungen ● Hardware ● ● Preis, Größe, Sensorik, Stromquellen, Stromverbrauch, ... Software Kontextabhängigkeit ● Nutzerschnittstellen ● Verteilte Systeme ● Mobilität ● Skalierbarkeit ● Verlässlichkeit ● Interoperabilität ● „Entdeckung“ von Ressourcen und Diensten ● Datenschutz und -sicherheit ● Die Die Vision Vision des des „Ubiquitous „Ubiquitous Computing“ Computing“ berührt berührt viele viele Teilbereiche Teilbereiche der der Informatik. Informatik. SuS 01.1 – Einführung und Konzept 17 Zwischenfazit ... oder was „Ubiquitous Computing“ nicht ist. ● Z.B. Virtual Reality (VR) ● Bei VR werden Gegenstände der realen Wert im Rechner nachgebildet. - Selbst der Benutzer „verlässt“ die reale Welt. ● Bei „Ubiquitous Computing“ reichern Computer die reale Welt an. - Durch Vernetzung und Informationsaustausch können sie dem Menschen vieles abnehmen. Quelle: Xerox PARC SuS 01.1 – Einführung und Konzept 18 Eingebettete Systeme? Die technische Basis des „Ubiquitous Computing“ ist die allgegenwärtige Präsenz kooperierender eingebetteter Rechnersysteme. ● „Ubiquitous Computing“ und „Eingebettete Systeme“ sind Begriffe auf unterschiedlichen Ebenen: - UC: - ES: ● ● Eine Vision für eine bessere Welt Eine technische Grundlage Nicht alle eingebetteten Systeme haben etwas mit „Ubiquitous Computing zu tun. „Ubiquitous Computing“ ist mehr als eine technische Fragestellung. SuS 01.1 – Einführung und Konzept 19 Verwandte Begriffe ● Pervasive Computing wird praktisch synonym zu „Ubiquitous Computing“ verwendet ● deutsch: „durchdringend“ ● wohl geprägt durch IBM ● ● Proactive Computing wird praktisch synonym zu „Ubiquitous Computing“ verwendet ● Fokus auf „Rechner, die unsere Wünschen erahnen, und frühzeitig agieren“ ● geprägt durch Intel ● ● Ambient Intelligence wird praktisch synonym zu „Ubiquitous Computing“ verwendet ● Fokus auf „intelligente“ Wohn- und Arbeitsumgebungen ● geprägt durch EU-Förderung ● ● ... SuS 01.1 – Einführung und Konzept 20 Taxonomie ... der Forschungsprobleme nach Satyanarayanan [5] SuS 01.1 – Einführung und Konzept 21 Inhalt ● Einführung Visionen ● Realitäten ● ● Konzept der Lehrveranstaltung Ziele ● Überblick ● Voraussetzungen ● Übungen ● Leistungsnachweis ● SuS 01.1 – Einführung und Konzept 22 Die Prognose ● ● 20% mehr als im Q1/2010 PC-Markt 2011 wuchs nur noch um 4% Quelle: Mark Weiser, www.ubiq.com ● ... ist tendenziell richtig: Q1/2011 wurden laut IDC 371.800.000 Handys verkauft SuS 01.1 – Einführung und Konzept 23 Die Technologie ● Miniaturisierung ● ● erlaubt heute durchaus 100 Computer pro Kubikmeter Energieversorgung ● Energie ist überall, man muss nur stromsparende Computer bauen SuS 01.1 – Einführung und Konzept 24 Miniaturisierung: Smart Dust ● ● ● ● ● ● Beispiel: Spec Motes (UC Berkeley) 2 x 2.5 mm AVR-artiger RISC Kern 3K Speicher Funksender > 40 Fuß, innen, 19.2Kbps Programmierung in C über eine SPI-Schnittstelle Kosten ca. $0.70 Quelle: UC Berkeley, Lab Notes SuS 01.1 – Einführung und Konzept 25 Energieversorgung: Energy Harvesting ● Beispiel: TE-Power Node Arbeitet ohne Batterie Thermogenerator erzeugt aus einer Temperaturdifferenz eine Spannung ● Wandlung auf 2.4 V ● Aufladung eines Kondensator ● ● ● ● MSP430 Micro-Controller TI CC2500 Funkmodul System kann zyklisch (1 x pro Sek.) Messwerte per Funk liefern. Quelle: Micropelt GmbH SuS 01.1 – Einführung und Konzept 26 Aktuelle „unbemerkte“ Beispiele (1) ● Thinking Carpet ● ● Infineon und Vorwerk Technik Bis zu 25 vernetzte Mikrocontroller pro Quadratmeter ● Sensoren für Vibration, Druck und Temperatur ● ● Anwendungen ● Alarm-, Klima- und Leitsystemtechnik, z.B. ... - automatische Türoffner automatische Lichtschalter Sicherheitsbereiche überwachen Personenzählung Quelle: Vorwerk Teppichwerke SuS 01.1 – Einführung und Konzept 27 Aktuelle „unbemerkte“ Beispiele (2) ● RFID Etiketten ● Vereinfachen Warenwirtschaft und Logistik Quelle: Eric van Osten, RFID Product News ● Helfen Personen zu identifizieren. VIP MemberChip, Baja Beach Club, Barcelona Deutscher Reisepass („ePass“) Quelle: BBC News Quelle: BMI SuS 01.1 – Einführung und Konzept 28 Kritik: Generelle Fragen ● Verlust der Privatsphäre ● ● Wollen wir jederzeit lokalisierbar sein? Verlust der Selbstbestimmung Treffen Computer zu viele Entscheidungen für uns? ● Was dürfen Computer entscheiden? ● - Physische Selbstbestimmung ● Massen an Computerschrott ● Realisierbarkeit Ist Hardware wirklich billig genug? ● Skalieren die Netzwerke hinreichend gut? ● Wie kommt man durch die Übergangsphase? ● Wie baut man ubiquitäre Systeme? ● SuS 01.1 – Einführung und Konzept Quelle: A. Greenfield [6] 29 Fazit ● Hardware Die Zahl der Rechner in unserer Welt wird zunehmen. ● Die Art der Systeme wird je nach Aufgabe variieren. ● Vernetzung spielt eine wachsende Rolle. ● ● Software ● ● Gesellschaft ● ● Anforderungen an ubiquitäre Softwaresysteme erfordern neue Methoden bei der Entwicklung. Ein verantwortungsvoller Umgang ist sehr wichtig. Informatik ● Ubiquitous Computing ist und bleibt ein bedeutendes interdisziplinäres Forschungsfeld. SuS 01.1 – Einführung und Konzept 30 Inhalt ● Einführung Visionen ● Realitäten ● ● Konzept der Lehrveranstaltung Ziele ● Überblick ● Voraussetzungen ● Übungen ● Leistungsnachweis ● SuS 01.1 – Einführung und Konzept 31 Ziele ● Systemsoftware für ubiquitäre Systeme bewerten, modifizieren oder entwickeln können ● ● Theorie und Praxis! Grundlagen und Konstruktionsprinzipien verstehen Primär auf den verschiedenen Ebenen der Systemsoftware ● Beispiele aus Industrie und Forschung ● Finden von Gemeinsamkeiten ● ● mit typischen Randbedingungen umgehen können, z.B. Ressourcenknappheit bzgl. Speicher, Energie, Rechenleistung, Netz ● Kontextabhängigkeit des Verhaltens ● Sicherheit, Schutz der Privatsphäre ● ● Einzelne Entwicklungsmethoden vertiefen, z.B. Software-Produktlinien ● Generische und aspektorientierte Programmierung ● SuS 01.1 – Einführung und Konzept 32 Überblick: Kapitel Abschluss Anwendung Java Plattformen Datenhaltung TinyDB Middleware OSEK/COM Betriebssystem OSEK/AUTOSAR Hardware Model-Driven FAME-DBMS Everyware-Prinzipien COUGAR Datenanalyse SQL RPC AUTOSAR RTE Microcontroller TinyOS Sensoren Peer-to-peer UPNP MPU CiAO Virtualisierung Funktechnologien Instruktionssatz Einführung SuS 01.1 – Einführung und Konzept 33 Überblick: Querschnittsthemen ... auf der Suche nach Gemeinsamkeiten und Konstruktionsprinzipien Abschluss Anwendung Statische Analyse Java Plattformen Datenhaltung AOP, FOP TinyDB FAME-DBMS Model-Driven COUGAR Cooperative I/O Middleware OSEK/COM RPC AUTOSAR RTE Produktlinien Betriebssystem OSEK/AUTOSAR TinyOS Low-Power Sleep Modes Hardware Einführung Microcontroller Sensoren Thumb-Instr. Everyware-Prinzipien MPU Kryptographie AdapDatenanalyse tierung SQL IndoorUPNP Lokalisierung CiAO Virtuelle Maschinen Peer-to-peer Virtualisierung MPU GPS Funktechnologien Instruktionssatz Ressourcenverbrauch: Speicher, Energie SuS 01.1 – Einführung und Konzept Kontext Sicherheit 34 Voraussetzungen ● ● Grundkenntnisse in ● Betriebssysteme ● Rechnernetze ● Eingebettete Systeme Programmierkenntnisse in ● ● ● C/C++ Interesse an ● eingebetteten Systemen ● neuen Ansätzen der Softwaretechnik und Programmiersprachen Freude an ● praktischen Übungen SuS 01.1 – Einführung und Konzept 35 Vorlesungsbegleitende Übungen (1) ● Christoph Borchert „Tafel-/Rechnerübungen“ (alternierend) ● Vertiefung des Vorlesungsstoffs ● Praktische Programmieraufgaben ● Besprechung der Aufgaben ● Raum: ● Zeit: ● ● Start: OH-14 E02 / OH-16 E07 Mo. 10:15-11:45 oder 14:15-15:45 Mo, 16.04. SuS 01.1 – Einführung und Konzept 36 Vorlesungsbegleitende Übungen (2) ● eZ430-Chronos (Exemplarisch für ubiquitäre Rechnersysteme) ● Microcontroller: MSP 430 (27MHz), 16 Bit RISC Architektur Speicher: 4 Kbyte RAM, 32 Kbyte FLASH ROM ● On-Chip Funkmodul ● Diverse Stromsparmöglichkeiten ● Sensoren für Beschleunigung, Druck, Temperatur, Batteriespannung ● Display, Taster, ... ● AO-StuBS BS-Familie - aspektorientiert - merkmalbasiert konfiguriert ● Aufgaben ● Sensorprogrammierung, Kommunikation, Maßschneiderung, ... SuS 01.1 – Einführung und Konzept 37 Prüfung/Schein ● Mündliche Prüfung (ca. 30 Minuten) über 6 SWS (4V+2Ü) / 9 Credit Points ● ● ● Abgedeckt wir der Stoff der Vorlesung und Übung Unbenoteter Teilnahmeschein für ● Erfolgreiche Bearbeitung aller Übungsaufgaben ● Aktive Teilnahme Anrechenbarkeit ● Informatik Diplom: Wahlveranstaltung - Schwerpunktgebietet 1 (SW-Konstr.), 2 (Rechnerarchitektur, Eingebettete Systeme und Simulation) und 3 (Verteilte Systeme) ● Informatik Master: Basismodul INF-MA-222 - Schwerpunktgebiet B (Eingebettete und Verteilte Systeme) ● alle anderen bitte frühzeitig Anrechenbarkeit klären SuS 01.1 – Einführung und Konzept 38 Hausaufgaben ● Anmeldung zur Übung mit Hilfe von ASSESS http://ess.cs.tu-dortmund.de/ASSESS/ ● spätestens bis: 09.04.2012 (Ostermontag) ● ● Lesen Sie „The Computer for the 21st Century“ von Mark Weiser [2] wirklich zu empfehlen! ● Deadline 1. Übung ● SuS 01.1 – Einführung und Konzept 39 Literatur [1] [2] [3] [4] [5] [6] M. Weiser, Some Computer Science Issues of Ubiquitous Computing, Communications of the ACM, Vol. 36, No. 7, Juli 1993 M. Weiser, The Computer for the 21st Century, Scientific American, Vol. 265, No. 3, pp. 94-104, September 1991 M. Weiser and J. S. Brown, The Coming Age of Calm Technology, in Beyond Calculation: The Next 50 Years, Copernicus, New York, USA, 1997 R. Want, A. Hopper, V. Falcao, and J. Gibbons, The Active Badge Location System, ACM Transactions on Information Systems, Vol. 10, No. 1, pp 91-102, Januar 1992 M. Satyanarayanan, Pervasive Computing: Vision and Challenges, IEEE Personal Communications, Vol. 8, 2001 A. Greenfield, Everyware: The Dawning Age of Ubiquitous Computing, New Riders Publishing, 2006 SuS 01.1 – Einführung und Konzept 40