search-based optimization of cyber-physical system software deployment & configuration

67
Search-based Optimization of Cyber-Physical System Software Deployment & Configuration Dr. Christopher Jules White [email protected] www.dre.vanderbilt.edu/~jules/ Research Assistant Professor Vanderbilt University Nashville, Tennessee Sponsors: NSF, Air Force Research Lab, Lockheed Martin Advanced Technology Lab, Raytheon, & Siemens Corporate Research sented at the University of Alabama, Birmingham, February 2 nd ,

Upload: coty

Post on 25-Feb-2016

22 views

Category:

Documents


3 download

DESCRIPTION

Search-based Optimization of Cyber-Physical System Software Deployment & Configuration. Dr. Christopher Jules White [email protected] www.dre.vanderbilt.edu/~jules/ Research Assistant Professor Vanderbilt University Nashville, Tennessee. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Search-based Optimization of Cyber-Physical System Software

Deployment & ConfigurationDr. Christopher Jules White

[email protected]/~jules/

Research Assistant ProfessorVanderbilt University Nashville, Tennessee

Sponsors: NSF, Air Force Research Lab, Lockheed Martin Advanced Technology Lab, Raytheon, &

Siemens Corporate Research

Presented at the University of Alabama, Birmingham, February 2nd, 2009

Page 2: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Cyber-Physical Systems & Quality of Service• A Cyber-Physical System (CPS)

involves close coordination between the system's computational & physical elements 

• CPS applications areessential in mission- & safety-critical domains, such as aerospace, automotive, chemical processes, civil infrastructure, energy, entertainment, healthcare, manufacturing, & transportation

• CPS applications must adhere to complex sets of Quality of Service (QoS) constraints, such as real-time scheduling, to ensure safety & efficiency

Page 3: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

QoS Constraints Make Manual CPS Design Hard

• A key problem in developing CPS systems is that the large number of stringent QoS constraints & the need for optimization make it hard for developers to manually find valid/optimized design solutions

• We need intelligent modeling & automation techniques to help developers find solutions to these hard CPS design problems

Real-time SchedulingConstraints

ResourceConstraints

Fault-toleranceConstraints

SafetyConstraints

CostConstraints

Page 4: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Open Deployment & Configuration Problems in CPS

Problem 1: How to automate the configuration of software components to meet resource constraints & optimize a linear function at scale?(Past Work)

ResourceConstraints

CostConstraints

SoftwareConfigurationConstraints

Automated Software Configuration

Problem 1 Problem 2 Problem 3

Page 5: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Open Deployment & Configuration Problems in CPS

Problem 2: How can the software deployment to processors in CPS be automated & optimized at scale?(Ongoing / Emerging Work)

Problem 1 Problem 2 Problem 3

Real-time SchedulingConstraints Cost

Constraints

ResourceConstraints

Fault-toleranceConstraints

Page 6: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Open Deployment & Configuration Problems in CPS

Problem 3: How can the software deployment & configuration be optimized in tandem to meet real-time scheduling, resource, & fault-tolerance constraints?(Future Work)

Problem 1 Problem 2 Problem 3

Real-time SchedulingConstraints Cost

Constraints

ResourceConstraints

Page 7: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Summary of My Research Area

Search-based AutomationSoftware Deployment

& Configuration at Scale

Modeling

My work focuses on using modeling & search-based automation to decrease the complexity of CPS software deployment & configuration

My work spans the gamut of theory, tools, & experimentation “at scale”

Page 8: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Open Deployment & Configuration Problems in CPS

Problem 1: How to automate the configuration of software components to meet resource constraints & optimize a linear function at scale?(Past Work)

ResourceConstraints

CostConstraints

SoftwareConfigurationConstraints

Automated Software Configuration

Problem 1 Problem 2 Problem 3

Page 9: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Goal Roadmap

Goal: Help designers automate the completion of partial software configurations for large-scale systems

Context: CPS Software Product Lines

Goal Challenges Solution Evaluation

SPLs for CPS Feature Models Automated Feature Model Configuration

CPS Configuration

