software ubiquitärer systeme – beispiele für projekte und ... · 27 klassifikation von hardware...

50
Software ubiquitärer Systeme – Beispiele für Projekte und Anwendungen PRO DV Software AG, Dortmund Stefan Michaelis – [email protected]

Upload: others

Post on 02-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Software ubiquitärer Systeme –Beispiele für Projekte und Anwendungen

PRO DV Software AG, DortmundStefan Michaelis – [email protected]

2

Inhaltsübersicht

Kurze Vorstellung PRO DV (wirklich kurz)

Das Projekt Mobile EmerGIS

Das Projekt Galileo4FB

Das Projekt MORE

� Anwendungsszenarien

� Genutzte Technologie und Standards� Eigenentwicklungen� Lessons Learned

3

PRO DV Software AG – das Unternehmen

30 Jahre Erfahrung –über 1.000 erfolgreiche IT-Projekte

IT-Lösungs- und Consulting-Partner u. a. in den Bereichen:

� Zivile Sicherheit

� Kritische Infrastrukturen� Umweltschutz� Financial Solutions

Insbesondere mit den Technologien:� Serviceorientierte Architekturen (SOA)� Portaltechnologien und Geo-Services (Geo)

4

Safety & Security Solutions

Unsere Lösungen und Dienstleistungen für die Bereiche Zivil- und Bevölkerungsschutz, Krisenmanagement und Krisenübung für den Öffentlichen Bereich und für die Privatwirtschaft.

� deNIS IIplus – Deutsches Notfallinformationssystem

� deNIS IIÜSA

� SaSIS � SaSISÜSA

PRO DV Software AG – das Unternehmen

5

Das Projekt Mobile EmerGIS:Geografisches Informationssystem für Rettungskräfte

Mobile EmerGIS

6

Mobile EmerGIS - Anforderungen

Entwicklung einer mobilen EDV Lösung zur Unterstützung von Einsatzkräften in der Schadenslage

Zielgruppe / Anwender: Einsatzleiter, Leiter (z.B. Feuerwehr, Polizei, THW) und Zugführer, Fachberater, Leitende Notärzte

Nutzung mobiler Endgeräte vor Ort (PDA)

Mobil verfügbare Karten, „mobiles GIS“ (stand-alone)

Anbindung an zentrales NotfallinformationssystemSchnittstelle zu deNISIIplus

Integration von GPS-Funktionalität, georeferenzierte Fotos

Möglichkeit zur Nachverfolgung des Einsatzes

Mobile EmerGIS

7

Einsatzleitung Krisenmanagement

Mobile EmerGIS

8

Demonstrator GPS-Fotos und mobiles GIS

Kartenansicht

Einfache Steuerung durch Click in Karte bzw. auf But ton

Verschieben, Zentrieren auf Position , Zoom

GPS-Foto vom Standort oder Foto mit Koordinaten aus Kartenbild

Mobile EmerGIS

9

Das Projekt Galileo 4 Fire Brigades:Satellitenunterstütztes Notfallinformationssystem

Galileo4FB

10

Galileo 4 Fire Brigades

Mobiles System zur Lokalisierung, Überwachung des Gesundheitszustands und Warnung von Einsatzkräften der Feuerwehr

Genaue Positionsbestimmung durch Galileo bzw. GPS, Nutzung von Galileo-Diensten

Drahtlose Sensordatenübermittlung (biometrische Daten, Umweltdaten)

Sicheres Vernetzungskonzept

Visualisierung von Daten auf mobilen Geräten

Kartographie - mobil verfügbares GIS

Galileo4FB

11

GALILEO, das europäische Satellitennavigationssyste m

Open Serviceweltweit verfügbarer, kostenloser Navigationsdienst

Commercial Servicekostenpflichtig, Korrekturdaten, Verfügbarkeitsgarantie

Safety of Life Servicefür sicherheitskritische Bereiche wie Luft- oder SchiffsverkehrWarnung bei Ausfall / Unzuverlässigkeit

