shage: a framework for self-managed robot software · 1 may 21~22, 2006 seams, shanghai, china...
TRANSCRIPT
1
May 21~22, 2006 SEAMS, Shanghai, China
SHAGE: A Framework for SHAGE: A Framework for SelfSelf--managed Robot managed Robot
SoftwareSoftware
Sooyong Park<[email protected]>
Software Systems Engineering Lab.Sogang University
May. 21~22, 2006
ICSE 2006 Workshop on Software Engineering for Adaptive and
Self-Managing Systems(SEAMS), Shanghai, China
2May 21~22, 2006 SEAMS, Shanghai, China
OutlineOutline
• Introduction
• An Approach
• SHAGE Framework
• Demonstration
• Research Issues
• Conclusions
2
3May 21~22, 2006 SEAMS, Shanghai, China
Home Service Robots for the ElderlyHome Service Robots for the Elderly
• Home service robots(HSR) provide useful services such as – Face recognition
– Navigation
– Bringing an object
– Conversation
– …
• CIR(the Center for Intelligent Robotics) at KIST(theKorea Institute of Science and Technology) has been developed various home service robots.– T-Rot(High-end), Infotainment robot, H-Robot(Healthcare robot)
4May 21~22, 2006 SEAMS, Shanghai, China
Overall S/W ArchitectureOverall S/W Architecture1) 1) of HSRof HSR
Deliberative Layer
Reactive Layer
Task Manager
Action ComponentsAction Components Action Components
Action Components
Behavior ControlComponent
Behavior ControlComponent
Behavior ControlComponent
…
Functional UnitComponent
Functional UnitComponent
Functional UnitComponent
Functional UnitComponent
Functional UnitComponent
Functional UnitComponent
Sequencing Layer
SHAGE Framework
1) E. Gat, “On three-layer architectures,” in Artificial Intelligence and Mobile Robots (D. Kortenkamp, R. P.Bonnasso, and R. Murphy, eds.), MIT/AAAI, 1997.
3
5May 21~22, 2006 SEAMS, Shanghai, China
Research MotivationResearch Motivation
Malfunction
newEnvironment
Self-Healing, Adaptive, and Growing Technologies for Intelligent RobotsSelf-Healing, Adaptive, and Growing Technologies for Intelligent Robots
User’s new needs
LimitedResources
6May 21~22, 2006 SEAMS, Shanghai, China
Example Example –– (1)(1)
• Need for safety: an old man says “move carefully!”– During a party: a lot of unrecorded moving objects
PathPlanner
MapBuilder Localizer
MontionController
AutoMove
LaserProxy VisionProxySonarProxySkinProxy
Quality requirement:Don’t care execution time, but avoidall possible collisions
Quality requirement:Don’t care execution time, but avoidall possible collisions
Reconfigured Architecture:ready to use various sensors and tomake a map by using the sensors.
Reconfigured Architecture:ready to use various sensors and tomake a map by using the sensors.
4
7May 21~22, 2006 SEAMS, Shanghai, China
Example Example –– (2)(2)
• Need for agility: an old man says “move quickly!”– The old man is home alone: no unrecorded object
PathPlanner
MapBuilder Localizer
MontionController
AutoMove
LaserProxy
Quality requirement:Short response time, Shortexecution time, optimize use ofbatteries.
Quality requirement:Short response time, Shortexecution time, optimize use ofbatteries.
Reconfigured Architecture:ready to use one sensor(laser).It cannot avoid (unrecorded) moving objects
Reconfigured Architecture:ready to use one sensor(laser).It cannot avoid (unrecorded) moving objects
8May 21~22, 2006 SEAMS, Shanghai, China
Our ApproachOur Approach
MonitoringMonitoring
DecisionDecisionMakingMaking
ReconfiguReconfigu--rationration
BrokeringBrokering LearningLearning
5
9May 21~22, 2006 SEAMS, Shanghai, China
SHAGE FrameworkSHAGE Framework
• SHAGE(Self-Healing, Adaptive, and Growing SoftwarE) Framework integrates following technologies– Monitoring
– Brokering: Ontology(authoring relations between environmental information and architectural information)
– Decision & Learning: Case-Based Decision Theory
– Reconfiguration: Slot-based architectural style
• This framework provides a test bed for self-managed software.
10May 21~22, 2006 SEAMS, Shanghai, China
SHAGE Overall ArchitectureSHAGE Overall Architecture
6
11May 21~22, 2006 SEAMS, Shanghai, China
Architecture/Component BrokerArchitecture/Component Broker
<i1, s1>
…
A s
et o
f Inclin
atio
n-Situ
atio
n P
airs
<i1, s2>
<in, sm>
Current Situation(given by the Task Manager)
…
A set of architecture configurations(Abstract Level Architectures)
Candidate Set(reduced by theArchitecture Broker)
12May 21~22, 2006 SEAMS, Shanghai, China
Architecture/Component BrokerArchitecture/Component Broker
• Role– Searching abstract-level architecture configurations related to the
current situation.
• Technology– Ontological descriptions.
• Current Status– It can only search in a small set of configurations related to the
navigation subsystem.
– Rule-based search: it cannot relax rules.
7
13May 21~22, 2006 SEAMS, Shanghai, China
Decision Maker & LearnerDecision Maker & Learner
…A set of architecture configurations
(Abstract Level Architectures)
Candidate Set(reduced by theArchitecture Broker)
Selected ConcreteComponent(Selected by theDecision Maker)
Selected ArchitectureConfiguration(Selected by theDecision Maker)
14May 21~22, 2006 SEAMS, Shanghai, China
Decision Maker & LearnerDecision Maker & Learner
• Role– Selecting exactly one configuration and one component for each slot
from the candidate set retrieved by the architecture broker.
• Technology– Case-Based Decision Theory
• Current Status– It only carries out in limited scope.
– Limited search space: only in the navigation subsystem.
– Limited learning time: few scenarios.
8
15May 21~22, 2006 SEAMS, Shanghai, China
ReconfiguratorReconfigurator
Concrete Level
Abstract Level
Slot: MotionControl Slot: Coordinator Slot: Localizer
Slot: PathPlanner
Slot: MapBuilder
Slot: MotionControl Slot: Coordinator Slot: SLAM
Slot: PathPlanner
Slot: MotionControl Slot: Coordinator Slot: Localizer
Slot: PathPlanner
Slot: MapBuilder
A B C
D E
Slot: MotionControl Slot: Coordinator Slot: SLAM
Slot: PathPlanner
A.1 B F
G
C1 C1
C1 C1
C1 C2
C2
After ReconfigurationAfter ReconfigurationBefore ReconfigurationBefore Reconfiguration
16May 21~22, 2006 SEAMS, Shanghai, China
ReconfiguratorReconfigurator
• Role– Reconfiguring the current software architecture dynamically.
• Technology– Slot-based two-level software architectural style.
• Current Status– It has reconfigured only the navigation subsystem.
• All configurations for the subsystem were verified in the demonstration.
– It can manage components distributed in SBCs(Single Board Computers) by RMI.
– It supports components implemented in Java and C++(through JNI).
9
17May 21~22, 2006 SEAMS, Shanghai, China
DemonstrationDemonstration
18May 21~22, 2006 SEAMS, Shanghai, China
Research IssuesResearch Issues
• Internal monitoring
• Ontology construction
• Learning speed
• Run-time measurement and validation
• Componentization
• Domain Knowledge
10
19May 21~22, 2006 SEAMS, Shanghai, China
ConclusionsConclusions
• SHAGE Framework has been developed to provide ‘self-managing capabilities’ to robot software.
• The framework integrated ontology, decision theory, and dynamic architecture and comprises
– Monitor
– Architecture/Component Broker
– Decision Maker & Learner
– Reconfigurator
• In the experiment, we showed a simple scenario.– The robot managed its architecture to adapt its changing requirements.
• The second phase(three years) of our research just launched to improve key technologies.