Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray,

Slides:



Advertisements
Similar presentations
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Advertisements

Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
ETX Workshop OOPSLA 2003 Prism pattern recognition for aspect mining Prism is Research in Software Modularization Charles Zhang and Hans-Arno Jacobsen.
Francisco Hernandez, Purushotham Bangalore, Jeff Gray, and Kevin Reilly Department of Computer and Information Sciences University of Alabama at Birmingham.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Software Reuse Building software from reusable components Objectives
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
GReAT: Graph Rewriting And Transformation Presenter: Yuehua Lin 2/17/04, Tuesday Slides help from Aditya Agrawal
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
1 Legacy System Evolution through Model-Driven Program Transformation Funded by the DARPA Information Exploitation Office (DARPA/IXO), under the Program.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
Model-Driven Program Transformation of a Large Avionics Application Jeff Gray, Jing Zhang, Yuehua Lin, Suman Roychoudhury, Hui Wu, Rajesh Sudarsan, Aniruddha.
Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition PI: Ted Bapty Sandeep Neema, Andy Gokhale,
POSAML: A Visual Language for Middleware Provisioning Dimple Kaul, Arundhati Kogekar, Aniruddha Gokhale ISIS, Dept.
Introduction to MDA (Model Driven Architecture) CYT.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Generating a Generator Jeff Gray University of Alabama at Birmingham Department of Computer and Information Sciences gray (at) cis.uab.edu
Institute for Software Integrated Systems Vanderbilt University Constraint-Based Embedded Program Composition Institute for Software Integrated Systems.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Replicators: Transformations to Address Model Scalability Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Semantic Foundations for Model-Integrated Computing A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004 Jeff Gray, University of Alabama.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
Dr. Douglas C. Schmidt, Dr. Aniruddha S. Gokhale, Bala Natarajan, Jeff Parsons, Tao Lu, Boris Kolpackov, Krishnakumar Balasubramanian, Arvind Krishna,
CoSMIC: Tool-suite for Weaving Deployment & Configuration Crosscutting Concerns of CCM-based DRE Systems Dr. Aniruddha Gokhale (PI) Institute for Software.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Institute for Software Integrated Systems Vanderbilt University DARPA ASC PI Meeting May 26-28, 1999 Adaptive Model-Integrated Computing Akos Ledeczi.
1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling Group reports.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
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.
Generative Approaches for Application Tailoring of Mobile Devices Victoria M. Davis, Dr. Jeff Gray (UAB) and Dr. Joel Jones (UA) Portions of this research.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
A Generative Approach to Model Interpreter Evolution Jing Zhang, Jeff Gray, and Yuehua Lin {zhangj, gray, cis.uab.edu Dept. of Computer & Information.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
Aniruddha Gokhale and Jeff Gray Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Composition and Modeling Laboratory University.
A Model-Based Approach for AMF Configuration Generation Pejman Salehi, Pietro Colombo Abdelwahab Hamou-Lhadj, Ferhat Khendek Concordia University Department.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Institute for Software Integrated Systems Vanderbilt University Towards a Paradigm for Activity Modeling SMC2000 WP-2.9: Modeling & Control – Hybrid Systems.
Generating Aspect Code from Models OOPSLA 2002 Workshop on Generative Techniques in the Context of the MDA November 5 th, 2002 Seattle, WA This work is.
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
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.
Overview of meta-modeling works for multi-clocked environments Christian Brunette IRISA/INRIA Rennes – ESPRESSO Synchron 2005.
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.
GME-MOF: The MOF-Based GME Metamodeling Environment Matt Emerson 10/24/2004 Advisor: Dr. Janos Sztipanovits OOPSLA 2004 Domain-Specific Modeling Workshop.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
A Graphical Modeling Environment for the
Model-Driven Analysis Frameworks for Embedded Systems
Applying Domain-Specific Modeling Languages to Develop DRE Systems
Tools for Composing and Deploying Grid Middleware Web Services
A Generative Approach to Model Interpreter Evolution
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray, Yuehua Lin, Jing Zhang gray (at) cis.uab.edu This research is funded by DARPA/IXO, under the PCES program.

Shameless Plug for CFPs Workshop on Domain-Specific Visual Languages  September 22, 2003 (GPCE Conference - Erfurt, Germany)  Papers due: 30 June 3 rd OOPSLA Workshop on Domain-Specific Modeling (Domain-Driven Development Track)  October 26, 2003 (OOPSLA - Anaheim, CA)  Papers due: 15 August

Shameless Plug for CFPs Aspect-Oriented Modeling Workshop  October 20-24, 2003  UML Conference (San Francisco, CA)  Papers due: 25 August

Types of Transformation & Translation Horizontal transformation  Transformation within the same representation level of abstraction  e.g., MDA PIM->PSM, model weaving (VEST, C-SAW), code refactoring Vertical translation  Typically, translation, or synthesis, between layers of abstraction  e.g., MIC interpreters, CASE-tool scripting and reverse engineering, PSM->PSI ComputePosition C++ ComputePosition with Locking C++ NavDisplay C++ Current Focus: Vertical transformation – higher level models transform existing code base (rather than synthesize new code or configuration information) Current Focus: New model weaver (C-SAW) integrated within GME

Multiple Levels of Hierarchy Replicated Structures Context Sensitive Motivating Problem – Crossccuting Constraints in Real-Time/Embedded Models Base models become constrained to capture a particular design A B cde B cde F B cde Changeability ??? Crosscutting Constraints Constraints that are related to some global property are dispersed across the model

“Small changes in requirements entail large changes in the structure and configuration” [Sussman, 1999]Gerald Jay Sussman, “Robust Design through Diversity,” DARPA Amorphous Computing Workshop,

Motivation Problems:  Difficult to specify and manage cross- cutting concerns (e.g., constraints) in model-based systems;  Lack of tool support for automatically weaving constraints into models;  New: Lack of a core weaving engine that is independent of modeling environments.

Previous Work (Solution) Strategies (C++) Meta-weaver Framework Domain-Specific Strategies strategy ApplyConstraint(constraintName : string, expression : string) { addAtom("OCLConstraint", "Constraint", constraintName).addAttribute("Expression", expression); } strategy RemoveConstraint(constraintName : string) ApplyConstraint(constraintName, expression); } Domain-specific strategies (encoded in a DSL) are used to instantiate a new model weaver Specification Aspects Domain-specific Models B c d e constraint FOOB2 { // apply a specific constraint to “B2” only in Structural models("ProcessingCompound")-> // apply a specific constraint to all nodes beginning with “B” - use wildcard in Structural models("ProcessingCompound")-> select(p | p.name() == "B*")->PowerStrategy(1, 100); } Specification aspects and base model are sent through the weaver Constrained Models B c d e The weaver distributes constraints across the base model

Two levels of weaving Weapon Release Sensor LocDisplay Compute Position Processor #1 Eager UpdateMap Eager Lazy bit1 bit1 Structural ProcessingCompound GatesPerBit Aspect Code Generation Processor #2 Aspect Model Weaving Aspect Code Weaving/ Program Transformation

Levels of Independence in Model Weaving Domain independence:  GME meta-models and weaver strategies determine domain of discourse Platform independence:  GME interpreters and weaver strategies map to platform specific synthesis Tool independence (new):  Separation of core weaving engine with tool- specific adapters

Tool Independence Requires an exposed API for accessing internal model data structures Tool-specific adapters written for each new supported tool Cadena GME MetaEdit Rose

Adaptive Core Weaving Engine

Not unlike AspectJ AJDT JBuilder Eclipse emacs Netbeans/FORTE AJDT

More Info Representative Publications:  Comm. of the ACM, October 2001, “Handling Crosscutting Constraints in Domain-Specific Modeling”  GPCE 2003 (forthcoming), “An Approach for Supporting Aspect-Oriented Domain Modeling”  AOSD Book Chapter (forthcoming), “Two-Level Weaving to Support Evolution of Model-Based Software” Demo  Prepared to give a very brief demo of: GME Example weaving of processor assignment constraints into an avionics system model

Demo Very brief intro to GME  Entire course on this, so very superficial demo Weaving of constraints into GME models I’ll have to talk fast…

Model Integrated Computing (MIC) Grew out of over 14 years of research on computer- based systems in aerospace, instrumentation, manufacturing and robotics. Common challenges: “Software” and “environment” are inextricably combined Need for adaptability to changing environment and end-user needs Complex, heterogeneous applications Stringent reliability and dependability requirements

Domain-Specific Modeling at ISIS: Model Integrated Computing The Generic Modeling Environment (GME) is a domain-specific modeling tool (>20-person years) It can be utilized in many different domains by providing a meta-level paradigm description  Paradigm describes all of the entities of the domain, as well as valid relationships Freely available:  See November 2001 issue of IEEE Computer

DOMAIN-MODEL Meta-Modeling Framework META-MODEL Meta-Model of Stateflow using UML/OCL as meta-modeling language. Model instance of Stateflow

Model Integrated Computing Environment Evolution Meta-Level Translation Metaprogramming Interface Formal Specifications Model Interpreters Models DSME Model Builder Model Interpretation Application Domain App. 1 App. 2 App. 3 Application Evolution

GME

MIC Applications