Building Scripts

Hi ,

I have developed a big system architecture for AGV’s with a lot of programs
that are always running, lots of threads, using message parsing to
communicate, programs for io-control, etc. What is the best way to
initialize each program when the system starts? I’m thinking about scripts
but i whant to know if neutrino has other ways to do this “automatic
initialization” of my project.

Now, i’m not using embedded system yet, but in a really close future i’ll.
For now, it’s just another x86 computer hosting the programs.

Tnx,
Leandro


“[…] a vontade de fazer coisas esta em meu coração
porque eu mesmo fui feito por ti. E a criança de pouco
entendimento, que gaceja com os atos de seu pai, pode
estar fazendo isso sem nenhuma intenção de zombaria,
apenas por ser filho dele. […]”

J.R.R. Tolkien - Silmarillion - De Aulë e Yavanna

“Leandro Colen” <lcrocha@yahoo.com> wrote in message
news:aqqh00$ftf$1@inn.qnx.com

Hi ,

I have developed a big system architecture for AGV’s with a lot of
programs
that are always running, lots of threads, using message parsing to
communicate, programs for io-control, etc. What is the best way to
initialize each program when the system starts? I’m thinking about scripts
but i whant to know if neutrino has other ways to do this “automatic
initialization” of my project.

There are many ways:

  • A script
  • In the image file
  • One of your program starts the other ones
  • HAT (High Availability Toolkit)

Any one of then is a good choice, it all depends I guess on what this
“automatic initialization” really is

  • Mario

“God gave men a brain and a penis but only enough blood to use one at a
time”

for robotics i think that it should be the most automatic as possible, and
most secure too. For an AGV, the only real human interface is on the
emergency button! :slight_smile:

I’m looking for a full automatic initialization and termination too. Maybe
scripts are better to do this. I’m just looking for a discussion about
what’s better.

today, i’ll write scripts to control the init and termination of each
program, log files, etc.

But, someone has any idea of other secure way to control this and minimize
the problems?


“Mario Charest” postmaster@127.0.0.1 escreveu na mensagem
news:aqr2or$6ga$1@inn.qnx.com

“Leandro Colen” <> lcrocha@yahoo.com> > wrote in message
news:aqqh00$ftf$> 1@inn.qnx.com> …
Hi ,

I have developed a big system architecture for AGV’s with a lot of
programs
that are always running, lots of threads, using message parsing to
communicate, programs for io-control, etc. What is the best way to
initialize each program when the system starts? I’m thinking about
scripts
but i whant to know if neutrino has other ways to do this “automatic
initialization” of my project.

There are many ways:

  • A script
  • In the image file
  • One of your program starts the other ones
  • HAT (High Availability Toolkit)

Any one of then is a good choice, it all depends I guess on what this
“automatic initialization” really is

  • Mario

“God gave men a brain and a penis but only enough blood to use one at a
time”

“Mario Charest” postmaster@127.0.0.1 wrote in message
news:aqr2or$6ga$1@inn.qnx.com

“God gave men a brain and a penis but only enough blood to use one at a
time”

Mario, Mario, Mario!

Fortunately, some things have a mind of their own.

Leandro Colen wrote:

But, someone has any idea of other secure way to control this and minimize
the problems?

I’d say the HAT sounds like a good fit for an AGV.

Rennie

Our experience has been that, in the end, scripts will not get you what you
want.

We have gone for Mario’s third option “one of your programs starts the other
ones” but have a generic Launcher program which is used on many projects. It
reads configuration files to figure out what programs should be running and
what their dependencies are. It then starts all programs and monitors their
ongoing health.

