Model driven aspect adaptation to support modular software evolution
Download
1 / 70

Model-Driven Aspect Adaptation To Support Modular Software Evolution - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

March 30th, 2009. Model-Driven Aspect Adaptation To Support Modular Software Evolution. Ph.D. Defense Jing Zhang [email protected] http://www.cis.uab.edu/zhangj. Committee Members: Dr. Jeff Gray (Academic Advisor) Dr. Barrett Bryant Dr. Aniruddha Gokhale

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 ' Model-Driven Aspect Adaptation To Support Modular Software Evolution' - zytka


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
Model driven aspect adaptation to support modular software evolution

March 30th, 2009

Model-Driven Aspect AdaptationTo Support Modular Software Evolution

Ph.D. Defense

Jing Zhang

[email protected]

http://www.cis.uab.edu/zhangj

Committee Members:

Dr. Jeff Gray (Academic Advisor)

Dr. Barrett Bryant

Dr. Aniruddha Gokhale

Dr. Marjan Mernik

Dr. Chengcui Zhang


Overview of presentation

Model Evolution

Inevitable Software Evolution

Modular

Evolution

Legacy Evolution

Changeability

Comprehensibility

Independent

Development

Co-Evolution

Model-Driven Aspect Adaptation

Aspect-OrientedActivity Modeling

INFM

Bold Stroke

Overview of Presentation

Motivation

Challenges

Research Goals

Approaches

Evaluation


First law of software evolution
First Law of Software Evolution

“Software that is being used must be continually adapted or it becomes progressively less satisfactory.”

-- Manny M. Lehman

Manny M. Lehman, “Laws of Software Evolution Revisited,” In Proceedings of the 5th European Workshop on Software Process Technology (EWSPT), Nancy, France, October 1996, pages 108–124.


Challenges in software evolution 1 model evolution

As the size of system models grows, techniques and tools are needed to automate complex change evolution

∆M: The changes made to the models

Challenges in Software Evolution:1. Model Evolution


Challenges in software evolution 2 legacy evolution

A small modification in the high-level requirements may trigger drastic manual changes in large portions of the low-level legacy source code

∆S: The changes made to the legacy source

Challenges in Software Evolution:2. Legacy Evolution


Challenges in software evolution 3 model code co evolution

Conformity between the models and underlying source code needs to be established in order to maintain the fidelity of the whole system

∆M: The changes made to the models

∆S: The changes reflected in the source code

Challenges in Software Evolution:3. Model/Code Co-Evolution


Criteria for software evolution
Criteria for Software Evolution needs to be established in order to maintain the fidelity of the whole system

  • Modularization

    • Dividing a complex system into a set of manageable building blocks, or modules

  • Modular software evolution

    • Changeability

      • Individual modules should be able to change without radical impact to the rest of the system

    • Comprehensibility

      • High-level evolutionary requirements need to be well-understoodand thus systematically translated into the low-level change adaptation

    • Independent Development

      • Evolution tasks need to be divided into individual modules that can be implemented and maintained by different groups


Research objectives
Research Objectives needs to be established in order to maintain the fidelity of the whole system

Model Evolution

Aspect-

Orientation

Model-Driven

Aspect Adaptation

Model/Code

Co-Evolution

Legacy

Evolution

Changeability

Comprehensibility

Independent

Development


Thesis statement
Thesis Statement needs to be established in order to maintain the fidelity of the whole system

This dissertation research is devoted to approaches uniting Model-Driven Engineering (MDE) with Aspect-Oriented Software Development (AOSD) techniques to support modular software evolution. The ultimate goal is to improve changeability, comprehensibility and independent development of the evolutionary task implementation.

  • First, the Aspect-Oriented Activity Modeling (AOAM) approach is investigated to support evolution of UML activity models.

  • Second, the Model-Driven Aspect Adaptation (MDAA) approach is investigated to facilitate model/code co-evolution and legacy evolution.


Outline
Outline needs to be established in order to maintain the fidelity of the whole system

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Two types of software restructuring

Horizontal transformation needs to be established in order to maintain the fidelity of the whole system

