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
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
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
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
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
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
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”
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
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
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.
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.
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.
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.
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
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
…..
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
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
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***
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
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.
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.
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.
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.
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.
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.
Problem 1: Evaluation
Evaluation: Empirically demonstrate that FCF can configure feature models far beyond the scale of standard CSP techniques
Goal Challenges Solution Evaluation
FCF Scalability Validation
CSP technique
FCF can scale up to problems CSP can’t handle & is
fast (10s ms)
FCF Scales to Models with 1,000 Features
Models with 1,000 features
configured in ~1s
FCF Scales to Models with 10,000 Features
Models with 10,000 features configured in
1-12s
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
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
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
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
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?
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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