Our Launcher program has the following features that you might want to
consider for yours:

  • It understands dependencies so if a low-level program that many others
    depend on failes and is re-started, then so (optionally) are the programs
    that depend on it
  • It acts as an inetd replacement with improved functionality such as the
    ability to behave differently based on the remote IP address or the current
    system state
  • It performs periodic health checks on individual processes (heap usage
    etc) and the overall system (disk usage, memory usage) and takes appropriate
    (configurable) action if pre-configured thresholds are exceeded
  • It exchanges hearbeat/status messages with Launcher instances on standby
    (redundant) systems and manages all necessary system state transitions e.g.
    from Standby to Online
  • It logs everything in excruciating detail

This might give you a few ideas.

I’m not sure how much of this is replicated in the HAT as I haven’t looked
into it. I would be interested in a comparison with what’s available in the
HAT.

Rob Rutherford
Ruzz Technology

“Leandro Colen” <lcrocha@yahoo.com> wrote in message
news:aqr4vm$90i$1@inn.qnx.com

for robotics i think that it should be the most automatic as possible, and
most secure too. For an AGV, the only real human interface is on the
emergency button! > :slight_smile:

I’m looking for a full automatic initialization and termination too. Maybe
scripts are better to do this. I’m just looking for a discussion about
what’s better.

today, i’ll write scripts to control the init and termination of each
program, log files, etc.

But, someone has any idea of other secure way to control this and minimize
the problems?


“Mario Charest” postmaster@127.0.0.1 escreveu na mensagem
news:aqr2or$6ga$> 1@inn.qnx.com> …

“Leandro Colen” <> lcrocha@yahoo.com> > wrote in message
news:aqqh00$ftf$> 1@inn.qnx.com> …
Hi ,

I have developed a big system architecture for AGV’s with a lot of
programs
that are always running, lots of threads, using message parsing to
communicate, programs for io-control, etc. What is the best way to
initialize each program when the system starts? I’m thinking about
scripts
but i whant to know if neutrino has other ways to do this “automatic
initialization” of my project.

There are many ways:

  • A script
  • In the image file
  • One of your program starts the other ones
  • HAT (High Availability Toolkit)

Any one of then is a good choice, it all depends I guess on what this
“automatic initialization” really is

  • Mario

“God gave men a brain and a penis but only enough blood to use one at a
time”
\

This might give you a few ideas.
Yes… A lot of ideas! > :slight_smile:

I’ll think more about this. Probably is the better way to ensure security
and functionally.
Thanks for the help.

I’m not sure how much of this is replicated in the HAT as I haven’t looked
into it. I would be interested in a comparison with what’s available in
the
HAT.

I’m not familiar with this HAT. What’s this?



Rob Rutherford
Ruzz Technology

“Leandro Colen” <> lcrocha@yahoo.com> > wrote in message
news:aqr4vm$90i$> 1@inn.qnx.com> …
for robotics i think that it should be the most automatic as possible,
and
most secure too. For an AGV, the only real human interface is on the
emergency button! > :slight_smile:

I’m looking for a full automatic initialization and termination too.
Maybe
scripts are better to do this. I’m just looking for a discussion about
what’s better.

today, i’ll write scripts to control the init and termination of each
program, log files, etc.

But, someone has any idea of other secure way to control this and
minimize
the problems?


“Mario Charest” postmaster@127.0.0.1 escreveu na mensagem
news:aqr2or$6ga$> 1@inn.qnx.com> …

“Leandro Colen” <> lcrocha@yahoo.com> > wrote in message
news:aqqh00$ftf$> 1@inn.qnx.com> …
Hi ,

I have developed a big system architecture for AGV’s with a lot of
programs
that are always running, lots of threads, using message parsing to
communicate, programs for io-control, etc. What is the best way to
initialize each program when the system starts? I’m thinking about
scripts
but i whant to know if neutrino has other ways to do this “automatic
initialization” of my project.

There are many ways:

  • A script
  • In the image file
  • One of your program starts the other ones
  • HAT (High Availability Toolkit)

Any one of then is a good choice, it all depends I guess on what this
“automatic initialization” really is

  • Mario

“God gave men a brain and a penis but only enough blood to use one at
a
time”


\