[EMAIL PROTECTED] writes:
> > The first option may be to use Erlang and OTP (Open Telephony
> > Platform). Erlang (http://www.erlang.org) has a Mozilla style
> > licencing (open source), and is a message passing functional language with
> > real-time capabilities.
>
> Have you experience with Erlang under RTL?
No, I do not have any experience with Erlang under RTL. Erlang was
designed by Ericsson to be a functional language designed for telecom
applications/protocol encoding/decoding with soft real-time
requirements.
I guess Erlang may be a complement to RT-linux in 'heavy weight'
embedded systems, where RT-linux does the hard real-time part in the
kernel, and Erlang does the soft real-time part and distributed
programming in user space. (E.g. call handling, protocol handling user
interaction etc.)
(See http://www.erlang.org/doc/doc/embedded/part_frame.html for
discussion about embedded systems using Solaris, Win NT and VxWorks.)
I have included part of the tech description below in case anybody was
interested..
Regards,
Nils Ulltveit-Moe
<snip from Erlang tech description..>
3.0 Erlang problem domain
The language is general and does not lack any properties
confining it to a small set of applications. Erlang systems
provide a soft, real-time kernel. Real time requirements of
approximaitely 5-10 ms give an idea of where Erlang has its
use. Heterogeneous environments, different hosts and/or sources
to be integrated, resource allocation, database management,
client/server applications are examples where Erlang is used.
.
.
Concurrency
Concurrency is explicitly handled by the programmer. Erlang has
asynchronous message passing with selective message reception.
Parallel Erlang processes are dynamically created and monitored
using built in functions.
Transparent distribution over a network of processors
Developing distributed programs is probably one of the hardest
challenges for system developers. Erlang has facilities for
communication between Erlang nodes (= the operating system
process that runs the emulator). Communication between Erlang
processes (with Erlang messages) it is transparent if they are
located on the same Erlang node or not. Each Erlang process
gets a unique process identifier that can be used as its
address when sending messages. This process identifier can be
used locally within an Erlang system as well as remotely to
send messages from one Erlang process to another. Erlang System
/OTP also provides libraries for other external communication.
There are for instance primitives for socket communication
which make it straightforward to communicate remotely with
other sockets (independently of their implementation), from an
Erlang application.
.
.
Real time behaviour
One of the requirements of the Erlang language was that it
should be suitable for soft, real-time applications where
response times are in the order of milliseconds. Real-time
behaviour is an implementation-dependent issue, but there are
some criteria all implementations satisfy: any process which
can be run will be run; no process will be allowed to block the
machine for a long time; a process is allowed to run for a
short time, called a time slice, before it is re-scheduled to
allow another runnable process to be run; processes can be set
to run at one of two different priorities. Another important
feature for Erlang systems used for real time applications is
memory management. Erlang hides all memory management from the
user. Memory is "automatically" handled by a real-time garbage
collector without blocking the system.
</snip>
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/