semantic foundations for model-integrated computing

7
Semantic Foundations for Model-Integrated Computing A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004 Jeff Gray, University of Alabama at Birmingham

Upload: milek

Post on 03-Feb-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Semantic Foundations for Model-Integrated Computing. A panel at the First OMG MIC Workshop Arlington, VA October 14, 2004. Jeff Gray, University of Alabama at Birmingham. Issues on DSML Semantic Foundations. Panel Position - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Semantic Foundations for Model-Integrated Computing

Semantic Foundations for Model-Integrated Computing

A panel at the First OMG MIC Workshop Arlington, VA

October 14, 2004

Jeff Gray, University of Alabama at Birmingham

Page 2: Semantic Foundations for Model-Integrated Computing

Issues on DSML Semantic Foundations Panel Position

Transformations (horizontal or vertical) are the “heart and soul” of any model-driven approach

Towards consistency across various meta layers:

1. Transformations performed on the metamodel, in response to changes in domain requirements

2. Transformations performed on instance models, in response to system changes

3. Testing the correctness of transformations in the presence of metamodel changes

Page 3: Semantic Foundations for Model-Integrated Computing

1. Effect of Changing Domain Semantics

The evolution of the models and interpreters in terms of metamodel 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

Interpreter1

Model1

Meta-model1

Define

Interpret

Interpretern

Modeln

Meta-modeln

Define

Interpret

Interpreter0

Model0

Meta-model0

Define

Interpret

∆M 1

∆MM 1

∆I 1

∆M 2

∆MM 2

∆I 2

∆M n

∆MM n

∆I n……

……

……

BASED ON

Page 4: Semantic Foundations for Model-Integrated Computing

1. Model-Driven Program Transformation on Interpreter Source

void CComponent::InvokeEx(CBuilder &builder) { Interpreter aInterpreter; CString fileName; if(!aInterpreter.selectSpecAspects(fileName)) { return; } …

}

void CComponent::InvokeEx(CBuilder &builder) { Interpreter aInterpreter; CString fileName; char *specFile = new char[fileName.GetLength()]; strcpy(specFile, fileName); ….}

Interpreters Interpreters’

Meta-model’Meta-model

modelmodel

Models

Model XformEngine

Models’

modelmodel

Modeling Tool API Modeling Tool API’

Page 5: Semantic Foundations for Model-Integrated Computing

2. Ensuring Fidelity Between Models and Legacy Source

Model-Driven Evolution of Legacy Systems Must model-driven approaches be applied to only

“greenfield” systems?; difference between translation/synthesis versus transformation of code

Workshop at OMG-sponsored EDOC conference: http://www.cis.uab.edu/EDOC-MELS/

Intersection of MIC and the OMG ADM/KDM Preliminary concepts: see last talk

Page 6: Semantic Foundations for Model-Integrated Computing

3. Testing the Correctness of Transformations Addressing the “ad-hoc” nature of transformations by adding

some degree of confidence in correctness of semantic preservation; transformation specification can be erroneous Terminating and confluent? Property preserving?

Formal proof of transformation correctness versus testing Parallel Argument:

Formal verification of compilers (except for a few safety-critical domains) is not the norm

Instead, whenever a new compiler is released (or language definition changes), a compiler is tested on a large suite of sample code

Side benefit - Regression testing in presence of: Transformation changes Metamodel changes Instance model changes

Page 7: Semantic Foundations for Model-Integrated Computing

3. Testing the Correctness of Transformations