Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition Institute for Software Integrated Systems.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Visual Scripting of XML
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
The GDSE Framework A Meta-Tool for Automated Design Space Exploration Tripti Saxena Graduate Student Vanderbilt University 1.
Architecture Representation
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI NSF Model-Based Design DSML.
Chess Review May 11, 2005 Berkeley, CA Formal Semantics of Metamodeling Frameworks Ethan Jackson ISIS, Vanderbilt University Semantic Anchoring Infrastructure.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Sensor Network Design Akos Ledeczi ISIS, Vanderbilt University.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Domain-Specific Software Engineering Alex Adamec.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Overview of the Database Development Process
Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray,
CIS Computer Programming Logic
Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition PI: Ted Bapty Sandeep Neema, Andy Gokhale,
ITEA International Workshop on Challenges in Methodology, Representation, and Tooling for Automotive Embedded Systems, Berlin 2012 Target Mapping.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Introduction to MDA (Model Driven Architecture) CYT.
Generating a Generator Jeff Gray University of Alabama at Birmingham Department of Computer and Information Sciences gray (at) cis.uab.edu
SOFTWARE DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Constraint-Based Embedded Program Composition IMPACT Rapid Construction of Efficient Embedded Systems. Multiple System Variants for Little Cost. Rapid,
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
Selected Topics in Software Engineering - Distributed Software Development.
Generic API Test tool By Moshe Sapir Almog Masika.
Generative Programming. Automated Assembly Lines.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Institute for Software Integrated Systems Vanderbilt University DARPA ASC PI Meeting May 26-28, 1999 Adaptive Model-Integrated Computing Akos Ledeczi.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
ECE-C662 Lecture 2 Prawat Nagvajara
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Institute for Software Integrated Systems Vanderbilt University Towards a Paradigm for Activity Modeling SMC2000 WP-2.9: Modeling & Control – Hybrid Systems.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Institute for Software Integrated Systems Vanderbilt University On Metamodel Composition Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.
Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition PI: Ted Bapty Sandeep Neema, Jeff Gray Institute.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Anne Pratoomtong ECE734, Spring2002
Model-Driven Analysis Frameworks for Embedded Systems
Multiple Aspect Modeling of the Synchronous Language Signal
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
UML profiles.
Analysis models and design models
From Use Cases to Implementation
Presentation transcript:

Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition Institute for Software Integrated Systems Vanderbilt University PI: Ted Bapty Jeff Gray, Sandeep Neema

© Copyright 2000, Vanderbilt University Reconfigurable Runtime Environment Adaptive Computing Systems Model-Integrated Design Environment Behavioral Models MODELS Graphical Model Builder Model Analysis Tools Algorithm Models Resource Models ATR SW HW SW HW Simulation Environment System Generation Multi-Aspect Modeling Environment

© Copyright 2000, Vanderbilt University Problem Statement Graphical Models Excellent for Describing System Structure –Hardware, Data flow, State diagrams Graphics Often not Natural for Details –Numerical properties, Complex Interactions Solution: Attributes & Constraints –‘tags’ on models, textual language embedded Problem: Difficulty in Managing for Complex Systems –Complex hierarchies –Intricate, cross-linked constraints System Specifications Cross-Cut Models

© Copyright 2000, Vanderbilt University PCES Project Goals Management of Cross-Cutting Constraints Prove in Real-World Examples Generalize to Arbitrary Program Synthesis Applications Transition to Military & Commercial Users

© Copyright 2000, Vanderbilt University Project Approach Extend Embedded System Design System Tools –Leverage Adaptive Computing Systems Tools as Basis, –System Specification Language, –Strategy Language for Specification Distribution/mapping –Weaver Tools Implement for Communications Domain –Demonstrate on Missile Automatic Target Recognition –Demonstrate on Software-Based Radio Application Investigate Meta-Weaver Concepts

