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?
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.
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.
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.
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.
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.
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.
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.
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:
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!
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.
You can find NoTA source code
here.
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.
There is a number of example of NoTA applications available here.
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.
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.