George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California

Slides:



Advertisements
Similar presentations
Architecture Representation
Advertisements

Eugene Syriani Jeff Gray University of Alabama Software Engineering Group Department of Computer Science College of Engineering.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Creating Domain-Specific Development Infrastructures George Edwards Computer Science Department University of Southern California.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Page 1 Building Reliable Component-based Systems Ivica Crnkovic Chapter 9 Component Composition and Integration.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Programming in the Many Software Engineering Paradigm for the 21 st Century Nenad Medvidovic Center for Software Engineering Computer Science Department.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
XTEAM: Architecture-Based Modeling and Analysis Tools with Metamodeling Nenad Medvidovic George Edwards
Adaptable Architecture for Meta- Programmable Modeling Tools Matt Emerson Advisor: Janos Sztipanovits The Core Layer The.
XTEAM: Automated Synthesis of Domain-Specific Code Generators George Edwards Introduction to the Center for Systems and Software Engineering.
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
K. Rustan M. Leino Research in Software Engineering (RiSE) Microsoft Research, Redmond, WA part 1 Summer School on Logic and Theorem-Proving in Programming.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Domain-Specific Software Engineering Alex Adamec.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
David Garlan Ivan Ruchkin Carnegie Mellon University Pittsburgh, PA, USA December 2014.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Knowledge Mediation in the WWW based on Labelled DAGs with Attached Constraints Jutta Eusterbrock WebTechnology GmbH.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
Configuration Management (CM)
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
K. Rustan M. Leino Research in Software Engineering (RiSE) Microsoft Research, Redmond, WA part 3 International Summer School Marktoberdorf Marktoberdorf,
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Department of Computer Science University of Southern California Los Angeles, CA, USA George Edwards Nenad Medvidovic
Lecture 21: Component-Based Software Engineering
February 12, 2009 Center for Hybrid and Embedded Software Systems Timing-aware Exceptions for a Precision Timed (PRET)
Systems Architectures System Integration & Architecture.
National Aeronautics and Space Administration Jet Propulsion Laboratory March 17, 2009 Workflow Orchestration: Conducting Science Efficiently on the Grid.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Building Enterprise Applications Using Visual Studio®
Embedded Systems Hardware/ Software Co-Development
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Timing-aware Exceptions for a Precision Timed (PRET) Target
Tools for Composing and Deploying Grid Middleware Web Services
The Extensible Tool-chain for Evaluation of Architectural Models
Templatized Model Transformation: Enabling Reuse in Model Transformations Amogh Kavimandan and Aniruddha Gokhale Dept. of EECS, Vanderbilt University,
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California

Background: Domain-Specific Languages and Model- Driven Engineering Research Challenge: Code Generation and Analysis Using Domain-Specific Models Promising Solution: Model Interpreter Frameworks XTEAM: Extensible Toolchain for Evaluation of Architectural Models

Systems-of-systems (SoS) and ultra-large-scale (ULS) systems Autonomous and net-centric systems Increasing heterogeneity Strict quality requirements

Software and systems design modeling languages that are customized for a particular context Concisely and intuitively express the essential features of system designs No missing or extraneous features Capture common, reusable patterns Enforce of architectural constraints Use symbols and names native to the domain Easily modified, evolved, and composed

Architecture DSLs Architectural styles Reference architectures Product line architectures Platform DSLs Middleware configuration Deployment descriptors Code generation for application frameworks Analysis DSLs Simulation Model checking Quantification of quality properties

procedure Chunker.NextChunk(this: ref where $IsNotNull(this, Chunker)) returns ($result: ref where $IsNotNull($result, System.String)); // in-parameter: target object free requires $Heap[this, $allocated]; requires ($Heap[this, $ownerFrame] == $PeerGroupPlaceholder || !($Heap[$Heap[this, $ownerRef], $inv] $Heap[$pc, $inv] == $typeof($pc) && $Heap[$pc, $localinv] // out-parameter: return value free ensures $Heap[$result, $allocated]; Automated Analysis of Designs Quality Analysis Automated Synthesis of Implementations Code Generation Architecture and Design Automated Enforcement of Constraints Domain-Specific Models

Metamodels capture domain-specific concepts Elements, relationships, views, and constraints Model interpreters implement transformations Perform analysis and synthesis Metamodeling Environment Domain-Specific Modeling Environment Analysis and Simulation Platforms Run-time Platforms Metamodel Interpreter Model Interpreters

Designing, developing, and maintaining DSLs and interpreters is difficult and expensive A model interpreter must be constructed for each analysis that will be applied to a model Reusing model interpreters for different DSLs is hard Little guidance exists on how to construct DSLs and interpreters The semantics applied to models are opaque (embedded in code) Requires particular types of expertise Common topic of research papers in the modeling community Model Interpreter Implementation Tasks 1. Find a computational theory that derives the relevant properties 2. Discover the semantic relationships between the constructs present in the architectural models and those present in the analysis models 3. Determine the compatibility between the assumptions and constraints of the architectural models and the analysis models, and resolve conflicts 4. Implement a model interpreter that executes a sequence of operations to transform an architectural model into an analysis model 5. Verify the correctness of the transformation

Automatically synthesize domain-specific model interpreters the same way that domain-specific model editors are synthesized Metamodel Editor Metamodel Interpreter Configurable Model Editor Configurable Code Generator Configurable Analysis Tool Model Repository Domain- Specific Model Metamodel Presentation Interpretation Synthesis Interpretation Analysis Interpretation

Use a model interpreter framework to implement domain-specific analysis A “semi-complete” model interpreter Implements a model transformation (semantic mapping) Configured and extended via plug-ins generated by a paired metamodel interpreter Metamodel Editor Metamodel Metamodel Interpreter A Model Editor Framework Metamodel Interpreter B Model Interpreter Framework Target Platform Application Models Run-time Models

A MDE platform for software architectures Includes: A specialized metamodeling language and metamodel editor Two metamodel interpreters with paired model interpreter frameworks (model editor and simulation generator) Example metamodels and framework extensions Provides the extensibility to easily accommodate both new modeling language features and new architectural analyses

Providing design rationale Weighing architectural trade-offs Discovering emergent behavior of component assemblies Generating test cases and validating component implementations

Reduced implementation effort through code generation and reuse

Reduced maintenance effort due to relative ease of performing DSL modifications within a metamodel instead of interpreter source code

Building model interpreters to analyze and generate code from domain-specific models is hard Our methodology leverages a metamodel and extensible interpreter frameworks to automatically synthesize domain-specific model analysis tools and code generators

Visit the XTEAM website: XTEAM Papers: George Edwards, Yuriy Brun, and Nenad Medvidovic, Automated Analysis and Code Generation for Domain-Specific Models, submitted to 18 th International Symposium on the Foundations of Software Engineering (FSE), November George Edwards and Nenad Medvidovic, A Methodology and Framework for Creating Domain-Specific Development Infrastructures, 23rd IEEE ACM International Conference on Automated Software Engineering (ASE), September George Edwards, Chiyoung Seo, and Nenad Medvidovic, Model Interpreter Frameworks: A Foundation for the Analysis of Domain-Specific Software Architectures, Journal of Universal Computer Science (JUCS), Special Issue on Software Components, Architectures and Reuse, George Edwards, Chiyoung Seo, and Nenad Medvidovic, Construction of Analytic Frameworks for Component-Based Architectures, Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), August George Edwards, Sam Malek, and Nenad Medvidovic, Scenario-Driven Dynamic Analysis of Distributed Architectures, 10th International Conference on Fundamental Approaches to Software Engineering (FASE), March 2007.