Page 10: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Automated CPS Software Configuration

Key Challenges• CPS applications can have 100s to 1,000s of components & constraints

making finding ANY valid configuration hard• Optimization is critical, e.g., differences of a few $$$ can translate into

millions of $$$ in additional costs or drastic differences in QoS• The configuration can have a substantial impact on QoS

Poor Deployment & Configuration Good Deployment & Configuration

CPS Conf CPS SPLs Feature Models Automated Conf.

Page 11: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Software Product-lines

• Software Product Lines (SPLs) create software that can be reconfigured for new requirement sets

• The configuration rules for the software are capture in a model• Development is done via configuration rather than coding or ad hoc

reuse

SoftwareProduct

Line

Configuration 1

Conf. 2

Conf. 3

CPS Conf CPS SPLs Feature Models Automated Conf.

Page 12: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Feature Model: Configuration Grammar

• Feature Models have become a widely accepted modeling standard to specify SPL configuration rules

• Software variabilities & increments of functionality are modeled as features

• Feature models are a tree-like arrangement of features & constraints between features

• Configurations of SPL variants are described as feature selections

Automobile Variability in a Feature ModelCPS Conf CPS SPLs Feature Models Automated Conf.

Page 13: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Goal: Helping Designers via Configuration Automation

Goal:• User manually selects

desired features• User specifies key

constraints that must be adhered to, such as resource limits

• Intelligent automation determines how to optimize the selection of the remaining features & adhere to constraints

Automation selects the remaining 980+ features

The user selects the 20 important features

CPS Conf CPS SPLs Feature Models Automated Conf.

Page 14: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Challenge Roadmap

Challenges:

1. Configuration scale2. Multiple models 3. Mixed resource & configuration constraints

Limitations of Existing Solutions

Goal Challenges Solution Evaluation

CPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

Page 15: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Automobile Software ~5K Features

• Selecting a valid set of features that satisfies a resource constraint is NP-Hard

• It is estimated that current cell phones have 1 million lines of code• Automobiles are estimated to have 100’s of millions of lines of codes• Defense system software repositories are also growing dramatically

Large-scale problems most need automation to reduce complexity!

Challenge 1.1: Scalable Automated Configuration

Automobile feature model has 1,000s of features & memory +

cost constraints

CPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

Page 16: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

…..

Brake Controller GPS Navigation

In production CPS environments, the problem is even harder:• We have multiple independent applications sharing the same resources,

such as memory• Each application is represented by an independent feature model• The feature selections across all feature models must satisfy the

resource constraints

Challenge 1.2: Multi-model Automated ConfigurationCPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

Page 17: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Challenge 1.3: Mixed Resource/Configuration

•Can we just turn this into a knapsack problem?•…or bin-packing?

•Feature selection with resource constraints is NP-hard

Knapsack

CPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

Page 18: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Existing Work: CSP-based Automated Configuration

• Feature models mapped to Constraint Satisfaction Problems (CSPs)

• Partial configurations represented as a partial labeling of the CSP variables

• A CSP solver is used to autonom-ously complete partial configuration

Existing Approaches:

CSP Solver

AutomatedConfiguration

Choices

CPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

1. Jules White et al., Constraint-based Model Weaving, Springer Transactions on Aspect-Oriented Programming Special Issue on Aspects & Model-Driven Engineering, 39pgs., (to appear)

2. Jules White et al., Automated Diagnosis of Product-line Configuration Errors in Feature Models, Software Product Lines Conference (SPLC), 10pgs., September, 2008, Limmerick, Ireland (30% Acceptance Rate), ***Received the Best Paper Award***

Page 19: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

CSP Approaches Don’t Scale to Emerging CPS

CSP approaches can top out around ~150 features for tough

configuration problems with resource constraints

We want techniques to handle 1,000’s of features!

There are 100,000,000,000,000 possible configurations for this example

CPS Scale Multiple Models

CSP Limitations

MixedConstraints New Heuristic

Alg. Needed

CSP

Page 20: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Solution Roadmap

Solution Approach: Transform feature configuration problems with resource constraints into multi-dimensional multiplechoice knapsack problems

