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
Presented at the University of Alabama, Birmingham, February 2 nd,
2009
Slide 2
Cyber-Physical Systems & Quality of Service A
Cyber-Physical System (CPS) involves close coordination between the
system's computational & physical elements CPS applications are
essential 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
Slide 3
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
Slide 4
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) Automated Software Configuration Problem 1Problem
2Problem 3
Slide 5
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
1Problem 2Problem 3
Slide 6
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 1Problem
2Problem 3
Slide 7
Summary of My Research Area Search-based Automation Software
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
Slide 8
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) Automated Software Configuration Problem 1Problem
2Problem 3
Slide 9
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
SolutionEvaluation SPLs for CPS Feature Models Automated Feature
Model Configuration CPS Configuration
Slide 10
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.
Slide 11
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 Software Product Line Configuration 1 Conf. 2 Conf. 3 CPS
Conf CPS SPLs Feature Models Automated Conf.
Slide 12
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 Model CPS Conf CPS SPLs Feature Models Automated
Conf.
Slide 13
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.
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 100s 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 Mixed
Constraints New Heuristic Alg. Needed
Slide 16
.. 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
Configuration CPS Scale Multiple Models CSP Limitations Mixed
Constraints New Heuristic Alg. Needed
Slide 17
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 Mixed Constraints New Heuristic Alg.
Needed
Slide 18
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 Automated
Configuration Choices CPS Scale Multiple Models CSP Limitations
Mixed Constraints 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***
Slide 19
CSP Approaches Dont 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,000s of
features! There are 100,000,000,000,000 possible configurations for
this example CPS Scale Multiple Models CSP Limitations Mixed
Constraints New Heuristic Alg. Needed CSP
Slide 20
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
SolutionEvaluation Transform to MMKP MMKP Set Aggregation Set
Construction Set Population FCF Alg.
Slide 21
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.
Slide 22
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.
Slide 23
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.
Slide 24
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.
Slide 25
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
ControllerInfotainment System GPS Navigation Transform to MMKP MMKP
Set Aggregation Set Construction Set Population FCF Alg.
Slide 26
Problem 1: Evaluation Evaluation: Empirically demonstrate that
FCF can configure feature models far beyond the scale of standard
CSP techniques Goal Challenges SolutionEvaluation
Slide 27
FCF Scalability Validation CSP technique FCF can scale up to
problems CSP cant handle & is fast (10s ms)
Slide 28
FCF Scales to Models with 1,000 Features Models with 1,000
features configured in ~1s
Slide 29
FCF Scales to Models with 10,000 Features Models with 10,000
features configured in 1-12s
Slide 30
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
Slide 31
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
Slide 32
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
1Problem 2Problem 3
Slide 33
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
SolutionEvaluation
Slide 34
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?
Slide 35
Problem 2: Challenge Roadmap Challenges: 1.Multiple constraint
types 2.Need for network bandwidth optimization Limitations of
Existing Solutions Goal Challenges SolutionEvaluation Multiple
Constraints Network Opt.
Slide 36
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.
Slide 37
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.
Slide 38
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 SolutionEvaluation New Bin-packing Alg. PSO
Flight Plan Guardrail Particle Positions PSO Seeding
Slide 39
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 function 2.Items are
sorted in increasing order according to the number of bins they
will fit into 3.Items are placed using a first-fit policy
4.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 Guardrail PSO 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
Slide 40
Bin-packer Constraint Extensibility PSO Particle Positions
Guardrail PSO 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: 1.A first-fit packing policy 2.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
Slide 41
2.2 Approach Swarm Intelligence Existing techniques werent
designed to handle network bandwidth minimization & a
combination of real-time scheduling, memory, & co-location
constraints Solution 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 Guardrail PSO Seeding
New Bin-packing
Slide 42
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 Particles Personal Best Particle Possible Flight Path
PSO Particle Positions Guardrail PSO Seeding New Bin-packing
Slide 43
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 Guardrail
PSO Seeding New Bin-packing
Slide 44
Particle Position Approach: Deployment Vectors Node 1 Node 2
Deployment topologies are represented as vectors: Example: 1, 2, 1
PSO Particle Positions Guardrail PSO Seeding New Bin-packing
Slide 45
Permuting Deployment Plans Node 1 Node 2 1, 2, 2 PSO Particle
Positions Guardrail PSO Seeding New Bin-packing Node 1 Node 2 2, 1,
2 Velocity = 1, -1, 0 Design at Step i Design at Step i + 1
Slide 46
Poor Results with Random Particle Generation X Most 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 Guardrail PSO
Seeding New Bin-packing
Slide 47
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
Guardrail PSO Seeding New Bin-packing
Slide 48
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 Guardrail
PSO Seeding New Bin-packing
Slide 49
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
Guardrail PSO Seeding New Bin-packing
Slide 50
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 Guardrail PSO
Seeding New Bin-packing
Slide 51
Guardrail: Packing Order Vectors Node 1Node 2 Changed vectors
to represent bin-packing orderings Example pack C3, C1, & then
C2 3, 1, 2 Bin-Packer Deployment Topology PSO Particle Positions
Guardrail PSO Seeding New Bin-packing
Slide 52
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 SolutionEvaluation
Slide 53
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
Slide 54
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
Slide 55
Best Results with State as Packing Order Solutions Solved with
Given Optimality 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
Slide 56
Evolutionary Deployment Automation Results: 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 load
Evolutionary algorithms can improve manually produced deployments
are generate new ones
Slide 57
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
Slide 58
Ongoing & Future Work Problem 3: How can software
deployments & configurations be optimized in tandem to meet
real-time scheduling, resource, & fault-tolerance constraints?
Problem 1Problem 2Problem 3
Slide 59
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
Slide 60
Journal Publications 1.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 AuthorSecond Author Summary of
Publications, Tutorials, & Talks
Slide 61
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 AuthorSecond 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
Slide 62
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 Chapters 20.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 Papers 22.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 Publications 24.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
Slide 63
Other Impact Generic 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 Grant 1.Received a
Vanderbilt Teaching as Research grant to introduce my research on
modeling topics to undergraduates Undergraduate & Graduate
Involvement 1.Mentored 4 undergraduate students on GEMS research
projects that resulted in 4 publications (including a journal paper
& a book chapter) 2.Graduate research projects using GEMS at
UAB, Vanderbilt, & University of Innsbruck
Slide 64
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
Slide 65
Concluding Remarks 1.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 types 3.Scale is major challenge in current & future
systems, but automation can help significantly 4.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 research Two 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
Slide 66
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 Slice Set 1 Set 2 Set 3
Slide 67
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