shage: a framework for self-managed robot software · 1 may 21~22, 2006 seams, shanghai, china...

10
1 May 21~22, 2006 SEAMS, Shanghai, China SHAGE: A Framework for SHAGE: A Framework for Self Self - - managed Robot managed Robot Software Software 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 2 May 21~22, 2006 SEAMS, Shanghai, China Outline Outline Introduction An Approach SHAGE Framework Demonstration Research Issues Conclusions

Upload: others

Post on 07-Sep-2019

1 views

Category:

Documents


0 download

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.