Benefits: Ability to apply scalable polynomial-time heuristic algorithms & aggregate sets for multiple models

Goal Challenges Solution Evaluation

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 21: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Solution Approach: Filtered Cartesian Flattening

• Our solution approach is called Filtered Cartesian Flattening (FCF):

• We reduce the feature model to the less constrained Multidimensional Multiple-choice Knapsack Problem (MMKP)

• We use an MMKP heuristic algorithm to solve

• We translate the MMKP solution into a feature model configuration

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 22: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Overview of MMKP

• Divides items into sets & requires choosing exactly one item from each set• Challenge 1 Solution There are excellent polynomial-time MMKP algs• Challenge 2 Solution MMKP mixes resource & configuration constraints

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 23: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Simplify by Converting FM to MMKP Sets/Items

• We simplify the configuration problem by converting to an MMKP• To convert to MMKP, we create a series of MMKP sets, such that

• The items in the sets represent partial feature model configurations• The partial configurations are divided into sets such that choosing one

configuration from each set always results in a complete & valid configuration

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 24: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Flattening/Filtering (Compilation)

• We create the items & sets by enumerating the possible configurations of subtrees

• A state explosion occurs as we flatten the subtrees by enumerating the configurations

• We bound the number of items per set:• A heuristic (filter) is used to select items when the bound is

exceeded• We calculated value/resource consumption

& took the top 2,000 partial configurations

Set { (Euclidean,PCA,Face..),

(MahCosine,PCA,Face..), (IdaSoft,LDA,Face..),

….}

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 25: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Simplify Multi-Model Configuration with MMKP

• Challenge 3 Solution Multiple feature models can be merged into the same MMKP problem by collecting their MMKP sets

…..

Brake Controller Infotainment System GPS Navigation

Transform to MMKP MMKP

Set Aggregation

Set Construction Set Population

FCF Alg.

Page 26: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Evaluation

Evaluation: Empirically demonstrate that FCF can configure feature models far beyond the scale of standard CSP techniques

Goal Challenges Solution Evaluation

Page 27: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

FCF Scalability Validation

CSP technique

FCF can scale up to problems CSP can’t handle & is

fast (10s ms)

Page 28: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

FCF Scales to Models with 1,000 Features

Models with 1,000 features

configured in ~1s

Page 29: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

FCF Scales to Models with 10,000 Features

Models with 10,000 features configured in

1-12s

Page 30: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

FCF Provides “Configuration Assistant”Results:• A developer can use FCF to

rapidly analyze different configuration alternatives

• What configuration minimizes memory while adding infotainment capabilities?

• Is it possible to find a configuration that includes ABS Brake Controllers for less than X$?

• Software configurations are generated in seconds rather than hours, days, etc.

The FCF automation acts as a design assistant for the

developer

Page 31: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Publications:1. Jules White et al, Using Filtered

Cartesian Flattening & Microrebooting to Build Enterprise Applications with Self-adaptive Healing, Software Engineering for Self-Adaptive Systems, 2009 (to appear)

2. Jules White et al, Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints, First International Workshop on Analyses of Software Product Lines at the 12th International Software Product Line Conference, Limerick, Ireland, September 12, 2008

3. Jules White et al, Selecting Highly Optimal Architectural Feature Sets with Filtered Cartesian Flattening, Journal of Software & Systems Special Issue on Design Decisions & Design Rationale in Software Architecture (Submitted)

FCF Provides “Configuration Assistant”

The FCF automation acts as a design assistant for the

developer

Page 32: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Open Deployment & Configuration Problems in CPS

Problem 2: How can the software deployment to processors in CPS be automated & optimized at scale?(Ongoing / Emerging Work)

Problem 1 Problem 2 Problem 3

Real-time SchedulingConstraints Cost

Constraints

ResourceConstraints

Fault-toleranceConstraints

Page 33: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 2: Goal

Goal: Help designers automate the deployment of software to hardware processors to minimize hardware footprint & network bandwidth consumption

Impact: Reduced cost, power consumption, weight, maintenance

