36
1 Self-Adaptive Software Application Development SHAGE : A Framework for Self-Adaptive Software Sooyong Park Computer Science and Engineering Sogang University [email protected]

1 Self-Adaptive Software Application Development SHAGE : A Framework for Self-Adaptive Software Sooyong Park Computer Science and Engineering Sogang University

  • View
    225

  • Download
    1

Embed Size (px)

Citation preview

1

Self-Adaptive Software Applica-tion Development

SHAGE : A Framework for Self-Adaptive Software

Self-Adaptive Software Applica-tion Development

SHAGE : A Framework for Self-Adaptive Software

Sooyong ParkComputer Science and Engineering

Sogang [email protected]

selab.sogang.ac.kr 2

ContentsContents

Software Systems Engineering Lab.(SSEL) at Sogang University

SHAGE(Self Healing, Adaptive, and Growing Environment)

Applications: Robocode, Service Ro-bot (1, 2)

Issues

selab.sogang.ac.kr 3

Sogang University Sogang University

selab.sogang.ac.kr 4

Software Systems Engineering LaboratorySoftware Systems Engineering Laboratory

Ph.D Students : 8( 5 full-time, 3 Part-Time)

Master Students : 8 (all full-time)

selab.sogang.ac.kr 5

On-Going ProjectsOn-Going Projects Self-Healing, Adapt, and Growing

Environment(SHAGE) for Service Robot : 2004 – 2012

Self-Adaptive software for Mobile Device : 2007 – 2010

Dynamic Product Line Engineering feasibility study: 2006-2008

selab.sogang.ac.kr 6

SHAGE Project : BackgroundSHAGE Project : Background In 2003, National Project (Frontier

Project) was launched by KIST. The worldwide population of elderly peo-

ple is rapidly growing and is set to be-come a major problem in the future.

This can lead to a huge market for assis-tive robots.

In this context, the intelligent ser-vice robot for the elderly, called T-Rot, was initiated at Center for In-telligent Robotics (CIR) of KIST.

selab.sogang.ac.kr 7

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

selab.sogang.ac.kr 8

Example – (1)Example – (1)

Need for safety: an old man says “move carefully!” During a party: a lot of unrecorded moving

objects

PathPlannerMapBuilder 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.

selab.sogang.ac.kr 9

Example – (2)Example – (2)

Need for agility: an old man says “move quickly!” The old man is home alone: no un-

recorded object

PathPlannerMapBuilder 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

Overall ApproachOverall Approach

Runtime Process

selab.sogang.ac.kr

Five PhasesFive Phases

Detection Phase Monitors environmental situations that need adaptation.

Planning Phase Establishes a new plan(ex. Architectural changes) associated with the

detected situations.

Execution Phase Applies the plan to the system.

Evaluation Phase Estimates the effectiveness of the plan compared to the goals.

Learning Phase Learns and accumulates the estimated results.

selab.sogang.ac.kr

Detection PhaseDetection Phase

Environment

SituationMonitoring

Situations

GoalSpecifica-

tion

Identify current situations from an environment based on speci-

fied goals

The situa-tions that

needs adap-tation

selab.sogang.ac.kr

Planning PhasePlanning Phase

Situations

DecisionMaking

ReconfigurationDecisions

PlanningTable

Decides an adap-tation plan based on the situation and the learned planning table

The decided plan

selab.sogang.ac.kr

Execution PhaseExecution Phase

ReconfigurationDecisions

Reconfiguring

ArchitecturalConfiguration

Applies the plan to the sys-

tem

The changed system

selab.sogang.ac.kr

Evaluation PhaseEvaluation Phase

Evaluating

Rewards

ArchitecturalConfiguration

Estimates re-wards based on the result of the system execu-tion and the

specified goalsGoalSpecification

The estimated re-wards

selab.sogang.ac.kr

Learning PhaseLearning Phase

PlanningTable

Rewards

Learning

Learns the result and updates the planning table

selab.sogang.ac.kr 17

SHAGE Overall ArchitectureSHAGE Overall Architecture

18

Application 1 : Robocode Simulator

Application 1 : Robocode Simulator

selab.sogang.ac.kr 19

RobocodeRobocode

• IBM developed Fighting Robot game SW• Basic Library and Simulator are provided• Competitions among various algorithms .

selab.sogang.ac.kr 20

Robocode 에서의 실험 수행Robocode 에서의 실험 수행

selab.sogang.ac.kr 21

Role Structure of RobotRole Structure of Robot

RobotBody RadarManeuver

TargetingStrategy

FiringStrategy

selab.sogang.ac.kr 22

역할 , 포트 기반의 아키텍처에 기초한 동적 재구성역할 , 포트 기반의 아키텍처에 기초한 동적 재구성

AdvancedTargeting

TargetingStrategy

LinearTargeting

TargetingStrategy

AdvancedTargeting

TargetingStrategy

