OceanSense-A general application development framework for marine environment monitoring with multi-sensors Conferences

This paper presents a component-based framework OceanSense which supports rapid development of marine environment monitoring application with multi-sensors. By decomposing systems into relatively independent, mature and reusable modules, component-based programming provides stability, reliability and extensibility compared to other programming methods. The framework covers kernel components for marine monitoring application, which are data management component, data transmission component, electronic nautical chart component, sensor communication component. OceanSense supports commonly used marine environment monitoring sensors, which increases its availability. A real project is carried on to validate the framework and result shows its availability.


Introduction
With the rapid development of society and economy, an increasing number of human activities have gradually destroyed the marine environment.Maine environment monitoring is a vital problem and has increasingly attracted agreat deal of research and development attention.During the past few decades, various marine environment monitoring systems have been developed [1][2][3][4][5][6].Base on decades of experiences on marine monitoring, a component-based framework for rapid development of marine environment monitoring application is proposed.Leveraging on large amount of related projects, commonly used sensors of different interfaces and manufacturers are summarized and catalogued.Multi-sensor supporting gives flexibility and extensibility of OceanSense.Rest of this paper is organized as follows.The framework architecture of OceanSense is presented.Then, three kernel components of OceanSense are described.After that, an application example is presented.Finally, conclusion and the future work are given.

Framework architecture
As demonstrated in Fig. 1, the framework is composed by Electronic nautical chart component, data management component, data transmission component and sensor communication component.Those components can be imported into visual studio 2010.The properties of those components can be set by visual interface in visual studio 2010 and the interfaces of those components can be called by using C#.Each component will be further described as the following.Ocean observation data are usually sensitive data, which has high requirements for safety.A typical network architecture is described in Figure 2. Data transmission from internal network to external network can only be achieved through transmission of text files.Applications from external network periodically scan dedicated text files in the mediator system.Then, contents in those text files are compared with last time scanning contents to decide whether contents is updated by applications in the internal network.XML is preferred for its advantages in data storage and data sharing.A typical observation data in XML text files is shown in Figure 3.

Electronic nautical chart component
Electronic nautical chart (ENC) component plays an important part in marine monitoring data demonstration.It provides direct connections between monitoring data and its geographical features.The extensibilities of ENC component is through supporting of IHO S-57 format.The S-57 file with .000extensions will be translated to proprietary format, in order to ensure efficiency of S-57 objects rendering (See Fig. 6).

Sensor communication component
Sensor communication component encapsulates the details of communications between seaMass and the instruments.A base abstract class 'Command' is provided to encapsulate the structure of communication command (see Fig. 7).The abstract classes and interface described above are the fundamentals for our automatic 'Command' handling mechanism.In the automatic 'Command' handling mechanism, 'Command' is expressed by XML with schemas.Taking the 'RealTimeCommand' for example, its corresponding XML definition is shown in Fig. 9.Besides that, the 'Command' can also be validated against its corresponding XML Schema before sending out (See Fig. 10), which greatly improves system reliability.

Based on communication direction between instrument and application, two abstract classes 'OutCommand
Fig. 9. Xml definition of 'RealTimeCommand'

Application example
In order to validate the development framework, it has been used in volunteer boat marine observation (See Fig. 11), which is dedicatedly designed for monitoring seawater temperature and salt, wind speed and direction, tidal, rainfall, and etc.

Conclusion
In OceanSense, kernel components for marine environment monitoring application development are provided.Yet, those components with .netruntime are proved to be reliable, stable and easy to use.In future, development and refinement on those kernel components will be continued and an open source project will be founded.