Font Size: a A A

Design And Implementation Of A Unified RPC Framework For Multiple Platforms

Posted on:2019-09-01Degree:MasterType:Thesis
Country:ChinaCandidate:J MaFull Text:PDF
GTID:2428330590492271Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the development of computer technology and network,embedded systems get wider range of application.Client applications of an embedded system may run on the embedded system.They may also run on some other system by invoking the features and capabilities provided by the embedded system.It is an important topic on how to make client applications,of an embedded system,running in different places or systems,be able to invoke the services provided by the embedded system through a unified interface when we are programming for those embedded systems.In short,this thesis studies a solution to make it possible for client applications running in heterogeneous systems or on different operating systems or in a separate process of the embedded system be able to invoke the software API in C language provided by the embedded system as if those APIs are being invoked inside the embedded system.This is also known as the unified invocation framework the thesis is going to discuss.Remote procedure call is an invocation model for such client/server applications.By keeping the same semantics as a local invocation,a client application has no necessity to know whether it is running in the same process or on the same platform as the service provider(the software of the embedded system).Thus,it is a good choice to use RPC to export system software API.Common object request broker architecture(in short CORBA)is proposed by object management group to serve as a specification for inter-operation between heterogeneous systems.CORBA has features like cross platform,cross language,cross network,cross operating systems and so on.It is the foundation of our RPC framework implementation.Socket is a widely used operating system independent interface for point to point communication.It can be used for inter-process communication as well as network based communication.It is suitable for implementing communication between components in the framework.This thesis proposes a unified RPC framework and its implementation.The design adopts tailored CORBA services to implement its RPC framework.It uses the open source Flick IDL compiler for generating client and server stub code.In the implementation of the RPC runtime,it is based on the RPC runtime library provided by Flick and extends the runtime library by supporting multiple communication methods like inter-process RPC and network based RPC.The implementation guarantees that there is almost no difference in programming the upper layer application regardless of the communication method chosen by the application.In addition,the implementation includes an operating system abstraction layer to encapsulate the difference in socket operations on different operating systems.OSAL has different implementations for Linux and Windows which makes it possible that upper layer applications never need to know the actual operating system they are running upon.This makes it very easy to port existing applications from one system to another.In the end of the thesis,test results are provided in a variety of application scenarios in reality to show the performance in each circumstance.The results give references to real application in the future and also show the effectiveness and applicability of the unified RPC framework.The innovation of this unified invocation framework is that client applications of an embedded system can be easily ported across heterogeneous system and different operating systems with almost no change to the application code.Developers of the embedded system can focus on exporting the capabilities of the embedded system through software APIs.While application developers of an embedded system can focus on developing applications on a variety of devices.It extends the use cases of the embedded systems.The unified RPC framework has been applied basically in my company within some Linux environment in ARM and Intel based platforms.In the future we will also extend its application into Windows environment.
Keywords/Search Tags:Multi-platform, Unified Invocation Framework, RPC, CORBA, Flick
PDF Full Text Request
Related items