A Generative Approach to Model Interpreter Evolution - PowerPoint PPT Presentation

About This Presentation
Title:

A Generative Approach to Model Interpreter Evolution

Description:

A Generative Approach to Model Interpreter Evolution. Jing ... Define. Interpret. Interpretern. Modeln. Meta-modeln. Define. Interpret. Interpreter0. Model0 ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 12
Provided by: jeff288
Learn more at: http://www.dsmforum.org
Category:

less

Transcript and Presenter's Notes

Title: A Generative Approach to Model Interpreter Evolution


1
A Generative Approach to Model Interpreter
Evolution
  • Jing Zhang, Jeff Gray, and Yuehua Lin
  • zhangj, gray, liny _at_ cis.uab.eduDept. of
    Computer Information Sciences
  • University of Alabama at Birmingham
  • http//www.cis.uab.edu/softcom/

2
Evolution of models and interpreters in terms of
meta-model changes
?MM The changes made to the meta-models ?M The
changes reflected in the domain models ?I The
changes reflected in the model interpreters
3
Example Old/New Metamodel and model
4
Example Old/New Interpreter
CBuilderAtom GetStartState(
CBuilderModel StateDiagram)
CBuilderAtom startstate null const
CBuilderAtomList states
StateDiagram-gtGetAtoms("State") POSITION
posstates-gtGetHeadPosition() while(pos)
CBuilderAtom st
states-gtGetNext(pos)
CBuilderConnectionList cons
st-gtGetInConnections("Transition")
if ( cons null ) if (
startstate null)
startstate st else
ltltERROR more than one state
has no InConnectionsgtgt ASSERT (
startstate !null ) return startstate
CBuilderAtom GetStartState(
CBuilderModel StateDiagram) const
CBuilderAtomList startstates
StateDiagram-gtGetAtoms("StartState")
ASSERT(startstates-gtGetCount()1)
CBuilderAtom startstate
startstates-gtGetHead()
return startstate
5
Technical Challenges
  • Lack of formally-written model interpreter
  • Different developers may program interpreters in
    various ways
  • Hard to maintain and evolve such subjective
    realizations of model interpreters
  • Lack of formal specification for metamodel
    transformation
  • Metamodel transformation specifications must
    include the entire knowledge for the underlying
    interpreter evolution
  • ?MM ?I
  • Lack of support for parsing and invasively
    transforming program source code from
    higher-level models.

?
  • Utilize a mature program transformation engine
    The Design Maintenance System (DMS)

6
Model Interpreter Evolution Architecture (MIEA)
7
DMS rewriting rules for evolving intepreter(1)
  • Differences of names for any model entities,
    relationships and attributes

rule ChangeName (ididentifier)
expression_statement -gt expression_statement
"\id -gt GetModels(\State\")" -gt "\id -gt
GetModels(\StartState\")".
8
DMS rewriting rules for evolving intepreter(2)
  • Differences of model types

rule ChangeModelType (ididentifier)
expression_statement -gt expression_statement
\id -gt GetAtoms(\State\) -gt \id -gt
GetModels(\State\).
9
DMS rewriting rules for evolving intepreter(3)
  • Differences of attribute types

rule ChangeAttrType ()
declaration_statement -gt declaration _statement
CString State_Text
-gt int State_Text.
10
Conclusion
  • Ideal Goal
  • Support the (semi)-automation of model
    interpreter evolution in terms of metamodel
    changes and modeling API changes
  • Proposed Solution
  • Model Interpreter Evolution Architecture
  • Obstacles
  • Informal model interpreter
  • Hard to maintain the fidelity mapping of
    high-level abstract models to the low-level
    source code
  • Possible solution approaches to be investigated
  • Attach program rewriting rules to the existing
    model transformation specification
  • Develop a new high-level specification for model
    transformation that can generate the rewriting
    rules
  • Investigate an intelligent model comparison
    technique to generate the rules through human
    interactions

11

Thank You !!
Questions ??
Write a Comment
User Comments (0)
About PowerShow.com