Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department.

Slides:



Advertisements
Similar presentations
ECMDA workshop Thales ATM experience in using MDE ECMDA Workshop From code centric to model centric software engineering Bilbao 11 July 2006.
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.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Adaptive Processes Software Processes Adaptive Processes.
© Devon M.Simmonds, 2007 CSC 550 Graduate Course in Software Engineering ______________________ Devon M. Simmonds Computer Science Department University.
Which role might model-based engineering play in software certification? Selo Sulistyo.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Marko Rosenmüller - University of Magdeburg, Germany 1 Feature-oriented Refactoring of Berkeley DB Dagstuhl Seminar on Software Engineering for Tailor-made.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, Pune, INDIA.
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione Computer Science Department University of L'Aquila - Italy Architectural notations interoperability.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Verification and Validation
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Composing Models: Principles & Techniques © Copyright TUBS & TUD Composing Models: Principles & Techniques Steven Völkel & Jendrik Johannes.
©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.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
1 Requirements Modeling using UML 2.0 Use Cases. 2 Requirements Engineering Software Lifecycle Activities System Engineering Requirements Analysis Software.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
CSE 303 – Software Design and Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective.
1 Model Compiler Construction Based on Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo)
1 COMP 3438 – Part II-Lecture 1: Overview of Compiler Design Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ.
Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton February 28th, 2003 Advisor: David G. Hannay Client:
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Generative Programming. Automated Assembly Lines.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
1 Model Evolution with Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo) Shinji Sano, Yusaku.
MD – Object Model Domain eSales Checker Presentation Régis Elling 26 th October 2005.
Devon M. Simmonds Computer Science Department, CSC592 1 Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington
Devon M. Simmonds Computer Science Department, CSC592 1 Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Procedural Abstraction Object-Oriented Code.
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
Slide 1 CSC450 Review & Summary Slides adapted from various sources.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Devon M. Simmonds Computer Science Department, CSC592 1 CSC550 Software Engineering Devon M. Simmonds Computer Science Department University of North Carolina,
MDA and Separation of Aspects: An approach based on multiples views and Subject Oriented Design Quercus Software Engineering Group Computer Science Department.
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
IWFST'2005, Shanghai Testing Aspect-Oriented Programs: Challenges and Opportunities Jianjun Zhao Department of Computer Science and Engineering Shanghai.
Design Pattern Support based on principles of model driven development Zihao Zhao.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
An approach for Integration of Aspect Orientation and Model- Driven Engineering using Aspect- Oriented Code Generation Presenter: Abid Mehmood Advisor:
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Implementing Language Extensions with Model Transformations
PPT1: Basics of software engineering
Implementing Language Extensions with Model Transformations
Aspect Oriented Software Design
Presentation transcript:

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department University of North Carolina, Wilmington

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 2 Aspect-oriented Approaches to Model Driven Engineering Outline – Role of models in engineering – Challenges in model driven engineering – The role of AOSD in MDE lifecycle – Two AOMDE approaches – Summary

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 3 3 Models in Engineering Benefits of models – Understanding and managing complex systems – Abstract representation of systems – Drive implementation – Save resources Engineering is a Model-Driven Discipline! Software Requirements Software Model AA BB CC

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 4 Model Driven Engineering Create Model Model A AA BB CC Model B MM BB CC AA PP KK.... Challenges – Model specification – Model transformation – Model analysis – Model evolution and reuse – Model debugging Analysis Engine

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 5 MDE Challenges Model specification, transformation, analysis, debugging and reuse are difficult in the presence of crosscutting software functionality. Model A AA BB CC Model B MM BB CC AA PP KK

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 6 Crosscutting functionality logging in org.apache.tomcat – red shows lines of code that handle logging – not in just one place – not even in a small number of places logging is not modularized

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 7 Aspect-Oriented Modeling Separate crosscutting features/business logic – Primary model – Aspect models Primary Model Aspect Model 1 Aspect Model 2 Aspect Model n... Aspect-oriented Design Model How does an aspect-oriented approach affect the model- driven engineering process? Lifecycle perspective AnalysisDesignCode GenerationTesting Deployment & Evolution

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 8 Aspect-oriented Approaches to Model Driven Engineering … and therefore the title:

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 9 Overview of AOMDE Approaches Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 Weave/Compose Generate Code/Binary Composed Model … … Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 Weave/Compose Generate Composed Model Primary Model Code/Binary Aspect Models Code/Binary Weave Then Generate Generate Then Weave

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 10 Weave Then Generate Approach Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave Composed Design Model [weavePMError] Acquire Aspect Models Generic Design Aspects [aspectDesignError] [else] Enhance [moreAspects] [enhance AspError] Instantiate [else] [mapping Error] [else] Generate Code Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models Development Aspect Models Customization Application Integration Code Generation [codePM Error]

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 11 Generate Then Weave Approach Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave [weave PMError] Acquire Aspect Models Generic Design Aspects [aspectDesignError] [else] Enhance [more Aspects] [enhance AspError] Instantiate [mapping Error] [else] Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models DevelopmentAspect Models Customization Application Integration Generate Code [codePMError] Generate Code Generation Code Generation [else]

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 12 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Tools – Development, transformation, instantiation, debugging, analysis, execution – Model composition Tools – Development, transformation, instantiation, debugging, analysis, execution – Code composition – Aspect-oriented code generation

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 13 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model Code/BinaryAspect Models Code/Binary Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Reuse Potential – Design reuse superiority Composed design model Reuse Potential – Code reuse superiority PIM code Aspects code

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 14 Semantic GAP Semantic GAP Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Debugging – Code/execution error correction may be harder Debugging – May be easier PIM code Aspects code Semantic GAP Application Code

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 15 Comparison of Approaches Weave/Compose Generate Application Code Composed Model Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Weave/Compose Generate Application Code Primary Model CodeAspect Models Code Weave Then Generate Generate Then Weave Primary Model Aspect Model-1 Aspect Model-n Aspect Model-2 … Analysis – May be easier Composed design model Analysis – May be harder Absence of composed model

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 16 Future Work Analysis Requirements Specification Create Primary Model PIM Enhance Enhanced PIM [createError][morePM] [else] [enhanceError] [else] Weave [weave PMError] Acquire Aspect Model Generic Design Aspects [aspectDesignError] [else] Enhance [more Aspects] [enhance AspError] Instantiate [mapping Error] [else] Complete Application [else] [codeAspError] [weaveAsp Error] [else] Primary Model DevelopmentPrimary Model Customization Aspect Models DevelopmentAspect Models Customization Application Integration Generate Code [codePMError] Generate Code Generation Code Generation [else] Extending, exploring approaches – Testing, deployment evolution – Defining families of approaches, hybrids Extending, exploring approaches – Testing, deployment evolution – Defining families of approaches, hybrids

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 17 Summary AOMDE requires an understanding of how AOSD affect MDE lifecycle. A variety of approaches are available. Optimal software evolution strategy – AOMDE approach selected – Scope of modifications PM, aspect model, both PM and aspects? – The modification approach Code based vs. model-based

Devon M. Simmonds SERP’08, July-14-17, Las Vegas 18 Q u e s t i o n s ?