semantic foundations for model-integrated computing
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 PresentationTRANSCRIPT
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
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
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
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’
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
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
3. Testing the Correctness of Transformations