.. BACowl Frequently Asked Questions

Frequently Asked Questions
==========================

*What is an Ontology?* [#f1]_

    An ontology is a description of a domain. Ontologies can be written in various
    formats and can be used by computers to reason about the domain they describe.
    They are also useful as a common format that allows for exchange of knowledge
    across applications and platforms.

    The ontologies for this project are written in OWL 2. OWL 2 is an ontology language
    that defines the concepts you can use to write an ontology. If you're not familiar
    with ontologies, take a few minutes and explore the following links:

    * `Ontology (information science) <http://en.wikipedia.org/wiki/Ontology_%28information_science%29>`_
    * `What is an Ontology? (Stanford) <http://www-ksl.stanford.edu/kst/what-is-an-ontology.html>`_
    * `OWL Web Ontology Language (W3C) <http://www.w3.org/TR/owl-features/>`_
    * `Web Ontology Language (Wikipedia) <http://en.wikipedia.org/wiki/Web_Ontology_Language>`_

*What is BACnet?* [#f2]_

    BACnet - A Data Communication Protocol for Building Automation and Control Networks.

    Developed under the auspices of the American Society of Heating, Refrigerating 
    and Air-Conditioning Engineers (ASHRAE), BACnet is an American national standard, 
    a European standard, a national standard in more than 30 countries, and an ISO 
    global standard. The protocol is supported and maintained by ASHRAE Standing 
    Standard Project Committee 135.

    * `BACnet <http://www.bacnet.org>`_
    * `ASHRAE <http://www.ashrae.org>`_

*What is a BACnet Ontology?*

    A BACnet Ontology treats the contents of the published standard as a model.
    It has its own lexicon, descriptions of both messages between devices and objects,
    the properties of which represent the various aspects of the hardware, software, 
    and operation of the device.  Most of the standard is described using natural
    language, some parts are described using `ASN.1 <http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One>`_,
    but the standard text does not lend itself to formal analysis.

    By translating the descriptions of the objects, properties, and communications 
    messages into a formal language like OWL and applying analysis to the
    result, we hope to provide a cohesive description of the standard that can be
    incorporated into other formal models.

*What is it not?*

    **This is not an electronic version of the standard.**  The copyright of the 
    standard is held by ASHRAE.  You can purchase a copy of the standard by visiting the
    `ASHRAE Bookstore <http://www.techstreet.com/ashrae/ashraegate.html>`_.  It is 
    highly recommend, but not required, that you purchase a current copy of the standard 
    if you wish to participate in this project.

    **This is not a BACnet API.**  While the descriptions of the communications model
    match those in the standard, the encoding and decoding rules are not included
    in this OWL model.

    **This is not a protocol** in a way that systems would use to exchange control system
    performance or monitoring data, the
    BACnet protocol is used for that!

    **This is not another XML format.** Descriptions of actual devices (instances of 
    the model) could be exchanged using RDF/XML or one of its other serialzation
    formats.  These descriptions would be conceptually similar to content conveyed using the 
    XML format specified in *Annex Q* in the 2012 version of the BACnet standard,
    also known as CSML.  This effort has a larger scope because it includes both
    objects and services, is not tied to a specific serialization format, and 
    existing reasoners and analyzers can be used without first translating the 
    XML content.

    **This is not a part of the standard.**  It has no relationship to the activity of the
    working groups with the SSPC, other than the fact that many of the team members
    are also involved in working group activity.  Many of the team members are also
    struggling with similar modeling problems in other domains.

*Why?*

    This project was inspired by the opportunity to participate in `Ontology
    Summit 2013 <http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2013>`_
    and leverage the tools and expertise of the `Ontolog Community
    <http://ontolog.cim3.net/>`_ and apply them to the design of a
    machine-interpretable description of BACnet.  This effort is in parallel
    with other efforts to formally model other standards such as the Facility
    Smart Grid Information Model (`FSGIM <http://spc201.ashraepcs.org/>`_),
    which is, in turn, built with references to other standards.

    The deliverable of this project, the OWL ontology, is intended to be useful
    to many other information systems that talk about or include concepts from BACnet.

.. rubric:: Footnotes

.. [#f1] Text inspired from the `Introduction to Ontologies with Protege 
    <https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege>`_
.. [#f2] Text from the BACnet `home page <http://www.bacnet.org>`_