11.07.2015 Views

System Introspection for System Analysis on Mobile Devices

System Introspection for System Analysis on Mobile Devices

System Introspection for System Analysis on Mobile Devices

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Main DispatcherComp<strong>on</strong>ent DispatcherLogging DispatcherComp<strong>on</strong>ent Holderc<strong>on</strong>trols all client c<strong>on</strong>necti<strong>on</strong>s and manages a listof all c<strong>on</strong>nected clients. For example it adds anew client c<strong>on</strong>necting to the probehandles the communicati<strong>on</strong> between the comp<strong>on</strong>entthreads and the client. It starts a comp<strong>on</strong>entthread when a client requests data, e.g.collecting laser datahandles the creati<strong>on</strong> of a logging cycle <strong>on</strong> requestby a client. It adds all selected comp<strong>on</strong>ents to alogging cycle and interrupts the cycle <strong>on</strong> requestc<strong>on</strong>nects the comp<strong>on</strong>ents of the robot and makesthem accessible to the probe. It c<strong>on</strong>trols howcomp<strong>on</strong>ent threads and logging cycles can receivenew data from comp<strong>on</strong>ents of the robot,e.g. how to read the laser range finderBesides each element of the probe holds a unique TAG. This TAG allows toidentify the element and allows direct addressing between elements.Main DispatcherThe main dispatcher c<strong>on</strong>trols the c<strong>on</strong>necti<strong>on</strong> between the probe and the client.To m<strong>on</strong>itor all clients c<strong>on</strong>nected it holds a list of all c<strong>on</strong>nected clients. Thelist is created and available the whole runtime of the probe. When a clientsends a c<strong>on</strong>nect command the main c<strong>on</strong>troller adds the client to this list. Anacknowledgment is send in return to the client. To m<strong>on</strong>itor the c<strong>on</strong>necti<strong>on</strong>to each client in the list, the main dispatcher is resp<strong>on</strong>sible to exchange abeac<strong>on</strong> with each client. To achieve this, the list of c<strong>on</strong>nected clients alsoholds the count of beac<strong>on</strong>s lost between client and probe. If the count exceedsa maximum, the c<strong>on</strong>necti<strong>on</strong> is marked as disc<strong>on</strong>nected. The maximum count<str<strong>on</strong>g>for</str<strong>on</strong>g> beac<strong>on</strong>s missing can be set inside a c<strong>on</strong>figurati<strong>on</strong> file. When a client sendsa disc<strong>on</strong>nect command the main dispatcher removes the client from the list ofknown clients.Comp<strong>on</strong>ent HolderThe comp<strong>on</strong>ent holder is designed to capsule the communicati<strong>on</strong> between comp<strong>on</strong>entsof the robot and the probe. The idea behind the comp<strong>on</strong>ent holder isto create a single c<strong>on</strong>trol instance that offers access to the robot comp<strong>on</strong>ents.25

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

Saved successfully!

Ooh no, something went wrong!