250 likes | 362 Views
Constraint-Based Embedded Program Composition. PI: Ted Bapty Sandeep Neema, Jeff Gray Institute for Software Integrated Systems Vanderbilt University http://www.isis.vanderbilt.edu/projects/pces Contract #: F33615-00-C-1695. Problem Description. Composition of Embedded Systems
E N D
Constraint-Based Embedded Program Composition PI: Ted Bapty Sandeep Neema, Jeff Gray Institute for Software Integrated Systems Vanderbilt University http://www.isis.vanderbilt.edu/projects/pces Contract #: F33615-00-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 Strategy1 Strategy2 Strategy3 StrategyN … select(p | p.name() == “Model*” && p.kind() == “StateFlow”)->Strategy3(); …
4 A A B F c d e B B 3 B F c d e c d e 1 2 c d e 3' B B 4 1' 2' 1'' 2'' c d e c d e Technical Approach R R MetaWeaver Framework Domain Specific Strategies • 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 R Domain-Specifc Weaver Specification Aspects R Design Space Navigation/ Code Generation • CDL • Customized Component Composition
DispA DispA UAV UAV Dist Dist DispB DispB Example: QoS Spec Generation Specification Aspects BBN Weaver Strategies
DispA DispA UAV UAV Dist Dist DispB DispB CDL CDL CDL CDL Example: QoS Spec Generation Interpretation/Code Generation
Example: Boeing OEP DispA Sensor Proc DispB Bold Stroke Weaver Specification Aspects Strategies Latency < 6ms DispA Sensor Proc DispB Latency < 2ms Latency < 68ms
Example: Boeing OEP Latency < 6ms DispA Sensor Proc DispB Latency < 2ms Latency < 68ms Design Space Navigation Lazy Eager Proc #1 Sensor Proc DispA Proc #2 DispB
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 Language Jan 01, Jan 02 (v2) • Meta Weaver Framework Aug 01, Spring 02 • Design Space Exploration & Synthesis • CDL Generation (rev 1) Oct 01 • OBDD Representation Apr 02 • Aspect Selection/Customization Aug 02 • Demonstrations • Bold Stroke Apr 02 • BBN UAV Apr 02 • SWR Aug 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 Synthesis 90% • Definition of Domain Modeling Languages • Component Modeling 80% • State/Contract (New) 70% • Synthesis • CDL 50% • Bold Stroke Component Composition 5% • Demonstrations • BBN 30% • Boeing 10%
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 • http://www.isis.vanderbilt.edu/sdp • Special appearance by Garth Brooks (just kidding…)
Strategies MetaWeaver Framework Models M’ware Aspects M’ware M’ware Specs Straegiezed Weaver Application M’ware M’ware Models + Constraints M’ware Aspects M’ware C M’ware Application M’ware M’ware AO Source Code Design Space Navigation M’ware Weavers/ Compilers Application Tool Architecture System
Generic Embedded Object System Design AO Constraint Specs System SW/HW Description Waveform Descr. #1 Constraint Weaver Constraint Weaver Waveform Descr. #N System Synthesis System Synthesis 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 viaStrategy 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….
Model-Integrated Design Environment for Adaptive Computing System Simulation Behavioral Structural Constraints Resources Strategy Language Specification Language Design Analysis System Synthesis Vendor/COTS Tools Reconfigurable Computing Runtime Env.
DemonstrationSoftware 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