Summary: | This master thesis is a part of the DySCAS project at ENEA. The purpose of this thesis project is to add support for streaming media and USB support to the DySCAS demonstrator platform. To achieve this, some of the widely used middlewares available today were studied. The one that proved to be of most interest is CORBA. Although CORBA’s solution to streaming media couldn’t be used due to their use of object programming, the CORBA solution did provide some interesting thoughts regarding how the USB devices should be handled, in this case their “resource inspector” and “trading service”. Ethernet was the chosen network to support streaming media. To allow easy handling of stream there was a need to build a specific protocol. To achieve this, a number of the protocols used today were studied. The final solution is much influenced by RTP and is sent on top of UDP. Extensive studies of USB were made, in the early stages of the master thesis much effort was made to understand the concept of USB and how drivers were built. Due to the complexity of USB, building drivers were not an option. The need for host control stack and drivers led to that OSE had to be discarded and be replaced by a slimmed version of Linux. This led to that the DySCAS middleware that was heavily connected to features available in OSE Epsilon had to be migrated to Linux. To achieve this, the middleware was “lifted” and all the system calls were mapped to an equivalent call or function located in an instantiation layer. === Detta examensarbete är en del av DySCAS projektet på ENEA. Syftet är att tillföra stöd för strömmande media och USB till den befintliga DySCAS experiment plattformen. För att göra detta undersöktes några av de kända mellanvaror som finns idag. Den som var av mest intresse var CORBA. Även om CORBAs lösning inte kunde användas då den byggde på objektorienterad programmering så innehöll den en hel del intressanta uppslag om hur hantering av USB enheter kan utföras, med avseende på CORBAs ”resource inspector” och ”trading service”. Ethernet valdes som hårdvara bas för strömmande media. För att enkelt kunna hantera media strömmar uppkom behov att bygga ett specifikt protokoll, Innan detta byggdes undersöktes ett antal befintliga protokoll. Den resulterande lösningen är mycket influerad av RTP och sänds över UDP. USB undersöktes grundligt i examensarbetets tidiga skede. Mycket kraft lades på att förstå hur USB fungerar och hur drivrutiner byggs. Men på grund av komplexiteten hos USB var detta inte realistiskt. Behovet av host controller stack i plattformen och drivrutiner ledde till att OSE inte kunde användas då dessa inte fanns tillgängliga. Detta fick till följd att en avskalad version av Linux användes istället. DySCAS mellanvaran som i tidigt skede var nära bundet till OSE Epsilon var då tvunget att portas till Linux. För att lyckas med detta ”lyftes” mellanvaran så alla systemanrop länkades om till ett motsvarande anrop eller funktion i DySCAS ”instantation” lager.
|