© Copyright 2000, Vanderbilt University BehavioralStructural Constraints Resources Design Analysis Vendor/COTS Tools System Synthesis System Simulation Reconfigurable Computing Runtime Env. Model-Integrated Design Environment for Adaptive Computing

© Copyright 2000, Vanderbilt University Multiple-View Graphical Modeling/ Flexible Design Space Behavioral Structural Resource

© Copyright 2000, Vanderbilt University S1S3S2 hierarchical parallel FSM Behavior Model Processing Structure Models Behavior and Compatibility Constraints P1 P3 P2 e1[S21]/ / /../ Pr2 Pr1 Pr3 C1 Resource Models Resource Constraints hierarchical interconnect alternatives (mode=(S1 or S2))implies(P1=P1 i )) (mode!=S3)implies (Pr2.assignees =(P1 i or P2 j ))and(Pr2=Pr2 j ) (D1.time - D2.time) < 2 Timing Constraints Constraint Modeling Power Constraints (mode=S2 implies (Proc.Powr<10))

© Copyright 2000, Vanderbilt University Design Space Exploration Behavior Mod. (Hier. Par. FSM) Structural Mod. (Hier. Altern.) Constraints (OCL) Binary Encoding Binary Encoding Binary Encoding BDD Representation BDD Representation BDD Representation Full Symbolic Design Space Pruned Design Space Resource Model Binary Encoding BDD Representation OBDD Analysis

© Copyright 2000, Vanderbilt University Difficulties in Managing Constraints in Models A B cde 12 3 B cde 1’’2’’ 4 F B cde 1’2’ 3’ 4 Multiple Levels of Hierarchy Replicated Structures Context Sensitive Change Maintenance???

© Copyright 2000, Vanderbilt University Constraints run Amok constraint K2MULT_RESOURCE() { ( (self.children("Forwarder").implementedBy() = self.children("Forwarder").children("forward") ) implies ( ( self.children("K2_Multiplier").children("K2_Shift_Multiplier").assignedTo() = project().resources("Altera_FPGA_1") ) and (self.children("K2_Multiplier").children("K2_Full_Multiply").children("K2_Multiplier").assignedTo() = project().resources("Altera_FPGA_1")) and (self.children("K2_Multiplier").children("K2_Full_Multiply").children("K2_Retrieval_00").assignedTo() = project().resources("Altera_FPGA_1") ) )) and ( ( self.children("Forwarder").implementedBy() = self.children("Forwarder").children("resource_boundary") ) implies ( ( self.children("K2_Multiplier").children("K2_Shift_Multiplier").assignedTo() = project().resources("Altera_FPGA_2") ) and (self.children("K2_Multiplier").children("K2_Full_Multiply").children("K2_Multiplier").assignedTo() = project().resources("Altera_FPGA_2") ) and (self.children("K2_Multiplier").children("K2_Full_Multiply").children("K2_Retrieval_00").assignedTo() = project().resources("Altera_FPGA_2") ) )) }

© Copyright 2000, Vanderbilt University Semantic Gap System Specifications Define Product Specifications are Mapped to Constraints System Structure is Mapped to Models Complex Specs X Complex Structure = Tangled System Implementation

© Copyright 2000, Vanderbilt University Specifications and Strategies Specifications Aspect Language = Requirements –Performance Requirement (Size/Weight/Power/Time) –Accuracy/Precision (SNR) –Physical build restrictions Strategy Aspect Language = Method for Applying Specifications –Distribution of specifications as constraints in model object hierarchy

© Copyright 2000, Vanderbilt University Aspect-Oriented Specification Language Timing –Throughput –Latency Cost –/Parts $/Volume/Weight Accuracy –Bit Precision –SNR Power Mode-dependent behavior

© Copyright 2000, Vanderbilt University 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….

© Copyright 2000, Vanderbilt University 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