Public Regulated Servicenur für hoheitliche Zwecke, verschlüsselt, Schutzfunktion

Galileo4FB

12

Demonstrator Fat Client

mobiles Endgerät: robuster Tablet-PC bzw. Convertible

zentrale Anwendung:einfaches mobiles GIS

Nutz- und Bedienbarkeit unter Feuerwehrbedingungen

Galileo4FB

13

14

Ergebnisse und Erkenntnisse aus den Projekten

Funktionsfähige GIS-Software für Mobiltelefone und PDAs

Kopplung mit Sensorik und Schnittstellen in den Geräten (Handykameraetc.)

Aber:� Wenig Modularität

� Weniger Wiederverwendbarkeit� Keine Kopplung an existierende Standards

15

Das Projekt MORE:Generische Middleware zur Vernetzung eingebetteter Syst eme

MORE

16

MORE - Network-centric Middleware for GrOup communicatio n and Resource Sharing across Heterogeneous Embedded Systems

Forschungsprojekt von 2006-2009, gefördert durch die Europäische Union

8 Partner aus 5 europäischen Ländern

Ziele der Middleware:

� Einfache Integration heterogener eingebetteter Systeme im Netz

� Verwaltung und Optimierung des Ressourcenverbrauchs� Gruppenkommunikation sowohl zwischen Mensch und Maschine als

auch Maschine zu Maschine� Gatewaydienste zu bestehenden Systemen

MORE

17

Szenario I: Betreuung von Diabetespatienten

Therapie, regelmäßige Checkupsbeim Arzt, Schulung

Idee: Verbesserung der Beziehungzwischen Patient und Arzt durch ständig verfügbare Daten

Ziel: Vermeidung von Komplikationenund schnellere Schulung der Patienten 1-5 Messungen pro Tag!

MORE - Szenarien

18

MORE - Szenarien

19

Übermittlung der Daten durch die MORE Middleware

MORE - Szenarien

20

Szenario II: Umweltmonitoring für den Klimaschutz

0

1000

2000

3000

4000

5000

6000

1977

1979

1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

Year

Num

ber

For

est F

ires

/ Bur

nt A

rea

(ha)

.

0

2

4

6

8

10

12

14

Dam

age

Mio

. €

.

Damage in Mio. € Burnt Area (ha) N° Forest Fires

Wirtschaftlicher Schaden (D):

1977 - 1990: av. 1.5 Mio € / y

1991 - 2006: av. 2.5 Mio € / y

Kosten der Vorbeugung(D):

~ 10 Mio. € / y

Erhöhtes Risiko seit den 80ern

Quelle: TU Dresden

MORE - Szenarien

21

Szenario II: Umweltmonitoring für den Klimaschutz

Quelle: TU Dresden

MORE - Szenarien

22

Feldtests gemeinsam mit der TU Dresden in Tharandt

MORE - Szenarien

23

Testaufbau im Labor

MORE - Szenarien

24

Aufbau im Feld

MORE - Szenarien

25

Aufbau im Feld

MORE - Szenarien

26

Anforderungen der Anwender aus den Szenarien

Einfache Nutzung der Software (User Interface)

Transparenter Zugang zu den Daten

� Remote und lokal müssen sich gleich „anfühlen“

Stabilität und Zuverlässigkeit

Konfigurierbarkeit

Sicherheit (Verschlüsselung)

MORE - Szenarien

27

Klassifikation von Hardware – Eingebettete Systeme

Proprietary Devices - Actuator, Sensors (months-years powersupply)

Network enabled limited Devices - Wireless Modules, simplemobile phones (few kBytes Mem, days-weeks power supply)

Network enabled Wireless Devices - Smartphones (Memory afew hundred kBytes, several days power supply )

Personal Devices - PDA (few Mbytes Memory, few hundredMHz Processor, several days power supply)

Desktop Systems - Personal Computers

Server Systems

Em

bedd

ed

Sys

tem

sAccess Points - (diskless, several 10 Mbyte Memory, few 100MHz Processor, infrastructure power supply)

MORE

28

Im Projekt genutzte Hardware