LinearTargeting

TargetingStrategy Targeting

TargetingStrategy

NewRobotRobotBody

RadarRadar

Firing

FiringStrategy

ManeuverManeuver

HeadOnTargeting

TargetingStrategy

LinearManeuver

TargetingStrategy

Repository

Candidatecomponents

selab.sogang.ac.kr 23

Experiment Result(1)Experiment Result(1)

Result of C Robot and L Robot

0

10

20

30

40

50

60

70

80

90

100

1 2 3 4 5 6 7 8 9 10 11 12Rounds (X 100)

The p

erc

enta

ge o

f vi

tories

CL

selab.sogang.ac.kr 24

Experiment Result(2)Experiment Result(2)

Result of C+L Robot and C Robot

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10 11 12Rounds (X 100)

The p

erc

enta

ge o

f vi

tories

C+LC

25

Case 2: Service RobotCase 2: Service Robot

selab.sogang.ac.kr 26

Self-Adaptation(Unknown Ob-stacle) Self-Adaptation(Unknown Ob-stacle)

selab.sogang.ac.kr

Self-Tuning (Resource Changes)Self-Tuning (Resource Changes)

SBC A SBC B

CoordinatorMap

BuilderMotionControl

Localizer

DD

D

PathPlanner

D

AutoMoveEdge Line

ImageSupplier

Color

SIFT

POSD

D

D

D

D

D D

CPU

Mem

CPU

Mem

selab.sogang.ac.kr

CoordinatorMap

BuilderMotionControl

Localizer

DD

D

PathPlanner

D

AutoMove

Edge Line

ImageSupplier

Color

SIFT

POSD

D

D

D

D

D D

Set JointValue

ValidationCheck

Grip

InverseKinematics

D

D

D

TVProgramService

InformationProvision

D

ProgramRecommendation

D

TVProgramPlayer

CognitiveInteraction

InteractionModel

TruthMaintenanceSystem

DialogInterpreter

DD

D

InteractionRuleBase

D

QueryGenerator

AmbiguityResolver

D

D

User CallDetector

Text ToSpeech

ActiveAuditionPlanner

DialogProcessor

D

DD

SBC A SBC B

CPU

Mem

CPU

Mem

selab.sogang.ac.kr

Optimized Component Diployment based on Model knowledge

Optimized Component Diployment based on Model knowledge

Vision SBC Main SBC

PathPlanner

Edge Line

ImageSupplier

Color

POSD

D

D

D

D

R1 R2

Set JointValue

ValidationCheck

GripD

D

TruthMaintenanceSystem

InteractionRuleBase

AmbiguityResolver

D

ActiveAuditionPlanner

DialogProcessor

D

R3 R4

R5 R6

R7

R8

TVProgramService

R9

R10

User CallDetector

Text ToSpeech

CoordinatorMap

BuilderMotionControl

Localizer

DD

D

SIFTR1 R2InformationProvision

ProgramRecommendation

InverseKinematics

CognitiveInteraction

InteractionModel

DialogInterpreter

D

D

QueryGenerator

D

R3

R5 R6

R4

R7

R8

R9

R10

selab.sogang.ac.kr

Self-adaptive and tuningSelf-adaptive and tuning

selab.sogang.ac.kr

Self-Adaptive on Mobile Devices(2007)

New Research TopicsNew Research Topics

When the LCD is broken

Add TTS(Text-to-Speech) and ASR(Automatic Speech Recognition)

selab.sogang.ac.kr

New Research TopicsNew Research Topics

Based on brightness,

At night

Under sunlight

selab.sogang.ac.kr 33

IssuesIssues

Currently, self-adaptive SW is de-veloped based on existing SW Kind of reverse eng. Prepare scenario, strategy, possible solu-

tions

Do not have systematic method to build self-adaptive software Traditional SW development + X One possibility is to learn from SPL ap-

proach

selab.sogang.ac.kr

Software Product LinesSoftware Product Lines

Product-line ar-chitec-

ture

Component set

Product 1 Product 2 Product n

...

F0

VF2 F3

VF7 VF8

F1

F4 F6F5

Mandatory features

Optional features

Alternative features

Feature Model

Mapping

Feature Selection Instantiation

selab.sogang.ac.kr

Dynamic Product LinesDynamic Product Lines

Product-line ar-chitec-

ture

Component set

Product 1 Product 2 Product n

...

F0

VF2 F3

VF7 VF8

F1

F4 F6F5

Mandatory features

Optional features

Alternative features

Feature Model

Mapping

Feature Selection InstantiationAt

Run-time

selab.sogang.ac.kr 36

ConclusionsConclusions

Self-Adaptive SW approach can be a good solu-tion to separate control complexity at design time in Robot SW.

Overall framework for test-bed has been estab-lished but need a lot in depth work for each phase

SPL can be helpful in development of Self-Adap-tive SW.