Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut...

35
Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut für Graphische Datenverarbeitung IGD Mohammad-Reza (Saied) Tazari Fraunhofer-Institut für Graphische Datenverarbeitung IGD

Transcript of Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut...

Page 1: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Ambient IntelligenceWS 10/11

V5: Middleware – Teil I

Dr.-Ing. Reiner WichertFraunhofer-Institut für Graphische Datenverarbeitung IGD

Holger Graf

Fraunhofer-Institut für Graphische Datenverarbeitung IGD

Mohammad-Reza (Saied) Tazari

Fraunhofer-Institut für Graphische Datenverarbeitung IGD

Page 2: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

2

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 3: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Ambient Intelligence

Ad

apti

ve U

I in

Am

I

3

Page 4: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Smart Environments as Open Distributed Systems

Ad

apti

ve U

I in

Am

I

4

Page 5: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

5

Herausforderung: Interoperabilität

Unabhängige Entwicklung / Produktion

Fähigkeit, dennoch Funktionen & Daten auszutauschen

[Netzwerkprotokoll]

Zugriffsprotokoll

Datenrepräsentation

mehrere Anwendungsdomänen

• z.B. Home Automation, Energiemanagement, Medizin

jede Anwendungsdomäne mehrere Standards

• z.B. in HA: KNX, ZigBee

jeder Standard mehrere Anwendungsprofile

Was tun wenn alles relevant (wie in AmI)?

Page 6: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Mögliche Antwort auf Interoperabilitätsherausforderung

1. Ein Hauptprotokoll für Kommunikation unter Benutzung einer

Hauptlösung für Datenrepräsentation

“AmI”-Komponenten versus “herkömmliche” Komponenten

2. Einbindung herkömmlicher Komponenten durch Adapter

Netzwerkebene: protokoll-spezifische Gateways

Zugriffsmethoden & Datenrepräsentation: komponentspezifisches

Wrapping

Die Lösungen diesbezüglich in AmI nennt man Middleware-Lösungen

Eine gute Referenz: http://sardes.inrialpes.fr/~krakowia/MW-Book/

6

Page 7: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

7

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 8: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Wiederverwendung existierender Software (legacy software)

8

Page 9: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Vermittelnde (Mediation) Systeme

9

Page 10: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Komponentenbasierte Architekturen

10

Page 11: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Adaption durch Proxies

11

Page 12: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Middleware allgemein

12

Page 13: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Middleware Definition

13

Page 14: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

14

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 15: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Middlware-Kategorien

• Kommunikation

• Fixe versus variable Topologien

• Vorhersehbarkeit, insb. bezüglich benötigte Zeit für Nachrichtentransfer

open distributed systems: unvorhersehbar mit variablen

Topologien

• Architektur und Schnittstellen

• Managed entities (z.B. Agenten, Service-Komponenten)

• Service provision structure (requester/responder, publisher/subscriber)

• Service provision interfaces (synchron / asynchron)

15

Page 16: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

16

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 17: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: overview

17

Page 18: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: main components

18

Page 19: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: thread management on the server side (I)

19

Page 20: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: thread management on the server side (II)

20

Page 21: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: specific aspects

• Stub generation

• Parameter marshalling and unmarshalling

• Serialisierung

• De-serialisierung

• Reaktion auf Fehler

• formulating failure hypotheses (e.g., fail-stop for nodes & message loss for communication)

• detecting failures (e.g., timeout)

• reacting to failure detection (e.g., repeat)

21

Page 22: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: overall flow of control

22

Page 23: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

Remote procedure call: locating the server

23

Page 24: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

24

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 25: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA PHYSICAL ARCHITECTUREWHY OPEN & DISTRIBUTED?

The situation in smart environments:

• Several sensors, actuators, & appliances

• Several displays, microphones, loudspeakers, & cameras

• Several software components and computing devices hosting them

• We cannot assume a static configuration

Page 26: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA PHYSICAL ARCHITECTUREHOW OPEN & DISTRIBUTED?

A dynamic ensemble of networked nodes

middle-ware

middle-ware

router

registrym

iddl

e-w

are

middle-w

are

node node

node

node

node node

node

node

middle-ware

middle-ware

mid

dle-

war

e

middle-w

are

Page 27: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA PHYSICAL ARCHITECTUREDEFINITION MIDDLEWARE

The “middleware” is the intermediate piece of software allowing

the ensemble to take form by defining high-level protocols

and providing uniform interfaces for

integrating components into the system

enabling the communication between them

It hides

distribution of components

heterogeneity of the various hardware components and their operating systems and networking protocols

Page 28: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA PHYSICAL ARCHITECTURE

NODE vs. MIDDLEWARE INSTANCE

Node #1

logical component

#1

middleware

logical component

#2

middleware

Node #2

logical component

#3

middleware

logical component

#4

Node #3

wrapper#1

middleware

legacy node #1(tcp/ip enabled)

Node #4

wrapper#2

middleware

legacy node #2(RS232 enabled)

RS232 cable

Node #5

logical component

#5

middleware

wrapper#3

hosted legacy #3

Page 29: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

29

Gliederung

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 30: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA MIDDLEWARE DESIGNREQUIREMENTS

Integration

Node: Seamless connectivity between middleware instances

Component: simple API of the shared local middleware instance

Communication

Semantic interoperability

Service orientation

Eventing

Hiding distribution & heterogeniety

Distribution: hidden cooperation between middleware instances

Heterogeniety: text-based messaging of middleware instances

Page 31: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA MIDDLEWARE DESIGNTHE CHOSEN MODEL

Derived from Sodapop (Self-Organizing Data-flow Architectures suPporting Onotology-based problem decomPosition ) used in the projects EMBASSI & DynAMITE

Original spec: http://www.igd.fhg.de/igd-a1/projects/sodapop/sodapop.zip

Borrowed concepts

Virtual buses & components that connect to them

A system is mostly defined by determining its set of buses and specifying their protocols and strategies

Brokering messages instead of objects

Event-based buses (publish/subscribe) vs. call-based buses (request/response)

Page 32: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

node1

events calls .

publishing

handling

requesting

getting requestresponding

getting response

inter-component communication needs

caller

callee

user input system output .

captured input

input to processgenerated output

output to present

user interaction communication needs

PERSONA MIDDLEWARE DESIGN

PERSONA-SPECIFIC DECISIONS

Page 33: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

PERSONA MIDDLEWARE DESIGNCONCLUSION

Page 34: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

34

Gliederung Teil 2 nächste Woche

Problemstellung

Definition Middleware

Middleware-Kategorien

„Remote Procedure Call“ als einfache Middleware

Beispiel: PERSONA Middleware

Abstract Physical Architecture

The conceptual design of the PERSONA middleware

The implementation architecture of the middleware

Datenrepräsentation

Exkurs: Semantic Web

Page 35: Ambient Intelligence WS 10/11 V5: Middleware – Teil I Dr.-Ing. Reiner Wichert Fraunhofer-Institut für Graphische Datenverarbeitung IGD Holger Graf Fraunhofer-Institut.

35

Danke für die Aufmerksamkeit

&

bis zur nächsten Vorlesung