Chapter 11c -- Applied Architecture and Styles -

advertisement
SWA: Chapter 11 Applied Architecture and Styles
11.5
Architectures From Specific Domains
11.5 give us specific domains architecture of different applications. We can extend the
techniques used in development, the analyses of the design, and the resulting styles beyond these
specific domains.
11.5.1 Robotics
Robotics consist of systems that are based on autonomy and mobility.
Mobile tele-operated systems – bomb disposal robots, where it may be full or partial
control actions and movements by human operator at a remote location.
Industrial automation systems – automotive assembly robotic arms that perform
specific tasks without a change in their environment. The environment designs the robot’s tasks and
movements.
Mobile autonomous robots – DARPA Grand Challenge vehicles, the vehicles are
responsible for their own autonomous control without a human operator. Also, running through
unpredictable environments.
11.5.1.1 Challenges
There are two primary factor challenges in the robotics domain: the physical platforms and devices that
make up the robots and the unpredictable environments that the robots operate in.
Robotic platforms consist of large integration of sensors and devices that can be easily malfunctions.
These sensors and devices are wireless radio communications and vision sensors.
The OS on the robotic platforms must operate with diminished hardware capacity and the loss of
essential functions. Information from these sensors are unreliable and may spikes erroneous data
readings.
The second challenge is the robot’s operations in a dynamic environment. A mobile robot may traverse
through unknown terrain with random weather condition. It may be required to move obstacles. These
requirements greatly increase the difficulty in design such software that can account for the dynamic
environments.
Special interest qualities in robotic architecture are: robustness, performance, reusability, and
adaptability.
11.5.1.2 Robotic Architectures
Robotic architectures originate from artificial intelligence techniques for data representation and
reasoning.
SPA:
Sense-Plan-Act Architecture from Nilsson in 1980, identifies the need of using a continuous feedback
from the robot’s environment as an input to its actions. There are 3 components with a unidirection
flow of communication between them: Sense, Plan, and Act ( Figure 11-9).
The sense component gathers sensor information as inputs to the plan components.
The plan component uses these inputs to create actions that the robot should perform.
The act component is to communicate and execute using the robot’s motors and actuators.
The SPA architecture resembles the sense-compute-control (SCC) pattern in Chapter 4. But an important
distinction is in the plan component there is a world model that use the sensory inputs to determine the
robot’s actual state and determine what actions should perform next. The internal model is constantly
updated to be consistence with the actual environment conditions. The SCC pattern does not have such
a model.
The main drawback of SPA architecture is performance and scalability. Sensors information must be
integrated or sensor fusion into the robot’s planning model to determine its actions in each iteration.
These operations are time-consuming and cannot keep up with fast environmental changes.
Subsumption:
Subsumption attempted to address the drawback in SPA architecture by Brooks in 1986. Give up the
complete world models and plans as the central element in robotic systems. There is no explicit planning
step between sense and act.
Subsumption architecture composed of independent components and each encapsulated with a
specific behavior. Complex layers communicate through two operations: inhibition and
suppression (Figure 11-10). “In the figure, output from Skill C may cause the input from Skill
A to Skill B to be delayed by time t; similarly output from Skill C may override the output of
Skill B to Actuator 1 for time t”
Rather representing as a single plan model, subsumption architecture creates independent
modules arranged in layers. It is more reactive in nature. Subsumption offers fast and nimble
performance.
Subsumption drawbacks are lacking a coherent architecture plan and no support for the complex
layers.
Three-Layer:
Three-layer (3L) is a hybrid architecture that attempt to bridge the gap between SPA and
subsumption by Firby in 1989. This architecture separates the robot functionality into three
layers (name may differs from system to system Figure 11-11):
reactive layer-react to events with a quick action
sequencing layer-linking functionalities in the reactive layer into complex behaviors
planning layer-performs slower long-term planning
3L combines both reactive operation and long-term planning. Many 3L architectures have
special-purpose scripting language.
One challenge with the 3L architectures is separate functions into three layers. Depending on the
tasks, one layer may dominate the other layers in importance and complexity. The sequencing
layer may results in difficulties when translating higher-level planning into lower-level execution
and may cause unnecessary performance overhead.
Reuse-Oriented
With modern software and engineering technologies, the primary goals is component reuse to
maximize returns on time and cost during development.
Reuse-Oriented architectures consist of explicit object-oriented interface definitions for
components and the use of frameworks for developing component that are reusable across
different projects.
The WITAS unmanned aerial vehicle project by Doherty et al in 2004 uses CORBA as
information interchange and using CORBA IDL to clearly defined interfaces for each
component.
The CLARATy reusable robotic software architecture by Nesnas et al in 2006 is a two layer
architecture that use a goal-network approach for planning. It defined a generic device interfaces
so different devices of the same type can be use with any instance of CLARATy architecture.
Development Framework for Robotic Systems
Many robotic systems are designed and built independently. There are a number of frameworks
and tools to speed up the development process. Each framework targets a specific aspect of
robotic development.
Popular Frameworks:
Player-open-source project targets Unix-based environments. Provides networked
accessible interfaces to many devices with support for distributed operations of robotic
components. Supports integrations with the Stage and Gazebo 3D system.
Orca-open-source, cross-platform framework focused on component-based robotic
systems. It uses the Ice middleware framework for cross-component communication.
Microsoft Robotic Studio-MRS is a free integrated environment for robotic system
development. It supports .NET-based service-oriented architecture with C# and VB.NET
languages. The environment simulation supported through PhysX simulation engine.
Lego Mindstorms-provide both hardware and software. Low cost and easy application to
educational needs. The package contains servos and sensors along with a special-purpose OS and
LabVIEW graphic development environment by National Instruments.
11.5.2 Wireless Sensor Networks
Senors nets are a large reactive application that monitor the environment and report on its state.
Wireless sensor network (WSN) systems are used in various domain: medical systems,
navigation, industrial automation, and civil engineering such as monitoring and tracking.
These systems are low installation cost, inexpensive maintenance, and easy reconfiguration.
But it is very challenging to implement: it may need to integrate with legacy wired networks,
embedded devices, mobile networks with PDAs and cell phones for notifications.
The wireless devices are constrained with power consumption, communication bandwidth and
range, and processing capacity. Wireless sensor systems constraints are fault-tolerance,
performance, availability, and scalability.
MIDAS architecture contains 3 architecture styles (Figure 11-12):
Peer-to-peer-deployment activities, exchange application level components
Publish-subscribe-the communication backbone for routing and processing sensor data on
various platforms
Service-oriented-less used for system monitoring and adaption facilities. These services
are distributed among the platforms.
11.6 End Matter
The theme of this chapter was architectures for complex applications resulted from different
application domain. Careful choices of elements and styles and a hybrid of these elements create
a coherent solution. REST is an excellent example. REST coped with issues of presence latency
and agency in network.
Peer-to-peer highlighted area are discovery of other peers, search for resources, and risks of
performance problems and malicious entities. Security and trust will be discuss in Chapter 13.
Growing scope does not become more complex if we exploit ideas in large commercial
applications such as Google, Akamai, and Skype.
The next three chapter 12, 13, and 14 will address non-functional properties such as scale,
performance, and security.
Download