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

Search-based Optimization of Cyber-Physical System Software Deployment & Configuration Dr. Christopher Jules White [email protected] jules

Embed Size (px)

Citation preview

  • Slide 1
  • 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.
  • Slide 14
  • Problem 1: Challenge Roadmap Challenges: 1.Configuration scale 2.Multiple models 3.Mixed resource & configuration constraints Limitations of Existing Solutions Goal Challenges SolutionEvaluation CPS Scale Multiple Models CSP Limitations Mixed Constraints New Heuristic Alg. Needed
  • Slide 15
  • 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