requirements to have models and platforms that ease the system design, taking
advantage of the parallel processing capabilities of the actual and future processors.
In the context of robotic systems, the design problems previously introduced are
amplified due to the fact that robots must be able to evolve in a not completely
observable environment under real time constrains. In order to deal with these critical
conditions, the designer must also take into account the following issues:
• manage complex synchronization of non-deterministic events coming from
sensors and controlled actuators.
• distribute the application into several processes, using communication taking
advantage of the parallel and specialized hardware.
• use an unified model in both the embedded and the external components of
the system.
• use of a holistic approach where the robot control unit is modeled as a unique
composed system; the system is seen as a collection of logical units, which
can be physically deployed in the available hardware (embedded or not).
The actual software tools to model, design and implement embedded distributed
and real-time systems covers different needs. Real Time Operating Systems (RTOS)
are used for the implementation of systems with time-response constraints [9]. For
instance, TURTLE [6] offers an environment based on the Unified Modeling
Language (UML) for the formal model [7]. Another interesting approach uses the
synchronous language LUSTRE, designed for the development of critical control
software [8]. These approaches are process oriented, where the basic processing units
are processes or tasks that usually communicate by message passing mechanisms.
Even if the conceptual model provided by the notion of process is very useful, general
and flexible, it has a low level of abstraction, which makes it difficult to be used in the
design of complex systems. For instance, when designing a robot or multi-robot
system, it would be preferable to use a conceptual model with higher degree of
abstraction, where notions as behaviors and goal-oriented entities could be modeled in
a more direct way.
A well suited approach to model complex problems is the Multi-Agent System
(MAS) paradigm. Different activities can be distributed into several cooperative
autonomous entities, and interactions are the basis for the dynamics of the system.
Agents respond to events coming from its environment or derived from its
interactions with other agents. The communication is the basis to construct the social
level which emerges from the inter-agent interaction [10]. A MultiAgent System,
MAS, is a computational cooperative system capable of executing concurrent tasks
through its agents.
BESA is a MAS architecture [5] [17] that aims to solve the problems that where
depicted in the precedent paragraphs. BESA provides an abstract model to construct
multi-agent systems. The initial implementation of the BESA model was developed to
work in a Java distributed environment. The BESA micro-edition, BESA-ME, is
introduced in this paper. The BESA-ME model, architecture and implementation have
been developed for embedded systems using RTOS as software support, running in
microcontrollers and DSP hardware platforms. This development is mainly motivated
65