© Copyright 2000, Vanderbilt University Applications of Constraints Model Constraints Appear as attributes of modeling elements. Specification Aspects They provide a modular construct for defining model constraints across the hierarchy. Each specification describes the binding and parameterization of strategies to specific nodes in a model. Strategies Used to specify elements of computation, propagation, or application of specific properties to the model nodes. They will be generic in the sense that they are not bound to particular model nodes in their description.

© Copyright 2000, Vanderbilt University Process of Using a Weaver Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah bit1 bit1 Structural ProcessingCompound GatesPerBit 37,153 NomBits 205,76 MaxBits 128,76 GME FOO.XML bit1 bit1 Structural ProcessingCompound GatesPerBit 37,153 NomBits 205,76 MaxBits 128,76 Domain-Specific Weaver Enhanced FOO.XML Specification Aspects

© Copyright 2000, Vanderbilt University Domain Specific Weavers Each specific GME meta-modeling paradigm introduces different types of modeling elements, syntax, and semantics. Therefore, different weavers are needed for different paradigms. Strategies are used to aid in the rapid construction of new domain specific weavers. ECL constraints can succinctly capture the specification of these strategies. A code generator translates the strategies into C++ code that is then compiled within the weaver framework. Each domain can then be considered as being componetized within the weaver.

© Copyright 2000, Vanderbilt University Domain Specific Weavers SaturnBoeing Electric Utilities ATR/ Software Radio ++++ (Saturn specific weaver)(Boeing specific weaver)(Utilities specific weaver) (ATR/SR specific weaver)

© Copyright 2000, Vanderbilt University The Weaver Strategy Code Generator Strategies (C++) Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blahAspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Strategy Specifications Specification Aspects XML ( Model Hierarchy )

© Copyright 2000, Vanderbilt University The Weaver Strategy Code Generator Strategies (C++) Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Strategy Specifications Specification Aspects XML ( Model Hierarchy )

© Copyright 2000, Vanderbilt University Weaver Components XMLParser –Interacts with MSXML to load and save a model. –Provides a wrapper for accessing many of the DOM functions needed to query/manipulate a model (e.g., addAtom, addAttribute, findAtom)

© Copyright 2000, Vanderbilt University The Weaver Strategy Code Generator Strategies (C++) Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Strategy Specifications Specification Aspects XML ( Model Hierarchy )

© Copyright 2000, Vanderbilt University Weaver (StratGen) StratGen –This is the code generator that takes the ECL strategies (*.str) and generates C++. –This generator depends on ECLParser/ParseTree, as well as the DOM support provided in XMLParser. StrategySpecs –This contains all of the strategies (*.str) for a specific build of a weaver. Strategies –This contains the C++ representation of the strategies. –The code from this is then compiled into the domain specific weaver.

© Copyright 2000, Vanderbilt University The Weaver Strategy Code Generator Strategies (C++) Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Aspect blah blah Strategy Specifications Specification Aspects XML ( Model Hierarchy )

© Copyright 2000, Vanderbilt University Weaver (Aspect Parser) The aspect parser interprets the ECL constraints (specification aspects) that are used to specify the location and parameters of specific strategies. This interpreter depends on ECLParser/ParseTree, as well as the DOM support provided in XMLParser. This piece of the weaver is common to all meta- model paradigms. Currently, this part of the weaver is still in its infancy.

© Copyright 2000, Vanderbilt University Properties of ECL ECL is an extension of the Object Constraint Language (OCL) Arithmetic operators: –+, -, *, /, =,, =, <> Logical operators: – and, or, xor, not, implies, if-then-else Collection operator: –-> Property operator: –.

© Copyright 2000, Vanderbilt University ECL - Operations on Collections collection-> size() : integer collection -> forAll ( x | f(x) ) : Boolean collection -> exists ( x | f(x) ) : Boolean collection -> select ( x | f(x) ) : collection collection-> includes ( inclObject:fco | inclCpt:cpt |) : Boolean collection -> union (c2:collection) : collection collection-> intersection (c2:collection) : collection

