Re: modules and components

[email protected]
Newsgroups gmane.science.robotics.orocos.user
Message-ID <Pine.LNX.4.44.0212101955060.10723-100000@pc067.mech.kuleuven.ac.be>
On Tue, 10 Dec 2002 [email protected] wrote:

> I haven't well understood the difference between modules and components
> Can you explain me the differences with an exsample?
>
Module:
You write a C++ program, and you call the kinematics functions for
forward and inverse kinematics of your robot; this functionality is
reached by direct method calls on object, whose code is compiled in a
module, and linked into your executable.

Component:
I make all possible kinematics functionality available in a component,
by taking the same code, and making it accessible through, for example,
an http interface which your program can use. In addition to the pure
functionality (which is the same as in the module case above), this
component has a couple of extra features:
- it reacts to requests from clients such as your application, when they
  are looking for servers that can offer the requested information.
  This is done without the client and server having to know each other.
- you don't have to care about what language the functionality is
  written in.
- my component has an identity, and a persistent state, so that it
  remembers the state of your application (as far as its functionality
  is concerned), and your application can do subsequent requests to its
  services without having to communicate the whole state. The component
  can even remember your application after shutdown of when the
  interconnection is broken for some time.
  (Mind you: there are also stateless and identity-less components
  possible!)
- your application doesn't have to care about where on the net my
  service is (unless time delayas are important).
- you can use my component without knowing its API exactly.
- etc.

As you see, there are many different levels of components possible, but
they all share the fact that they are independent pieces of software,
running in their own threads/processes/computers...

Microsft (re)invented the whole concept and calls it .Net :-)

Herman
-- 
  K.U.Leuven, Mechanical Engineering, Robotics Research Group
<http://people.mech.kuleuven.ac.be/~bruyninc> Tel: +32 16 322480
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.