(Natürlich) Standard PCs mit Windows, Linux, MacOSx

Gumstix Connex and Verdex

� 400MHz bis 600MHz CPU

� 64MB bis 128 MB RAM� WLAN

OpenMoko Neo Freerunner Smartphone

Nokia N810 Digital Assistant

Hyperion (früher Siemens) TC65/XT75 Wireless Modules

Indirekte Unterstützung für diverse Ipaq-PDAs, Mobiltelefone

MORE

29

Architektur von MORE – Die Welt besteht aus Services

Alle Funktionen werden in Services gruppiertSOA, Service Oriented Architecture

Alle Services besitzen nach außen eine standardisierte Schnittstelle

Austauschbare Connectors spezifizierendas konkrete Zugriffsprotokoll

MORE

30

MORE Architektur – Interaktion der Services

MORE

31

In MORE eingesetzte Standards und Frameworks

MORE - Standards

32

Eingesetzte Software - OSGi

Ziel: Größere Modularität und Kapselung von Abhängigkeiten

Grundgerüst für den modularen Aufbau von Eclipse

Prinzip: Gruppierung von Funktionalität in Jar-Archiven und Export bereitgestellter Funktionen

Verschiedene Open Source und kommerzielle Frameworks verfügbar

� Equinox (Eclipse)

� Felix (Apache)� Knopflerfish� mBedded Server Equinox Edition

MORE - Standards

33

Web Services haben im Internet weite Verbreitung gefunden: Google, Twitter, Flickr...

Auch eingebettete Systeme verfügen zunehmend über standardisierte Netzschnittstellen

DPWS definiert Web Services speziell für eingebettete Systeme

� Einschränkungen: CPU, Speicher, Footprint

� Reduktion auf die grundlegenden Funktionen: Plug&Play, asynchroner und eventgesteuerter Zugriff

Zielsetzung: Aufbau komplexer und adaptiver Systeme basierend auf autonomen und interoperablen Komponenten

Eingesetze Software: DPWS – Device Profile for Web Ser vices

MORE - Standards

34

Deviceprofile: Spezifikation

Vorangetrieben durch Microsoft. DPWS-Stack bereits in Windows Vista verfügbar

Grundlegende Technologien: SOAP, WSDL (Web Service DescriptionLanguage)

WS-Addressing: Transportprotokollunabhängige Adressierung

WS-Discovery: Wie finde ich die Services in nicht-gesteuerten Netzen?

WS-MetaDataExchange: Was kann der Service?

WS-Eventing: Publish/Subscribe Protocol

MORE - Standards

35

WS-Discovery und WS-MetadataExchange

Multicast Discovery Protocol zum Auffinden der Geräte

� Basierend auf UDP Multicast

� Spezifikation definiert Discovery Proxy zur Reduktion der Nachrichtenanzahl: Skalierbarkeit

� Announcement Protocol: Hello und Bye-Pakete

Zusätzliche Metadaten je Gerät abrufbar

� Gerätecharakteristika� Liste der verfügbaren Service

� Beschreibungen als WSDL

MORE - Standards

36

WS-Eventing

Publish/Subscribe Mechanismus zusätzlich zur direkten Abfrage

� Weniger Polling auf dem Netz notwendig

� Lose Kopplung zwischen Sender und Empfänger

Subscribe: Client registriert sich auf interessante Ereignisse beim Endpunkt (DPW Service)

Publish: Sobald neue Daten vorliegen sendet der Endpunkt eine Nachrichtan alle registrierten Clients

Ereignisse werden als einfache Punkt-zu-Punkt-Nachricht zwischen Sender und Empfänger ausgeliefert

MORE - Standards

37

Eingesetzte Software - JXTA

Topologieunabhängiges P2P-Framework

Servicediscovery auch im Weitverkehrsnetz

Funktionen zum NAT-Traversal

Angepasste Versionen für sehr kleine Geräte vorhanden

� TC65 Wireless Module mit Java ME, ARM7 Prozessor

