Language Issues For Cognitive Radio: Proceedings of The IEEE May 2009
Language Issues For Cognitive Radio: Proceedings of The IEEE May 2009
Language Issues For Cognitive Radio: Proceedings of The IEEE May 2009
net/publication/224401766
CITATIONS READS
27 384
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Leszek Lechowicz on 31 May 2014.
ABSTRACT | This paper discusses various aspects of formal The Software Defined Radio Forum (SDRF) [3] defines
languages in the context of cognitive radio. A bottom up cognitive radio as follows.
approach is taken in which an example of a specification of a a) Radio in which communication systems are
feature of cognitive radio in a selected language is shown, aware of their environment and internal state
followed by an example of a feature that cannot be expressed and can make decisions about their radio
in the language and the identification of a capability that needs operating behavior based on that information
to be added to the language in order to cover the identified gap and predefined objectives. The environmental
in the expressiveness. Following this pattern, we start with a information may or may not include location
language based on description logics and add the capability of information related to communication systems.
expressing rules, then functions, and finally behavioral aspects. b) Cognitive radio [as defined in a)] that utilizes
The running example used in this paperVconveying the software defined radio, adaptive radio, and other
description of a component to be synthesized by another technologies to automatically adjust its behavior
radioVcovers two major aspects of a cognitive radio: an ability or operations to achieve desired objectives.
to express own capabilities and an ability to interoperate with Kokar et al. in [4] pattern the definition of cognitive
other cognitive radios. radio upon the definition of a cognitive agent, i.e., a system
that can:
KEYWORDS | Cognitive radio; formal language; formal seman- • reason, using substantial amounts of appropriately
tics; radio ontology represented knowledge;
• learn from its experience so that it performs better
tomorrow than it did today;
I. INTRODUCTION • explain itself and be told what to do;
The notion of cognitive radio was first introduced by • be aware of its own capabilities and reflect on its
Mitola [1], [2]. His analysis started with a statement of own behavior;
need for radios to negotiate various aspects of communi- • respond robustly to surprise.
cation etiquette. Mitola’s conclusion was that a cognitive All of these definitions stress the fact that cognitive
radio must be self-aware (know its own structure, both radios must be able to express their knowledge of
hardware and software) and have a language in which to themselves and of the communication environment.
describe requests and replies to/from other radios and Thus, either directly or indirectly, they all call for the
network. He also described a language that could be used need of a language in which these concepts can be
to represent this kind of knowledge (models of radio and expressed. Thus in this paper we discuss not whether a
communication environment). language is needed to achieve the cognitive radio
functionality but what kind of language it needs to be.
At least two paths can be taken to specify requirements
for a language. In one approach one would specify some
Manuscript received November 11, 2008. Current version published April 15, 2009. The
work of M. Kokar was supported in part by the Defense Advanced Projects Research
general requirements for a language, and then such
Agency under programs XG, DTN, WANN and WNaN. requirements could be refined. The problem with this
The authors are with the Department of Electrical and Computer Engineering,
Northeastern University, Boston, MA 02115 USA (e-mail: [email protected];
approach is that for this to be possible, one would need to
[email protected]). have pretty good understanding of the expectation for such
Digital Object Identifier: 10.1109/JPROC.2009.2013028 a language. The concept of cognitive radio is still under
0018-9219/$25.00 2009 IEEE Vol. 97, No. 4, April 2009 | Proceedings of the IEEE 689
Authorized licensed use limited to: Northeastern University. Downloaded on July 26, 2009 at 11:49 from IEEE Xplore. Restrictions apply.
Kokar and Lechowicz: Language Issues for Cognitive Radio
development, and thus it is difficult to put forward to the control structure. The control structure is partially
requirements that would capture all the future needs. captured by the ordering of operations in the list. The rest
In this paper, we are taking a different approach. We of the control structure is embedded in the program in the
first start with an attempt to satisfy the needs with an form of control statements like if-then-else, do-while, and
existing languageVWeb Ontology Language (OWL)1Vand do-until. Thus an imperative program includes the
then identify areas that cannot be expressed in this information on both what needs to be done and how it
language. This leads us to consider a more expressive needs to be accomplished (in what sequence). An
language (a rule language) that covers some of the gaps that imperative program is said to provide an algorithm. The
cannot be covered in OWL. Following the same path of Bwhat[ information is explicit, although it is distributed
reasoning, we come to the conclusion that the target over all the statements of the program.
language for cognitive radio must include the ability to A declarative language, on the other hand, represents a
introduce new functions. And finally, we show that in somewhat different paradigm of programming. In this
addition to this, the language must be capable of specifying paradigm, the program expresses what should be accomplished
dynamics (behaviors) of radio components. rather then how. The Bhow[ is left to a generic inference
Computer languages can be classified into two engine. Thus a declarative program is a collection of facts
groupsVimperative (or procedural) and declarative. In (referred to as clauses) expressed in a declarative language and
Section II, we give a brief overview of the main differences a goal provided by the user. The generic inference engine then
between these two groups and then argue that the tries to find a solution to the goal (or satisfy the query). Logic
flexibility of the functionality of cognitive radio requires programming, whose example is Prolog, is a representative of
the inference power of a formal declarative language with the declarative programming paradigm.
formal, computer-processable semantics. Both imperative and declarative programs take some data
The rest of this paper is organized as follows. In on input and produce some output. One more difference
Section III, we discuss the role of ontologies in the between the two paradigms shows up in the way modifica-
functioning of cognitive radio and show how OWL can be tion to a program is achieved. In the procedural approach,
used for expressing some properties of such radios. Then in modification involves replacement of a program. Typically
Section IV, we show that structures cannot be expressed in this means that a system needs to be taken offline and the
OWL and that at least the power of a rule language is modified piece needs to be recompiled and linked with the
necessary to achieve such functionality. We continue our whole system, after which the system can be restarted. In
analysis in Section V, recognizing the need for the ability to the declarative paradigm, on the other hand, the only part
reason about functions. In Section VI, we discuss the that needs to be modified is the fact and rule base (clauses).
problem of expressing behavioral aspects of radio compo- A clause can be removed and another clause can be added
nents. In particular, we discuss the problem of specifying during the system operation. This is possible because the
dynamics, e.g., delays. In Section VII, we provide an over- generic algorithm (the inference engine) is not modified.
view of three efforts whose goal is to develop a standard The clauses can be treated (almost) as input data.
language for radio/network communications. In Section VIII, It is important to notice, however, that any modifica-
we conclude this paper with a discussion of the language tion, whether of an imperative program or of the clauses in
issues that have and have not been covered here. a declarative program, carries the risk of inserting errors
into the system; thus in either case, such modification
requires testing. In the procedural case, this is the new
II. PROCEDURAL VERS US DECLARATIVE (modified) program that needs to be tested. In the
Computer languages can be classified in many different declarative case, the clauses can be tested with an inference
ways. It would be difficult, if not impossible, to come up engine (not necessarily the same one), and thus the testing
with a complete and disjoint classification that would procedure can be performed offline before the modification
capture all of the existing languages. Thus in this paper, we of clauses in the running program. More discussion on the
list some of the properties of languages rather than attempt advantages of declarative languages can be found in [6].
to provide a classification. The basic distinction in the So now comes the fundamental questionVwhich kind
properties of computer languages is whether a language is of computer language is more appropriate for cognitive
imperative (also known as procedural) or declarative. radio? Unfortunately, there is no simple answer to this
Examples of imperative languages are C, C++, Java, and question. In an attempt to answer this question, let us look
Fortran. Examples of declarative languages include Prolog, at some of the aspects of the definition of cognitive radio.
SQL, OWL, and SWRL. A program written in an In particular, we can see that cognitive radio must have the
imperative language can be viewed as a list of statements following capabilities:
(operations) that manipulate the state of the program [5]. • be aware of its own state and the state of the
The operations then are executed in a sequence according environment;
• tell other radios and network of what it knows and
1
http://www.w3.org/2004/OWL/. what it wants;
• reflect, i.e., be able to draw conclusions from the sequence of statements have to be provided by the
facts that it is aware of; programmer. Thus, although in both paradigms some
• react to surprise, i.e., react to the circumstances it knowledge must exist in the program, the fact that a
has not seen before. declarative program can find an answer without explicit
When we match these requirements with the features control knowledge makes this paradigm more appropriate
of the two types of computer languages, the first reaction to the achievement of the goal of reacting to surprise.
seems to be that a declarative language should be able to Note, however, that adding new knowledge dynamically to
satisfy all of them. In particular, it is easier for a radio to a running program implies that the program must be able
express its own knowledge in a declarative language rather to (correctly) interpret the added knowledge by itself.
than in a procedural one since it can be accomplished by This, in turn, implies that the declarative language in
stating only the Bwhat[ without saying Bhow.[ For in- which the knowledge is expressed must have a computer
stance, a radio can tell another radio Bdo this and this.[ It processable semantics. In other words, there must be a
would be much more difficult to actually tell the other logic associated with the language. This leads us to formal
radio how to accomplish this. languages (i.e., languages with formal syntax) that also
In order to satisfy the Bawareness[ requirement, it is have formal semantics. Formal syntax means rules for
important to realize that awareness includes not only the deciding whether a given string is in the language or not
knowledge of particular facts but also the ability to [strings that are part of a language are also called well-
understand the implications of the facts to the operation of formed forms (wffs)] and for generating wffs out of other
the radio. For instance, just knowing that the current wffs. Formal semantics, on the other hand, refers to
operating frequency is within the 700 MHz band, without interpretations, i.e., mappings from the terms of the
also knowing whether it is currently assigned to analog TV language to a mathematical domain (a set of individuals)
or for public safety, cannot be considered as a case of full and from sentences to truth values.2 Together with a set of
awareness. On the other hand, if the radio 1) has a inference rules and an inference engine, this constitutes a
declarative knowledge base that relates various variables, formal system. In this paper, we discuss formal languages
like frequencies, bands, band allocations, error rates, and with formal semantics within the context of a formal
such and 2) has a generic inference engine that can infer system.
the implications of various operating states and environ- An inference engine can take a set of sentences in the
mental conditions (like the understanding of whether it language and apply the inference rules of the formal
can access the TV band), then this will satisfy the system to derive new sentences. A formal system is desired
awareness requirement to a much higher degree. to be sound, i.e., given a consistent set of true sentences, it
The self-awareness also may need to include the can derive only true sentences, i.e., the sentences that map
concept of reflection, which is addressed by most declar- to the truth value of Btrue[ by the interpretation function
ative languages and by some procedural languages too. It is (although researchers in the semantic Web community are
important to point out here that although a program keeps working on ways of handling inconsistencies and un-
values of its variables, it does not automatically follow that soundness, e.g., [7]). This feature is particularly important
the program knows its own variables. We could require when automatic inference is carried out by an inference
(and this is rather reasonable) that for a program to know engine, without a human in the loop. Without this
its own variables it should be able to answer such queries characteristic, the system would not have a basis for
likeVwhat are your variables? And then, what is the type deciding which of the inference results should be admitted
of that variable, and what is its value? and which had to be ignored. Another desirable (but hardly
The ability of reacting to surprise is perhaps the most achievable) feature of a formal system is the completeness
prominent feature of cognitive radio that points in the requirement, which refers to the ability to infer all possible
direction of the declarative paradigm. If all the required true sentences using the rules of inference.
information is available at design time, the programmer Lastly, one aspect of computer languages that is very
can encode this information into a program using an important is the engineering aspectVthe time and
imperative language, which would most likely provide a memory requirements for a given language. The flexibility
better performance than one obtained by using an of declarative languages comes with a priceVthe high time
inference engine. This approach will not be too effective complexity. The worst case time complexity of inference in
if (costly) modifications to the program are frequently most of the declarative languages discussed in this paper
required. falls in the complexity class termed undecidable [8]. The
In the declarative paradigm, whatever knowledge consequence of this fact is that inference algorithms are
(clauses) that is available in the knowledge base can be not complete and may return an Bunknown[ answer given
utilized for finding answers to unexpected goals (queries). the time and/or memory limits are exceeded.
This is achieved through the searching and matching
algorithm of the inference engine. In the procedural 2
Note that this is only one of many ways of defining a semantics for a
paradigm, on the other hand, not only the facts but also the language.
The component shown in Fig. 2 consists of four basic representing the C input, is connected to the input port
components: one adder, one phase shifter, and two Mul1_Pin1 (input port of Multiplier 1) and PhSh1_Pin
multipliers. These components are captured as subclasses (input port of Phase Shifter). The rest of the connections
of BasicComponent of the ontology. QuadratureModulator can be traced in the similar way. A similar scenario,
has three ports for external input and one output port. although in the context of Web services, has been shown
Moreover, although this is not shown in the figure, each of in [12].
the basic components has at least one input port and an The main purpose of this exercise was to show that
output port of its own. individuals of classes of complex components can be
In Fig. 5, we show a graphical representation of a represented in OWL. This means that a CR node can
partial description of an individual of the Quadrature- describe its internal structure, i.e., the composition of
Modulator class. The arrows annotated with Fio_ stand for complex components (modules) can be represented. This
Bindividual of,[ i.e., the assertions that a given individual kind of capability may be very useful for the operation of the
belongs to a given class. For the sake of readability of the CR. However, under some circumstances, a more advanced
description, only some of the ports and the connections capability is required. To make this point more concrete,
among them are shown. As can be seen in this figure, the consider the following interoperability scenario [13].
ports include six individuals of InputPort and three The synthesis of more advanced concepts from the
individuals of OutputPort. The input port InputPC, facts in the base ontology is the foundation of the
interoperability between cognitive radios. One of the uses might be a subclass of one of the classes in the upper
for this idea is achieving interoperability between CR ontology. Otherwise, Node A needs to explain to Node B
nodes at the specific protocol level. how to build such a component using the four basic
For example, one of the nodes (node A) might decide components. The straightforward way to do this is to send
that switching to a specific modulation scheme might the definition of class QuadratureModulator to Node B so
provide more optimized communication results in partic- that Node B can construct a structure that is an individual
ular circumstances. That node then sends a request to its of the class. In other words, Node B, after receiving the
peer (node B) to make a switch. If the peer Bknows[ the description of the QuadratureModulator class, would have
chosen modulation scheme, it might choose to comply to formally prove (using its own reasoner) that the
with the request or might decide to reject it. If it does not constructed structure (MyComponent) is an individual
Bknow[ the proposed modulation scheme, it might in (or type) of QuadratureModulator. Putting this in OWL
return send a query for an explanation of what exactly that terms, Node B would have to prove:
modulation scheme is. If the response to that query
contains concepts that are still not understood by the node, GModule rdf:ID=BMyComponent[>
it can continue querying for concepts all the way down to Grdf:type rdf:resource=B#QuadratureModulator[/>
those defined in the base ontology. While the scenario in G/Module>
which a node does not know a communication protocol
might be extreme, the assumption that a node knows Unfortunately, the expressive capabilities of OWL do not
everything would be at the other end of the spectrum. In allow for a representation of QuadratureModulator that
other words, assuming that communicating nodes, espe- would guarantee the correct decision. In other words, it is
cially CR nodes, know all the possible concepts about impossible to construct an OWL description that would
which they can exchange information would impose capture all components that are considered to be quadrature
extremely demanding (if achievable at all) requirements modulators and none of the components that are not
on the capabilities of cognitive radio. considered quadrature modulators. This is due to the fact
Continuing with our example, assume that Node A that OWL does not have a construct for expressing
requests Node B to use a QuadratureModulator but Node B composition of properties (relations). In this case, the
does not have such a module in its library. If the ontology is quadrature modulator has two multipliers. We can express in
built as an extension to an upper layer ontology (e.g., OWL the fact that a particular class (such as Quadrature-
SUMO,3 BFO,4 DOLCE,5 or GFO6) then Node B might be Modulator) is in a relationship with another class (such as
able to find at least some partial (more general) Multiplier) using a property (in our case, hasSubCompo-
information about the requested class since the class nent). Moreover, we can say that there are two individuals of
Multiplier in a quadrature modulator. We cannot, however,
distinguish the relationship with one of the multipliers from
3
http://www.ontologyportal.org/. the relationship with the other one, i.e., we can express in
4
http://www.ifomis.org/bfo.
5
http://www.loa-cnr.it/DOLCE.html. OWL the fact that the quadrature modulator is in the
6
http://www.onto-med.de/en/theories/gfo/index.html. relationship with InputPort, but it is impossible to
differentiate between the particular relationships for input formulas. Since variables are allowed in these formulas, we
ports I, Q, and C. The implication of this is that the definition can represent the composition of relations, e.g.,
of QuadratureModulator is not restrictive enough, i.e.,
various configurations will satisfy the definition for as long as
they have the necessary components. However, they will be uncleOfð?Z; ?YÞ : fatherOfð?X; ?YÞ; brotherð?X; ?ZÞ:
classified as individuals of this class even if they do not have
the correct connections. Returning to our example, by using rules (with
variables), the description of the QuadratureModulator
IV. RULES class can be made more precise. For instance, we could
reinforce the class definition by adding the predicate
The limitation of OWL described in the previous section hasQMConnections (F?_ as the first character in a name
can be resolved by extending the expressive power of OWL indicates that it is the name of a variable):
using other, more expressive languages and more powerful
reasoning mechanisms. The limitation of OWL described hasQMConnections(?QM) :-
above has been known in the semantic Web community as Module(?QM), hasSubComponent(?QM, ?M1),
the inability to define the Buncle[ relationship. In other type(?M1, Multiplier), hasInputPort(?M1, ?InPortM1),
words, it is impossible to express in OWL that an uncle is a hasInputPort(?QM, ?I), isConnected(?I, ?InPortM1), . . .,
person who is the brother of someone’s father. The main hasSubComponent(?QM, ?M2), not(?M1=?M2), . . .
issue here is that OWL does not have a way to capture the
Bwho is[ part of the above statement. In order to be able to This is not a complete rule. The intent here was to
do this, we would need the notion of variables that link two show how the following facts about a quadrature
different relations. In this example, we would need a modulator could be expressed using rules:
variable, say, ?X, which would represent the father, who 1) that a quadrature modulator has two different
would then have a child and a brother. This means OWL multipliers M1 and M2;
lacks the capability of expressing the composition of 2) that the input port I of the quadrature
relations. modulator is connected to the input port of
Other languages, e.g., Prolog [14]Vprobably the most M1 (but not to M2).
known declarative language (also classified as a logic The net result is that once the ontology is extended
programming language)Vallows logical statements that are with this kind of rule, the inference engine can verify that
Horn clauses. A Horn clause is a disjunction of literals in all the necessary connections are in place and thus that a
which at most one literal is positive. A definite Horn clause given structure is in fact a quadrature modulator. In our
has exactly one positive literal and thus is of the form experiments, we used BaseVISor [15], an engine that can
perform inference both with a subset of OWL axioms (so
:A1 _ :A2 _ . . . _ :An _ B: called BR-entailment[ [16]) and over rules. The need to
extend the expressivity of OWL by adding rules has also
been recognized in [17]–[19], where both OWL and rules
This can be rewritten in an equivalent form as an were used to express spectrum access policies. In these
implication (also often referred to as a rule) experiments, Jena7 was used as an inference engine for
reasoning over both the ontology and the rules.
A1 ^ A2 ^ . . . : ^ An ) B: A. Negation
While rules can make definitions of classes and
The symbols used in these two formulas represent properties more precise, there is yet another aspect that
negation ð:Þ, logical OR operation ð_Þ, logical AND needs to be understood in order to avoid errors. This is the
operation ð^Þ, and logical implication ð)Þ. In operational issue of various types of negation.
terms, this rule states that whenever A1 ; A2 ; . . . ; An hold, OWL is based on the open world assumption model in
so does B. Using Prolog notation, this formula can be which facts that have not been explicitly asserted to be true
represented as are not presumed to be false; they are simply unknown.
Negative facts, in this approach, have to be explicitly
proven. In other words, both the positive and the negative
B : A1 ; A2 ; . . . :; An : facts are treated in the same fashion (symmetrically). In
this approach, facts that have already been proven to be
true (or false) remain true (or false, respectively)
In this notation, the implication arrow is represented as
B:-[ while B,[ represents the logical AND. The literals can
7
be either propositional variables or first-order logic atomic http://jena.sourceforge.net/.
independently of new facts that might become part of an except those explicitly stated. For example, consider one of
existing base of facts. Only the facts whose truth values the input ports (port I) on the quadrature modulator
were unknown can be modified to either true or false. Due shown in Fig. 2. The description of the QuadratureModu-
to this incremental nature of inference, the reasoning in lator component must express the fact that an individual of
this kind of systems is called monotonic. Negation in this InputPort is connected to exactly one multiplier. We can
approach is referred to as logical negation. capture this by two rules that define the isExclusive-
Some of the rule languages, on the other hand, take a InputPortOf(?P,?C) and isNonExclusiveInputPortOf(?P,?C)
different approach called the closed world assumption (CWA). predicates
In this approach, if a fact cannot be proven to be true, it is
taken to be false. In case new facts arrive, the inference
isExclusiveInputPortOf(?P,?C) : inputPortOf(?P,?C);
system must modify its conclusions, i.e., modify the truth
values of some of the facts. Reasoning in this kind of systems not(isNonExclusiveInputPortOf(?P,?C)).
is called nonmonotonic. Perhaps the most known example of
this kind of reasoning is seen in databases, where if a fact is isNonExclusiveInputPortOf(?P,?C) :
not in the database, it is assumed to be false. For example, if a
inputPortOf(?P,?C); inputPortOf(?P,?D); not(?C ¼ ?D):
flight is not listed in an airline’s database, it is inferred that it
does not exist. This is consistent with the nameVthe world
is assumed to be closed, i.e., all that is relevant about it is in The predicate isNonExclusiveInputPortOf is asserted
the database. Negation in this approach is referred to as when a given input port is in the inputPortOf relationship
negation as failure (NAF). with more than one individual. The complementary
Both kinds of negationVNAF and logicalVare useful predicate isExclusiveInputPortOf can evaluate to true if
in modeling real-life problems [20]. If we admit only one isNonExclusiveInputPortOf is false. In the open world
type of negation in a formal language, we can have model, we could not make such a deduction because failure
difficulty modeling various situations and reasoning about to prove something does not imply the opposite. In the open
them using automatic inference engines. For instance, if world, the failure to prove this might be the consequence of
we accept only logical negation, we will not be able to infer the lack of complete knowledge about the connections
many of the negative facts that, by default, are known to within this particular component. Thus, in this example, we
hold. For instance, if a CR has policies that tell it under had to assume the closed world model. Consequently, the
what circumstances it can transmit, it will not be able to Bnot[ predicate in the body of the rule is a case of NAF. If
infer that it cannot transmit in case any of these more information about this port becomes available at a later
circumstances do not hold. But, on the other hand, if we time, the derived fact (that the port is an exclusive port) may
accept the CWA, then all the facts that are not currently in be negated, leading to an inconsistency (both the fact that
the database of the CR’s facts will be inferred to be false. the port is exclusive and is not exclusive in the same
For instance, under CWA, the CR will infer that the node it knowledge base). The reasoner must ensure that such a
is communicating with does not have a quadrature situation does not take place. One way to avoid this is to
modulator component (unless it has an explicit statement monitor for such nonmonotonic changes and remove the
in its knowledge base that it doesVand it is rather unlikely facts that have been derived through the use of NAF.
that a node would have complete knowledge about all the It is also worth noting that OWL provides the capability
nodes it communicates with). to state that a given class is Bclosed,[ i.e., that a class includes
So what is a way out of this impasse? Since both logical only a given collection of individuals. This is termed as the
negation and NAF are needed and since the combination Bclosed domain reasoning[ [21], which is not the same as the
of OWL and rules are necessary to provide more expressive closed world reasoning. In the closed domain reasoning we
power for modeling real-life problems, there is a need for a make assumptions about the domain and in the closed world
language that combines the features of both OWL and reasoning we make assumptions about our knowledge about
rules with a semantics that provides the meaning to both the domain. In the above example, we assumed that we knew
types of negation. Such a necessity has been recognized by everything about the connections within that component,
the semantic Web community, and research efforts are i.e., we were making an assumption about the complete-
under way to achieve such a goal (see [21]). In the ness of our knowledge about the domain.
meantime, the burden of avoiding logical inconsistencies
while modeling real-life problems is put on the developers
of ontologies, rules, and inference engines. V. FUNCTIONS
An example of this problem in the CR domain is the Augmenting OWL with a rule language enables cognitive
description of structure of radio components. A complete radio nodes to exchange information, for instance, about
knowledge of a component must include both what the structure of their components (class descriptions). In
subcomponents it has and how they are connected with general, nodes can exchange information about concepts
each other, as well as that there are no other connections that are not explicitly defined in an ontology but can be
The following code presents an example of two simple morphism BinRel -> PreOrder {},
specifications. e2: n1->n3 +->
m_BinRel_Antisymmetry
BinRel = spec }
type E
op le: EE -> Boolean This diagram has three nodes ðn1; n2; n3Þ representing
endspec three specs (BinRel, PreOrder, and Antisymmetry, respec-
tively) and two edges e1 and e2. Note that since PreOrder
PreOrder = spec imports BinRel (in other words, BinRel is a part of
import BinRel PreOrder), the morphism from BinRel to PreOrder is a
trivial one.
axiom reflexivity is Specware can produce the colimit of the specifications
fa(x) x le x on the diagram. For example, PartialOrder can be defined
as a colimit of BinRelDiag.
axiom transitivity is
fa(x,y,z) PartialOrder = colimit BinRelDiag
(x le y) && (y le z) = > (x le z)
endspec An inspection of the resulting specification is shown
below. As we can see, the PartialOreder spec Bproduced[ by
BinRel is an abstract specification defining an abstract the colimit operation includes all of the axioms of the specs
type E and a binary operation le. used in this composition.
Those two elements are specified but not defined.
PreOrder is a refinement of the first specification and it spec PartialOrder
adds two axioms that constrain the functionality of the type {X, E}
op le. Specification morphisms map one specification into op {binOp, le}: X X -> Boolean
another in such a way that all theorems from the source import translate (BinRel) by
specification are preserved in the target. {type E +-> {X, E, E}, op le +-> le}
axiom reflexivity is fa(x:E) x le x = true
Antisymmetry = spec axiom transitivity is fa(x:E, y:E, z:E)
type X x le y && y le z = > x le z
op binOp: XX -> Boolean axiom antisymmetry is fa(x:X, y:X) binOp(x, y) &&
axiom antisymmetry is fa(x,y) binOp(y, x) = > x = y
binOp(x,y) && binOp(y,x) = > x = y endspec
endspec
One of the shortcomings of the structure-based
m_BinRel_Antisymmetry = interoperability scenarioVthe difficulty of separating the
morphism BinRel-> Antisymmetry functionality from the underlying data typeVcan easily be
{E +-> X, le +-> binOp} solved in Specware through the use of specification
refinements. For example, a Multiply-Add unit processing
In the above example, the morphism m_BinRel_Anti- real samples represented by single precision floating-point
symmetry maps BinRel into Antisymmetry. It maps type E numbers will be composed quite differently than a unit
of BinRel into type X of Antisymmetry and the op le into processing pairs of integers representing complex samples.
binOp. There is, however, some commonality between those two
A directed graph formed from specifications (nodes) functional units that could and should be captured at some
and morphisms (edges) is called a specification diagram. abstract functionality level. There are two benefits related
The three example specifications create the following to thatVfirst, the common functionality is represented
diagram. only once, so we avoid the inefficiency related to
representing and maintaining the same functionality
BinRelDiag = diagram { twice. The second, even bigger benefit is that Specware
n1 +-> is aware of the fact that those two different modules at
BinRel, some abstract level are the same and that this knowledge
n2 +-> can be used in refinements and proofs of theorems.
PreOrder, In the example shown below, an abstract specification
n3 +-> Samples is refined into two concrete specifications
Antisymmetry, IntSamples and CplxIntSamples (for real and complex
e1: n1->n2 +-> samples, respectively). Any software module using Samples
can easily be refined into a module using real samples or complex-valued samples. It also expands the Samples spec
complex samples. First we show the specification Samples. by the operation conj standing for Bcomplex conjugate,[
It first introduces the type Sample and NonZeroSample,
including the constants zero and one. Then it shows the CplxIntSamples = spec
signatures of the operations add, multiply, and minus. import Samples
Lastly, it presents some of the axioms that define these type Sample = {re:Integer, im:Integer}
three operations. def Sample.zero = {re ¼ 0, im ¼ 0}
def Sample.one = {re ¼ 1, im ¼ 0}
Samples = spec def Sample.multiply(x,y) =
type Sample {re ¼ ðx:re y:re x:im y:imÞ
type NonZeroSample = (Sample j nonzero?) im ¼ ðx:re y:im þ x:im y:reÞ}
def Sample.add(x,y) =
op Sample.zero: Sample {re ¼ ðx:re þ y:reÞ, im ¼ ðx:im þ y:imÞ}
op Sample.one: Sample def Sample.minus(x) =
{re ¼ x:re, im ¼ x:im}
op Sample.nonzero?: Sample->Boolean
def Sample.nonzero?(x) = x ¼ Sample:zero op Sample.conj: Sample -> Sample
def Sample.conj(x) =
op Sample.multiply: SampleSample->Sample {re ¼ x:re, im ¼ x:im}
op Sample.add: SampleSample->Sample endspec
op Sample.minus: Sample->Sample
In the code fragment below Adder_Int and Adder_
axiom Sample_mul_ax is CplxInt are refinements of Adder with concrete data
fa(a:Sample, b:Sample) types IntSamples and CplxIntSamples, respectively. Those
Sample.multiply(a,b) = specs are the result of specification substitution oper-
Sample.multiply(b,a) ation (square brackets), which is a simplified form of
axiom Sample.add_ax is colimit.
fa(a:Sample, b:Sample)
Sample.add(a,b) = Sample.add(b,a) MorphInt =
axiom Sample.mul_add_ax is morphism Samples -> IntSamples { }
fa(a:Sample, b:Sample, c:Sample)
Sample.multiply(a, Sample.add(b,c)) = MorphCplxInt =
Sample.add(Sample.multiply(a,b), morphism Samples -> CplxIntSamples { }
Sample.multiply(a,c))
endspec Adder = spec
import SampleSpec#Samples
Below, we show the specification of samples that take op Adder.Func: SampleSample -> Sample
integer values. It imports the Samples spec and then def Adder.Func(x,y) = Sample.add(x,y)
defines the constants zero and one as integer values of 0 endspec
and 1, respectively. Moreover, it identifies the operations
of add, multiply, and minus with their counterparts in the Adder_Int = Adder[MorphInt]
Integer type. Adder_CplxInt = Adder[MorphCplxInt]
QuadratureMod = spec order logic cannot be reduced to first order, the practical
import CplxIntSamples implications of this fact on the use of CL in cognitive radio
op QuadratureMod.Func: could be posed as an experimental question. In this paper,
SampleSampleSample -> Sample we do not delve into this issue but instead use a higher
def QuadratureMod.Func(I,Q,C) = order language. The most important reason for this
Sample.add(Sample.multiply(I, C), selection is Metaslang’s ability to represent in a very
Sample.multiply(Sample.conj(C),Q)) compact and elegant way the composition of logical
endspec theories (specs), as was shown in this section.
MAC = spec
import CplxIntSamples VI . BEHAVI ORAL ASPECTS
import Adder_CplxInt Metaslang is a functional language and, like other
import Multiplier_CplxInt functional languages (e.g., Haskell), does not easily
support the so-called side effects. In the functional
op MAC.Func: SampleSampleSample -> Sample programming paradigm, the result of application of a
def MAC.Func(m1,m2,a) = function always depends only on the input parameters. It
Adder.Func(Multiplier.Func(m1,m2),a) cannot depend on the previous results of that or any other
endspec function(s). This is a serious limitation in case it is to be
used to model behavioral aspects of systems, where the
Quad2 = spec results of computation depend on the state of the system,
import CplxIntSamples like in dynamical systems [34]. This limitation long has
import Adder_CplxInt been recognized and, as a result the concept of monads
import Multiplier_CplxInt [35], has been used to address this problem. The main idea
import PhShifter90Deg here is to use the monad concept to capture and pass some
import MAC state information of a computation among functions. Even
import QuadratureMod though monads can be useful for dealing with a limited set
of states within a context of a functional program, their use
op Quad2.Func: SampleSampleSample -> Sample to simulate memory elements and/or globally scoped
def Quad2.Func(I,Q,C) = variables, as is required in the context of software defined
MAC.Func(I, C, Multiplier.Func( radio, introduces additional overhead that normally does
PhShifter90Deg.Func(C), Q)) not exist in imperative languages.
Functional languages also do not provide any obvious
conjecture Quad2_conj is way to express and reason about time-dependent informa-
fa(I:Sample, Q:Sample, C:Sample) tion. In logical terms, this refers to relating the truth of
Quad2.Func(I,Q,C) = formulas at distinct time points. The simplest example of
QuadratureMod.Func(I,Q,C) this kind of a need in the domain of cognitive radio is the
endspec need to reason about delays introduced by the various
processing components. For instance, in the discrete time
Quad2_p0 = prove Quad2_conj in Quad2 options domain, we can say that a unit delay means that if the value
B(use-resolution t) (use-paramodulation t)[ of a signal for the time index t is sðtÞ ¼ a, the value of
another signal s0 related to s by the delay operation, for the
The main point of the above discussion was to show an (next) time index t þ 1, will be exactly a, i.e., s0 ðt þ 1Þ ¼ a.
example of the capability of reasoning about functions. We can say that delay means if the sentence sðtÞ ¼ a is
While we chose to use Meataslang, this goal could be true, then the sentence s0 ðt þ 1Þ ¼ a is also true. Note that
achieved in a number of different declarative languages. the intent here is to say that such a relationship between
One of the possible candidates is Common Logic (CL), two time-dependent sentences should hold for all time
which recently has become a standard of ISO/IEC [31]. instants t 2 T. Thus we want to express such facts without
According to [31], CL is a first-order language that explicitly referring to the time index.
Bpermits Fhigher order_ constructions such as quantifica- Other examples of descriptions involving temporal
tion over classes or relations while preserving a first-order information are: signal should be held at a given level until
model theory, and a semantics which allows theories to some event happens; signal should have a given value after
describe intensional things such as classes or properties.[ an event happens; a given combination of values should
Thus CL is not a higher order language like Metaslang is, never happen; a given event should happen before or after
since its de facto expressivity is limited to first order; it is another event; a given relationship should always be
referred to sometimes as a Breified first-order logic[ [32], satisfied (here Balways[ refers to time); the signal should
[33]. While it is a known fact in mathematics that second- have a given value within a given interval of time.
Note that by chaining the various predicates indicated The automatic inference task would involve reasoning about
above (marked by italics), the descriptions of temporal composition specific to the communications domain.
relations can be arbitrarily complex. For instance, we can To exemplify this kind of domain-specific reasoning, in
state that the signal never drops to 0 before it stays at 1 this paper we focus only on one aspect of temporal
within a given time interval. We might also need to com- reasoning: the one that is captured by the X operator of
bine such sentences using the logical connectives, like logi- LTL. However, instead of implementing a temporal logic,
cal OR, logical AND, negation, implication, or equivalence. we follow the approach that is typical in engineering.
Moreover, the special predicates listed above may be Towards this aim, we formalize the concept of unit delay
logically related, e.g., a sentence involving some combina- and then prove properties of systems composed of
tion of the predicates may be logically equivalent to another components that include delays. In particular, unit delay
sentence involving another combination. For instance, the allows us to model the temporal behavior of a system in
sentence Bthe signal will eventually drop to zero[ is terms of clock intervals, which removes explicit time
equivalent to the sentence Bnot always the signal will be values from the system description.
one.[ This suggests that one can define a logic that involves In the example specs below, we first define the
a collection of special (temporal) predicates. For this, a function UnitDelay.Func whose domain and range is the
formal language should be defined and formal semantics type Sample. Then we state two commutativity axioms
should be established. The semantics would have to for this operation for functions of one and two arguments,
incorporate a specific model of time. Then inference can respectively. It means that the composition of a function f
be carried out within such logic by the means of automatic with the unit delay is equal to the unit delay composed with
inference engines, like in any similar formal system. f . Note that in this spec, we quantify over all functions with
The logics that deal with time-dependent inference are domain Sample and range SampleVthe feature that re-
called temporal logics. The most popular logic in this group quires that functions be covered by the language (as
is called linear temporal logic (LTL) [36]. As the name discussed in Section V). This specification of unit delay is
indicates, the structure of time in this logic is assumed to not complete; it captures only the properties of this concept
be linear (a linearly ordered set). LTL uses discrete time, that are necessary to prove the conjectures shown later.
i.e., it assumes that events in the system can happen only at
the discrete moments in time. LTL is particularly useful for UnitDelaySpec = spec
modeling behaviors of clock-driven systems, i.e., systems import Samples
in which progression of events is controlled by a clock
signal (either explicitlyVas in case of hardwareVor op UnitDelay.Func: Sample -> Sample
implicitlyVas in case of a computer program running on
a processor clocked with certain frequency). Thus LTL may axiom UnitDelay_commutativity is
be useful for the domain of cognitive radio. fa(f:(Sample->Sample), x:Sample)
The predicates in this logic include X’ (’ must hold at UnitDelay.Func(f(x)) =
the neXt time instant); G’ (’ must hold on the entire f(UnitDelay.Func(x))
subsequent time); F’ (’ will hold eventually, in the
future); U’ (’ holds at the current or a future position axiom UnitDelay_commutativity2 is
and has to hold until that position; at that position does fa(f:(SampleSample->Sample),
not have to hold any more); R’ (’ is true until the first x:Sample, y:Sample)
position in which is true, or forever if such a position UnitDelay.Func(f(x,y)) =
does not exist, i.e., releases ’). Only three of these f(UnitDelay.Func(x),
predicates are necessary. The rest can be expressed in UnitDelay.Func(y))
terms of the other three. endspec
LTL has found applications in the area of verification of
distributed and reactive systems [37], where properties of In Section V, we specified the Bideal[ Adder and
systems such as reachability, safety, and deadlock are proven Multiplier components, i.e., components without any
in a formal way. Two approaches used in this process are delay. Now we specify delays introduced by these two
deduction (theorem proving) and model checking. Since components. As we can see in the specs below, we state
deductive inference for this domain is undecidable, model that they introduce a one-step delay.
checking is used more often to verify that a property holds in
a given model [38]. But some use a combination of the two AdderDelay = spec
approaches; see, e.g., [39]. In this paper, we are not import UnitDelaySpec
discussing the verification scenario but instead assume that
verification would be done offline and only the resulting op Adder.Func: SampleSample -> Sample
properties (in terms of an underlying, shared ontology) def Adder.Func(x,y) =
would be communicated among the participating radios. UnitDelay.Func(Sample.add(x, y))
exchange information among various stakeholders, such as granularity enabling structure-based composition similar
network operators, enterprise networks, system and to what was demonstrated in our experiments with OWL
component vendors, software vendors, regulatory agen- and BaseVISor rules described in Section IV. FDL’s
cies, and end users, and to provide means for the end-to- capabilities go beyond simple composition, as it incorpo-
end reconfigurability. The paper states: rates some time constraints such as time baseline (clock),
latency, time deadlines (max delay), bandwidth, etc.
In an end-to-end reconfigurable system, there are However FDL (as it stands now) is not a formal system.
various tasks that require interactions with different FDL is defined in terms of XML, where the domain-
components in the network, and that require such specific XML tags need to be interpreted by the
components to communicate with each other. Exam- programmers. Since FDL does not have a formal seman-
ple tasks relate to network configuration, device re- tics, it cannot be used by an inference engine for automatic
configuration (involving download of applications/ derivation of facts about FDL descriptions.
firmware), and network operation (provisioning new The SDRF has a working group (MLM Working
services, upgrades, roll out of new AIS’s, etc.). De- Group) whose charge is to develop the MLM [43]. The
pending on the nature of the specific task, network group has developed a number of use cases that explicate
elements need to be queried, controlled, modified and justify the need for a formal language in which various
and managed, at varying levels of detail. aspects of the life cycle of communication nodes, in-
cluding mobile, could be described and shared among the
To achieve such interoperability goals, a standardized nodes and the stakeholders. The next step after the use
language that allows for exchange of information is cases will be the development of ontologies relevant to the
needed. Two nodes can efficiently exchange information communication domain. The developed ontologies will be
if they have a common language. captured in various formalisms. The classes and the pro-
The need for a standard declarative language for the perties will be formalized in OWL, and rules will supple-
domain of CR has been recognized by a number of ment the OWL descriptions. Other formalisms, including
organizations. Below we mention three organizations and other formal languages and mathematics, will also be
their efforts: Functional Description Language (FDL) from considered.
the End-To-End-Reconfigurability ðE2 RÞ organization, The SDRF approach to the development of its language
Modeling Language for Mobility (MLM) from the is somewhat different from the E2 R effort in the sense
Software Defined Radio Forum (SDRF), and Policy that from the very beginning, the stress is on expressing
Language and Policy Architectures for Managing Cognitive everything in a formal declarative language with formal
Radio for Dynamic Spectrum Access Applications from semantics so that automatic inference can be carried out
SCC 41 1900.5, an IEEE standards organization. by inference engines.
FDL [42] is envisioned to be the language software The third effort that is directly relevant to the CR
defined radios would use to communicate functional domain is the effort by SCC 41 to develop a standard for a
description data among themselves. FDL is based on collection of languages for the dynamic spectrum access
XML and defines the functionality of the system as a domain. At the time of this writing, SSC 41 has created the
collection of processes linked together by communication IEEE 1900.5 Study Group on Policy Language for
channels. The descriptions in that language are platform- Managing Cognitive Radio and Dynamic Spectrum Access
independent and are interpreted by the Configuration Applications. The charge of this group is to define a family
Control Module (CCM) in terms of specific software and/ of interrelated languages that would serve the needs of the
or hardware solutions available locally. It is envisioned domain described above.
that when a CCM encounters a description that is not While it is not possible to predict, with a high degree of
locally available, the node would be able to access a confidence, whether these three efforts will converge and
centralized database and download the missing software will produce a unified language and a unified set of
module. ontologies for the CR domain, it is encouraging that the
FDL enables SDR software modules to be defined as three organizations behind these efforts have working
hierarchical flow of signals between processes communi- relationships and have already started interacting with the
cating via one-to-one and one-to-many channels. The top intent of unification and the integration of both the
level of the functional description is the algorithm element, ontologies and the languages.
which might include one or more processes. It also defines
how those processes communicate by defining sets of input
and output ports per process and then linking them to the VIII. CONCLUSION
channels. FDL supports hierarchy so processes can contain The main motivation for this paper was to identify various
subprocesses and subprocess ports can communicate with formal, declarative languages and their expressivity fea-
ports of the higher level. That provides the potential for tures that may be relevant and useful to the implemen-
describing the functionality at an arbitrary level of tation of the concept of cognitive radio. A running
example was selected, and then various features were dis- Consequently, we were not able to cover all of them, and
cussed in a progressive manner. The languages discussed it is not even possible to provide a complete list of the
in this paper and their expressivity features are summa- issues that have not been covered. Here we mention only
rized in Table 1. some of them.
First, we discussed the useful role ontologies expressed 1) OWL can express only binary predicates (proper-
in a formal language can play in cognitive radio. Then we ties). However, in practice, we need to use n-ary
showed that some of the aspects that may be needed for predicates, too. We did not discuss how to deal
cognitive radio are missing in OWL, and that a more with these.
expressive language would be needed to fill the need. In 2) Although we discussed the distinction between
particular, we showed that rules complement OWL and closed-world reasoning and open-world reason-
allow us to describe architectures of types of components. ing, we have not discussed the distinction
This was followed by the discussion of negation, a logical between closed-world querying of open-world
concept that seems to be very simple in principle but is knowledge bases versus closed-world reasoning.
very difficult to implement within one language that 3) We have not discussed the issue of expressing
includes both OWL and rules. The main issue is that the integrity constrains. This relates to the distinction
negation in OWL is the logical negation, while in rules it is between constraints on the modeled world (e.g.,
negation as failure. Since this problem has not been solved as expressed in OWL) versus constraints on the
as yet, the best we could do in this paper is to provide the knowledge base.
background information and then indicate some directions 4) We only barely touched upon the issue of
of possible partial solutions. The next step was to show that nonmonotonic reasoning.
reasoning about the functionality of various components 5) We have not discussed query languages.
requires functions to be first-class objects in the formal 6) We have not discussed in any detail a very
language. We showed an example of proof that structurally important aspectVthe computational complexity
different components can be functionally equivalent. We of inference within particular languages. In
discussed the problems of representing and reasoning particular, we have not discussed the issue of
about behavioral aspects of components. The issue is that running an inference engine on limited comput-
most formal languages are functional, i.e., each func- ing resources of a CR.
tion’s value depends only on the inputs, while represen- In the last section of this paper, we provided references
tation of behavior requires memoryVresults of previous to three ongoing efforts to the standardization of languages
computationsVand dealing with temporal aspects. Dyna- relevant to the cognitive radio domain. We believe these
mical systems are one class of behavioral systems. We efforts will address the problems we identified in this
provided a brief overview of the use of linear temporal paper and identify solutions to some of them. h
logic to represent behaviors. Then we focused on one as-
pect of temporal behaviorVthe delay. We showed that
automatic inference about behavioral aspects can be Acknowledgment
carried out using inference engines. Interactions with P. Marshall, D. Hillman and
The range of issues related to the use of formal G. Denker have provided valuable input to this work.
languages for cognitive radio is probably unbounded. Moreover, collaboration with the Software Defined Radio
Forum, especially with M. Cummings and B. Fette, their deep gratitude to the anonymous reviewers who have
provided valuable information on the understanding of provided many very insightful comments that have
the applicability of formal declarative languages in the improved the completeness, consistency, and readability
cognitive radio domain. The authors would like to express of the presentation.
REFERENCES complexity,[ in Proc. 4th Int. Semantic Web [29] T. Nipkow, L. C. Paulson, and M. Wenzel,
Conf. (ISWC 2005), 2005, vol. 3729, Isabelle/HOL: A Proof Assistant for Higher-Order
[1] J. Mitola, III, BCognitive radio: An integrated pp. 668–684. Logic. New York: Springer, 2002, vol. 2283.
agent architecture for software defined radi,[
Ph.D. dissertation, Royal Institute of [17] J. D. Poston, W. D. Horne, M. G. Taylor, and [30] D. Pavlovic and D. R. Smith, BSoftware
Technology (KTH), Stockholm, Sweden, F. Z. Zhu, BOntology-based reasoning for development by refinement,[ in Proc. 10th
2000. context-aware radios: Insights and findings Anniv. Colloq. Formal Methods Crossroads: From
from prototype development,[ in Proc. 1st Panacea to Foundational Support (UNU/IIST),
[2] J. Mitola, III and G. Q. Maguire, Jr., IEEE Int. Symp. New Frontiers Dyn. Spectrum 2003.
BCognitive radio: Making software radios Access Netw. (DySPAN), 2005, pp. 634–637.
more personal,[ IEEE Wireless Commun., [31] Information TechnologyVCommon Logic
vol. 6, pp. 13–18, Aug. 1999. [18] A. Ginsberg, J. D. Poston, and W. D. Horne, (CL): A Framework for a Family of
BExperiments in cognitive radio and dynamic Logic-Based Languages, ISO/IEC Standard
[3] Software Defined Radio Forum, BCognitive spectrum access using an ontology-rule hybrid 24707, 2007.
radio definitions,[ Working Doc. architecture,[ in Proc. 2nd Int. Conf. Rules Rule
SDRF-06-R-0011-V1.0.0, Nov. 8, 2007. [32] C. Bock, M. Gruninger, D. Libes, J. Lubell,
Markup Lang. Semantic Web (RuleML), and E. Subrahmanian, BEvaluating reasoning
[4] M. M. Kokar, D. Brady, and K. Baclawski, Athens, GA, 2006. [Online]. Available: http:// systems,[ National Inst. of Standards and
BChapter 13: Roles of ontologies in cognitive 2006.ruleml.org/group3.html#3. Technology, Tech. Rep. NISTIR 7310, 2006.
radios,[ in Cognitive Radio Technology, [19] A. Ginsberg, W. Horne, and J. Poston,
B. Fette, Ed. Oxford, U.K.: Newnes, 2006, [33] P. Hayes and C. Menzel, BSimple common
BCommunity-based cognitive radio logic,[ in Proc. Workshop Rule Lang. Interop.
pp. 401–433. architecture: Policy-compliant innovation via (W3C), Washington, D.C., 2005. [Online].
[5] T. W. Pratt and M. V. Zelkowitz, Programming the semantic web,[ in Proc. 2nd IEEE Int. Available: http://www.w3.org/2004/12/rules-
Languages: Design and Implementation, 3rd ed. Symp. New Frontiers Dyn. Spectrum Access ws/paper/103/.
Englewood Cliffs, NJ: Prentice-Hall, 1996. Netw. (DySPAN), 2007.
[34] L. Padulo and M. A. Arbib, System Theory:
[6] J. W. Lloyd, BPractical advantages of [20] M. Kifer, Negation in knowledge representation, A Unified State-Space Approach to Continuous
declarative programming,[ in Proc. 1994 Joint unpublished notes, Jun. 9, 2007 and Discrete Systems. Philadelphia, PA:
Conf. Declarative Program (GULP-PRODE’94), [21] B. Motik, I. Horrocks, R. Rosati, and Saunders, 1974.
Peñiscola, Spain, 1994. U. Sattler, BCan OWL and logic programming [35] P. Wadler, BComprehending monads,’’
[7] P. Haase, F. van Harmelen, Z. Huang, live together happily ever after?[ in Proc. 5th in Proc. 1990 ACM Conf. LISP Funct. Program.,
H. Stuckenschmidt, and Y. Sure, BA Int. Semantic Web Conf., 2006, vol. 4273, Nice, 1990.
framework for handling inconsistency pp. 501–514.
in changing ontologies,[ in Proc. 4th [36] Z. Manna and A. Pnueli, The Temporal Logic
[22] L. Lechowicz and M. M. Kokar, of Reactive and Concurrent Systems:
Int. Semantic Web Conf., 2005. [Online]. BComposition, equivalence and
Available: http://www.cs.vu.nl/~frankh/ Specification. Berlin, Germany:
interoperability: An example,[ in Proc. Springer-Verlag, 1991.
abstracts/ISWC05.html. Software Defined Radio Tech. Conf. (SDR’07),
[8] H. Enderton, A Mathematical Introduction to [37] Z. Manna and A. Pnueli, Temporal Verification
2007.
Logic, 2nd ed. Boston, MA: Academic, 2001. of Reactive Systems: Safety. Berlin, Germany:
[23] S. Shapiro, Foundations Without Springer-Verlag, 1995.
[9] R. Corazzon. (2008). Ontology: A resource Foundationalism: A Case for Second-Order
guide for philosophers. [Online]. Available: [38] G. J. Holzmann, The Spin Model Checker:
Logic. Oxford, U.K.: Oxford Univ. Press,
http://www.formalontology.it/. Primer and Reference Manual. Reading, MA:
2000.
Addison-Wesley, 2004.
[10] T. Gruber, What is an ontology? [Online]. [24] C. E. Brown, Automated Reasoning in
Available: http://www-ksl.stanford.edu/kst/ [39] N. S. Bjørner, A. Browne, M. A. Colón,
Higher-Order Logic: Set Comprehension and
what-is-an-ontology.html. B. Finkbeiner, Z. Manna, H. B. Sipma, and
Extensionality in Church’s Type Theory.
T. E. Uribe, BVerifying temporal properties of
[11] J. G. Proakis, Digital Communications, 3rd ed. Oxford, U.K.: College Publications, 2007.
reactive systems: A STeP tutorial,[ Formal
New York: McGraw-Hill, 1995. [25] T. F. Melham, Higher-Order Logic and Methods Syst. Design, vol. 16, no. 3,
[12] D. Preuveneers and Y. Berbers, BAutomated Hardware Verification. Cambridge, U.K.: pp. 227–270, 2000.
context-driven composition of pervasive Cambridge Univ. Press, 1993.
[40] J. McDonald and D. R. Smith, Accord
services to alleviate non-functional concerns,[ [26] J. McDonald and J. Anton, Language Manual Version 4.2. Palo Alto, CA:
Int. J. Comput. Inf. Sci., vol. 3, no. 2, ‘‘SPECWAREVProducing software correct by Kestrel Institute, 2007.
pp. 19–28, Aug. 2005. construction,’’ Kestrel Inst., Tech. Rep. KES.
[41] M. Cummings and P. A. Subrahmanyam,
[13] L. Lechowicz and M. Kokar, BAchieving U.01.3., Mar. 2001.
BPerspectives of a metalanguage for
dynamic interoperability of communication: [27] D. R. Smith, BComposition by colimit and configurable wireless systems,[ in Proc.
Transfer of ontology and rules between formal software development,[ in Algebra, Software Defined Radio Tech. Conf. (SDR’04),
nodes,[ in Proc. Software Defined Radio Tech. Meaning, and Computation: A Festschrift in 2004.
Conf. (SDR’06), 2006. Honor of Prof. Joseph Goguen,
[42] C. Dolwin, R. Burgess, and B. Steinke,
[14] A. Colmerauer and P. Roussel, BThe birth of K. Futatsugi, J.-P. Jouannaud, and
BPower efficient and real-time configuration
prolog,[ in Proc. 2nd ACM Conf. History J. Meseguer, Eds. Berlin, Germany:
of resources in an end-to-end reconfigurable
Program. Lang. (SIGPLAN), 1992, pp. 37–52. Springer-Verlag, 2006, vol. 4060,
system,[ in Proc. Software Defined Radio
[15] C. Matheus, K. Baclawski, and M. M. Kokar, pp. 317–332.
Technical Conf. (SDR’05), Anaheim, CA,
BBaseVISor: A triples-based inference engine [28] M. E. Stickel, R. J. Waldinger, M. Lowry, 2005.
outfitted to process RuleML and R-entailment T. Pressburger, and I. Underwood,
[43] B. Fette, M. M. Kokar, and M. Cummings,
rules,[ in Proc. 2nd Int. Conf. Rules Rule Lang. BDeductive composition of astronomical
BNext-generation design issues in
Semantic Web, Athens, GA, Nov. 2006. software from subroutine libraries,[ in Proc.
communications,[ Portable Design Mag.,
[16] H. ter Horst, BCombining RDF and part of 12th Int. Conf. Autom. Deduct. (CADE-12),
no. 3, pp. 20–24, 2008.
OWL with rules: Semantics, decidability, Nancy, France, Jun. 1994, pp. 341–355.