slide1
Download
Skip this Video
Download Presentation
A Comparison of Aspect-oriented Approaches to Model Driven Engineering

Loading in 2 Seconds...

play fullscreen
1 / 18

A Comparison of Aspect-oriented Approaches to Model Driven Engineering - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

A Comparison of Aspect-oriented Approaches to Model Driven Engineering. Devon M. Simmonds, Computer Science Department University of North Carolina, Wilmington [email protected] Y. Raghu Reddy, Department of Software Engineering Rochester Institute of Technology.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A Comparison of Aspect-oriented Approaches to Model Driven Engineering' - sigourney-tyler


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

A Comparison of Aspect-oriented Approaches to Model Driven Engineering

Devon M. Simmonds, Computer Science Department

University of North Carolina, Wilmington

[email protected]

Y. Raghu Reddy, Department of Software Engineering

Rochester Institute of Technology

Eunjee Song, Department of Computer Science

Baylor University

Emanuel Grant, Department of Computer Science,

University of North Dakota

a comparison of aspect oriented approaches to model driven engineering
A Comparison of Aspect-oriented Approaches to Model Driven Engineering
  • Outline
    • Overview of model driven engineering
    • Challenges in model driven engineering
    • Overview of AOMDE approaches
    • Generate-Then-Weave Approaches
    • Lessons Learned and Future Work
model driven engineering

. .

Model A

Model B

A

M

A

. .

C

C

K

B

B

P

Model Driven Engineering
  • xxxx
slide4

MDE Challenges

  • Model specification
  • Model transformation
  • Model analysis
  • Model evolution and reuse
  • Model debugging
crosscutting functionality
Crosscutting Functionality

In AOSD crosscutting functionality is isolated in modular units called aspects.

logging in org.apache.tomcat

An Aspect-Oriented Approach is beneficial

6

overview of aomde approaches
Overview of AOMDE Approaches
  • Weave Then Generate
  • Then Generate Weave
  • Generate Then Weave

Primary Model

Primary Model

Aspect Model-1

Aspect Model-1

Aspect Model-2

Aspect Model-2

Aspect Model-n

Aspect Model-n

Generate

Weave

Primary Model Code/Binary

Composed Model

Aspect Models Code/Binary

Weave

Generate

Composed Model

Code/Binary

Weave Then Generate

weave then generate approach
Weave Then Generate Approach

Application

Integration

Primary Model Development

Primary Model Customization

[createError]

[morePM]

[enhanceError]

[weavePMError]

Analysis

Enhance

PIM

Create

Primary

Model

Weave

[else]

Requirements

Specification

Composed

Design Model

[else]

Enhanced

PIM

[else]

[else]

[weaveAsp

Error]

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[mapping

Error]

[else]

Complete

Application

[aspectDesignError]

[moreAspects]

[enhance

AspError]

[codePM

Error]

[else]

Aspect Models Development

Aspect Models

Customization

[codeAspError]

Code Generation

generate then weave approaches 1
Generate Then Weave Approaches(1)

Code

Generation

Application

Integration

Primary Model Development

Primary Model Customization

1

[createError]

[morePM]

Analysis

Enhance

[codePMError]

PIM

[enhanceError]

Create

Primary

Model

[else]

2

Requirements

Specification

[else]

Generate

Code

Weave

[else]

Enhanced

PIM

[else]

3

5

4

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[mapping

Error]

[else]

[else]

[codeAspError]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[enhance

AspError]

[weaveAsp

Error]

Aspect Models Development

Aspect Models Customization

Code

Generation

Enhance-Generate Enhance-Instantiate Approach (1-2-3-4-5)

generate then weave approaches 2
Generate Then Weave Approaches(2)

Code

Generation

Application

Integration

Primary Model Development

Primary Model Customization

1

[createError]

[morePM]

Analysis

Enhance

[codePMError]

PIM

[enhanceError]

Create

Primary

Model

[else]

2

Requirements

Specification

[else]

Generate

Code

Weave

[else]

Enhanced

PIM

[else]

3

5

4

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[enhance

AspError]

[mapping

Error]

[else]

[else]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[CodeAsp

Error]

[weaveAsp

Error]

Code

Generation

Aspect Models Development

Aspect Models Customization

Enhance-Generate Generate-Enhance Approach (1-2-5-3-4)

generate then weave approaches 3
Generate Then Weave Approaches(3)

Primary Model

Customization

Application

Integration

Primary Model Development

Code Generation

[createError]

[morePM]

2

[enhanceError]

Analysis

[codePMError]

PIM

[else]

Create

Primary

Model

Generate

Code

[else]

[else]

Enhance

Requirements

Specification

Weave

1

[else]

3

5

4

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[mapping

Error]

[else]

[else]

[codeAspError]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[enhance

AspError]

[weaveAsp

Error]

Aspect Models

Customization

Aspect Models Development

Code

Generation

Generate-Enhance Enhance-Instantiate Approach (2-1-3-4-5)

generate then weave approaches 4
Generate Then Weave Approaches(4)

Code

Generation

Application

Integration

Primary Model Development

Primary Model Customization

[createError]

[morePM]

2

[enhanceError]

Analysis

[codePMError]

PIM

[else]

Create

Primary

Model

Generate

Code

[else]

[else]

Enhance

Requirements

Specification

Weave

1

[else]

3

5

4

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[enhance

AspError]

[mapping

Error]

[else]

[else]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[CodeAsp

Error]

[weaveAsp

Error]

Code

Generation

Aspect Models Development

Aspect Models Customization

Generate-Enhance Generate-Enhance Approach (1-2-5-3-4)

summary generate then weave approaches
Summary: Generate Then Weave Approaches

Code

Generation

Application

Integration

Primary Model Development

Primary Model Customization

E

[createError]

[morePM]

Analysis

Enhance

[codePMError]

PIM

[enhanceError]

Create

Primary

Model

[else]

G

W

Requirements

Specification

[else]

Generate

Code

Weave

[else]

Enhanced

PIM

[else]

E

G

I

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[mapping

Error]

[else]

[else]

[codeAspError]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[enhance

AspError]

[weaveAsp

Error]

Aspect Models Development

Aspect Models Customization

Code

Generation

Computation may then be represented as permutation: P(2,2)P(3,3) which means there are 2!3! or 12 valid combinations.

lessons learned
Lessons Learned
  • AOMDE requires an understanding of how AOSD affect MDE lifecycle.
  • MDE is not a unary model-to-code process
    • A variety of approaches are available.
  • Further research needed to explore AOMDE in both initial development and evolution
slide17

Future Work

Code

Generation

Application

Integration

Primary Model Development

Primary Model Customization

[createError]

[morePM]

Analysis

Enhance

[codePMError]

PIM

[enhanceError]

Create

Primary

Model

[else]

Requirements

Specification

[else]

Generate

Code

Weave

[else]

Enhanced

PIM

[else]

Complete

Application

Acquire

Aspect

Models

[else]

Enhance

Instantiate

Generate

Code

Generic

Design

Aspects

[else]

[mapping

Error]

[else]

  • Evaluating approaches using case studies
    • Initial development
    • Evolution

[else]

[codeAspError]

[weave

PMError]

[aspectDesignError]

[more

Aspects]

[enhance

AspError]

[weaveAsp

Error]

Aspect Models Development

Aspect Models Customization

Code

Generation

slide18

Q

u

e

s

t

i

o

n

s

?

ad