Transformation within the same level of abstraction

Model Transformation, Aspect-Oriented Modeling (AOM), Program Transformation, Aspect-Oriented Programming (AOP)

Vertical translation

Translation, or synthesis, between layers of abstraction

Reverse Engineering, Model-Driven Engineering (MDE)

Two Types of Software Restructuring

ComputePositionC++

ComputePositionwith LockingC++

NavDisplayC++


Model driven engineering
Model-Driven Engineering needs to be established in order to maintain the fidelity of the whole system

  • OMG UML-based generic modeling

    • Rational Rose

    • Telelogic TAU

  • Domain-specific modeling (DSM)

    • GME

    • Microsoft software factories


Unified modeling language uml
Unified Modeling Language (UML) needs to be established in order to maintain the fidelity of the whole system

  • Structural modeling

    • Class diagram

    • Component diagram

    • Deployment diagram

  • Behavioral modeling

    • State machine diagram

    • Activity diagram

    • Use case diagram

    • Interaction diagram


Telelogic tau a uml based mde tool

Testing needs to be established in order to maintain the fidelity of the whole system

Design

Simulation

Code Generation

Telelogic TAU: A UML-based MDE Tool


Domain specific modeling dsm in generic modeling environment gme

M needs to be established in order to maintain the fidelity of the whole systemetamodel

DEFINE

Model

Meta-Level

Translation

INTERPRET

Interpreter

void CComponent::InvokeEx(CBuilder &buil

der,CBuilderObject *focus, CBui

lderObjectList &selected, long param)