Nachteile: Zeit zum Aufbau der Pipes liegt für den Kaltstart bei >30s

MORE - Standards

38

Architektur für den Feldtest

MORE

39

Eigenentwicklungen im Projekt

Die ausgewählten Frameworks erfüllen nicht alle Anforderungen, deshalb

Service für die Gruppenkommunikation

Service Chaining (Orchestration)

µSOA: Weitere Verringerung des Overheads für Datenübertragung und Parsing von XML

Resource Management

CPU Budgeting und Echtzeitunterstützung

MORE - Innovationen

40

Service Chaining

Existierende Orchestration-Lösungen eignen sich nicht für eingebettete Systeme

Lösung: Im Rahmen von MORE an der TU Dortmund entwickelte Lösungfür die Verbindung von Services

Engine RAM HDD

Oracle, BPEL Process Manager 256 MB 600 MB

Cape Clear, Enterprise Service Bus 512 MB 400 MB

JBoss, JBPM BPEL Extension 512 MB 20 MB

Telelogic, System Architect 256 MB 350 MB

IBM, Web Sphere 512 MB 2.8 GB

MORE - Innovationen

41

Service Chaining

Aufgabe: Zusammenfassung einzelner Services; nach außen repräsentieren diese Services einen neuen mit neuer Funktionalität

Service Chain Description File (SCDF) Parsing

� Feststellen aller beteiligten Services

� Prüfen der Verfügbarkeit

WSDL-Generierung

� WSDLs aller beteiligten Services einlesen� Generieren eines neuen WSDL-Files

MORE - Innovationen

42

Service Chaining

Management

ServiceService A

Management

ServiceService B

MORE

Functionality

(Service C)

&

Data Flow

Management

ServiceCMS

1

2

3

4

5

MORE - Innovationen

43

µSOA Proxy – Architektur und Datenformate

Für sehr eingeschränkte Geräte sind SOAP und XML nicht geeignet

Idee: Eigenes Datenformat: µSOA

Dynamische Generierungvon Schnittstellen (WSDL)

MORE - Innovationen

µSOA

µSOA

44

µSOA Proxy – Architektur und Datenformate

MORE - Innovationen

{Measurement} is of type {null}

Occurs max 1 / min 1is leaf element: falseis child complex: true

{time} is of type {dateTime}

Occurs max 1 / min 1is leaf element: trueis child complex: false

{keyValuePairs} is of type {null}

Occurs max unbounded / min 0is leaf element: falseis child complex: true

{key} is of type {string}

Occurs max 1 / min 1is leaf element: trueis child complex: false

{value} is of type {string}

Occurs max 1 / min 1is leaf element: trueis child complex: false

<wsdl:types><xsd:schematargetNamespace="http://www.ist-more.org/MeasurementService"elementFormDefault="qualified"xmlns:tns="http://www.ist-more.org/MeasurementService"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="Measurement" type="tns:GasMeasurementValue" /><xsd:complexType name="GasMeasurementValue"><xsd:sequence><xsd:element name="time" type="xsd:dateTime"></xsd:element><xsd:element name="keyValuePairs" type="tns:keyValuePair"maxOccurs="unbounded" minOccurs="0"></xsd:element>

</xsd:sequence></xsd:complexType><xsd:complexType name="keyValuePair"><xsd:sequence><xsd:element name="key" type="xsd:string"></xsd:element><xsd:element name="value" type="xsd:string"></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:schema></wsdl:types>

WSDL Definition

<wsdl:types><xsd:schematargetNamespace="http://www.ist-more.org/MeasurementService"elementFormDefault="qualified"xmlns:tns="http://www.ist-more.org/MeasurementService"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="Measurement" type="tns:GasMeasurementValue" /><xsd:complexType name="GasMeasurementValue"><xsd:sequence><xsd:element name="time" type="xsd:dateTime"></xsd:element><xsd:element name="keyValuePairs" type="tns:keyValuePair"maxOccurs="unbounded" minOccurs="0"></xsd:element>

