Re: About component architectures...

Christian Schlegel <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Organization FAW Ulm
Message-ID <[email protected]>
Herman Bruyninckx wrote:

> On Thu, 25 Apr 2002, Anthony Mallet <Anthony Mallet wrote:
>
> > Herman Bruyninckx wrote :
> > | I am not too happy with a `supervisor' because that is such a general
> > | name that covers too many different things we want to separate.
> >
> > I think what you really want is an "execution control layer", which can
> > be made of several components: 'configurator', 'resource management',
> > 'consistency checks' (e.g. checking that you are not doing things with
> > the 'functional components' that are not allowed), 'communication
> > management' (e.g. some of the functionalities of an ORB), etc...
>
> These are all part of configuration, aren't they? But I agree that
> they represent different aspects (`roles') of configuration.
>
> > | - Configurator (what the people in LAAS call ``control flow'' I guess),
> >
> > Not really: the control flow is much more general. With our terminology,
> > the control flow represents all the service requests that are made to the
> > 'functional components'.
> > | - Mediator (``data flow'') that accepts service requests from
> > |   the user and divides those into actions for its sub-components.
> >
> > [ Services requests are part of the control flow ]
>

Hi,

Just another wording .... :-)

communication:
every kind of communication based on the communication patterns. Normally,
communication patterns are only applied at the external interface of a
component (they can be applied internally as well !) and therefore
communication normally is inter-component exchange of any kind of data.
Communication includes configuration messages as well as data transfer between
components.

control flow:
Depending on the currently executed tasks, several components form a
hierarchy. This is even true when you use distributed decision making since
you then at least set up the involved components into a mode where they are
said to resolve conflicts by negotiation. Events are typically (but not only)
used between different levels of a hierarchy since they report on execution
progress or on execution failures and problems. The control flow therefore
describes which component is responsible in what situation.

configuration:
The configuration sets up the parameters of a component. This includes
activating events, enabling states etc. If a state gets enabled, the component
can e.g. subscribe for laser scans. The configuration comprises the complete
set of parameters under which the components work till the next configuration
arrives. The configuration sets up the constraints under which a component can
do what it wants since the constraints make sure that the components
activitites do no conflict with activities of other components. The state
class e.g. provides handlers which are executed when a state is entered. Those
handlers typically contain calls to subscribe for a laser scan etc and the
exit handler of the state unsubscribes the laser scans.

data flow:
The data flow is used to exchange maps, laser scans, images etc. between
various components. This is normally (but not restricted to) done between
components at the same level. The data flow (which component is subscribed to
a component, where the results are sent to etc.) is set up by the
configuration or results from the activated states of a component.

sequencing mechanism:
This is the component, which is responsible for restricted resources and which
enables / configures only those configurations which can work in parallel
without needing to much processing power, without using resources in
conflicting modes etc. It can be implemented as a task net interpreter, as a
hierarchical finite state automaton etc.

component automaton:
The sequencing mechanism must be distinguished from the component internal
organization. One possible appoach is the Genom structure, another one a
simple automaton and yet another one a threaded structure depending on the
state class of SmartSoft.

Christian

---------------------------------------------------------------------
Christian Schlegel
FAW Ulm (Research Institute for Applied Knowledge Processing)
PO Box 2060
D-89010 Ulm
Germany

Tel. : ++49 (731) 501 8949
Fax  : ++49 (731) 501 999
email: [email protected]
WWW  : http://www.faw.uni-ulm.de/
---------------------------------------------------------------------
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.