Service-Oriented Middleware for Collaborative UAVs Nader Mohamed1 and Jameela Al-Jaroodi2 1 The College of Information Technology, UAEU, Al Ain, UAE 2 Middleware Technologies Lab., Bahrain
[email protected];
[email protected] Abstract – For a while, UAV (Unmanned Arial Vehicles) use was limited to military applications, however recently UAVs are also used for a wide range of civilian applications. Some of the UAV applications may involve multiple UAVs that must cooperate to achieve a common task. This kind of applications is termed collaborative UAV applications. One of the main issues for multiple UAVs is developing an effective framework to enable the development of software systems for collaborative UAV operations. One possible approach is to rely on serviceoriented computing and service-oriented middleware technologies to simplify the development and operations of such applications. This paper discusses the challenges of developing collaborative UAV applications and how the service-oriented middleware approach can help resolve some of these challenges. The paper also investigates the collaborative aspects of multiple UAVs and proposes a service-oriented middleware architecture that can satisfy the development and operations of such applications.
were the main driving force behind the development of UAVs and UAV systems. However, recently, a number of civil applications have emerged and participated in driving this development further ahead. UAVs can be very useful in agriculture, search and rescue, security and surveillances, environmental monitoring and large infrastructure monitoring, and terrain mappings. Such tasks require repetitive, hazardous and/or tedious tasks where human intervention may be spared. A recent study estimated that in 2017, the civil UAV market in the United States alone could reach $560 million out of a total of around $5 billion [3]. Although, this study was conducted for one country, it can be easily be extrapolated to predict the high demand for UAV systems around the world. Many UAV applications involve high mobility and the need to reach locations that are difficult or dangerous to access with ground vehicles [4]. Although, manned aerial vehicles can be used, such utilization require long hours of repetitive, high-level of focus, and costly flights that place a heavy burden and high risks on pilots and very high operational costs. In addition, using multiple manned aerial vehicles requires careful planning and coordination to efficiently and safely achieve the required tasks. However, recent advances in airframe, control, and communication technologies offered in UAVs allow them to efficiently replace manned operations for many applications. With the advances in technologies, many important and repetitive tasks can be automated efficiently. This is mainly due to the high accuracy, mobility, and repeatability levels of UAVs [5]. Some UAV applications involve multiple UAVs working together to quickly achieve a specific task. For example, in search and rescue operations, using 10 wellcoordinated UAVs will reduce the needed time to around 10% of the time needed by a single UAV. These UAVs can be homogenous or heterogeneous in their communication, acting, sensing, storage, and processing capabilities as well as their energy levels. While applications that rely on homogenous UAVs are easier to develop, heterogeneous UAVs can offer great opportunities for providing cost-effective solutions for complex applications that require different capabilities for the various tasks involved. However, building applications that will effectively and concurrently operate multiple heterogeneous UAVs and utilize them for a
Keywords– Unmanned Aerial Vehicles, Middleware, Collaborative UAVs, Service-Oriented Computing
1. Introduction Distributed applications development, deployment, operations, and management are generally very complex tasks. As a result, several approaches were devised to help in this regard. Various application development toolkits were devised, middleware technologies were developed and more recently extensive work in service-oriented computing (SOC) has evolved to support such environments [1] [2]. Furthermore, the nature of such distributed systems has also evolved with the technology advances, where the hardware became heterogeneous, mobile and ubiquitous. Considering all such issues further confirmed the need for modular designs to offer the required operational and non-operational functionalities. As a result SOC is advancing quickly to take a distinctive place as a major player in this field. As for equipment and devices, one of the major advances is the development of autonomous equipment such as robots and unmanned vehicles. UAVs are an example where distributed computing could play a strong role in advancing. For many years military applications
IEEE IRI 2013, August 14-16, 2013, San Francisco, California, USA 978-1-4799-1050-2/13/$31.00 ©2013 IEEE
185
support their applications development and deployment. Several research studies were conducted during the past 10 years to enable and to solve some issues in UAV systems. These efforts are classified in three groups: proposing and developing UAV applications; finding and proposing solutions for UAV technical issues; and developing platforms, service models, software architectures, and middleware for UAVs. There are many applications for UAV systems currently being developed or investigated such as autonomous river searching and tracking [9], multiple UAVs for border patrol [10], in operational oil spill surveillance [11], monitoring gas transport pipelines [12], forest-fire fighting [13], structure inspections [14], and imagery collection in disaster research and management [15]. Most of the mentioned UAV system projects were implemented specifically for a single application. Through these implementations, the researchers had to handle all the complex challenges that are associated with UAV systems. Some research efforts were dedicated for studying, developing and evaluating techniques to solve some common technical issues of UAV systems. One of these technical aspects is developing control techniques of single and multiple UAVs. The second is the communication and networking issues of UAVs. These may involve reliability and delays, ad hoc communication for UAVs, self-configuring communication, and communication bandwidth requirements. Another important area in UAV systems is platform safety. There are usually hard technical requirements to support detect, sense, and avoid (DSA) mechanisms [16]. In addition, cooperative sharing might be needed in applications involving multiple flying UAVs to avoid collisions. The third aspect of technical issues is the collaboration approaches used among UAVs and between UAVs and other systems to achieve mission tasks. An overview of these aspects and current research is available in [17]. To date most efforts in this field concentrate on a single application and try to offer the applications or services that address it efficiently. However, there is limited research on developing platforms, software architectures, and middleware for UAVs that could support the development of various applications. Middleware for UAVs can be either intra-middleware for inter-middleware. Intra-middleware is to connect multiple devices and applications in a single UAV while intermiddleware is used to connect multiple UAVs including connecting them with other systems. An example of intramiddleware is proposed by Lopez et al. that offers a middleware to connect reusable services distributed over a number of devices [18]. The purpose of this middleware is to use the same platform for a variety of missions with little reconfiguration time and overhead [19]. Another example is the CORBA-based middleware solution for UAVs that provides real-time connectivity for different UAV devices [20]. Jang and Tomlin developed software
certain problem area requires a huge number of man hours [6] in design, development and testing. This is mainly due to the lack of existing technologies that can be utilized to effectively co-ordinate the operations and cooperation of multiple UAVs. There must be new software services and middleware technologies that would help in building and linking everything together; thus, supporting concurrencyintensive operations, enhancing collaboration, and ensuring efficiency and robustness. Service-oriented middleware (SOM) offers such opportunity. SOM can help design, build, deploy and operate application services among multiple UAVs. In this case the UAV system would be more flexible, customizable to different scenarios, applications and environments, and it should be self-configuring, self-adaptive, and self-optimizing. Indeed the need for SOM that fully meets the design and implementation requirements of different challenges of collaborative UAV systems is a novel approach aimed to resolve many of the open issues. This paper investigates the different aspects of using SOM to enable the development and operations of collaborative UAV applications. We start by summarizing previous approaches and related work in Section 2. Using SOM for UAVs is discussed along with the collaborative aspects of multiple UAVs applications in Section 3. Section 4 provides an overview of the proposed SOM architecture for collaborative UAV applications and Section 5 concludes the paper.
2. Related Work We will start here by giving a brief overview of the current state of SOM technologies and how it would benefit new application areas such as UAV systems. The service-oriented approach to distributed computing evolved at a fast pace starting from the introduction of Web Services through the extensive use of Cloud computing [7]. SOM offers an opportunity for service developers and providers to efficiently develop, advertise, deploy and use services available in the Cloud. In addition, it reduces development, integration and deployment costs as it offers generic Cloud services that could be used to serve different applications and application domains. For example, communication services are essential for any distributed service-oriented application regardless of its type or domain. There will always be some data to exchange between the different services and locations. Another example is the security services [8], where many applications need different levels of security functions and these can be made available in a generic form such that different users can select the subset of these services that best suits their security requirements. Since the use of multiple UAVs is a special case of distributed computing, it also requires efficient models to
186
UAV systems are complex distributed systems that share with other distributed systems their heterogeneity, security, and reliability challenges in addition to their own unique challenges such as high speed mobility and high safety requirements. Based on our previous research [31][32], middleware generally offers many advantages for developing and operating mobile ad hoc environments and networked robots such as UAV systems [17]. A new and advanced approach in middleware technologies is the use of service-oriented middleware (SOM). This approach has already been proven to simplify the implementation and operations of a number of industrial domains in SOC [7]. It was used for wireless sensor networks [33], telecommunications [34], manufacturing [35], collaborative workflow systems [36], business process applications [37], and distributed monitoring and control systems [38]. The approach was used in these domains to reduce the effort and cost of development, testing, and operations. Similarly, SOM can play an import role for developing and operating collaborative UAVs. Accordingly, we anticipate a successful migration of the model to support collaborative UAV applications and provide a generic middleware platform that will highly increase productivity and widen the range of applications that can be designed and built using UAV systems in various domains. Moving forward, SOM extends the capabilities of middleware and provides high flexibility for adding new and advanced functions to UAV applications. SOM logically views UAVs as a provider for a set of services for user applications. With SOM, all hardware devices such as sensors, actors, data storage devices, communication devices, and processors can be viewed and utilized as services. In addition, other advanced services such data aggregation, adaptation, security, selforganization, reliability, and management can be designed, implemented, and integrated in an SOM framework to provide a flexible and easy environment to develop effective UAV applications. SOM for UAVs is necessary to support several, otherwise hard to incorporate, functionalities in the Service-oriented computing (SOC) model. These functionalities include the functional and non-functional requirements that different services might need. For any service-oriented application, there several common functionalities such as service registry, discovery, communications, reliability and security that are irrelevant to the application. These can be easily generalized and made available via a SOM platform to be used by different applications developers. Generally, a SOM for UAVs should support a number of requirements some of which (e.g. the first three in the list) are common for any SOC application, while the rest are enforced by the characteristic of the UAVs environment and the challenge of implementing and operating applications on that environment. The requirements include the support for:
architecture based on the client/server model for the Stanford DragonFly UAV Platform [21]. The main drawback of the DragonFly is that the inter-UAV communication is managed through a ground station computer, which may increase communication delays. A software architecture for multiple UAVs called the Berkeley UAV platform was developed to limit the need for human operators [22][23]. In other work, Freitas et al. offer a middleware architecture that provides interoperability support to allow the integration among wireless sensor network (WSN) nodes and small UAVs for surveillance applications [24]. JAviator [25] is a research project aiming to develop high-level real-time concurrent programming abstractions and test them on UAVs. Most of the mentioned projects are developed for specific hardware and/or for specific applications. They were not designed for high platform flexibility and expendability. Some effort in SOC research was invested in the field of robotics systems, which shares a lot of similarities with UAV systems. For example, in [26] the authors offer and overview of how SOC can be integrated with robotics systems to offer better robotics applications through the use of services. Further in [27] the concepts, principles, and methods in SOC-based robotics software development are studied and applied in the design of distributed robotics applications. Also in [28] the robots are viewed as service in the Cloud, thus facilitating the use and integration of the functionalities and features of distributed robots to build effective robotics applications. Furthermore, when investigating SOM in particular, very limited work is being done to use SOM for UAV systems. In [29], the researchers approach the issue and offer a good starting point in this direction. Several base services were introduced within an SOM model for UAV systems. However, these services address single UAV deployment, while we strive to offer a more extensive model where multiple UAVs are in use and collaborative features are involved. In this manner, UAVs can become more efficient and may offer a wide range of services that cannot be supported by individual UAVs working alone.
3. SOM and Collaborative UAVs Middleware technologies have become an essential part of any distributed environment and offer essential features and functionalities. It simplifies and expedites the distributed application process compared to many traditional development approaches [30]. Thus, to put it in simple terms “middleware connects any set of components in a distributed environment to offer better functionality.” That component could be an application, a task within an application, a platform, a communication network, a piece of hardware (e.g. robot, sensor, microcontroller, UAV, etc.), a server, a client, a service, a grid node, and so on.
187
1.
Runtime services deployment and execution for the UAV services. 2. Different communication methods among service consumers, services and service registries and brokers. 3. Service consumers to discover and use registered services and support for the integration between the applications and services. 4. Service transparency to client applications allowing them to use available services without exposing services implementation and locations details. 5. Abstractions to hide the heterogeneity of underlying UAV devices, capabilities and operations. SOM should provide high-level interfaces to utilize collaborative UAV system resources without requiring the application developers to deal directly with the heterogeneity. 6. Configurable services that provide mechanisms for client applications to configure UAV services to meet specific application requirements such as QoS, security or reliability. 7. Self-organization mechanisms that offer self-x properties such self-management, self-healing, selfconfiguration, auto-discovery, self-adaptation, and self-optimization of service providers. UAV services have time and location dynamicity that requires special features to handle it. Therefore, SOM should support self-x features for efficient utilization of available services. 8. Interoperability with a variety of devices and services to allow the applications to select and integrate any available device/service needed easily. 9. Efficient handling of large volumes of data and high communication loads to compensate for the limited availability of resources onboard a UAV. 10. Secure communication and execution to protect the UAVs and ground support systems from attacks. Such support should also be flexible and adaptable based on the levels and types of security features required by the different UAV applications. 11. QoS service provisioning to allow applications to ensure specific levels of QoS for the services used. 12. Integration with other systems thus allowing the UAV applications to integrate and work with other available systems as WSN, enterprise or web systems when necessary. In addition to these requirements, there are other advanced and specialized requirements that are needed for some advanced and specialized applications. Examples are the support for context awareness, location-based services, and time-based services. SOM can provide some mechanisms for applications to easily and efficiently reason about and react to its environmental contexts. Some of these requirements are also required for SOM implemented for other types of systems such as Grid and enterprise systems. However, the main characteristic that
distinguishes UAV environments from the others is that all these requirements must be designed and implemented on very dynamic environments. In addition, if small UAVs with limited resources are used, then the services within the SOM must be lightweight and very efficient in resources utilization. Generally, researchers propose SOM approaches best suited for their underlying environments. Therefore, many of the existing approaches may provide some of the requirements described above, but most of them do not support all UAV environment requirements. In addition to the overall requirements involved in SOM for UAVs, it is important to consider the issues involved when multiple UAVs are in use and how to support the collaboration among them. This will allow multiple UAVs to work together and distribute the task at hand and complete it efficiently. Here we introduce the collaborative aspects of multiple UAV applications. The collaboration can be organized as six aspects: 1. Collaborative sensing: multiple UAVs collaborate to sense an area or to inspect an infrastructure using one or more types of sensors. This requires efficient distribution of the sensing tasks among the available UAVs to speedup sensing and reduce overlaps in addition to increasing the sensing reliability. 2. Collaborative acting: Acting devices such as the UAVs used for agricultural and military purposes may need to coordinate their operations to achieve a large goal. This autonomous collaboration helps complete the tasks faster and eliminate (or minimize) overlaps. 3. Collaborative communication: Network support in a SOM constitutes the interface between the upper layer (applications and services) with the lower layers. UAVs need different communication techniques to allow them to interact with each other, base stations and other networks and devices. From an operational point of view, UAV systems have a wide range of applications with varying communication and networking requirements [39][40]. In addition, there are various advanced communication models like [41] that allow for efficient parallel communication. 4. Collaborative data processing: As some UAVs may have high-end processing units, these can be used by for some applications that need on-board high-performance computing such as high-resolution image/video processing, stream data mining, and online task planning. This requires employing distributed processing approaches to effectively utilize the available processors in the sky. This is usually very important if the UAVs are operating in areas that are far from the ground base stations and also when the processing results are needed instantaneously to trigger some types of suitable actions. 5. Collaborative data storage: As some UAVs may have large storage capabilities and others don’t, it is important
188
to allow multiple UAVs to organize and store data on multiple UAVs during operations. This is necessary for various reasons such as the collected data needs high communication bandwidth to be transferred which may not be available at all times; there is no need to transfer the collected data immediately; the collected data need to be processed and aggregated instantaneously to make operational decisions. In such cases different UAVs can store different amounts of data depending on their capabilities. 6. Collaborative control: Real-time control is important for the efficient and safe operations of multiple UAVs. Many of these controls require the use of distributed collaborative components to achieve their goals. This helps avoid the single-point of failure problem, resolve failure issues and maximize gain versus minimizing the communication overhead. Although some of these collaborative services are already developed, there is no one middleware or SOM that provides a novel framework to integrate and reuse these services for different collaborative UAV applications.
4.1. Broker Services These are middleware services responsible for UAV service advertisement, discovery, and registration. All software and hardware services in all participating UAVs are advertised, registered, and discovered using the broker services. The concept of the proposed SOM model is based on the notion that every UAV in the mission has a global view of all available services in the UAV network. Although this approach is not generally suited to largescale distributed environments due to poor scalability, it is well applicable for small to medium sized collaborative UAV systems which are more realistic for most applications. This approach is used as most collaborative UAV applications need real-time processing while the UAV environments are very dynamic due to the high mobility. As a result the times needed to discover services should be minimized to efficiently and accurately utilize the services. This global view is achieved by having a service broker on each UAV. This service broker maintains description information about local and remote services in addition to information about participating UAVs and ground stations. The service description information includes the standard information using Web Service Description Language (WSDL) for each defined service. Each service information includes the operations that the service can perform, the specific types and formats of the message it expects between the service provider and service consumer, and where the service can be located on the network (local or remote locations). Unlike regular service brokers that are used over the Internet, the proposed Service Brokers for the SOM for collaborative UAVs maintains additional information about the current positions of all participating UAVs and their estimated positions within a given time frame. The main reason of maintaining current positions of UAVs is that some remote services can be considered useful and be utilized only if the provider UAV is in a specific location; otherwise, there is no usefulness in utilizing the remote service by the consumer UAV. One example is using a sensor service to help in tracking a ground mobile object if the UAV carrying it is within range of that object. Another example is a storage service which can be effectively utilized only if the provider UAV is close to the consumer UAV. The estimated positions of the UAVs are needed as some remote services can be utilized only and only if they will be available for the consumers for a specific period of time. One example can be utilizing a specific remote computational service which will take a few seconds to complete only if the provider UAV is close by during the processing time. Information about local and remote services, UAVs, and ground stations is kept in a local database which contains published description about all these resources. To keep the service brokers updated, active advertisements for services and UAV positions and expected positions are broadcast by
4. SOM Architecture for Collaborative UAVs This section describes the architecture for SOM for collaborative UAVs. Each UAV consists of multiple hardware and software elements connected by a Local Area Network (LAN). The hardware elements include items such as sensors, actuators, cameras, radar, processors, storage, and communication devices. These are controlled by software components called services, which provide interfaces to utilize elements’ functionalities. In addition, there are a set of services representing software algorithms for different purposes such as image processing, obstacle avoidance, path planning, data fusion, and coordination support. These services are local services for the UAV, yet other UAVs and systems can view them as remote services. Each service defines a few simple interfaces that make it available to other services. SOM provides mechanisms to link all available services. A specific subset of the available distributed UAV services can be integrated and deployed for the accomplishment of a specific mission. In addition, any service can be a client or consumer of other services. The required services for a certain mission are integrated using a SOM that aims to achieve loose coupling among interacting services. The SOM is distributed over the available UAVs. It manages service advertisement and discovery, communications, and service invocation. In addition, it can be used to implement collaborative services across multiple UAVs and with other SOC type systems. The main mandatory services in this middleware are the broker services and invocation services.
189
established to send back the response. The response is transferred to the client callback service that passes it to the consumer. This technique uses a very short connection time and adds reliability for remote service invocations for challenging and highly dynamic environments such as those UAVs applications operate in.
service providers. There are a number of tradeoffs in that process including the frequency of advertisements and how to optimize the broadcast process which are left for future investigation. Consumer applications can search for services by either querying the local service broker or by placing subscriptions to be notified when matching services become available or unavailable. Queries and subscriptions for a service may include some condition parameters such as service names, the maximum distance between the provider UAV and local UAV, the expected maximum distance between them within a certain period of time, and the movement direction and speed of the provider UAV with respect to the local UAV. Consumer applications can synchronously search for services by sending query requests which consist of the required parameters to the local service broker to know if specific services that meet the requirements are available. In addition, consumer applications can subscribe with the local service broker to be notified immediately after the appearance of matching services in the network.
4.3. Collaborative Services and Applications Collaborative services can be implemented and operated by the proposed SOM for UAVs as shown in Figure 1. For example, the collaborative communication services are implemented and operated to provide communication services for reliable, multicast, real-time, and/or publish-subscribe communication among UAVs and between UAVs and ground stations. These communication services can be used by other collaborative services such as collaborative data storage services which handle issues such as load-balancing among distributed storage on the participating UAVs and storage access and organization. In addition, both collaborative communication services and collaborative data storage services can be utilized to implement collaborative data processing, sensing, acting, and control services. The availability of these services and the proposed SOM will simplify the development process and add flexibility in implementing collaborative UAV services by selecting different UAV components needed by different applications. Different components can be easily integrated to implement and operate new applications. Furthermore, developed services can be reused for implementing new applications without the need of implementing complete applications from scratch.
4.2. Invocation Services Local and remote services are invoked by consumers with the SOM support. The middleware handles message addressing, data marshaling and demarshalling, establishing communication connections between service consumers and producers, delivering requests and responses, and executing services. The SOM for collaborative UAVs supports two service invocation paradigms. The first is synchronized service call which is suitable for local service invocations. In this paradigm, the connection is established through the UAV’s LAN between the service provider and consumer. The connection will be active for the consumer to send its request to the provider and for the provider to return a response. Here, the UAV’s LAN provides stable connectivity among the service providers and consumers. The second paradigm is service invocation by asynchronous messages. This paradigm is suitable for remote service invocations as the connectivity among the participating UAVs are unstable due to the high mobility of the UAVs and the data packets for both remote service requests and responses may be forwarded among these high mobility hobs. In this invocation service, the consumer client initiates an asynchronous invocation by sending the request to the service provider. The SOM will register the request with the local callback service which will be responsible for notifying the client when the response is received from the service provider. As soon as the asynchronous invocation request is sent, the connection between service consumer and service provider can be terminated. At the service provider side, the request is execute and once the response message is ready and the consumer is reachable, a connection is
5. Conclusion UAV applications are expanding to cover a wide range of possibilities and domains. Therefore, being able to offer easy development tools and flexible deployment solutions is very important. In addition, the use of multiple UAVs to accomplish a single large task is still very difficult in the absence of the right applications development tools. As a result, it is important to design and build the right enabling technologies and tools to facilitate such developments. Service-oriented computing and middleware technologies – SOM in particular - are important enabling technologies for implementing and operating cost-effective and robust collaborative UAV applications. In this paper we offered an overview of the challenges and requirements to design an effective and flexible SOM that facilitates the development and deployment of collaborative UAV applications. The SOM approach allow for easy development, maintenance and operations of collaborative UAVs applications using available UAV services. It also enables using
190
homogeneous and heterogeneous UAVs with varying capabilities that are viewed as services available for the applications. In this paper, we discuss the SOM framework and its multi-layer architecture. This framework provides the main common functionalities required by any type of collaborative UAV applications. This design allows for incorporating basic services foe service discovery, registry and invocation in addition to UAV and application specific services that may be integrated to build different collaborative applications. There are several issues and challenges involved in the design of SOM for collaborative UAV applications, which need to be further studied and carefully addressed. For example, we need to study the tradeoffs in the update process of service brokers. We also need to address the management/utilization issues of the available resources and services. In addition, we need to address the issue of contention and conflict resolution on the UAVs’ resources and services.
Acknowledgment This work is supported in part by UAEU Research grant number 3IT045.
References [1] [2]
[3]
[4]
[5]
Collaborative UAV Applications [6]
Service-Oriented Middleware Collaborative Services [7] UAV1 Broker Services
Invocation Services
[8] Local Services Sensor
Actor
Comm.
CPU
Storage
[9] UAV2 Broker Services
[10]
Invocation Services Local Services
Sensor
Actor
Storage
Comm.
CPU
[11]
UAV3 Broker Services
Invocation Services
[12] Local Services Sensor
Actor
Storage
CPU
Comm.
[13]
Figure 1. The proposed middleware architecture.
191
N. Bichier and K.-J. Lin, “Service-oriented computing,” in IEEE Computer, Vol. 39, No. 3, pp: 99-101, March 2006. M. P. Papazoglou, P. Traverso, S. Dustdar and F. Leymann, “Service-Oriented Computing: State of the Art and Research Challenges,” in IEEE computer, Vol. 40, No. 11, pp: 38-45, November 2007. B. Wagner, “Civilian Market for Unmanned Aircraft Struggles to Take Flight,” National Defense Magazine, October 2007. A. Ollero, et al. “Multiple Eyes in the Skies: Architecture and Perception Issues in the COMETS Unmanned Air Vehicles Project,” IEEE Robotics & Automation Magazine, Vol. 12, No. 2, pp: 46-57, June 2005. G.M. Saggiani, B. Teodorani, “Rotary wing UAV potential applications: an analytical study through a matrix method,” Aircraft Engineering and Aerospace Technology, Vol. 76, No. 1, pp: 6-14, 2004. W. T. L. Teacy, J. Nie, S. McClean, G. Parr, S. Hailes, S. Julier, N. Trigoni, and S. Cameron, “Collaborative Sensing by Unmanned Aerial Vehicles,” in proc. 3rd International Workshop on Agent Technology for Sensor Networks, Budapest, Hungary, 2009. J. Al-Jaroodi and N. Mohamed, “Service-Oriented Middleware: A Survey,” in the Journal of Network and Computer Applications, Elsevier, Vol. 35, No. 1, pp: 211220, January 2012. J. Al-Jaroodi and A. Al-Dhaheri, “Security Issues of Service-Oriented Middleware,” in The International Journal of Computer Science and Network Security (IJCSNS), Vol. 11, No. 1, pp: 153-160, January 2011. S. Rathinam, P. Almeida, Z. W. Kim, and S. Jackson, “Autonomous Searching and Tracking of a River Using an UAV,” in proc. American Control Conference, July 2007. A.R. Girard, A.S. Howell, and K. Hedrick, “Border Patrol and Surveillance Missions using Multiple Unmanned Air Vehicles,” in proc. 43rd IEEE Conference on Decision and Control, December 2004. J. Allen and B. Walsh, “Enhanced Oil Spill Surveillance, “Detection and Monitoring Through The Applied Technology of Unmanned Air Systems,” in proc. International Oil Spill Conference, American Petroleum Institute, 2008. D. Hausamann and W. Zirnig, and G. Schreier, “Monitoring of gas transmission pipelines – a customer driven civil UAV application,” in 5th ONERA-DLR Symposium (ODAS), June 2003. A. Ollero and L. Merino, “Unmanned Aerial Vehicles as Tools for Forest-Fire Fighting,” in Forest Ecology and Management, Vol. 234, No. 1, pp: 263, 2006.
[14] K. Pratt and R. R. Murphy, et al., “Requirements for Semi-
[28] Y. Chen, Z. Du and M. García-Acosta, “Robot as a Service
Autonomous Flight in Miniature UAVs for Structure Inspection,” in proc. AUVSI Unmanned Systems North America, 2006. S.M. Adams and C. Friedland, “A Survey of Umanned Aerial Vehicle (UAV) Usage for Imagery Collection in Disaster Research and Management,” in proc. 9th International Workshop on Remote Sensing for Disaster Response, September 2011. R. Weibel and R.J. Hansman, “Safety considerations for operation of unmanned aerial vehicles in the national airspace system,” Technichal Report, ICAT 2005-01, 2005. N. Mohamed, J. Al-Jaroodi, I. Jawhar, and S. LazarovaMolnar, “Middleware Requirements for Collaborative Unmanned Aerial Vehicles,” in proc. International Conference on Unmanned Aircraft Systems (ICUAS’13), IEEE, pp: 1040-1049, Atlanta, Georgia, USA, May 2013. J. Lopez, P. Royo, E, Pastor, C. Barrado, E. Santamaria, “A Middleware Architecture for Unmanned Aircraft Avionics,” in proc. ACM/IFIP/UNENIX International Conference on Middleware, Article No. 24, 2007. P. Royo, J. Lopez, C. Barrado, and E. Pastor, “Service Abstraction Layer for UAV Flexible Application Development,” in proc. 46th AIAA Aerospace Sciences Meeting and Exhibit, 2008. J.L. Paunicka, D. E. Corman, and B. R. Mendel, “A CORBA-based middleware solution for UAVs,” in proc. 4th International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), pp: 261-267, 2001. J.S. Jang and C.J. Tomlin, “Design and Implementation of a Low Cost Hierarchical and Modular Avionics Architecture for the Dragonfly UAVs,” in proc. AIAA Guidance, Navigation, and Control Conference, August 2002. A. Ryan, et al. “A Modular Software Infrastructure for Distributed Control of Collaborating UAVs,” in proc. AIAA Conference on Guidance, Navigation, and Control, 2006. J. Tisdale, et al., “The Software Architecture of the Berkeley UAV Platform,” in proc. IEEE International Conference on Control Applications, October 2006. E.P. Freitas, A.M. Ferreia, C.E. Pereira, “Middleware Support in Unmanned Aerial Vehicles and Wireless Sensor Networks for Surveillance Applications,” in Intelligent Distributed Computing III, Springer Berlin/Heidelberg, pp: 289-296, 2009. The JAviator Project, viewed October 2012, web link: http://cs.unisalzburg.at/ck/publications/conferences/AIAAGNC08JAviator.pdf S. L. Remy and M. B. Blake, “Distributed Service-Oriented Robotics,” in IEEE Internet Computing, Vol. 15, No. 2, pp: 70-74, March-April 2011. Y. Chen and X. BaiOn, “On Robotics Applications in Service-Oriented Architecture,” in proc. 28th International Conference on Distributed Computing Systems Workshops, Beijing, China, pp: 551-556, June 2008.
in Cloud Computing,” in proc. 5th IEEE International Symposium on Service Oriented System Engineering, Nanjing, China, pp: 151-158, June 2010. P. Royo, J. López, C. Barrado and E. Pastor, “Service abstraction layer for UAV flexible application development,” in proc. 46th AIAA Aerospace Sciences Meeting and Exhibit, Reno, Nevada, January 2008. J. Al-Jaroodi and N. Mohamed, “Middleware is STILL Everywhere!!!,” in Concurrency and Computation: Practice and Experience, Wiley, Vol. 24, No. 16, pp: 1919-1926, November 2012. N. Mohamed, J. Al-Jaroodi, and I. Jawhar, “A Review of Middleware for Networked Robots,” in the International Journal of Computer Science & Network Security, Vol. 9, No.5, pp: 139-148, May 2009. S. Hadim, J. Al-Jaroodi, and N. Mohamed, “Middleware Issues and Approaches for Mobile Ad hoc Networks,” in proc. IEEE Consumer Communications and Networking Conference (CCNC), Las Vegas, Nevada, January 2006. N. Mohamed and J. Al-Jaroodi, “A Survey on ServiceOriented Middleware for Wireless Sensor Networks,” in Service Oriented Computing and Applications, Springer, Vol. 5, No. 2, pp: 71-85, 2011. C. Bo, Z. Yang, Z. Peng, D. Hue, H. Xiaoxiao, W. Zheng, C. Junilang, “Development of Web-Telecom based Hybrid Services Orchestration and Execution Middleware over Convergence Networks,” in the Journal of Network and Computer Applications, Vol. 33, No. 5, pp: 620-630, September 2010. C. Groba, I. Braun, T. Springer, and M. Wollschlaeger, “A Service-Oriented Approach for Increasing Flexibility in Manufacturing,” in proc. IEEE International Workshop on Factory Communication Systems, 2008. K. Kim, “A Model-Driven Workflow Fragmentation Framework for Collaborative Architectures and Systems,” in the Journal of Network and Computer Applications, 2011. W. Jakkhupan, S. Arch-int, and Y. Li, “Business Process Analysis and Simulation for the RFID and EPCglobal Network Enabled Supply Chain: A Proof-of-Concept Approach,” in the Journal of Network and Computer Applications, Vol. 34, No. 3, pp: 949-957, May 2011. G.A. Taylor, M. R. Irving, P. R. Hobson, C. Huang, P. Kyberd, and R.J. Taylor, “Distributed Monitoring and Control of Future Power Systems via Grid Computing,” in IEEE Power Engineering Society General Meeting, 2006. E.W. Frew and T.X. Brown, “Airborne Communication Networks for Small Unmanned Aircraft Systems,” in Proceedings of The IEEE, Vol. 96, No. 12, pp: 2008-2027, December 2008. E.W. Frew and T.X. Brown, “Networking for Small Unmanned aircraft Systems,” in Unmanned Aircraft Systems, Springer, Vol. 54, No. 1-3, pp: 21-37, 2009. N. Mohamed, J. Al-Jaroodi, H. Jiang, and D. Swanson, “A Middleware-Level Parallel Transfer Technique over Multiple Network Interfaces,” in proc. ClusterWorld Conference and Expo, San Jose, California, June 2003.
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
192