1 Self-Adaptive Software Application Development SHAGE : A Framework for Self-Adaptive Software...
-
date post
21-Dec-2015 -
Category
Documents
-
view
225 -
download
1
Transcript of 1 Self-Adaptive Software Application Development SHAGE : A Framework for Self-Adaptive Software...
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 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
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 19
RobocodeRobocode
• IBM developed Fighting Robot game SW• Basic Library and Simulator are provided• Competitions among various algorithms .
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
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 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.