Goal Challenges Solution Evaluation

Page 34: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Goal: Optimized Software Deployment

Goal• Find a deployment that minimizes the number of required processors • In planes, each 1lb of processing infrastructure adds 4lbs of

supporting infrastructure as well as power, cost, & maintenance complexity to the system

• Find a deployment of the software to hardware that minimizes network load

How do we minimize hardware infrastructure needed to support

software configuration?

Page 35: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 2: Challenge Roadmap

Challenges:

1. Multiple constraint types2. Need for network bandwidth optimization

Limitations of Existing Solutions

Goal Challenges Solution Evaluation

Multiple Constraints Network Opt.

Page 36: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Bin-packing models CPUs as bins but cannot handle all

constraint types

Challenge 2.1: Mixed Constraint Bin-packing

Most resource constrained deployment problems are modeled as bin-packing problems

Bin-packing algorithms do not simultaneously handle real-time scheduling, co-location, bin restriction, & resource constraints

Existing Approaches:1. Bin-packing for multiprocessor

scheduling (real-time scheduling & resource constraints)

2. Bin-packing for memory constraints (resource constraints)

3. CSP deployment models (exponential algorithms)

Multiple Constraints Network Opt.

Page 37: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Bin-packing does not optimize for network

bandwidth usage

Challenge 2.2: Network Bandwidth Optimization

Bin-packing algorithms do not perform network bandwidth optimization

Existing Approaches:1. Bin-packing with partitioning

(subdivides components for network optimization – different problem)

2. Mapping Task-Graphs using Integer Programming (exponential algorithms)

3. CSP deployment models (exponential algorithms)

Network

Multiple Constraints Network Opt.

Page 38: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 2: Solution Roadmap

Solution Approach: Combine hybrid heuristic bin-packing with particle swarm optimization

Benefits: Reduced weight, cost, power consumption, fuel consumption, etc. for CPS

Goal Challenges Solution Evaluation

New Bin-packing Alg.

PSO Flight PlanGuardrail

Particle Positions PSO Seeding

Page 39: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

2.1 Approach: Black Box Bin-packing

We developed a first-fit hybrid bin-packing constraint propagation algorithm

Solution Approach:1. *fits* is a pluggable black box function2. Items are sorted in increasing order

according to the number of bins they will fit into

3. Items are placed using a first-fit policy4. Remaining items are resorted after each

item placement

Publications:Brian Dougherty, Jules White, Jaiganesh Balasubramanian, Chris Thompson, and Douglas C. Schmidt, Deployment Automation with BLITZ, 31st International Conference on Software Engineering, May 16-24, 2009 Vancouver, Canada

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

An item *fits* into a bin if it is schedulable using

response time analysis or Liu & Layland, does not

exceed resource limits, & does not violate constraints

in the constraint network

Page 40: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Bin-packer Constraint Extensibility

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

*Fits* can be modified to use domain-specific

constraints like “it fits if the processor is 21 inches from

the perimeter of the car”

Solution Approach:1. *fits* is a pluggable black box

function

The bin-packing heuristic is based on:2. A first-fit packing policy3. Sorting items based on the

number of available bins they could fit into

*fits* can be modified to incorporate new constraint types without affecting the core heuristics

Page 41: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

2.2 Approach Swarm Intelligence

Existing techniques weren’t designed to handle network bandwidth minimization & a combination of real-time scheduling, memory, & co-location constraintsSolution Approach:1. Leverage evolutionary

algorithms to explore the design space for deployment plans that minimize bandwidth

2. Competing deployment plans are evolved over a series of generations to find an optimized solution

3. Best deployment plan(s) is presented to the developer

Particle Swarm Optimization (PSO)

Genetic Optimization

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 42: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Overview of Particle Swarm Optimization (PSO)

Each particle is *pulled* towards a combination of its personal best solution & the global best solution:

Velocity Calculation Formula:

Current Global Best

Particle’s Personal Best

Particle

Possible Flight Path

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 43: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Challenges Applying PSO

