A Comparison of Aspect-oriented Approaches to Model Driven Engineering
This presentation is the property of its rightful owner.
Sponsored Links
1 / 18

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


  • 51 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

A Comparison of Aspect-oriented Approaches to Model Driven Engineering

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


A comparison of aspect oriented approaches to model driven engineering

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


A comparison of aspect oriented approaches to model driven engineering

MDE Challenges

  • Model specification

  • Model transformation

  • Model analysis

  • Model evolution and reuse

  • Model debugging


A comparison of aspect oriented approaches to model driven engineering

MDE is difficult in the presence of crosscutting functionality

Tangling!!


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.


A comparison of aspect oriented approaches to model driven engineering

Instantiation unlikely to precede Enhancement


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


A comparison of aspect oriented approaches to model driven engineering

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


A comparison of aspect oriented approaches to model driven engineering

Q

u

e

s

t

i

o

n

s

?


  • Login