Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition PI: Ted Bapty Sandeep Neema, Jeff Gray Institute for Software Integrated Systems Vanderbilt University Contract #: F C-1695
Problem Description Composition of Embedded Systems –Close Coupling of Environment, Architecture & Requirements –All Requirements (Functional, Temporal, Interface, Resources) MUST be satisfied. –How do we represent & maintain these requirements? Requirements Map to Constraints on System Implementation –Many Constraints Crosscutting the Design –Complex mapping from high-level requirements to constraints –How do we perform the mapping, distributing requirements? Need for flexibility to rapidly deploy designs to families of applications –How can we use constraints to adapt a core design to specific application instances? –How can we provide better scalability? –OMG MDA
Project Objectives Create domain-specific, graphical languages that capture the functional design of real-time embedded systems – Bold Stroke/CCM – BBN UAV A weaving process that maps high-level invariant properties and system requirements to design constraints affecting specific model regions, A generation process that: –design space nav. -> customized component composition –generate CDL; simulate effects of contracts
Project Objectives Apply AO Weaving concepts to Model-based systems –Weavers ‘Decorate’ Models with attributes & constraints –Weavers compose new model constructs … select(p | p.name() == “Model*” && p.kind() == “StateFlow”)->Strategy3(); … Strategy1 Strategy2 Strategy3 StrategyN
Technical Approach Metaweaver Framework –Synthesize weavers from a Strategy Language Strategized Weavers + Models Interpret Requirements –Weavers map High-level Specifications to Low-level Constraints using Strategies –Constraints customize core design System Synthesis –Design-Space Navigation, uses constraints to select efficient design from design space. –Generate customized components –Generate CDL –Simulations of system performance MetaWeaver Framework Domain-Specifc Weaver Domain Specific Strategies Specification Aspects Design Space Navigation/ Code Generation R R R R CDL Customized Component Composition A B cde 12 3 B cde 1''2'' 4 F B cde 1'1'2'2' 3'3' 4 A B cde B cde F B cde
Example: QoS Spec Generation Dist DispA UAV DispB BBN Weaver Specification Aspects Dist DispA UAV DispB Strategies
Example: QoS Spec Generation Interpretation/ Code Generation Dist DispA UAV DispB Dist DispA UAV DispB CDL
Example: Boeing OEP Proc DispA Sensor DispB Bold Stroke Weaver Specification Aspects Proc DispA Sensor DispB Latency < 2ms Latency < 6ms Latency < 68ms Strategies
Example: Boeing OEP Design Space Navigation DispASensor DispB Proc DispA Sensor DispB Latency < 2ms Latency < 6ms Latency < 68ms Proc #2 Proc #1 Eager Lazy
Contribution To PCES “analysis and transformation tools that achieve and preserve required properties” –The mapping of requirements to constraints will contribute to the achievement of system properties in the implementation. –OBDD-based constraint management “composition techniques that can be used cooperatively to support real-time programming” –Modeling component composition from requirements “programming reusable and portable aspect code” –Reusable libraries of aspects composing advice based on system and application requirements to customize product family design “engineering approaches that can greatly reduce effort to program embedded systems” –Strategies for creating contracts & CDL generation
Contribution to Relevant Military Applications Bold Stroke: –Domain-specific application composition Rapid customization of military systems –Tuning implementations to system requirements, constraints Re-use of components one component fits all via customization (through aspects) BBN UAV –Generation and management of complex behaviors (e.g., contracts) Systems are more adaptive to changing conditions Systems make better use of resources to accomplish mission –Evaluation/simulation of system behavior System behavior known before deployment More reliable systems, less chance of failure in ‘odd’ circumstances Others (original project plan) –Software Radio Single platform design multiple waveform support Efficient generation of HW/SW –AMCOM Missile ATR Rapid design-space tradeoff for architecture studies, Coupled with SW/HW generation
Project Tasks/Schedule Definition Implementation of Constraint & Strategy Language –Constraint/Strategy LanguageJan 01,Jan 02 (v2) Meta Weaver Framework Aug 01, Spring 02 Design Space Exploration & Synthesis –CDL Generation (rev 1)Oct 01 –OBDD RepresentationApr 02 –Aspect Selection/CustomizationAug 02 Demonstrations –Bold StrokeApr 02 –BBN UAVApr 02 –SWRAug 03 Personal challenge problem: Graduate!May 02
Technical Progress/Accomplishment Definition Implementation of Constraint & Strategy Language –Constraint/Strategy Language (v1) –Models-to-XML Translation –Constraint Weaver Synthesis90% Definition of Domain Modeling Languages –Component Modeling80% –State/Contract (New) 70% Synthesis –CDL50% –Bold Stroke Component Composition 5% Demonstrations –BBN30% –Boeing10%
Next Milestones Complete remaining portion of weaver framework BBN UAV –Complete CDL generator –Think about new strategy polices for state adaptation –Generate Contract Simulation –Demonstration Boeing Bold Stroke –Complete Bold Stroke Modeling –Generate Bold Stroke Component Composition –Demonstration
Collaborations OEP Interaction: –Boeing Bold Stroke Applications Modeling/Implementation –BBN Contract Modeling and Simulation/CDL Generation Other PCES participants: –UVA/Boeing Modeling Collaboration, Tool Integration –PARC/UBC (planned) Component Behavior Composition –Cornell (planned) Mapping our BBN models to XML for analysis Other DARPA projects: MoBIES –Extending Bold Stroke Modeling to support component composition with aspects
Tech Transfer AFRL/IFGC (Rome AFB), Wayne Bonser (IFGC), Rodger Dziegel (IFTD) –Tools for Waveform Definition Language-to-Software Radio Implementation USARMY/AMCOM; Richard Sims ( AMSAM-RD-MG-IP) –Missile Embedded Systems, HW/SW Codesign Workshop organization: –OOPSLA 2001 Workshop on Domain-Specific Visual Languages –AOSD Workshop on “Early Aspects” (in submission) Publications/Interactions –ICSE 01 –OOPSLA 01: Poster, GME Demo –CACM (October 2001) –IEEE Computer (November 2001) -> GME
Program Issues Tool Integration –For those working in the modeling space, tool integration and model exchange can be a hurdle –Not an OEP-specific challenge problem – exists for both OEPs –déjà vu: “Boeing Annual Product Data Exchange Workshop”
Workshop Announcement Workshop on New Visions for Software Design and Productivity: Research and Applications –December 13-14, 2001 –In Nashville, TN –Position Paper deadline: October 31, 2001 – –Special appearance by Garth Brooks (just kidding…)
Institute for Software Integrated Systems Vanderbilt University Backup Slides
System MetaWeaver Framework Straegiezed Weaver StrategiesSpecs M’ware Aspects M’ware Application Models M’ware Aspects M’ware Application Models + Constraints C Design Space Navigation M’ware Application Weavers/ Compilers AO Source Code Tool Architecture
System SW/HW Description Waveform Descr. #1 AO Constraint Specs Constraint Weaver System Synthesis Waveform Descr. #N Constraint Weaver System Synthesis Generic Embedded Object System Design Customized SW-Based Radios
Meaningful Specifications Power Precision Time Resource & Mapping Strategies for making constraints depend on application, system requirements. –Different constraints, same strategy different systems –Different strategies, same constraints different performance and optimizations of systems Constraints meaningful in specific domain Extension to other domains
Specification Application via Strategy Language Specify how to apply constraints across object hierarchy. Determines how constraints are divided/responsibility shared among components. Flexible to permit different goals –Latency optimization –Throughput optimization –Power –Future/User-Defined, etc….
BehavioralStructural Constraints Resources Design Analysis Vendor/COTS Tools System Synthesis System Simulation Reconfigurable Computing Runtime Env. Model-Integrated Design Environment for Adaptive Computing Specification Language Strategy Language
Demonstration Software Radio Model Hardware Resources –Support multiple target platforms Model Computational Components –HW/SW DSP Cores Develop a “Waveform Description Language” –Define Frequency Range/Spacing/Accuracy –Define Modulation Type/Index/Rate –Define Channel Coding Synthesize SW Radio for Target Hardware