Challenges Applying PSO:1. How do you represent deployment plans as particle positions?2. How do you randomly generate valid initial deployment plans?3. How do you modify the particle flight plans to adhere to deployment

constraints & use heuristic information?

PSO degenerates to random search for many problems!!!

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 44: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Particle Position Approach: Deployment Vectors

Node 1 Node 2

Deployment topologies are represented as vectors:Example: 1, 2, 1

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 45: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Permuting Deployment Plans

Node 1 Node 2

1, 2, 2

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Node 1 Node 2

2, 1, 2

Velocity = 1, -1, 0

Design at Step iDesign at Step i + 1

Page 46: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Poor Results with Random Particle Generation

XMost of the solution space represents invalid solutions• The evolutionary & swarm intelligence algorithms

degenerate into random searches with poor results!

Invalid Solutions Dominate Space

Relatively Sparse Valid Solution

Population

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 47: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Random Deployment Plan Approach: Semi-random Bin-packing

By starting most of the particles on valid solution points, we can help focus the search to valid points

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 48: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Random Deployment Plan Generation

1. We used our hybrid first-fit heuristic bin-packing algorithm with randomization to generate the initial particle positions

2. Bin-packer is forced to deploy a random subset of the components first

3. Bin-packer is forced to use a random ordering for those components

4. Remaining components are deployed normally with the bin-packer

Particle Seeding

Semi-Randomized Bin-Packing

Particle Swarm

A Particle Represents A Deployment Topology

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 49: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Constrained Flight Path Approach: Packing Order Positions

In the process of flying towards a more optimal solution, a particle may fly out of the valid solution space

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 50: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Approach: Add “Guardrail” to Solution Space

Our next approach was to try & add a “guardrail” to do a better job of restricting the search to valid solutions

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 51: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Guardrail: Packing Order Vectors

Node 1 Node 2

Changed vectors to represent bin-packing orderings

Example pack C3, C1, & then C2

3, 1, 2

Bin-Packer Deployment Topology

PSO Particle Positions GuardrailPSO Seeding

New Bin-packing

Page 52: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Problem 1: Solution Roadmap

Evaluation: Mission avionics system data from Lockheed Martin comprising 41 processors, 41 software components, ~150 real-time tasks, & ~14,000 component interactions

Goal Challenges Solution Evaluation

Page 53: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Validation Results: Mission Avionics

Aeronautics Deployment Problem

Research Adapter

Solution Approach: PSO

Solution Approach: Genetic Opt.

Avionics Experiment Setup:• Mission avionics system data from Lockheed Martin comprising 41

processors, 41 software components, ~150 real-time tasks, & ~14,000 component interactions

• Attempted to minimize total processors used• Attempted to minimize total network bandwidth consumed

Page 54: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Results on Avionics Example

6 processor reduction

13.9 X 10^7 Bytes = 24% reduction in network bandwidth

Solution found in an average of 9s

Page 55: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Best Results with State as Packing OrderSo

lutio

ns S

olve

d w

ith G

iven

Opt

imal

ity

4 X increase in the number of

optimal solutions produced

Results comparing solutions from 100 invocations of the algorithms using deployment vectors vs. packing order vectors

Page 56: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Evolutionary Deployment AutomationResults:• Developers can rapidly

generate highly optimized deployment configurations

• The intelligent techniques improved the manually created design of a large-scale avionics system

• Improved deployment design reduces:

• Hardware cost• Power consumption• Fuel consumption• Network loadEvolutionary algorithms

can improve manually produced deployments are generate new ones

Page 57: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Deployment Ongoing & Future Work

5 yearsNow• To make chips more power efficient, multicore designs are being used• In 2007, Intel produced a demonstration processor with 80 cores• CELL processor have between 5 & 9 cores• If we are writing applications for 80 core processors in 5 years, we are

going to be facing similar deployment problems to what we have in CPS• How do we adapt these techniques for multicore?

80 Core Processors

The hard deployment problems now, may become the standard in a few years

80 Embedded Processors

Page 58: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Ongoing & Future Work

Problem 3: How can software deployments & configurations be optimized in tandem to meet real-time scheduling, resource, & fault-tolerance constraints?

