Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California"— Presentation transcript:

1 George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California gedwards@usc.edu

2 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

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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

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

13 Reduced implementation effort through code generation and reuse

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

15 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

16 Visit the XTEAM website: http://www-scf.usc.edu/~gedwards/xteam.html 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 2010. 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 2008. 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, 2008. 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 2007. 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.

17

18


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

Similar presentations


Ads by Google