Title: Search-based Optimization of Cyber-Physical System Software Deployment
1Search-based Optimization of Cyber-Physical
System SoftwareDeployment Configuration
Dr. Christopher Jules White jules_at_dre.vanderbilt.
edu www.dre.vanderbilt.edu/jules/ Research
Assistant Professor Vanderbilt University
Nashville, Tennessee
Presented at the University of Alabama,
Birmingham, February 2nd, 2009
Sponsors NSF, Air Force Research Lab, Lockheed
Martin Advanced Technology Lab, Raytheon,
Siemens Corporate Research
2Cyber-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
3QoS Constraints Make Manual CPS Design Hard
Safety Constraints
Fault-tolerance Constraints
Resource Constraints
Real-time Scheduling Constraints
Cost Constraints
- 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
4Open Deployment Configuration Problems in CPS
Automated Software Configuration
Software Configuration Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 1 How to automate the configuration of
software components to meet resource constraints
optimize a linear function at scale? (Past Work)
5Open Deployment Configuration Problems in CPS
Fault-tolerance Constraints
Real-time Scheduling Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 2 How can the software deployment to
processors in CPS be automated optimized at
scale? (Ongoing / Emerging Work)
6Open Deployment Configuration Problems in CPS
Real-time Scheduling Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 3 How can the software deployment
configuration be optimized in tandem to meet
real-time scheduling, resource, fault-tolerance
constraints? (Future Work)
7Summary 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
8Open Deployment Configuration Problems in CPS
Automated Software Configuration
Software Configuration Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 1 How to automate the configuration of
software components to meet resource constraints
optimize a linear function at scale? (Past Work)
9Problem 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
CPS Configuration
10Problem 1 Automated CPS Software Configuration
CPS Conf
CPS SPLs
Feature Models
Automated Conf.
Poor Deployment Configuration
Good Deployment 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
11Software Product-lines
CPS Conf
CPS SPLs
Feature Models
Automated Conf.
Conf. 3
Conf. 2
Software Product Line
Configuration 1
- 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
12Feature Model Configuration Grammar
CPS Conf
CPS SPLs
Feature Models
Automated Conf.
Automobile Variability in a Feature Model
- 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
13Goal Helping Designers via Configuration
Automation
CPS Conf
CPS SPLs
Feature Models
Automated Conf.
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
14Problem 1 Challenge Roadmap
- Challenges
- Configuration scale
- Multiple models
- Mixed resource configuration constraints
- Limitations of Existing Solutions
Goal
Challenges
Solution
Evaluation
15Challenge 1.1 Scalable Automated Configuration
Automobile feature model has 1,000s of features
memory cost constraints
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!
16Challenge 1.2 Multi-model Automated 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
17Challenge 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
18Existing Work CSP-based Automated Configuration
CSP Solver
Existing Approaches
- 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
- Jules White et al., Constraint-based Model
Weaving, Springer Transactions on Aspect-Oriented
Programming Special Issue on Aspects
Model-Driven Engineering, 39pgs., (to appear) - 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
Automated Configuration Choices
19CSP 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!
CSP
There are 100,000,000,000,000 possible
configurations for this example
20Problem 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
Set Population
FCF Alg.
21Solution Approach Filtered Cartesian Flattening
Set Population
FCF Alg.
- 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
22Overview of MMKP
Set Population
FCF Alg.
- 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
23Simplify by Converting FM to MMKP Sets/Items
Set Population
FCF Alg.
- 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
24Flattening/Filtering (Compilation)
Set Population
FCF Alg.
Set (Euclidean,PCA,Face..), (MahCosine,PCA,Face
..), (IdaSoft,LDA,Face..), .
- 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
25Simplify Multi-Model Configuration with MMKP
Set Population
FCF Alg.
..
Brake Controller
Infotainment System
GPS Navigation
- Challenge 3 Solution ? Multiple feature models
can be merged into the same MMKP problem by
collecting their MMKP sets
26Problem 1 Evaluation
- Evaluation Empirically demonstrate that FCF can
configure feature models far beyond the scale of
standard CSP techniques
Goal
Challenges
Solution
Evaluation
27FCF Scalability Validation
CSP technique
FCF can scale up to problems CSP cant handle
is fast (10s ms)
28FCF Scales to Models with 1,000 Features
Models with 1,000 features configured in 1s
29FCF Scales to Models with 10,000 Features
Models with 10,000 features configured in 1-12s
30FCF 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
31FCF Provides Configuration Assistant
- Publications
- 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) - 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 - 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)
The FCF automation acts as a design assistant for
the developer
32Open Deployment Configuration Problems in CPS
Fault-tolerance Constraints
Real-time Scheduling Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 2 How can the software deployment to
processors in CPS be automated optimized at
scale? (Ongoing / Emerging Work)
33Problem 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
34Goal Optimized Software Deployment
How do we minimize hardware infrastructure needed
to support software configuration?
- 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
35Problem 2 Challenge Roadmap
- Challenges
- Multiple constraint types
- Need for network bandwidth optimization
- Limitations of Existing Solutions
Goal
Challenges
Solution
Evaluation
36Challenge 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
- Bin-packing for multiprocessor scheduling
(real-time scheduling resource constraints) - Bin-packing for memory constraints (resource
constraints) - CSP deployment models (exponential algorithms)
Bin-packing models CPUs as bins but cannot handle
all constraint types
Multiple Constraints
Network Opt.
37Challenge 2.2 Network Bandwidth Optimization
Multiple Constraints
Network Opt.
Bin-packing does not optimize for network
bandwidth usage
- Bin-packing algorithms do not perform network
bandwidth optimization - Existing Approaches
- Bin-packing with partitioning (subdivides
components for network optimization different
problem) - Mapping Task-Graphs using Integer Programming
(exponential algorithms) - CSP deployment models (exponential algorithms)
Network
38Problem 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
PSO Seeding
392.1 Approach Black Box Bin-packing
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
- We developed a first-fit hybrid bin-packing
constraint propagation algorithm - Solution Approach
- fits is a pluggable black box function
- Items are sorted in increasing order according to
the number of bins they will fit into - Items are placed using a first-fit policy
- 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
40Bin-packer Constraint Extensibility
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
- fits is a pluggable black box function
- The bin-packing heuristic is based on
- A first-fit packing policy
- 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
412.2 Approach ? Swarm Intelligence
New Bin-packing
- Existing techniques werent designed to handle
network bandwidth minimization a combination of
real-time scheduling, memory, co-location
constraints - Solution Approach
- Leverage evolutionary algorithms to explore the
design space for deployment plans that minimize
bandwidth - Competing deployment plans are evolved over a
series of generations to find an optimized
solution - Best deployment plan(s) is presented to the
developer
Particle Swarm Optimization (PSO)
Genetic Optimization
42Overview of Particle Swarm Optimization (PSO)
New Bin-packing
Particles Personal Best
Current Global Best
Possible Flight Path
Each particle is pulled towards a combination
of its personal best solution the global best
solution Velocity Calculation Formula
Particle
43Challenges Applying PSO
New Bin-packing
- Challenges Applying PSO
- How do you represent deployment plans as particle
positions? - How do you randomly generate valid initial
deployment plans? - How do you modify the particle flight plans to
adhere to deployment constraints use heuristic
information? - PSO degenerates to random search for many
problems!!!
44Particle Position Approach Deployment Vectors
New Bin-packing
Node 1
Node 2
Deployment topologies are represented as
vectors Example 1, 2, 1
45Permuting Deployment Plans
New Bin-packing
Design at Step i 1
Design at Step i
Node 1
Node 2
Node 1
Node 2
2, 1, 2
Velocity 1, -1, 0
1, 2, 2
46Poor Results with Random Particle Generation
New Bin-packing
Relatively Sparse Valid Solution Population
X
Invalid Solutions Dominate Space
- Most of the solution space represents
invalid solutions - The evolutionary swarm intelligence algorithms
degenerate into random searches with poor results!
47Random Deployment Plan Approach Semi-random
Bin-packing
New Bin-packing
By starting most of the particles on valid
solution points, we can help focus the search to
valid points
48Random Deployment Plan Generation
A Particle Represents A Deployment Topology
- We used our hybrid first-fit heuristic
bin-packing algorithm with randomization to
generate the initial particle positions - Bin-packer is forced to deploy a random subset of
the components first - Bin-packer is forced to use a random ordering for
those components - Remaining components are deployed normally with
the bin-packer
New Bin-packing
Particle Seeding
Semi-Randomized Bin-Packing
Particle Swarm
49Constrained Flight Path Approach Packing Order
Positions
New Bin-packing
In the process of flying towards a more optimal
solution, a particle may fly out of the valid
solution space
50Approach Add Guardrail to Solution Space
New Bin-packing
Our next approach was to try add a guardrail
to do a better job of restricting the search to
valid solutions
51Guardrail Packing Order Vectors
New Bin-packing
Changed vectors to represent bin-packing
orderings Example pack C3, C1, then C2
3, 1, 2
Node 1
Node 2
Bin-Packer
Deployment Topology
52Problem 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
53Validation Results Mission Avionics
Solution Approach PSO
Research Adapter
Aeronautics Deployment Problem
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
54Results on Avionics Example
6 processor reduction 13.9 X 107 Bytes 24
reduction in network bandwidth Solution found in
an average of 9s
55Best Results with State as Packing Order
4 X increase in the number of optimal solutions
produced
Solutions Solved with Given Optimality
Results comparing solutions from 100 invocations
of the algorithms using deployment vectors vs.
packing order vectors
56Evolutionary 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
57Deployment Ongoing Future Work
80 Core Processors
80 Embedded Processors
The hard deployment problems now, may become the
standard in a few years
5 years
Now
- 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?
58Ongoing Future Work
Real-time Scheduling Constraints
Resource Constraints
Cost Constraints
Problem 1
Problem 2
Problem 3
Problem 3 How can software deployments
configurations be optimized in tandem to meet
real-time scheduling, resource, fault-tolerance
constraints?
59Configuration Ongoing Future Work
Unexpected good combination of deployment
configuration
- 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
60Summary of Publications, Tutorials, Talks
- Journal Publications
- 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) - J. White, Jeff Gray, D. Schmidt, Constraint-based
Model Weaving, IEEE Transactions on
Aspect-Oriented Programming - J. White, H. Strowd, D. Schmidt, Creating
Self-healing Service Compositions with Feature
Models Microrebooting, International Journal of
Business Process Integration Management (to
appear) - J. White, D. Schmidt, Automating Deployment
Planning with an Aspect Weaver, IET Software
Special Issue on Domain-specific Modeling
Languages for Aspect-Oriented Programming - J. White, D. Schmidt, A. Nechypurenko, E.
Wuchner, Model Intelligence an Approach to
Modeling Guidance, UPGRADE Journal (to appear) - 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 - 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
61Summary of Publications, Tutorials, Talks
Conference Publications
- 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 - 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 - 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. - 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. - 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. - 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
- 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 - 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. - 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. - 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) - 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). - 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.
First Author
Second Author
62Summary 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 Chapters
- 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) - 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)
- Workshop Publications
- 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 - 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. - J. White, D. Schmidt, Sean Mulligan, The Generic
Eclipse Modeling System, Model-Driven Development
Tool Implementer's Forum, TOOLS '07, June, 2007,
Zurich Switzerland - 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. - 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. - 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.
- Submitted Papers
- 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 - 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
63Other Impact
- Generic Eclipse Modeling System (GEMS)
- 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 - Articles on GEMS have been written in both
English
German published in key trade
publications, such as Eclipse magazine
OBJEKT Spektrum - I have also presented tutorials on GEMS at
OOPSLA, ICSE, OOP, MODELS - Teaching as Research Grant
- Received a Vanderbilt Teaching as
Research grant to
introduce my research
on modeling topics to undergraduates - Undergraduate Graduate Involvement
- Mentored 4 undergraduate students on GEMS
research
projects that resulted in 4 publications
(including a journal paper a book chapter) - Graduate research projects using GEMS at UAB,
Vanderbilt, University of Innsbruck
64Other Impact
- Eclipse Model OptimizatiON (MOON) Project
- 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 - ILOG is the leading producer of rule engine,
constraint solver, configuration software - Research work for MOON is going to be in
collaboration with Jean Bezivin Frederic
Jouault at the University of Nantes
65Concluding Remarks
- Intelligent search-based automation techniques
can help designers find solutions to complex CPS
design problems. - Many of these real-world design problems require
new theoretical tooling advances to work at
scale with CPS constraint types - Scale is major challenge in current future
systems, but automation can help significantly - 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
66Creating Sets Tree Slicing/Dicing
Slice
Slice
Set 1
Set 3
Set 2
- 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
67Software/Hardware Design Productivity Gap
Complexity Current CPS Tools Can Handle
Emerging CPS Complexity
- 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