An Architectural Style Perspective on Dynamic Robotic Architectures
John Georgas
Institute for Software Research University of California, Irvine
SDIR’07 – 4/14/07
An Architectural Style Perspective on Dynamic Robotic Architectures - - PowerPoint PPT Presentation
An Architectural Style Perspective on Dynamic Robotic Architectures John Georgas Institute for Software Research University of California, Irvine SDIR07 4/14/07 Outline Motivation A Look at the Past RAS Architectural Style
SDIR’07 – 4/14/07
Self
Architecture-based
Explicit architectural model consistent with implementation
Dynamic Architectures
Runtime modification based on model changes
Model changes transitioned to implementation
Policy-based adaptation
Defining the when and how of adaptation Independent of and decoupled from the functionality
Malleable and non-concrete for adaptability
Software Architecture Styles
Styles promote qualities (modularity, evolvability, reuse)
Robot control systems as an application domain
Need for dynamic change Naturally appropriate to self
Questions:
Do robotic architectures lend themselves toward
What can be learned from the successes and failures
…which captured “do’s” and “don’t’s”
Enables more complex modes of component
Architecturally invisible and inaccessible
In the abstract…
Deliberative Layer Reactive Layer Skill Layer Sequencing Layer
Deliberative Connector Sequencing Connector Reactive Connector
Action Requests Requests Robot Notifications Notifications
Deliberative Layer Reactive Layer Skill Layer Sequencing Layer
Deliberative Connector Sequencing Connector Reactive Connector
Action Requests Requests Robot Notifications Notifications
Each layer composed of independent components Each component captures a specific behavior No special-purpose scripts; topology determines behavior
Focused functionality layers, explicitly consistent with implementation Layering differentiated on functionality, timeliness, state, and interaction modes
Independent connecting elements solely responsible for communication
Components communicate through event emission and receipt, with no service
assumptions
Typed events with transactional support
Message type determines allowable communication and limits event scope Promotes layering conventions
Features specifically designed to support dynamism Supported by infrastructure enabling architecture-based runtime adaptation
Style characteristics support qualities “by design”
Modularity and strong decoupling
Component- and event-based
Incrementality and reuse
Even at the level of layers
High visibility and service access points
Connector-centric compositions
Features intended to support runtime dynamism
Supported through infrastructure
The price you pay…
Potential message loss and non-guaranteed services
In the nature of event-based systems
Potential scalability concerns
Mitigating factors: directional conventions, limited event scope
Use of the RAS style:
…enabled runtime evolution and adaptation …resulted in a modular and decoupled system
High level of reuse between configurations Behavioral changes focused on specific components and
their place in the architecture
…promoted a high level of architectural visibility
Changes centered and easily visible in the topology
Current robotic architectures do not support architecture
An architectural approach supported by an appropriate
…enable dynamic adaptation while promoting
Modularity, incrementality, reuse, visibility
…address architectural drawbacks of current robotic
architectures with regards to adaptation
Continued development and refinement of RAS
More rigorous evaluation and performance metric gathering of
style’s overhead
Application to larger robotic system examples
Software Architecture
An explicit and deployable model of the system expressed in
terms of its constituent executable units and their interconnections, which remains consistent through the system’s lifetime.
Self
Self-adaptive software monitors, evaluates, and modifies its own
behavior according to a collection of adaptation policies.
Adaptation Policies
Adaptation policies establish specifics of system modifications
required in response to a set of conditions which indicate the need for change