MOCCASN: Mobile Context Capture for Sensor Networks

Printer-friendly version

Static Demo Page

MOCCASN is a mobile application that runs on the Android operating system. It was developed to address the need to enable practicing scientists to efficiently capture deployment metadata in accordance with the HASNetO ontology.

The MOCCASN User Guide can be found here:
MOCCASN Guide (PDF) [Download]
MOCCASN Guide (Word) [Download]

The MOCCASN GitHub can be accessed here: [link]


Logging In

The app queries the knowledge base for a list of people associated with the project and asks the user to select his or her name. Users who have been granted permission to edit deployment metadata will have a password with which to log into the app. Users without such permissions may only access a portion of the app that is read-only.


The Main Screen

The main screen presents the user with three options: constructing a deployment, ending a deployment, or getting information about a deployment. From this screen, the user may also access a list of deployment data records that were not successfully submitted to the knowledge base and should be reviewed. A notification will alert the user if there are records to review.


Constructing a Deployment

To construct a new deployment, the user scans the QR codes of two objects that are not currently deployed. The two object must have a parent-child relationship, such as a platform and an instrument, or a instrument and a detector. Clicking "Construct New Deployment" creates a new deployment with the two scanned objects and tags it as "under construction".


Adding to a Deployment

Once a deployment has started construction, the user can add the remaining objects to the deployment by scanning the the new object to add and either its parent or child that is part of the deployment. To add an object to a deployment, the user must scan one of the objects that is part of the deployment so that the app knows what deployment to add to. For example, if the user started the construction of the deployment with its instrument and a detector, then the user can add the deployment's platform by scanning the platform and the instrument.


Starting a Deployment

When the deployment is fully constructed, the user can start the deployment by clicking "Start Deployment". This button will automatically be related to the most recently modified deployment, whose components will be shown in the "Most Recent Deployment Components" box. If the user would like to start a different deployment, he or she can click "Scan New Instrument..." to select a different deployment. Clicking "Start Deployment" adds a start time to the deployment and removes the "under construction" tag.


Ending a Deployment

When the user wants to end a deployment, he or she selects "End Deployment" on the main screen, and then scans any component of the deployment that is to be ended. Scanning an object will bring up a list of objects in that deployment so that the user can confirm that he or she has selected the right one, and then click "End Deployment". Clicking "End Deployment" adds an end time to the deployment.


Getting Information about a Deployment

At any time, the user may get information about any object's most recent deployment by selecting "Get Info" and scanning the object. The screen will give the details about the most recent deployment associated with the object (including an ongoing deployment), including all of the components in that deployment, their names, what characteristics the detectors detect, and start and end times if applicable. An arrow points to the object that was scanned.


Using Un-Submitted Records

A record can be re-submitted when a wifi or cellular connection is regained. Alternatively, the user can email the record for manual entry.


Extending MOCCASN to Samples

MOCCASN has been extended to capture information about samples, including the sampling location, date, and name. Later, information can be added in MOCCASN about where and when the same sample was analyzed.

Value added by Semantics

One of the main contributions of this work is that it provides a framework for overcoming the steep barrier of entry to semantic technologies many field scientists face. As such, we expect that this tool may cause more scientists to consider using semantic technologies to solve their metadata management challenges. The following section is addressed to such a scientist and reviews the value of semantic technologies that can be gained by using this tool.

The field of semantics uses ontologies, or formalized vocabularies, to encode information in a machine-readable manner. An ontology provides a well defined framework for defining a data product's metadata. All of an ontology's concepts and relationships are formally defined and publicly available. This ensures that metadata annotated with an ontology is complete and non-ambiguous. Metadata that might be assumed by the data generator is made explicit by the ontology.

In addition, ontologies are capable of modeling complex relationships between concepts. Many other data modeling formats are not capable of encoding the more complex aspects of the data they represent, such as the exact meaning of ambiguous terms, and what other expressions the term is equivalent or comparable to. In \cite{Madin:2007}, Madin uses the example of the term "biomass", which depending on the method, may or may not be directly comparable to "weight". An ontology makes such equivalences, or lack there of, explicit.

Semantics' combination of flexibility and structure enable a data product encoded with semantics to truly stand on its own to be used correctly by researchers unfamiliar with the data's generation. This has never before been achieved in an efficient manner (that is, one may fully describe a data product's meaning in essay format, but that is neither an efficient nor scaleable solution). As described in the introduction, the ability to accurately and efficiently interpret and use other researchers' data product is becoming overwhelmingly necessary as data resources are shared to answer increasingly complex scientific questions.

An ontology's ability to describe complex relationships and concepts also means that semantics is an all-encompassing solution for all of your metadata needs. All types of metadata, including data structure (file formats and structure), source (who and what generated the data and for what purposes), and description (what the data describes), can be described in a single format. Thus, there is no need to store one type of metadata in one file, and another type in a separate file. This makes interpreting a data product easier. Also, consider that data products can be rendered useless when the formats in which the metadata is stored become outdated and are no longer supported. By only requiring one data format, supporting that one format is both easier and more likely. Thus, using a single format can increase the lifespan of a data product.

Lastly, semantic data is machine readable. This has many ramifications. First, the process of integrating datasets generated by different researchers, a task that is very time consuming to do by hand, can be automated. Machine readable metadata also enables faster processing and use of data. As more and more data is generated automatically by sensors, we increasingly rely on metadata to remind us how the data was generated, and how it should be appropriately used. Semantic metadata can be efficiently accessed and queried to answer such questions.

The machine readable quality is also what makes this tool possible. Machine readable metadata is in turn machine generate-able. Undoubtedly, semantic technologies will power many more data automation tools in the future.

Value added by Provenance

MOCCASN captures metadata about deployments: when and where sensor objects are out in the field collecting data. This type of metadata falls under the term "provenance": the history of how and why a data product was created. Provenance metadata about deployments is important because it impacts how the data is curated and analyzed. This tool makes it easier to capture provenance metadata, and thus more likely for such metadata to be captured.