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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

implementati<strong>on</strong> of the designed communicati<strong>on</strong> interface. Messages betweenthe probe and the client are exchanged via a communicati<strong>on</strong> server.Figure 5.1: Overview of the designed architecture - On the left sideis the robot providing its comp<strong>on</strong>ents by using the B<strong>on</strong>-SAI interface. Probe and client are c<strong>on</strong>nected via thecommunicati<strong>on</strong> server.5.1 Communicati<strong>on</strong> InterfaceTo handle the communicati<strong>on</strong> between the probe and the client a communicati<strong>on</strong>interface is designed to be implemented <strong>on</strong> the different entities. The ideabehind the interface is to capsule all needed communicati<strong>on</strong> overhead to thisinterface. Also by implementing the interface <strong>on</strong> both systems the same understandingof message exchange is guaranteed. The communicati<strong>on</strong> interfacec<strong>on</strong>trols the in<str<strong>on</strong>g>for</str<strong>on</strong>g>mati<strong>on</strong> flow between c<strong>on</strong>nected entities and the communicati<strong>on</strong>server. The main functi<strong>on</strong>alities that are needed are establishing ac<strong>on</strong>necti<strong>on</strong> to the communicati<strong>on</strong> server and the exchange of messages am<strong>on</strong>gc<strong>on</strong>nected entities. A handshake mechanism by sending a message and waiting<str<strong>on</strong>g>for</str<strong>on</strong>g> a resp<strong>on</strong>se is used to acknowledge the c<strong>on</strong>necti<strong>on</strong> between two entities. Tom<strong>on</strong>itor the c<strong>on</strong>necti<strong>on</strong> between the entities a beac<strong>on</strong> is used. This beac<strong>on</strong>must be exchanged to assure that both sides are available.Entities in this thesis are the probe and the client. At startup both entitiesmust c<strong>on</strong>nect to a c<strong>on</strong>necti<strong>on</strong> server by using a c<strong>on</strong>necti<strong>on</strong> c<strong>on</strong>figurati<strong>on</strong>. Thec<strong>on</strong>figurati<strong>on</strong> is distinguished from the source by using a c<strong>on</strong>figurati<strong>on</strong> file.When the client is c<strong>on</strong>nected it sends a message to the probe requesting toestablish a communicati<strong>on</strong> channel. The probe acknowledges the request andadds the client to a list of known clients. This list is held by the probe <str<strong>on</strong>g>for</str<strong>on</strong>g>a whole runtime. Once the c<strong>on</strong>necti<strong>on</strong> between probe and client is created,the client can request data of comp<strong>on</strong>ent threads c<strong>on</strong>trolled by the probe. Requestsare <str<strong>on</strong>g>for</str<strong>on</strong>g>warded to the comp<strong>on</strong>ents which send data to the client. Figure5.2 shows how a message is created and transferred from the probe over acommunicati<strong>on</strong> server to the client.21

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

Saved successfully!

Ooh no, something went wrong!