NoTA Frequently Asked Questions

This document contains a number of Frequently Asked (or
Anticipated) general questions. For technical questions, please refer to
technical FAQ. While we hope this covers most common general questions, of
course there might still be things missing - please let us know. Before you
ask on e.g. the mailing list, please consult the FAQ first to see if your
question has been answered already - thanks.

1 General
1.1 What is NoTA?
1.2 Why would I want to use NoTA?
1.3 What does the NoTA architecture look like?
1.4 What platforms does NoTA run on?
1.5 How is the NoTA software licensed?
1.6 How is NoTA different from X? How is it the same?
1.7 Who is behind NoTA?
1.8 I found a bug, where can I report it?
1.9 Does NoTA have a webpage? A Wikipedia-article?
2 Getting started
2.1 What kind of system do I need to run NoTA software?
2.2 Where can I get the NoTA software?
2.3 How do I install NoTA on Linux?
2.4 Where can I get example applications?
2.5 How do I upgrade my version of NoTA?
2.6 Where do I get help?


1 General


1.1 What is NoTA?

Originally NoTA stood for Network on
Terminal Architecture
, nowadays it is a just a
plain name for new modular device architecture framework.

NoTA is (1) an open architecture for communication between modules, and (2)
software which implements this architecture. These modules can be both
software and hardware, and run on a variety of platforms. Furthermore, NoTA
supports different transport media. NoTA is mainly targeting device internal
communication but the reference implementation also support e.g. TCP and later
on USB and Bluetooth, and more can be added.

One way to think about it: NoTA wants to be for devices, what web-services are
for the web.


1.2 Why would I want to use NoTA?

As more devices support NoTA, it becomes much easier to connect them. Instead
of creating specific software, drivers and so on, the devices can be
interconnected much more easily. This can then lead to cost-savings,
faster-time-to-market and easy replacement of elements (which prevents vendor
lock-in), among others.


1.3 What does the NoTA architecture look like?

There is quite a bit of
material available that
goes into considerable detail regarding the architecture, and we recommend
going throught if you want you want to know more. Therefore, here, we only
give a short overview.

  1. A NoTA system consists of number of nodes - either application nodes
    (AN) that request certain services, or service nodes (SN) that provide
    them.

    Nodes of both types are implemented by software, hardware or combinations
    thereof.

    For example, think of a 'File Server' service node. Or an 'Audio Processing'
    service node.

  2. These nodes and services communicate using either streams or
    messages.

    • messages are a form of two-way communication, and are used to
      control certain other nodes, report the status and so on.

    • streams are one-way communication, and are used for (bulk)
      data transfer, such as media content.

  3. The actual interconnect (communication) is divided in two layers: the
    high-level (h_in) and the low-level (l_in).

    • The l_in abstracts away the peculiarities of a specific network
      layer/physical layers, such as Bluetooth, USB or TCP/IP.

    • The h_in lives on top of this, and provides the
      application-layer for ANs and SNs to communicate.


1.4 What platforms does NoTA run on?

We have tested NoTA mostly on POSIX based systems (such as Linux and Cygwin).
However, NoTA is OS-agnostic and portable, and runs on different platforms as
well. For example: Symbian/S60, iTron, eCos, Nucleus and MS-Windows.


1.5 How is the NoTA software licensed?

NoTA is dual-licensed under (1) the GPLv2, or (2) a royalty-free commercial
license. You can choose the one that best fits your situation.

  1. The GPLv2
    is a widely-used open-source license. Basically, the GPLv2 allows you
    distribute your NoTA-based software, as long as you provide the source code
    under the GPLv2 as well.

  2. The royalty-free commercial license allows you release your own NoTA
    programs without releasing your own source code. Please go to Contacts in
    this website for information on how to acquire a commercial license.


1.6 How is NoTA different from X? How is it the same?

There are already a large number of IPC mechanisms available. For example,
there are CORBA,
D-Bus,
SOAP,
ICE, the
list goes on.

While all of these (and others) are very useful in their specific domains,
they don't scale down very well to the communication between (hardware)
devices. NoTA is specifically designed for that use case. Also, most of the
existing solutions do not put so much emphasis on high-performance data
transfer. Again, NoTA was specifically designed with that in mind.

However, the NoTA-programming environment is somewhat similar to programming
CORBA (using a stubgenerator and an interface definition) with CORBA's IDL
replaced by
WSDL.

The actual way to write code is quite similar to
writing code for BSD-sockets, with calls
like Hsocket and Hconnect, ... mirroring socket,
connect and friends.


1.7 Who is behind NoTA?

NoTA was first designed and implemented at the
Nokia Research Center, and has since found
broad support in the industry. Please see the list of partners in the
First International
NoTA conference
, June 11 in Helsinki. What is the target audience for
NoTA?

NoTA targets a number of audiences; a non-exhaustive list of them:

  • Industry: NoTA can be used in industrial settings for communications
    between heterogenous devices;

  • Academia: NoTA can be a tool for both hardware and software engineers to
    study multi-device communication;

  • Developer communities: NoTA can be a interesting tool for your personal
    hardware/software projects.


1.8 I found a bug, where can I report it?

If you think you found a bug in the NoTA software, you can report it
here.

For each bug, please describe carefully your environment, versions of related
software, what you were expecting and what actually happened. A minimal
example that reproduces the behaviour is even better - thanks!


1.9 Does NoTA have a webpage? A Wikipedia-article?

Yes; yes.


2 Getting started


2.1 What kind of system do I need to run NoTA software?

As noted above, NoTA software runs on a variety of systems. However, the
source and binary packages provided here, assume a 'Unix-like' system, and
most of our testing has been done on x86 Linux-systems. The software has been
specifically designed for portability, so it should still work on other
platforms/architectures, with the chances improving as your system more
closely resembles Linux/x86. Anyhow, please let us know of any problems /
success you encounter when building and running NoTA on other software.


2.2 Where can I get the NoTA software?

You can find NoTA source code
here.


2.3 How do I install NoTA on Linux?

If you don't use prebuilt packages, you can download the .tar.gz-files,
and use the familiar:

# ./configure && make && make install

for all of the packages.

Note that you can use the -prefix argument to configure to install the
libraries elsewhere from the default /usr/local (useful when you don't have
administrator rights on the machine). With the -help argument, you get a list
of all possible arguments.


2.4 Where can I get example applications?

There is a number of example of NoTA applications available here.


2.5 How do I upgrade my version of NoTA?

If you've installed NoTA from a source package (ie., you compiled it
yourself), you probably first want to uninstall the older version. You can do
this by going to the existing build directory and do

# make uninstall

After that, you can install the new package in the normal way.


2.6 Where do I get help?

In order to get help for NoTA, please first see if you can find the answer
using this FAQ or in the other documentation. You can also search the mailing
list archive to see if someone else had the same problem before. If none of
these help, you can ask on the mailing list. For getting the most out of it,
you might want to look at
How to Ask Questions
The Smart Way
.

Bookmark and Share