Problem 1 Problem 2 Problem 3

Real-time SchedulingConstraints Cost

Constraints

ResourceConstraints

Page 59: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Configuration Ongoing & Future Work

• Currently, we separate the deployment & configuration phases:• Extend techniques to optimize configuration & deployment simultaneously

similar to hardware/software co-design. e.g. configuration/deployment co-design

• Optimization is done via scoring of solutions. Extend techniques to allow developers to define scoring functions in models

• Extend techniques to include cache effects in optimization analysis

Unexpected good combination of deployment & configuration

Page 60: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Journal Publications1. Jules White, James Hill, Jeff Gray, Sumant Tambe, Douglas C. Schmidt, Anirrudha

Gokhale, Improving Domain-specific Language Reuse through Software Product-line Configuration Techniques, IEEE Software Special Issue on Domain-Specific Languages & Modeling (to appear)

2. J. White, Jeff Gray, D. Schmidt, Constraint-based Model Weaving, IEEE Transactions on Aspect-Oriented Programming

3. J. White, H. Strowd, D. Schmidt, Creating Self-healing Service Compositions with Feature Models & Microrebooting, International Journal of Business Process Integration & Management (to appear)

4. J. White, D. Schmidt, Automating Deployment Planning with an Aspect Weaver, IET Software Special Issue on Domain-specific Modeling Languages for Aspect-Oriented Programming

5. J. White, D. Schmidt, A. Nechypurenko, E. Wuchner, Model Intelligence: an Approach to Modeling Guidance, UPGRADE Journal (to appear)

6. J. White, D. Schmidt, E. Wuchner, A. Nechypurenko, Automatically Composing Reusable Software Components for Mobile Devices, Journal of the Brazilian Computer Society Special Issue on Software Reuse, SciELO Brasil, Volume 14, Number 1, pgs. 25-44, March, 2008

7. J. White, D. Schmidt, A. Gokahle, Simplifying Autonomic Enterprise Java Bean Applications via Model-driven Engineering & Simulation, Journal of Software & Systems Modeling, Springer, Volume 7, Number 1, pgs. 3-23, May, 2007

First Author Second Author

Summary of Publications, Tutorials, & Talks

Page 61: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

8. Jules White, Douglas C. Schmidt, David Benavides, Pablo Trinidad, Antonio Ruiz-Cortez, Automated Diagnosis of Product-line Configuration Errors in Feature Models, Software Product Lines Conference (SPLC), 10pgs., September, 2008, Limmerick, Ireland (30% Acceptance Rate), ***Received the Best Paper Award***

9. Brian Dougherty, Jules White, Jaiganesh Balasubramanian, Chris Thompson, and Douglas C. Schmidt, Deployment Automation with BLITZ, 31st International Conference on Software Engineering, May 16-24, 2009 Vancouver, Canada

10. Brian Dougherty, Jules White, Chris Thompson, & Douglas C. Schmidt, Automating Hardware & Software Evolution Analysis, 16th Annual IEEE International Conference & Workshop on the Engineering of Computer Based Systems (ECBS), April 13-16, 2009 San Francisco, CA USA.

11. J. White & D. Schmidt, Model-Driven Product-Line Architectures for Mobile Devices, Proceedings of the 17th Conference of the International Federation of Automatic Control, Seoul, Korea, July 6-11, 2008.

12. J. White & D. Schmidt, Automated Configuration of Component-based Distributed Real-time & Embedded Systems from Feature Models, Proceedings of the 17th Conference of the International Federation of Automatic Control, Seoul, Korea, July 6-11, 2008.

13. J. White, K. Czarnecki, D. Schmidt, G. Lenz, C. Wienands, E. Wuchner, & Ludger Fiege, Automated Model-based Configuration of Enterprise Java Applications, EDOC 2007, October, 2007, Annapolis, Maryland

First Author Second Author

14. J. White, D. Schmidt, E. Wuchner, A. Nechypurenko, Optimizing & Automating Product-Line Variant Selection for Mobile Devices, 11th Annual Software Product Line Conference (SPLC), Sept. 10-14, 2007, Kyoto, Japan

