27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

data dependencies required for keeping the impact level. A<br />

component may receive data from the same type of multiple<br />

components. In t his case, the com ponent depends on the<br />

multiple components that have the same impact level. If the<br />

dependent component cannot receive data from at least<br />

some number of same type com ponents, it can have<br />

additional impact from the missing data. In this case, t he<br />

impact level of the sam e type components to its depe ndent<br />

component needs to inc rease one level up. Each Camera<br />

component (Fig. 2) has a tolerable im pact to the Car<br />

Detection component, but the tolerable impact should<br />

change to seri ous if both Camera components encounter<br />

failures at the same time. This is because the Car Detection<br />

component requires the data from at least one Cam era<br />

component so as to generate the reliable output.<br />

the failure. The application configuration manager checks<br />

how much the failed component has impact on its dependent<br />

components in the application. A component in the<br />

Executor1 depends on the fai led component and the im pact<br />

level is serious. Now the component in the Executor1 waits<br />

for some data from the failed component. Without the failed<br />

component, the component in the Executor1 cannot process<br />

the data. The application configuration manager requests the<br />

Executor1 to stop the dependent component. Similarly, the<br />

second component in the Executor1 depends on the sec ond<br />

and third components in the Executor2. However, the<br />

dependent component can survive even though t he second<br />

component in the Exec utor2 fails. T his is because t he<br />

impact level is tolerable.<br />

3. Reconfiguration<br />

3.1 Prototype<br />

An application configuration manager as a prototype is<br />

developed to validate the reconfiguration of a robot<br />

application using the data dependency relationships between<br />

components and their impact analysis. The application<br />

configuration manager decides whic h components need to<br />

be reconfigured using the data dependency relationships<br />

between components and their impact levels in response to a<br />

component failure. The scope of reconfiguration is decided<br />

depending on the criticality of c omponent dependencies,<br />

such as insignificant, tolerable, serious, or catastrophic. For<br />

this, the appl ication configuration manager generates a<br />

reconfiguration plan by c onsidering ripple effects of the<br />

failure using the data dependency relationships and t heir<br />

impact levels. This plan includes all the components being<br />

affected from the failure.<br />

The application configuration m anager reconfigures an<br />

application by interacting with executors in the OPROS<br />

engine [Song08, Jang10]. The OPROS engine is a platform<br />

for robot applications t hat executes robot applications<br />

composed of components. Periodic components that process<br />

data periodically are activate d and run by executors in the<br />

OPROS engine. Each e xecutor runs components that have<br />

the same periodic cycle tim es. When an executor detects a<br />

component failure, it requests reconfiguring the components<br />

associated with the failed c omponent from the application<br />

configuration manager. Each executor has the worst ca se<br />

execution times of c omponents, detecting a c omponent<br />

failure if the component cannot finish its periodic cycle time<br />

within its worst case execution time.<br />

Figure 3 depicts the outline of our prototype for<br />

reconfiguring components against component failures using<br />

the data dependency relationships between components and<br />

their impact analysis. Suppose two executors in the OPROS<br />

engine execute periodic and same cycle-timed components.<br />

When the first component in the Exec utor2 fails, the<br />

executor notifies the application configuration manager of<br />

Serious<br />

tolerable<br />

tolerable<br />

Component<br />

(50ms)<br />

Component<br />

(50ms)<br />

Executor 1<br />

failure<br />

Component<br />

(50ms)<br />

failure<br />

Component<br />

(50ms) Executor 2<br />

Component<br />

(50ms)<br />

Component<br />

(50ms)<br />

Failure<br />

notifying<br />

Reconfiguration<br />

Message<br />

Queue<br />

Application<br />

Configuration<br />

Manager<br />

Update configuration table<br />

( dependency table &<br />

impact table)<br />

Dependency<br />

table/I mpact<br />

table<br />

Fig. 3 Outline of Reconfiguration in OPROS<br />

3.2 UGV Application<br />

The approach proposed in th is paper is validated with<br />

the Unmanned Ground V ehicle (UGV) application<br />

[Roh11], which drives a car to the destination place<br />

safely without a human driv er’s intervention. Fig. 4<br />

depicts the data dependency relationships between<br />

components and their impact levels for the Pedestrian<br />

Detection that is used for validating our approach, along<br />

with the Environment Modeling and Perception (Figs. 1<br />

and 2) described in sectio n 2. The Th ermal Imaging<br />

Camera (TIC) renders infrared radiation as a visual light.<br />

The Car Detection component produc es other cars<br />

trajectory by analysing the data that comes from LRF,<br />

Camera, and TIF components. The Pedestrian component<br />

detects people on the road and the Localizatio n<br />

component generates th e world space absolute<br />

coordinates. Using the data from the Localization, Car<br />

Detection and Pedestrian components, the Dangerous<br />

Situation component determines if it sh ould generate an<br />

alarm to prevent critical accidents.<br />

For test purpose, we inject ed failures to components<br />

and the reconfiguration result were co mpared to th e<br />

686

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!