dynamic (re-) configuration as safeguard mechanism in dynamically changing environments

16
AP 04/03 Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments DCL Distributed Control Lab™ at HPI

Upload: shelley-hardin

Post on 13-Mar-2016

29 views

Category:

Documents


0 download

DESCRIPTION

DCL. Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments. Distributed Control Lab™ at HPI. Overview and Motivation. Mobile systems are challenging: Dynamically changing parameters of communication (Quality-of-Service) Varying computational power - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Dynamic (Re-) Configuration as Safeguard Mechanismin dynamically changing

environments

DCLDistributed Control Lab™ at HPI

Page 2: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Overview and Motivation

Mobile systems are challenging:• Dynamically changing parameters of communication

(Quality-of-Service)

• Varying computational power – among different mobile end systems

(Notebook, Pocket PC, cellular phone)

• One-size-fits-all type of services are not acceptable• State of the art: device-specific information encoding

– Different representations for the same device are typically not supported (i.e., image vs. text vs. voice)

– No chance to react on changing communication settings

Page 3: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

The Problem illustrated

Page 4: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Towards Configurable ad-hoc Services for Mobile Users

• XML-based description language for system configuration – Description of service profiles

• Separation of implementation and configuration• Toolset for automatic system configuration • Support for mobile devices in networks with

dynamically changing communication settings

• Proof-of-concept scenario using COM+ and Windows CE

Page 5: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

How to Configure a Service?

• Service: component-based software which delivers information upon client‘s request

• Services are made of:– Components + attributes (i.e.; jpeg-filter with given compression)– Connectors (i.e.; RPC, shared memory interconnect, TCP/IP socket)

• Service configuration consists of:– Component instantiation and configuration– Selection of the appropriate interconnection mechanism (plumbing)

• XML-based configuration description– Rules for dynamic re-configuration when environment changes

Page 6: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Configuration Process

• Configuration manager interconnects components as described in the choosen configuration profile

configuration manager

IUnkown

IServiceXML - document

IConfigure

IConfigure

IConfigureIConfigure

Page 7: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

The Distributed Control Lab – a configurable robotic system

Variety of robot configurations• Different actuators/sensors• Experimentation with control

algorithms• Coordinated actions of

multiple robots

Dynamic reconfiguration as a safeguard mechanism

Page 8: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Distributed Control Lab – Structure

VideoStreamer

Webserver and MasterControl

IDCLControl

DCLControl Pendel

Webcam

RemoteDCL Systemsicht der Softwareebenen der Experimente sowie RCX-Hardware

WebcamWebcam

VideoStreamerVideoStreamer

Browser

IDCLControl

TrackerComponent

DCLControl RCX

RCXRunnerControl

LNPOI DLL

legOSCompileControl

GCCCompiler

SecurityChecker

IlegOSCompileIRCXRunner

Tracking Hardware(Webcam)

LEGO Tower

FileStorage

Tracker

RCXRCX

RemoteDCL

RCXRunner legOSCompile

Configuration

Page 9: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Distributed Control Lab – Interfaces

+ControllerRef() : string+Finalize()+StartController() : bool+DownLoad(inout file : string) : string+Start() : string+Stop() : string+SendOpCode(inout code : string) : string+GetStatus() : string

DCLControlRCX

-Controller1

-CompileControl1

-Controller1

-RcxRunner1

+DownLoad(inout file : string) : string+Start() : string+Stop() : string+SendOpCode(inout code : string) : string+GetStatus() : string

«interface»IDCLControl

+ControllerRef() : string+Finalize()+StartController() : bool

«interface»IRegistration

+setCompilerPath(in compilerPath : string)+setOutputPath(in outputPath : string)+createBinary(in fileObject : IFile) : IFile+createFileFromString(in text : string) : IFile+getErrorMessages() : IMessageContainer+setCompilerOptions(in param : string)

«interface»ILegOSCompileControl

+getStatus() : string+download(in fileRobot1 : IFile, in fileRobot2 : IFile)+start()+stop()+send(in message : string, in to : int)+init(in homeRunner : IFile)

«interface»IRCXRunnerControl

Page 10: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Web-based Robotics Experiments

Trike API

Caterpillar API

Walker API

Drive Use hands

Load Programm

CONTROLLERControls actions to prevent

robot destruction

Communication modul

Wireless LAN Infrared

ASP.NET & .NET Remoting

Internet +

.NET Remoting

www.dcl.hpi.uni-potsdam.de

Page 11: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Dynamic Re-Configuration –Experimental Evaluation of .NET

How expensive is dynamic re-configuration?• Measurements based on Pentium High Resolution

Performance Counter (Win32-Api)• Measurement overhead (unmanaged call) – within the

µ-second range • Example appplication: Client/Server system

– Server propagates attribute via get-method

• 5000-10000 measurements per experiment

Page 12: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Reconfiguration timeline

External event changes execution environment

MeasurementPolling period

Configuration manager notices change

Loading of new components

Adjustment of new components‘ attributesBlocking of connection requests

Adjustment of component‘ attributesInterconnection of components

Initialization of new componentsRemoval of old components

Reaction on env. changeDetection of env. ChangeReconfiguration phaseBlackout period

Time

Page 13: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Blackout periods

- Adjustment of a single attribute value- Local application- Client/server are separate processes

Pro

babi

lity

dist

ribut

ion

of e

xper

imen

tal r

esul

ts

Blackout period in ms

Page 14: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Adding a componentP

roba

bilit

y di

strib

utio

n of

resu

lts

Duration in ms

Adding a remote componentresiding in a separate process

Blackout-periodDuration of re-configuration

Page 15: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Scaling up

Number of components involved

Dur

atio

n in

ms

Blackout periodReconfiguration periodLoading of addl. components

Page 16: Dynamic (Re-) Configuration as Safeguard Mechanism in dynamically changing environments

AP 04/03

Foucault‘s Pendulum