# Towards Collaborative and Dynamic Spectrum Sharing via Interpretation of Spectrum Access Policies
## 4 Ontology  
For the implementation of communications systems two parts are needed: a protocol to exchange messages and a language in which the messages are represented. In our work, we make use of _ontologies_ as a representation language. First, we briefly introduce the notion of ontology since this concept is relatively new to the radio communications community. To put the notion of ontology in perspective, we overview other concepts that are close to ontologies. _Vocabulary_: It is a list of terms, e.g., Radio, Receiver, Transmitter, Antenna, Battery, etc. All it contains is lexical representations of different concepts that a human reader can interpret just because the reader knows these names. A computer program would threat them simply as strings and thus would be able to perform operations that are applicable to the data type String, such as compare, insert, delete, assess the length of the name and so on. _Dictionary_: It includes terms with natural language explanations of their meaning, where the explanations use the same language that includes the defined terms. Here is an example of dictionary term \"radio\" as can be found by Google if you enter the search term \"radio\". _Radio_: Noun: _the transmission and reception of electromagnetic waves of radio frequency, especially those carrying sound messages_. Use: \"_cellular phones are linked by radio rather than wires_\"; Verb: _communicate or send a message by radio_. Use: \"_the pilot radioed for help_\". The dictionary contains more information than vocabulary since it can be used by the human to understand what a term means in case the human does not know it. However, dictionaries are difficult to process by computers since computers are not too good (so far) at processing natural language text. _Ontology_: An ontology includes a number of _classes_, _properties_ and _individuals_, e.g., Radio could be one of the classes. Any class can have multiple individuals (aka _instances_), and thus, the Radio class can have a number of individuals--members of the Radio class, e.g., R-AFK2178, RD-FM-365M. An ontology can represent the fact that the Radio comprises components such as a Transmitter, a Receiver, an Antenna, a Modulator, a Demodulator, etc., (using the _aggregateOf_ object property). A small fragment of a radio ontology is shown in Figure 5, with classes represented as rounded rectangles with a circle icon, individuals as rounded rectangles with a diamond icon and properties as arrows (different colors denoting different types of properties). \begin{table}
\begin{tabular}{l l l} \hline \hline
**OODA** & **Function** & **Component** \\ \hline Observe & Get/describe transmit request & Controller \\ Orient & Identify matching active policies & Policy manager \\ Observe & Get spectrum measurement & Controller \\ Decide & Verify compliance & Policy Engine \\ Plan & Generate transmission opportunities & Planner \\  & Schedule rendezvous & \\ Act & Issue transmit command & Controller \\ Learn & Update policy & Learner \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Mapping the OODA loop to the Cognitive Radio Engine architecture. Ontological classes are organized along the subClassOf relation, resulting in a hierarchy (a lattice). For instance, Radio is a subClassOf System, which in turn is a subClassOf Object. For the sake of clarity, the ontology fragment shown in the figure is limited to only a few classes and properties, and two individuals: R-AFK2178 (an instance of class Radio) and TR-FRK0999 (an instance of Transmitter). The superclass of every other class in an OWL ontology is called Thing (not shown in the figure). Thus, any individual is also an instance of Thing (via a chain of the subClassOf relations). The radio ontology, developed with Protege [11], was encoded (conceptually) as a Resource Description Framework (RDF) [12] triples \(<\)_subject_, _predicate_, _object_\(>\).