</xsd:sequence></xsd:complexType><xsd:complexType name="keyValuePair"><xsd:sequence><xsd:element name="key" type="xsd:string"></xsd:element><xsd:element name="value" type="xsd:string"></xsd:element>

</xsd:sequence></xsd:complexType>

</xsd:schema></wsdl:types>

45

µSOA Proxy – Architektur und Datenformate

MORE - Innovationen

Message IDInteger – 4 Byte

Message IDInteger – 4 Byte

CounterInteger – 4 Byte

CounterInteger – 4 Byte

ItemItem ItemItem ItemItem ItemItem……

<soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

</wsa:To><wsa:Action>http://www.ist-more.org/MeasurementService/SensorPort/GetMeasureResponse

</wsa:Action><wsa:RelatesTo>urn:uuid:345961f0-e7db-11dd-bf53-102860e71a14

</wsa:RelatesTo></soap:Header>

<soap:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

</wsa:To><wsa:Action>http://www.ist-more.org/MeasurementService/SensorPort/GetMeasureResponse

</wsa:Action><wsa:RelatesTo>urn:uuid:345961f0-e7db-11dd-bf53-102860e71a14

</wsa:RelatesTo></soap:Header>

<soap:Body><ns1:Measurement

xmlns:ns1="http://www.ist-more.org/MeasurementService"><ns1:time>2009-01-28T14:11:33.532+01:00</ns1:time><ns1:keyValuePairs><ns1:key>Temperature</ns1:key><ns1:value>20,4 C</ns1:value>

</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>O2</ns1:key><ns1:value>20,1VOL</ns1:value>

</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>CH4</ns1:key><ns1:value>-0,9%UEG</ns1:value>

</ns1:keyValuePairs></ns1:Measurement>

</soap:Body>

<soap:Body><ns1:Measurement

xmlns:ns1="http://www.ist-more.org/MeasurementService"><ns1:time>2009-01-28T14:11:33.532+01:00</ns1:time><ns1:keyValuePairs><ns1:key>Temperature</ns1:key><ns1:value>20,4 C</ns1:value>

</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>O2</ns1:key><ns1:value>20,1VOL</ns1:value>

</ns1:keyValuePairs><ns1:keyValuePairs><ns1:key>CH4</ns1:key><ns1:value>-0,9%UEG</ns1:value>

</ns1:keyValuePairs></ns1:Measurement>

</soap:Body>µSOA

Transmission Schema

2009-01-28T14:11:33.532

+01:00|3Temperature|ID 0

SOAP Header Information SOAP Body Information

KƒÁ”

46

µSOA Proxy – Vergleich zu anderen Verfahren

MORE - Innovationen

47

µSOA Proxy – Vergleich zu anderen Verfahren

MORE - Innovationen

48

Was schief gehen kann geht auch wirklich schief - Fe ldtests

Stromversorgung am Datenloggerausgefallen

� Vorteil: Test des Fehlerloggings

Gatewayknoten reagiert nicht mehr

� Lösung: Watchdogfunktionalität

Mobilfunkverbindung nicht möglich

� Ursache: Nicht richtig festgeschraubte Antenne…

Unvollständige Datenübertragung

� Lösung: Einstellbares Wiederholungsintervall, Anzahl an Wiederholungen und Datennutzlast

MORE

49

Zusammenfassung

Einfache Aufgabenstellungen wie der Punkt-zu-Punkt-Transport von Daten lassen sich meist problemlos lösen

Generische Frameworks erleichtern die Anpassung an neue Szenarien

Größere Architekturen/Netze bedeuten schnell Skalierungsprobleme

� Szenarienspezifische Logik wie auf die Dynamik im Netz reagiert werden muss (z.B. Alarmnachrichten an wen wann versenden?)

Existierende Herausforderungen:

� Auswahl und Verfügbarkeit von Standards und Frameworks

� Verfügbarkeit der Hardware

Vielen Dank für Ihre Aufmerksamkeit!

PRO DV Software AG, Dortmund, www.prodv.deStefan Michaelis – [email protected]

Besuchen Sie uns auf: www.ist-more.org!