© Copyright 2000, Vanderbilt University ECL - Operations on Objects {fco,fdr}. name () : string {fco,fdr}. parent () : {fco, fdr} {fco,fdr}. kindName () : string fco. roleName () : string {fco,cpt,fdr}. isNull () : boolean str. intValue () : int str. doubleValue () : double

© Copyright 2000, Vanderbilt University ECL - Operations on Objects Aggregates fco.models( | kindName:string) : collection of fco's fco.modelParts( | roleName:string) : collection of fco's fco.atoms( | kindName:string) : collection of fco's fco.atomParts( | roleName:string) : collection of fco's fco.parts( | roleName:string) : collection of fco's fco.referenceParts( | roleName:string) : collection of fco's fco.connectionParts( | roleName:string) : collection of fco's fco.setParts( | roleName:string) : collection of fco's Connections fco.connected( | roleName:string) : collection of fco's fco.connectedAs( | roleName:string) : collection of fco’s fco.connections( | kindName:string) : collection of cpt's fco.connectionPoints( | connRole:string) : collection of cpt's r.usedByConnections( | kindName:string) : collection of cpt's

© Copyright 2000, Vanderbilt University Sample Strategies strategy ApplyConstraint(constraintName : string, expression : string) { addAtom("OCLConstraint", "Constraint", constraintName).addAttribute("Expression", expression); } strategy RemoveConstraint(constraintName : string) { findAtom(constraintName).removeChild(); } strategy ReplaceConstraint(constraintName : string, expression : string) { RemoveConstraint(constraintName); ApplyConstraint(constraintName, expression); }

© Copyright 2000, Vanderbilt University Sample Strategy strategy PowerStrategy(level : int, power : int) { if (level < 3) then > ApplyConstraint("PowerConstraint", aConstraint); > modelParts()->forAll(PowerStrategy(level, power)); endif; }

© Copyright 2000, Vanderbilt University Example Specification Aspect constraint FOOB2 { // apply a specific constraint to “B2” only in Structural models("ProcessingCompound")-> select(p | p.name() == "B2")->PowerStrategy(1, 100); } constraint FOOBStar { // apply a specific constraint to all nodes beginning with “B” - use wildcard in Structural models("ProcessingCompound")-> select(p | p.name() == "B*")->PowerStrategy(1, 100); }

© Copyright 2000, Vanderbilt University StratGen Demo

© Copyright 2000, Vanderbilt University 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

© Copyright 2000, Vanderbilt University 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

© Copyright 2000, Vanderbilt University Reconfigurable Runtime Environment Adaptive Missile Automatic Target Recognition Application Behavioral Models MODELS Graphical Model Builder Model Analysis Tools Algorithm Models Resource Models ATR SW HW System Generation Multi-Aspect Modeling Environment

Constraint-Based Embedded Program Composition IMPACT Rapid Construction of Efficient Embedded Systems. Multiple System Variants for Little Cost. Rapid, Low Cost System Evolution. Traceabilty from Requirements to Implementation Ability to Customize Tools for Specific Domains New Design Methodology: AO + Model-Based NEW IDEAS AO Merging a Model-Based & Language Approaches Model-Based System Design Space Spec Textual Constraints/Requirements Spec. System-Level Constraint Expression Language AO-Based Strategy Language for Constraint Distribution and Application Weaver Infrastructure for Automated Constraint Application Meta-Weaver for Specification of Weavers Automated Application of RT Constraints SCHEDULE. 3/01 Spec. & Strategy Lang. V1. 6/01 Constraint Weaver & ATR Demo. 3/02 Spec. & Strategy Lang. V2. 9/02 Resource Constr. Weaver/Demo. 3/03 Complete Spec/Strat Lang. 11/03 Meta-Weaver Descr.. 9/04 SW Radio Demo System SW/HW Description Waveform Descr. #1 AO Constraint Specs Constraint Weaver System Composition Waveform Descr. #N System Composition System Design Space/ Embedded Object Specification Customized/Optimized Embedded System SW-Based Radio Constraint Weaver Constraint Weaver