15. A. Nechypurenko, E. Wuchner, J. White, & D. Schmidt, Application of Aspect-based Modeling & Weaving for Complexity Reduction in the Development of Automotive Distributed Realtime Embedded Systems, Proceedings of the Sixth International Conference on Aspect-Oriented Software Development, Vancouver, British Columbia, March 12-16, 2007.

16. J. White & D. Schmidt, Reducing Enterprise Product Line Architecture Deployment Costs via Model-Driven Deployment & Configuration Testing, 13th Annual IEEE International Conference & Workshop on the Engineering of Computer Based Systems (ECBS '06), March 27th-30th, 2006, Potsdam, Germany.

17. J. White, D. Schmidt, & A. Gokahle, Simplifying Autonomic Enterprise Java Bean Applications via Model-driven Development: a Case Study, Proceedings of MODELS 2005, ACM/IEEE 8th International Conference on Model Driven Engineering Languages & Systems, Half Moon Resort, Montego Bay, Jamaica, October 5-7, 2005. (Selected as a best paper)

18. J. White, D. Schmidt, & A. Gokahle, The J3 Process for Building Autonomic Enterprise Java Bean Systems, Proceedings of the International Conference on Autonomic Computing (ICAC 2005), Seattle, WA, June 2005 (short paper).

19. Jules White, Boris Kolpackov, Balachandran Natarajan, and Douglas C. Schmidt, Reducing Code Complexity With Vocabulary-Specific XML Language Bindings,Proceedings of the 43nd ACM Southeastern Conference, 7pgs., Atlanta, GA, March 2005.

Conference Publications

Summary of Publications, Tutorials, & Talks

Page 62: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Conference “Best Paper” Award Jules White, Douglas C. Schmidt, David Benavides, Pablo

Trinidad, Antonio Ruiz-Cortez, Automated Diagnosis of Product-line Configuration Errors in Feature Models, Software Product Lines Conference (SPLC), 10pgs., September, 2008, Limmerick, Ireland

Book Chapters20. J. White, A. Nechypurenko, E. Wuchner, & D. Schmidt, Reducing

the Complexity of Designing & Optimizing Large-scale Systems by Integrating Constraint Solvers with Graphical Modeling Tools, Designing Software-Intensive Systems: Methods & Principles, edited by Dr. Pierre F. Tiako, Langston University, Oklahoma, USA, (to appear)

21. Jules White, Brian Doughtery, Harrison Strowd, & Douglas C. Schmidt, Using Filtered Cartesian Flattening & Microrebooting to Build Enterprise Applications with Self-adaptive Healing, Software Engineering for Self-Adaptive Systems, edited by Betty H. C. Cheng, Rogerio de Lemos, Holger Giese, Paola Inverardi, & Jeff Magee (to appear)

Submitted Papers22. Jules White, Brian Doughtery, Douglas C. Schmidt, ASCENT: An

Algorithmic Technique for Designing Hardware & Software in Tandem, IEEE Transactions on Software Engineering Special Issue on Search-based Software Engineering

23. Jules White, Brian Doughtery, Douglas C. Schmidt, Selecting Highly Optimal Architectural Feature Sets with Filtered Cartesian Flattening, Journal of Software & Systems Special Issue on Design Decisions & Design Rationale in Software Architecture

Workshop Publications24. Jules White, Douglas C. Schmidt, Filtered Cartesian Flattening:

An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints, First International Workshop on Analyses of Software Product Lines at the 12th International Software Product Line Conference, Limerick, Ireland, September 12, 2008

25. James Hill, Jules White, Sean Eade, & Douglas C. Schmidt, Towards a Solution for Synchronizing Disparate Models of Ultra-Large-Scale Systems, Proceedings of the 2nd International Workshop on Ultra-Large-Scale Software-Intensive Systems at the 30th IEEE/ACM International Conference on Software Engineering, May 10-11, 2008, Leipzig, Germany.

26. J. White, D. Schmidt, Sean Mulligan, The Generic Eclipse Modeling System, Model-Driven Development Tool Implementer's Forum, TOOLS '07, June, 2007, Zurich Switzerland

27. A. Nechypurenko, J. White, E. Wuchner, & D. Schmidt, Applying Model Intelligence Frameworks for Deployment Problem in Real-time & Embedded Systems, Proceedings of MARTES: Modeling & Analysis of Real-Time & Embedded Systems to be held on October 2, 2006 in Genova, Italy in conjunction with the 9th International Conference on Model Driven Engineering Languages & Systems, MoDELS/UML 2006.

28. J. White, A. Nechypurenko, E. Wuchner, & D. Schmidt, Intelligence Frameworks for Assisting Modelers in Combinatorically Challenging Domains, Proceedings of the Workshop on Generative Programming & Component Engineering for QoS Provisioning in Distributed Systems, October 23, 2006, Portland, Oregon.

29. J. White & D. Schmidt, Simplifying the Development of Product-line Customization Tools via Model Driven Development, MODELS 2005 workshop on MDD for Software Product-lines: Fact or Fiction?, October 2, 2005, Jamaica.

Summary of Publications, Tutorials, & Talks

Page 63: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Other ImpactGeneric Eclipse Modeling System (GEMS)1. The Generic Eclipse Modeling System (GEMS) has been incorporated into the

Eclipse Foundation & is distributed by over 45 mirrors in North America, Europe, Asia, & South America

2. Articles on GEMS have been written in both English & German & published in key trade publications, such as Eclipse magazine & OBJEKT Spektrum

3. I have also presented tutorials on GEMS at OOPSLA, ICSE, OOP, & MODELS

Teaching as Research Grant4. Received a Vanderbilt “Teaching as

Research” grant to introduce my research on modeling topics to undergraduates

Undergraduate & Graduate Involvement5. Mentored 4 undergraduate students on GEMS

research projects that resulted in 4 publications (including a journal paper & a book chapter)

6. Graduate research projects using GEMS at UAB, Vanderbilt, & University of Innsbruck

Page 64: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Other Impact

Eclipse Model OptimizatiON (MOON) Project

1. I am currently co-leading a project with Patrick Albert, a co-founder of ILOG, to generalize these modeling guidance techniques to any Eclipse Modeling Framework (EMF) model

2. ILOG is the leading producer of rule engine, constraint solver, & configuration software

3. Research work for MOON is going to be in collaboration with Jean Bezivin & Frederic Jouault at the University of Nantes

Page 65: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Concluding Remarks1. Intelligent search-based automation techniques can help designers

find solutions to complex CPS design problems.2. Many of these real-world design problems require new theoretical &

tooling advances to work at scale & with CPS constraint types3. Scale is major challenge in current & future systems, but automation

can help significantly4. Good tooling is critical for transitioning the theoretical advances to

CPS system designers & teaching the techniques to students

The ASCENT Design Studio is a collection of design tools that includes my deployment & configuration researchTwo undergraduates & one graduate student are also involved in its development:• http://code.google.com/p/ascent-design-studio/

GEMS is available through the Eclipse Foundation at:• http://www.eclipse.org/gmt/gems

Page 66: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Creating Sets: Tree Slicing/Dicing

• We traverse the feature model tree & split it into subtrees:• Where there is a point of variability (XOR, Optional, etc.) that does not

have any ancestor points of variability• Each subtree will eventually produce one set for the MMKP problem

SliceSlice Set 1

Set 2 Set 3

Page 67: Search-based Optimization of  Cyber-Physical System Software Deployment & Configuration

Software/Hardware Design Productivity Gap

• The 1999 International Technology Roadmap for Semiconductors estimated that design complexity is increasing at 58% per year, while designer productivity is trailing at 21%

• The difference between these is the design productivity gap• Something similar is happening in software

• e.g., BMW estimates that software development now accounts for 20-28% of the cost of a car

• We need scalable design tools & techniques to close this gap• We need tools that can do smart analysis & optimization for designers

Complexity Current CPS Tools Can Handle Emerging CPS Complexity