{

CString DMSRoot = "";

DMSRoot = SelectFolder("Please Select DMS

Root Folder:");

if (DMSRoot != "") {

DMSRulePath =

DMSRoot + RULESPATH + "Rules\\";

MSRuleApplierPath

= DMSRoot + RULESPATH + "RuleApplier\\";

AfxMessageBox("DMSRulePath =

" + DMSRulePath , MB_OK);

CString OEPRoot = "";

OEPRoot = SelectFolder("Please Selec

Model Interpreters

Models

Formal Specifications

Model

Interpretation

Domain-Specific Modeling (DSM) in Generic Modeling Environment (GME)

Metaprogramming

Interface

Application

Domain

Application Evolution

Environment Evolution

App

1

App

2

App

3

Modeling Environment

Model Builder


Crosscutting concerns

Profiling in Apache Tomcat Server needs to be established in order to maintain the fidelity of the whole system

http://www.parc.com/research/projects/aspectj/

Crosscutting Concerns

Problems

  • Reusability

  • Maintainability

  • Evolvability


Aspect oriented software development aosd
Aspect-Oriented Software Development (AOSD) needs to be established in order to maintain the fidelity of the whole system

  • Advanced separation of concerns

    • Modularize crosscutting concerns

  • Aspect

    • Encapsulates each crosscutting concern in an individual module

  • Aspect weaver

    • Composes aspects with the base modules


Aosd terminology

Where needs to be established in order to maintain the fidelity of the whole system

What

AOSD Terminology

  • Join Point

    • A point of interest through which two or more concerns may be composed

  • Pointcut

    • A collection of join points

  • Advice

    • The adaptation to be applied at each join point specified in a pointcut

Aspect

Aspect applicability

Pointcut

Aspect functionality

Advice


Aosd technologies
AOSD Technologies needs to be established in order to maintain the fidelity of the whole system

  • Aspect-Oriented Programming (AOP)

    • AspectJ

      • The most widely used AOP language

      • Tailored for Java

  • Aspect-Oriented Modeling (AOM)

    • Constraint-Specification Aspect Weaver (C-SAW)

      • Aspect model weaver for domain-specific models

      • Embedded Constraint Language (ECL) to support model weaving

      • A plug-in for GME

    • Motorola WEAVR

      • Aspect model weaver for UML state machines

      • A plug-in for Telelogic TAU


Outline1
Outline needs to be established in order to maintain the fidelity of the whole system

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Aspect oriented activity modeling
Aspect-Oriented Activity Modeling needs to be established in order to maintain the fidelity of the whole system


Order Processing Activity Model needs to be established in order to maintain the fidelity of the whole system

Operation Action

Send Signal Action

Receive Event Action

Fork


Aspect activity metamodel profile
Aspect-Activity Metamodel (Profile) needs to be established in order to maintain the fidelity of the whole system


Tracing aspect pointcuts and advice
Tracing Aspect, Pointcuts and Advice needs to be established in order to maintain the fidelity of the whole system


Order processing model with tracing aspect
Order Processing Model with Tracing Aspect needs to be established in order to maintain the fidelity of the whole system


Pointcut composition in aoam
Pointcut Composition in AOAM needs to be established in order to maintain the fidelity of the whole system

  • Operators

    • and (&&)

    • or (||)

    • not (!)

    • cflow

    • cflowbelow

    • within


Advice composition in aoam

Advice1 needs to be established in order to maintain the fidelity of the whole system

Advice2

Shared Join Point

Advice Composition in AOAM

  • Operators

    • binds

    • follows

  • Advice are ordered based on the precedence relationships (e.g., <<follows>>)

    • Advice1 has precedence over Advice2 at the shared join point

    • Interference between the advice is reduced by declaring the advice precedence explicitly


Aspect composition in aoam

Exception needs to be established in order to maintain the fidelity of the whole system

Aspect

Tracing

Aspect

Logging

Aspect

Encryption

Aspect

Aspect Composition in AOAM

  • Operators

    • crosscuts

    • follows

    • hidden_by

    • dependent_on

  • Interference between the aspects is reduced by declaring the aspect precedence explicitly

  • TracingAspect follows ExceptionAspect

    • ExceptionAspect has higher precedence than TracingAspect

  • LoggingAspect is hidden by TracingAspect

    • The presence of TracingAspect inactivates LoggingAspect

  • LoggingAspect is dependent on EncryptionAspect

    • LoggingAspect can only be applied in the presence of the EncryptionAspect


Summary of aoam
Summary of AOAM needs to be established in order to maintain the fidelity of the whole system

  • Contributions

    • AOAM supports modular evolution in activity modeling

      • Evolutionary requirements are encapsulated in aspect models

      • Aspect models allow specific concerns to be maintained, comprehended and developed independently

      • Aspect models are woven into the base model via the AOAM weaver

    • AOAM allows precedence relationships to be specified at the modeling level to prevent undesirable interferences between aspects

    • AOAM weaver is implemented in Telelogic TAU, as an extension of the Motorola state machine weaver


Outline2
Outline needs to be established in order to maintain the fidelity of the whole system

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Model driven aspect adaptation framework

Conforms To needs to be established in order to maintain the fidelity of the whole system

Conforms To

Conforms To

Model-Driven Aspect Adaptation Framework

Meta-

metamodel

Conforms To

Aspect

Metamodel

Metamodel

Model Extractor

Model

Model

Composer

Aspect

Model

Enhanced

Model

Aspect Code

Generator

Simulation/Testing

Source Code

Enhanced

Code

Aspect

Code

Program

Composer


Roles in mdaa process
Roles in MDAA Process needs to be established in order to maintain the fidelity of the whole system


Mdaa component model extractor

DSM Metamodel needs to be established in order to maintain the fidelity of the whole system

UML Metamodel

MDAA Component: Model Extractor


Mdaa component model composer
MDAA Component: Model Composer needs to be established in order to maintain the fidelity of the whole system

AOM Weaver

  • C-SAW

  • AOAM Weaver


Mdaa component aspect code generator
MDAA Component: Aspect Code Generator needs to be established in order to maintain the fidelity of the whole system


Mdaa component program composer
MDAA Component: Program Composer needs to be established in order to maintain the fidelity of the whole system

  • Program transformation engine

    • Design Maintenance System (DMS)

    • ASF + SDF

  • AOP weaver

    • AspectJ

    • AspectC++


Outline3
Outline needs to be established in order to maintain the fidelity of the whole system

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Dsm based mdaa instantiation
DSM-Based MDAA Instantiation needs to be established in order to maintain the fidelity of the whole system

  • Evolutionary requirements are captured as higher level policy strategies and weaved into models

  • Ensures causal connection between model changes and the underlying source code of the legacy system

  • Large-scale adaptation across multiple source files that are driven by minimal changes to the model properties

  • Domain experts are shielded from lower-level transformation rules


Metamodel composer
Metamodel Composer needs to be established in order to maintain the fidelity of the whole system

  • Why metamodel composer?

    • C-SAW provides no support for transformation BETWEEN two different metamodels

    • Need a means to compose base metamodel and aspect metamodel

Metamodel

Composer


Experimental case study bold stroke product line
Experimental Case Study: needs to be established in order to maintain the fidelity of the whole systemBold Stroke Product Line

  • Background context

    • Mission-control software for Boeing military aircraft under development since 1995

    • CORBA event-based systems

    • Thousands of components implemented in over three million lines of C++ code

    • Embedded System Modeling Language (ESML)

  • Key challenges

    • Difficult to evolve the underlying source representation to address new requirements

    • Impossible to determine, a priori, all of the future adaptation requests


Esml base metamodel
ESML Base Metamodel needs to be established in order to maintain the fidelity of the whole system


Case study a black box data recorder
Case Study: needs to be established in order to maintain the fidelity of the whole systemA Black Box Data Recorder

  • Requirement: Record the state information of the aircraft according to polices defined in a model

  • Under different stages of development, a concern may need to be adjusted based on different contexts, e.g., testing on the ground vs. in-flight recording

  • Ability to rapidly explore design alternatives that represent different policies


Composed esml metamodel with logging aspect
Composed ESML Metamodel with Logging Aspect needs to be established in order to maintain the fidelity of the whole system


Apply c saw to insert logging aspect to esml base model
Apply C-SAW to Insert Logging Aspect to ESML Base Model needs to be established in order to maintain the fidelity of the whole system


Esml component with logging aspect
ESML Component with Logging Aspect needs to be established in order to maintain the fidelity of the whole system


Generated dms transformation rules to insert logonmethodexit aspect
Generated DMS Transformation Rules to Insert “LogOnMethodExit” Aspect


Transformed c source code

Log on getData1_() method entry “LogOnMethodExit” Aspect

Log on reading data1_

Log on Update() method entry

Log on writing data1_

Log on Update() method exit

Transformed C++ Source Code

log.add("data1_=" + data1_);

log.add("data1_=" + data1_);

log.add("data1_=" + data1_);

log.add("data1_=" + data1_);

log.add("data1_=" + data1_);


Experimental results
Experimental Results “LogOnMethodExit” Aspect


Mdaa interpreters for different aspect models
MDAA Interpreters for Different Aspect Models “LogOnMethodExit” Aspect


Outline4
Outline “LogOnMethodExit” Aspect

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Activity based mdaa instantiation
Activity-Based MDAA Instantiation “LogOnMethodExit” Aspect


Experimental case study intelligence network fault management infm
Experimental Case Study: “LogOnMethodExit” AspectIntelligence Network Fault Management (INFM)

  • Background context

    • A fault management software developed by Motorola Labs for CDMA cellular network

    • Alarm correlation by patterndiscovery algorithms

    • Implemented in over 50K lines of Java code

  • Key challenges

    • Increasing computational complexity would cause various software failures (e.g., timeout failure and pattern failure)

    • Different strategies are needed to resolve software failures

    • Failure management strategies are subject to change with evolving system requirements


Infm alarm correlation activity base model
INFM Alarm Correlation Activity Base Model “LogOnMethodExit” Aspect


Case study a pattern failure handler aspect
Case Study: A Pattern Failure Handler Aspect “LogOnMethodExit” Aspect


Composed infm model by aoam weaver
Composed INFM Model by AOAM Weaver “LogOnMethodExit” Aspect



Summary of mdaa
Summary of MDAA Aspect

  • MDAA provides modular evolution for legacy systems by uniting MDE and AOSD technologies

    • Evolutionary changes are encapsulated in high-level abstract aspect models

    • Aspect models allow specific evolutionary requirements to be maintained, comprehended and developed independently

    • Aspect models are translated into the low-level aspect code by aspect code generators

    • The legacy system is transformed by weaving the generated aspect code into the base source code



Outline5
Outline Aspect

  • Motivation and Challenges

  • Research Objectives

  • Background

  • Aspect-Oriented Activity Modeling

  • Model-Driven Aspect Adaptation

    • DSM-Based MDAA

    • UML Activity-Based MDAA

  • Future Work and Conclusion


Future work
Future Work Aspect

  • AOM

    • More types of join points support in AOAM

    • Aspect mining and refactoring at the model level

      • Extend initial experimental work on aspect identification to support aspect extraction and refactoring

    • Aspect interference analysis

      • Extend preference-based approach for reducing aspect interference

      • Perform formal evaluation and analysis for detecting aspect interference

  • MDAA

    • System validation through model simulation

    • Version control support

    • MDA (Model-Driven Architecture) and ADM (Architecture-Driven Modernization) alignment


Conclusion
Conclusion Aspect

  • Software evolution challenges

    • Activity model evolution

      • Solution: AOAM weaver

    • Model/Code co-evolution, legacy evolution

      • Solution: MDAA framework

  • Contribution

    • Modular software evolution by combining MDE and AOSD

      • Changeability – aspect models are able to change without radical impact to the rest of the system

      • Comprehensibility – evolutionary requirements are captured in high-level aspect models and systematically translated into the low-level change adaptation

      • Independent Development – evolution tasks are divided into individual aspect modules that can be developed and maintained by different groups


Representative publications
Representative Publications Aspect

  • Book chapters (3):

    • Jeff Gray, Sandeep Neema, Jing Zhang, Yuehua Lin, Ted Bapty, Aniruddha Gokhale, and Douglas C. Schmidt, “Concern Separation for Adaptive QoS Modeling in Distributed Real-Time Embedded Systems,” in Behavioral Modeling for Embedded Systems and Technologies: Applications for Design and Implementation, Idea Group, 2009.

    • Jing Zhang, Yuehua Lin, and Jeff Gray, "Generic and Domain-Specific Model Refactoring using a Model Transformation Engine," Model-driven Software Development - Research and Practice in Software Engineering, Springer, ISBN: 3-540-25613-X, 2005, Chapter 9, pp. 199-218.

    • Yuehua Lin, Jing Zhang, and Jeff Gray, "A Framework for Testing Model Transformations," Model-driven Software Development - Research and Practice in Software Engineering, Springer, ISBN: 3-540-25613-X, 2005, Chapter 10, pp. 219-236.


Representative publications cont
Representative Publications (Cont’) Aspect

  • Journal papers (7):

    • Suman Roychoudhury, Jeff Gray, Jing Zhang, Purushotham Bangalore, and Anthony Skjellum, “Modularizing Scientific Libraries With Aspect-Oriented And Generative Programming Techniques,” Acta Electrotechnica et Informatica Journal, 2009.

    • Yuehua Lin, Jeff Gray, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, and Sandeep Neema, “Replicators: Transformations to Address Model Scalability,” Software: Practice and Experience, vol. 38, no. 14, November 2008, pp. 1475-1497.

    • Jing Zhang, Jeff Gray, Yuehua Lin, and Robert Tairas, “Aspect Mining from a Modeling Perspective,” International Journal of Computer Applications in Technology, Volume 31, Number 1-2, March 2008, pp. 74-82.

    • Faizan Javed, Marjan Mernik, Jeff Gray, Jing Zhang, Barrett Bryant, and Suman Roychoudhury, “Using A Program Transformation Engine to Infer Types in A Metamodel Recovery System,” Acta Electrotechnica et Informatica, vol. 8, no. 1, January-March 2008, pp. 3-10.

    • Jing Zhang, Thomas Cottenier, Aswin van den Berg, and Jeff Gray, “Aspect Composition in the Motorola Aspect-Oriented Modeling Weaver,” JOT special issue on AOM, August 2007, pp. 89-108.

    • Krishnakumar Balasubramanian, Aniruddha Gokhale, Yuehua Lin, Jing Zhang, and Jeff Gray, “Weaving Deployment Aspects into Domain-Specific Models,” International Journal on Software Engineering and Knowledge Engineering, vol. 16, no. 3, June 2006, pp. 403-424.

    • Jeff Gray, Yuehua Lin and Jing Zhang, “Automating Change Evolution in Model-Driven Engineering,” IEEE Computer (Special Issue on Model-Driven Engineering), vol. 39, no. 2, February 2006, pp. 51-58.


Representative publications cont1
Representative Publications (Cont’) Aspect

  • Conference papers (11):

    • Michael Jiang, Jing Zhang, Hong Zhao, and Yuanyuan Zhou, “Enhancing Software Product Line Maintenance with Source Code Mining,” International Conference on Wireless Algorithms, Systems and Applications (WASA), Dallas, TX, October 2008, pp. 538-547.

    • Yan Liu, Jing Zhang, Xin Meng, and John Strassner, “Sequential Proximity-based Clustering for Telecommunication Network Alarm Correlation,” The Fifth International Symposium on Neural Networks (ISNN), Beijing, China, September 2008, pp. 30-39.

    • Michael Jiang, Jing Zhang, Hong Zhao, and Yuanyuan Zhou, “Maintaining Software Product Lines – an Industrial Practice,” International Conference on Software Maintenance (ICSM), Beijing, China, September 2008, pp. 444-447.

    • John Strassner, Srini Samudrala, Greg Cox, Yan Liu, Michael Jiang, Jing Zhang, Sven van der Meer, Micheal Ó Foghlu and Willie Donnellu, “The Design of a New Context-Aware Policy Model for Autonomic Networking,” The 5th IEEE International Conference on Autonomic Computing (ICAC), Chicago, IL, June 2008, pp. 119-128.

    • Yan Liu, Jing Zhang, Michael Jiang, Dave Raymer, and John Strassner, “A Model-based Approach to Adding Autonomic Capabilities to Network Fault Management System,” IEEE/IFIP Network Operations and Management Symposium (NOMS 2008), Salvador, Brazil, April 2008, pp. 859-862.

    • Yan Liu, Jing Zhang, Michael Jiang, Dave Raymer, and John Strassner, “A Case Study: A Model-Based Approach to Retrofit a Network Fault Management System with Self-Healing Functionality,” 5th IEEE International Conference on Engineering of Autonomic and Autonomous Systems (EASe), Belfast, Northern Ireland, March/April 2008, pp. 9-18.

    • Jing Zhang, Yan Liu, Michael Jiang and John Strassner, “An Aspect-Oriented Approach to Handling Crosscutting Concerns in Activity Modeling,” IAENG International Conference on Software Engineering, Hong Kong, March 2008, pp. 885-890.

    • Best Paper Award: Jeff Gray, Yuehua Lin, Jing Zhang, Steve Nordstrom, Aniruddha Gokhale, Sandeep Neema, and Swapna Gokhale, “Replicators: Transformations to Address Model Scalability,” Model Driven Engineering Languages and Systems (MoDELS) (formerly the UML series of conferences), Springer-Verlag LNCS 3713, Montego Bay, Jamaica, October 2005, pp. 295-308.

    • Jeff Gray, Jing Zhang, Yuehua Lin, Hui Wu, Suman Roychoudhury, Rajesh Sudarsan, Sandeep Neema, Feng Shi, and Ted Bapty, “Model-Driven Program Transformation of a Large Avionics Application,” Generative Programming and Component Engineering (GPCE 2004), Springer-Verlag LNCS, Vancouver, BC, October 2004, pp. 361-378.

    • Song Zhou, Chuanxi Xu, Hui Wu, Jing Zhang, Yuehua Lin, Juanqin Wang, Jeff Gray, and Barrett Bryant, “E-R Modeler: A Database Modeling Toolkit for Eclipse,” 42nd Annual ACM SE Conference, Huntsville, AL, April 2004,pp. 160-165.

    • Suman Roychoudhury, Jeff Gray, Hui Wu, Jing Zhang, and Yuehua Lin, “A Comparative Analysis of Meta-programming and Aspect-Orientation,” 41st Annual ACM SE Conference, Savannah, GA, March 7-8, 2003, pp. 196-201.


Representative publications cont2
Representative Publications (Cont’) Aspect

  • Workshop papers (10):

    • Yan Liu, Jing Zhang, and John Strassner, “Model-Driven Adaptive Self-Healing for Autonomic Computing,” The 3rd IEEE International Workshop on Modeling Autonomic Communication Environments (MACE 2008), Samos Island, Greece, September 22-26, 2008.

    • John Strassner, Yan Liu and Jing Zhang, “A Context-Aware Policy Model to Support Autonomic Networking,” The First IEEE International Workshop on Model-Driven Development of Autonomic Systems (MDDAS) - A Workshop held at COMPSAC, Turku, Finland, July-August 2008.

    • Michael Jiang, Jing Zhang, David Raymer and John Strassner, “A Modeling Framework for Self-Healing Software Systems,” [email protected] - A Workshop held at MoDELS Conference, Nashville, TN, October 2007.

    • Jing Zhang, Thomas Cottenier, Aswin van den Berg, and Jeff Gray, “Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling Weaver,” MoDELS Workshop on Aspect-Oriented Modeling, Genova, Italy, October 2006.

    • Arundhati Kogekar, Dimple Kaul, Aniruddha Gokhale, Paul Vandal, Upsorn Praphamontripong, Swapna Gokhale, Jing Zhang, Yuehua Lin, Jeff Gray, “Model-driven Generative Techniques for Scalable Performabality Analysis of Distributed Systems,” IPDPS Workshop on Next Generation Systems, Rhodes Island, Greece, April 2006.

    • Jing Zhang, Jeff Gray, and Yuehua Lin, “A Model-Driven Approach to Enforce Crosscutting Assertion Checking,” 27th ICSE Workshop on the Modeling and Analysis of Concerns in Software (MACS), St. Louis, MO, May 2005.

    • Jing Zhang, Jeff Gray, and Yuehua Lin, “A Generative Approach to Model Interpreter Evolution,” 4th OOPSLA Workshop on Domain-Specific Modeling, Vancouver, BC, Canada, October 2004, pp. 121-129.

    • Yuehua Lin, Jing Zhang, and Jeff Gray, “Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development,” OOPSLA Workshop on Best Practices for Model-Driven Software Development, Vancouver, BC, Canada, October 2004.

    • Jing Zhang and Jeff Gray, “Legacy System Evolution through Model-Driven Program Transformation,” 8th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2004) Workshop on Model-Driven Evolution of Legacy Systems (MELS), Monterey, CA, September 2004.

    • Jeff Gray, Yuehua Lin, and Jing Zhang, “Aspect Model Weavers: Levels of Supported Independence,” Middleware 2003: Workshop on Model-driven Approaches to Middleware Applications Development, Rio de Janeiro, Brazil, June 2003.


Thank You !! Aspect

Questions ??

Publication, Software and Video demos available at:

http://www.cis.uab.edu/gray/Research/C-SAW/


Backup
Backup Aspect


Evolution scenario 1 application evolution

Metaprogramming Aspect

Interface

Application

Domain

Application Evolution

Environment Evolution

App

1

App

2

App

3

Modeling Environment

Model Builder

Meta-Level

Translation

Models

Model Interpreters

Complete regeneration is not always a plausible solution

when applied to existing large legacy systems

Formal Specifications

Model

Interpretation

Evolution Scenario 1: Application Evolution

  • Changes are made to the domain models

  • Model interpretation re-synthesizes the whole application system

Application Evolution


Evolution scenario 2 environment evolution

Environment Evolution Aspect

Metaprogramming

Interface

Application

Domain

Application Evolution

App

1

App

2

App

3

Modeling Environment

Model Builder

Meta-Level

Translation

Model Interpreters

Models

Advanced mechanism is needed to support crosscutting evolutionary concerns

Formal Specifications

Model

Interpretation

Evolution Scenario 2: Environment Evolution

  • Changes are made to the metamodel

  • Model migration to support domain model evolution

Environment Evolution



ad